转载

Bluemix 基础:将服务添加到您的 Bluemix 应用程序中

 

概述

轻松将云服务添加到您应用程序的能力将您解放出来,使您能集中精力构建应用程序的业务逻辑和独特价值。在本教程中,将探索 Bluemix 中提供的云服务,了解如何将它们添加到您的应用程序中。此外,我们将快速浏览一些样板应用程序,它们是使用流行的网络技术和语言的示例代码和服务包。

本教程是 developerWorks 上的 “Bluemix 基础” 教程系列的一部分。

 

您将在本教程中学习的内容

为什么使用服务?

将服务添加到您的应用程序中

管理服务

服务类型

样板应用程序:供您不想从头开始创建应用程序时使用

接下来怎么做?

为什么使用服务?

 

在软件开发中,时间就是金钱,作为开发人员,您可能希望在应用程序中构建尽可能多的用户功能,从而只需编写极少的必要代码,即可成功执行该功能。不只是编写原始代码;您还要负责测试、调试和维护您创建的应用程序的每一部分,这些会花费您更多的时间。

此外,所有代码块都采用相同的方式创建的。一些子例程专注于一般性任务,坦白地讲,重新创建这些任务会浪费您的宝贵时间,因为您可以在框架和库中找到许多这类组件,它们可以插入到您的应用程序中。

将您的创造性工作投入到使您的应用程序独一无二的业务逻辑上,这样做才有意义。毕竟,您定制构建的代码是为您的组织及其客户创造业务价值的组件。

Bluemix 中的低风险、可重用的服务是由专家设计的,旨在有效地、高效地处理非核心任务,使您能为您的应用程序购买此功能。当您漫步走过这些可用的 丰富服务 之前,来了解一下将它们添加到您的应用程序中有多么轻松简单。

将服务添加到您的应用程序中

 

在 Bluemix 中,为您的应用程序配备和绑定云服务并管理这些服务是一项简单的任务。您只需执行 3 个一般步骤:

  1. 创建服务的实例。这会生成您请求的服务的虚拟机 “副本”。此实例通常可在您构建应用程序时创建。
  2. 通过指定使用服务实例的应用程序,绑定应用程序和服务。在某些情况下(比如共享数据时),可以指定多个应用程序来使用同一个服务实例。
  3. 根据需要配置您自己的应用程序代码,使其与服务交互。

Bluemix 平台自动化了许多与配备、绑定和管理相关的常见任务。在请求 Bluemix 中的一个服务实例时,请记住这两个重要概念:

什么是空间?

Bluemix 基于 Cloud Foundry;在 Cloud Foundry 中,空间 是一个开发、部署和维护应用程序的共享位置。每个应用程序和服务都限定到某个空间范围内。

  • 服务实例特定于您用于创建它们的空间,这意味着您不能将它们移动到另一个空间。您必须为您想要在其中使用该服务的每个空间创建一个新服务实例。
  • 在指定的服务实例中,最好使用字母和数字字符;其他字符可能会改变结果。

将服务绑定到一个应用程序时,您会在您的应用程序与该资源之间建立一种关系;该关系通常会触发一种独特的交互。例如,将数据库服务绑定到应用程序,可能导致数据库作为数据来源注入到应用程序中。如果绑定一个会话存储,应用程序会将其会话数据存放到该存储中。

如果使用 Bluemix 接口来请求服务实例,可以通过这种方法将该服务绑定到您的应用程序:

  1. 从目录中选择该服务。 Bluemix 基础:将服务添加到您的 Bluemix  应用程序中

    点击查看大图

  2. (从 ADD SERVICE 窗格中的列表)选择您想要绑定服务的应用程序。 Bluemix 基础:将服务添加到您的 Bluemix  应用程序中

    点击查看大图

  3. 在 Service name 字段中键入名称(这里将有一个默认名称,如果您愿意,可以保留它)。
  4. 完成其他选择。
  5. 单击 CREATE

还可以使用 Cloud Foundry 命令行接口:

  1. 找到服务:
    cf marketplace
  2. 创建服务实例:
    cf create-service service_name service_plan service_instance
    其中 service_instance 是您想称呼此服务实例的名称。
  3. 将服务实例绑定到您的应用程序:
    cf bind-service appname service_instance

每个服务可能需要不同的机制来与应用程序进行通信,所以要让应用程序与服务交互,必须配置该应用程序。例如:

  • 移动后端服务使用 Bluemix 提供的应用程序身份信息、特定于客户端的安全性和应用程序的访问 URI。移动 Web 应用程序和服务器端代码使用 Bluemix 提供的信息,比如来自在应用程序中找到的 VCAP_SERVICES 环境变量的运行时凭据。
  • 数据库服务需要 Bluemix 提供的信息,比如用户 ID、密码和应用程序的访问 URI。

管理服务

 

Bluemix 仪表板界面是查看和管理应用程序与服务,以及监视资源使用情况的完美工具。仪表板的 application 部分显示了应用程序的详细摘要,其中包括绑定到它的服务实例。单击该磁贴可以打开应用程序的 Overview 页面。

可以从仪表板为应用程序创建服务实例,从应用程序解绑或删除服务实例,选择一个不同的服务计划,或者通过一种配有颜色的设置来监视运行服务的应用程序的状态:

  • 灰色表示停止
  • 绿色表示运行,所有实例都在运行
  • 黄色表示运行,但不是 100% 的实例都在运行
  • 红色 表示运行,但没有实例在运行

选择 Change Organization 图标(在仪表板标题中限制的组织名称旁边),可以将视图更改为您创建的其他空间;可以一次仅在仪表板中查看一个组织。

顺便说一下扩展 Web 应用程序:Bluemix 目前不会根据负载来自动执行此工作,所以您需要管理此任务。

服务类型

 

现在,让我们看看在撰写本文时可用的许多服务。服务按主题区域和功能来分类。

服务的主题分类

 
  • Watson 服务可用于构建认知应用程序,帮助增强、扩展和加速人类专业技能的积累和交互。
  • 移动 服务旨在帮助您快速开始为设备开发应用程序。
  • DevOps 服务帮助您以各种方式增强您的软件,注重开发人员和其他利益相关者之间的沟通、协作、集成和自动化。
  • Web 和应用程序 服务为您的应用程序构建流程提供补充。
  • 集成 服务使您能更轻松地扩展现有技术和基础架构。
  • 数据和分析 服务为您的应用程序提供数据处理功能。
  • 安全性 服务可帮助您在应用程序设计中构建最新的安全机制。
  • 业务分析 服务将数据密集型决策能力安装到您的软件中。
  • 物联网 服务让您的应用程序与您的连网设备、传感器和网关通信并使用它们收集的数据。

其中一些服务是 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 CatalogAnalytics for Apache Hadoop
Apache Spark
dashDB
DataWorks
Elasticsearch by Compose
Geospatial Analytics
Insights for Twitter
Predictive Modeling
Streaming Analytics
数据服务
Watson移动IoTWeb/应用程序数据/分析
Cognitive GraphMobile DataInternet of ThingsData CacheApache 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
开发服务
移动DevOpsIoT安全性Web/应用程序数据/分析
Advanced Mobile Access
Mobile Quality Assurance
Kinetise
Twilio
Delivery Pipeline
Monitoring and Analytics
BlazeMeter
New Relic
flowthings.ioStatic AnalyzerApplication 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/应用程序数据/分析
TwilioSingle Sign On
aPersona Adaptive Security Manager (ASM)
API Management
Cloud Integration
Secure Gateway
MQ LightPredictive 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 CatalogElasticsearch by Compose
管理服务
DevOps业务分析集成Web/应用程序
Auto-Scaling
Track & Plan
Cupenya InsightsAPI ManagementApplication Server on Cloud
Business Rules
Data Cache
MQ Light
Session Cache
Workflow
Workload Scheduler
box
CloudAMQP
PubNub - Sandbox
SendGrid
移动服务
移动DevOpsIoT业务分析安全性数据/分析
Advanced Mobile Access
Mobile Application Security
Mobile Data
Mobile Quality Assurance
Presence Insights
Push
Push iOS 8
Kinetise
Twilio
BlazeMeterInternet of Things
flowthings.io
Embeddable ReportingAppScan Mobile Analyzer
Mobile Analyzer for iOS
Single Sign On
Geospatial Analytics
监视服务
移动DevOps业务分析安全性
Presence InsightsMonitoring and Analytics
New Relic
Embeddable Reporting
Cupenya Insights
Application Security Manager
安全性服务
移动安全性集成
Mobile Application SecurityApplication 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 目录添加新样板应用程序。

  • Apache Spark Starter这个入门应用程序通过 IPython Notebooks、Apache Spark 和 Object Storage 所支持的交互式分析,帮助数据科学家和分析师交付洞察和业务成果。
  • Internet of Things Foundation Starter使用 Bluemix 中的 Node-RED 开始了解 Internet of Things Foundation 应用程序。使用一个模拟器试用示例流,并针对您自己的设备自定义它。
  • Java Cache Web Starter这个示例应用程序演示了如何结合使用 IBM DataCache Service Java Native API 和 IBM Cloud 上的 Java Web 运行时。
  • Java Cloudant Web Starter这个应用程序演示了如何结合使用 Cloudant NoSQL DB 服务和 IBM Cloud 上的 Liberty for Java™ 运行时。
  • Java DB Web Starter这个示例应用程序演示了如何使用 Java JPA 连接到 SQL 数据库。
  • Mobile Cloud使用针对共享数据、推送和服务器端脚本编写的移动服务,快速开始创建您的下一个移动应用程序。这个入门应用程序包含针对 Android、iOS 和 JavaScript 的 SDK。
  • MobileFirst Services Starter开始使用 IBM MobileFirst Platform for iOS 构建您的下一个 iOS 应用程序。
  • Node.js Cache Web Starter这个示例应用程序演示了如何结合使用 IBM DataCache Service 和 IBM Cloud 上的 Node.js 运行时。
  • Node.js Cloudant DB Web Starter这个应用程序演示了如何使用 IBM Cloud 上的 Node.js 运行时,从一个 Node Web 应用程序连接和使用 Cloudant DB Service。
  • Personality Insights Java Web Starter这个简单的 Java 应用程序使用 IBM Watson Personality Insights 服务分析文本,以获得个性特定。
  • Personality Insights Node.js Web Starter这个简单的 Node.js 应用程序使用 IBM Watson Personality Insights 服务分析文本,以得出个性特征。
  • Node-RED Starter这个应用程序演示了如何在 IBM Bluemix 中运行 Node-RED 开源项目。
  • Ruby Sinatra这个简单的 Sinatra 应用程序能让您快速投入工作!
  • Vaadin Rich Web Starter这个应用程序演示了如何使用 Vaadin UI Framework,使用 IBM Cloud 上的 Liberty for Java 运行时和 DB2 数据库构建丰富的 HTML5 应用程序。

结束语

 

在本教程中,您了解到,将 Bluemix 云服务添加到应用程序中(并配备、绑定和管理这些服务)只需执行一些简单步骤,对您的应用程序进行少量配置,并偶尔使用仪表板管理控制台签入。在仪表板上,您可以创建新的服务实例,从应用程序解绑或删除实例,更改服务计划,或者监视应用程序的运行状态。

现在请继续学习 “Bluemix 基础”,了解如何将数据库服务添加到应用程序中。选择与您所选的编程语言对应的教程:

Java:添加 SQL 数据库

Node.js:添加 Cloudant NoSQL 数据库

PHP:添加 SQL 数据库

更多 Bluemix 资源

 

要获取稳定的教程和技术资源流来使用 Bluemix 进行学习、开发和连接,请参阅 developerWorks 上的 Bluemix 资源中心


    
正文到此结束
Loading...