@liuhui0803
2016-04-16T09:18:09.000000Z
字数 6570
阅读 2123
云计算
Bluemix
混合云
在这一系列文章中,我们将介绍一个在为公民提供所需医疗用品方面遇到挑战的虚构国家中发生的故事。我们会介绍云解决方案(IBM Bluemix®)和预测分析,以及移动和安全技术如何帮助他们应对挑战, 造就出一个更智能、更健康的星球。
本篇将讨论调度器应用程序,这是这一系列文章的第1篇所描述解决方案的一个组件。调度器应用程序可以使用Bluemix的Predictive Analytics服务调用第2篇所提及的需求预测组件。随后应用程序便可连接至后端订单管理系统,根据预测的需求下订单。该应用程序本身会使用Bluemix提供的Workload Scheduler服务定期检查最新预测的需求。为了在Bluemix上保存订单数据的本地版本,该应用程序会使用Bluemix提供的Cloudant NoSQL Database服务在本地操作数据库中存储订单数据的副本。
一起来看看调度器应用程序的组件:
调度器应用程序每周运行一次,生成需要在本周发货的订单并下单:
本节将介绍如何创建:
API Management服务的用途如下:
该服务确保了您可以对暴露给外部用户的API施加完整的控制权,例如版本控制和API生命周期管理、速率限制、安全、访问控制,以及用量和消耗量分析。
API管理包含下列主要构件:
创建API
若要新建API Management服务,请执行下列操作:
/oms/v1.0
。其余选项保留默认设置。但请注意:
在"API Security"和"Security Scheme"中,请留意所用架构为"Client ID"。这是为每个应用程序生成的ID,订户可以在开发者门户中使用该API,该ID的用途仅仅是区分哪个应用程序在调用API。下文将详细介绍这一概念。
请注意下列事项:
/orders/{week}/{region}/{product}
。选择Identification意味着这个API需要客户端使用客户端ID进行鉴定。
注意:在测试API之前,您需要将其加入规划,具体做法请参阅下文。
创建规划
测试API
API管理功能会使用参数名映射URL中包含的所有参数。例如,如果您的API是
/oms/v1.0/orders/17/region_x/product_x
该API会映射至下列实施
https://camss-sor-oms.mybluemix.net/orders/2015/5/region_x/product_x
输入希望在调用API时使用的参数值。
创建环境
若要准备并发布API,您需要将其加入到环境中。
发布规划
至此您的API已经发布,您可以通过下列地址访问:
https://<gateway_base_url>/<api_base_path>/<operation_path>
。
在本例中,完整的路径为:
https://api.apim.ibmcloud.com/ahmedaegibmcom-dev/sb/oms/v1.0/orders/week_x/region_x/product_x
。
注册以便以开发者身份使用该API
开发者可以使用开发者门户在API编录中浏览暴露出的API,并可订阅任何API以供自己使用。这些做法皆受制于API发布者所强制实施的访问规则。
随后,作为开发者,您需要加入门户才能使用该API。
3. 点击右上角的Join按钮。
创建应用程序
至此您已经可以通过客户端/应用程序,使用提供的客户端ID完整访问该API。
orders_db
作为名称并点击Create。Workload Scheduler是负责在这些组件之间进行协调的服务。
创建过程
在下面的三小节内容中,您将为该过程添加三个步骤:
创建变量
您将通过下列步骤创建三个变量,分别代表对预测进行测试运行的周数,所预测订单对应的地区,以及所预测物品数量对应的具体产品。这三个变量将被读取到:
首先需要使用week
、region
和product
为名称创建三个变量:
调用Predictive Analytics服务
https://palbyp.pmservice.ibmcloud.com/pm/v1/score/camss01
。POST
方法。predicted_orders.json
作为名称。请记住这个名称,该名称还将充当下文"调用API Management服务"和"调用Cloudant服务"的输入内容。{"tablename":"file.csv",
"header":["delta_weeks","product","region"],
"data":[[17,"product_x","region_x"]]}
上述内容可获取预测的region_x
地区第17周对product_x
产品的需求数量。
调用API Management服务
按照上文所述操作添加一个新步骤:
https://api.apim.ibmcloud.com/ahmedaegibmcom-dev/sb/oms/v1.0/orders/^week^/^region^/^product^
client_id
作为查询参数,并提供您在第5步"创建应用程序"中通过开发者门户获得的值。 predicted_orders.json
作为输入文件的名称。调用Cloudant服务
使用上述操作创建步骤,并为该步骤输入下列值:
https://e19ea3a8-a128-45c7-aca7-b618af2b431f-bluemix:08f92225b5e54f9e2fb4e3f5eba2045b164f0cddbe340213233c8750c3743bce@e19ea3a8-a128-45c7-aca7-b618af2b431f-bluemix.cloudant.com/orders_db
。 /orders_db
是您在Cloudant中创建的数据库的名称。POST
方法以新建一个JSON文档。predicted_orders.json
作为输入文件的名称。运行该过程
确保在Steps选项卡下,上文创建的三个步骤处于正确的顺序。
IBM Bluemix提供的服务可以帮您以安全的方式将Bluemix应用程序连接至后端系统。Bluemix API Management服务可供您将内部部署环境中系统的功能以API的形式暴露出来,并对API的访问进行控制。Bluemix Secure Gateway服务可对回连至后端系统的连接提供保护。此外,Bluemix提供的Workload Scheduler服务可供您对作业进行调度,以可配置的频率运行,借此实现自动执行的目的。
IBM Bluemix不仅可以用于IBM服务,还可配合其他开源服务使用,例如Cloudant NoSQL DB,该服务也可被其他Bluemix服务访问。Bluemix可支持业务组合这一原则,借此您可以根据新增或现有服务的具体组成,构建新的应用程序。
这一系列的第4篇文章将介绍移动访问和脱机操作。您将了解到如何通过移动设备读取Cloudant数据库借此查看订单。
作者:Ahmed Abbass、Ahmed Abdel-Hamid、Mohamed El-Kholy
阅读英文原文:Making a healthier planet with Bluemix and hybrid cloud technologies, Part 3