轻松将云服务添加到您应用程序的能力将您解放出来,使您能集中精力构建应用程序的业务逻辑和独特价值。在本教程中,将探索 Bluemix 中提供的云服务,了解如何将它们添加到您的应用程序中。此外,我们将快速浏览一些样板应用程序,它们是使用流行的网络技术和语言的示例代码和服务包。
本教程是 developerWorks 上的 “Bluemix 基础” 教程系列的一部分。
在软件开发中,时间就是金钱,作为开发人员,您可能希望在应用程序中构建尽可能多的用户功能,从而只需编写极少的必要代码,即可成功执行该功能。不只是编写原始代码;您还要负责测试、调试和维护您创建的应用程序的每一部分,这些会花费您更多的时间。
此外,所有代码块都采用相同的方式创建的。一些子例程专注于一般性任务,坦白地讲,重新创建这些任务会浪费您的宝贵时间,因为您可以在框架和库中找到许多这类组件,它们可以插入到您的应用程序中。
将您的创造性工作投入到使您的应用程序独一无二的业务逻辑上,这样做才有意义。毕竟,您定制构建的代码是为您的组织及其客户创造业务价值的组件。
Bluemix 中的低风险、可重用的服务是由专家设计的,旨在有效地、高效地处理非核心任务,使您能为您的应用程序购买此功能。当您漫步走过这些可用的 丰富服务 之前,来了解一下将它们添加到您的应用程序中有多么轻松简单。
在 Bluemix 中,为您的应用程序配备和绑定云服务并管理这些服务是一项简单的任务。您只需执行 3 个一般步骤:
Bluemix 平台自动化了许多与配备、绑定和管理相关的常见任务。在请求 Bluemix 中的一个服务实例时,请记住这两个重要概念:
什么是空间?
Bluemix 基于 Cloud Foundry;在 Cloud Foundry 中,空间 是一个开发、部署和维护应用程序的共享位置。每个应用程序和服务都限定到某个空间范围内。
将服务绑定到一个应用程序时,您会在您的应用程序与该资源之间建立一种关系;该关系通常会触发一种独特的交互。例如,将数据库服务绑定到应用程序,可能导致数据库作为数据来源注入到应用程序中。如果绑定一个会话存储,应用程序会将其会话数据存放到该存储中。
如果使用 Bluemix 接口来请求服务实例,可以通过这种方法将该服务绑定到您的应用程序:
还可以使用 Cloud Foundry 命令行接口:
cf marketplace
cf create-service service_name service_plan service_instance
service_instance
是您想称呼此服务实例的名称。cf bind-service appname service_instance
每个服务可能需要不同的机制来与应用程序进行通信,所以要让应用程序与服务交互,必须配置该应用程序。例如:
VCAP_SERVICES
环境变量的运行时凭据。Bluemix 仪表板界面是查看和管理应用程序与服务,以及监视资源使用情况的完美工具。仪表板的 application 部分显示了应用程序的详细摘要,其中包括绑定到它的服务实例。单击该磁贴可以打开应用程序的 Overview 页面。
可以从仪表板为应用程序创建服务实例,从应用程序解绑或删除服务实例,选择一个不同的服务计划,或者通过一种配有颜色的设置来监视运行服务的应用程序的状态:
选择 Change Organization 图标(在仪表板标题中限制的组织名称旁边),可以将视图更改为您创建的其他空间;可以一次仅在仪表板中查看一个组织。
顺便说一下扩展 Web 应用程序:Bluemix 目前不会根据负载来自动执行此工作,所以您需要管理此任务。
现在,让我们看看在撰写本文时可用的许多服务。服务按主题区域和功能来分类。
其中一些服务是 IBM 提供的,一些来自第三方或用户社区来源;一些服务为 beta 格式并进行了相应的标记。此外,您可以探索许多试验 服务,但请注意,这些服务不稳定,不应用在生产环境中。
服务提供了大量可添加到您应用程序中的功能。通常,这些功能包括:
以下表格展示了,哪些服务执行众多功能中的一个或多个功能作为主要任务。(当然,在使用这里描述的服务时,您会发现其中许多服务的用途比这里列出的还要多。例如,所有服务都拥有内置的安全级别,而且许多服务会处理数据,协调和同步它们的活动,并检测异常事件。)
不断有新服务添加到 Bluemix 目录中,所以您可能会看到这里没有列出的一些服务!
Watson | 移动 | DevOps | 安全性 | Web/应用程序 | 数据/分析 |
---|---|---|---|---|---|
AlchemyAPI Concept Expansion Concept Insights Natural Language Classifier Personality Insights Question and Answer Relationship Extraction Tradeoff Analytics Visual Recognition Cognitive Commerce™ Cognitive Graph Cognitive Insights™ | Advanced Mobile
Access Mobile Quality Assurance Presence Insights Push Push iOS 8 | Monitoring and
Analytics New Relic | Application Security
Manager AppScan Dynamic Analyzer AppScan Mobile Analyzer Mobile Analyzer for iOS | Namara.io Catalog | Analytics for Apache Hadoop Apache Spark dashDB DataWorks Elasticsearch by Compose Geospatial Analytics Insights for Twitter Predictive Modeling Streaming Analytics |
Watson | 移动 | IoT | Web/应用程序 | 数据/分析 |
---|---|---|---|---|
Cognitive Graph | Mobile Data | Internet of Things | Data Cache | Apache Spark Cloudant NoSQL DB dashDB DataWorks Elasticsearch by Compose IBM DB2 On Cloud MongoDB by Compose Object Storage Object Storage (v2) PostgreSQL by Compose Redis by Compose SQL Database Streaming Analytics Time Series Database ClearDB MySQL Database ElephantSQL MongoLab Redis Cloud |
移动 | DevOps | IoT | 安全性 | Web/应用程序 | 数据/分析 |
---|---|---|---|---|---|
Advanced Mobile Access Mobile Quality Assurance Kinetise Twilio | Delivery
Pipeline Monitoring and Analytics BlazeMeter New Relic | flowthings.io | Static Analyzer | Application Server on
Cloud DreamFace Geocoding Memcached Cloud Reappt Reverse Geocoding SendGrid Simplicite aPaaS for Bluemix Statica Travel Boundary Service Ustream Validate Address | BigInsights for Apache Hadoop |
移动 | 安全性 | 集成 | Web/应用程序 | 数据/分析 |
---|---|---|---|---|
Twilio | Single Sign On aPersona Adaptive Security Manager (ASM) | API Management Cloud Integration Secure Gateway | MQ Light | Predictive Modeling Redis Cloud |
Watson | 移动 | Web/应用程序 | 数据/分析 |
---|---|---|---|
AlchemyAPI Concept Insights Dialog Language Translation Natural Language Classifier Question and Answer Speech To Text Text to Speech Cognitive Insights™ | Push Push iOS 8 | Namara.io Catalog | Elasticsearch by Compose |
DevOps | 业务分析 | 集成 | Web/应用程序 |
---|---|---|---|
Auto-Scaling Track & Plan | Cupenya Insights | API Management | Application Server on
Cloud Business Rules Data Cache MQ Light Session Cache Workflow Workload Scheduler box CloudAMQP PubNub - Sandbox SendGrid |
移动 | DevOps | IoT | 业务分析 | 安全性 | 数据/分析 |
---|---|---|---|---|---|
Advanced Mobile Access Mobile Application Security Mobile Data Mobile Quality Assurance Presence Insights Push Push iOS 8 Kinetise Twilio | BlazeMeter | Internet
of Things flowthings.io | Embeddable Reporting | AppScan Mobile Analyzer Mobile Analyzer for iOS Single Sign On | Geospatial Analytics |
移动 | DevOps | 业务分析 | 安全性 |
---|---|---|---|
Presence Insights | Monitoring and Analytics New Relic | Embeddable Reporting Cupenya Insights | Application Security Manager |
移动 | 安全性 | 集成 |
---|---|---|
Mobile Application Security | Application Security
Manager AppScan Dynamic Analyzer AppScan Mobile Analyzer Mobile Analyzer for iOS Single Sign On Static Analyzer aPersona Adaptive Security Manager (ASM) | Secure Gateway |
针对您没有时间从头编写应用程序的情况,Bluemix 提供了一些样板应用程序供您选择。样板应用程序 是一种预先构建的示例应用程序,它包含一个运行时环境和预先定义的服务。该示例应用程序为您创建自己的应用程序提供了一个快速起点。
Bluemix 为不同运行时和不同功能提供了许多样板应用程序,而且会定期向 Bluemix 目录添加新样板应用程序。
在本教程中,您了解到,将 Bluemix 云服务添加到应用程序中(并配备、绑定和管理这些服务)只需执行一些简单步骤,对您的应用程序进行少量配置,并偶尔使用仪表板管理控制台签入。在仪表板上,您可以创建新的服务实例,从应用程序解绑或删除实例,更改服务计划,或者监视应用程序的运行状态。
现在请继续学习 “Bluemix 基础”,了解如何将数据库服务添加到应用程序中。选择与您所选的编程语言对应的教程:
要获取稳定的教程和技术资源流来使用 Bluemix 进行学习、开发和连接,请参阅 developerWorks 上的 Bluemix 资源中心。