了解如何公开只能在防火墙后面访问的内部部署应用程序,并从在 IBM Bluemix® 中部署的应用程序访问它。建立这种集成的一个典型用例是混合应用程序开发和服务能力,其中,一些服务由内部部署的应用程序提供,另一些服务在 Bluemix 等云环境中提供。
本教程将讨论 IBM Secure Gateway for Bluemix 服务,说明该服务如何能够从在云中托管的应用程序安全地连接到内部提供的应用程序。
JAVA_HOME
的环境变量,该变量指向 Java 的主目录。另外,不要忘记将
%JAVA_HOME%/bin
添加到 PATH 环境变量。本节将告诉您如何在本地环境中设置内部部署的应用程序。以下是可用的内部部署应用程序(这些应用程序的源代码托管在 IBM Bluemix DevOps Services 上):
Airport-REST-Service 是一个用 Java 开发的,基于 REST 的应用程序,它提供了与机场信息检索相关的服务。为简便起见,保存机场详细信息相关数据的数据存储位于同一应用程序内。通过这个应用程序提供以下基于 REST 的服务:
Airport-App-Local 提供了用户界面,并作为客户端连接到 Airport-REST-Service 应用程序。请注意,这两个都是可以在 WebSphere Liberty Profile 应用服务器中运行的 J2EE 应用程序。
要在本地环境中设置并运行应用程序,请执行以下操作:
<WAS_INSTALLATION_DIRECTORY>/wlp/usr/servers/<server_profile_name>
位置上。在这里,"<WAS_INSTALLATION_DIRECTORY>"
指安装
WebSphere Liberty Profile 的目录。host="*"
添加到
httpEndpoint
元素。完成这一步后,该元素看起来将是这样的:<httpEndpoint httpPort="8080"
httpsPort="9443" id="defaultHttpEndpoint" host="*"/>
图 2 显示了应用程序的主页,用户可以从页面的下拉菜单中选择一个机场代码。
当选中一个机场代码时,单击 Show Airport Information 按钮,提供有关那个机场的信息:
Secure Gateway 服务能够从在云中托管的应用程序安全地连接到一个在内部部署的应用程序。要在 Bluemix 中配置 Secure Gateway 服务,执行以下操作:
Airport-App-Cloud 应用程序提供了与内部部署应用程序进行交互的接口。该应用程序利用 REST 客户端与内部部署应用程序进行交互,在
trsp.bluemix.airport.app.web.AirportAppService
类的
fetchAirportCodes
和 fetchAirportInformation
方法中提供了这个客户端。请注意,Airport-App-Cloud 将会部署到 Bluemix 中并利用 Secure Gateway
服务来启用该集成。准备好应用程序,执行以下操作:
String LIST_AIRPORT_CODES = "http:// cap-sg-prd-3.integration.ibmcloud.com:15699 /Airport-REST-Service/airport-app/airports/airportcodes"; String SHOW_AIRPORT_INFO = "http:// cap-sg-prd-3.integration.ibmcloud.com:15699/Airport-REST-Service/airport-app/airports/#airportCode#";
ant
命令触发 ant 构建。这将生成可以在 Bluemix 中部署的必要的 WAR
和项目文件。cf login
登录到 Bluemix。cf api https://api.ng.bluemix.net
确保设置了正确的 API 端点。cf push -p Airport-App-Cloud.zip
将应用程序推送到 Bluemix。为了启动 Docker,执行以下操作:
<LocalHost>
和
<LocalPortNo>
后,运行以下命令(请注意,按下 Enter
命令将打开适合在终端输入命令的 cli> shell
):acl allow
<LocalHost>:<LocalHostPortNo>
现在,我们到了最后一步。在您访问应用程序之前,一定要检查以下项目:
host="*"
)。现在,您可以访问应用程序。主机名和应用程序名称是从 manifest.yml 文件获得的。这个应用程序的用户界面与内部部署的应用程序的用户界面几乎相同,不同之处在于它将通过 Secure Gateway 服务连接到内部部署的应用程序。
现在,您已经了解如何通过 Bluemix 访问内部部署的应用程序。虽然将内部部署的应用程序迁移到云中会带来很多商业利益,但从成本和工作难度方面考虑,也会带来多种迁移挑战。所以,您可能需要进行分阶段迁移。然而,您可以将使用混合环境策略作为起点,其中一部分应用服务在内部提供,而另一部分可在云环境(如 Bluemix)中提供。
BLUEMIX SERVICE USED IN THIS TUTORIAL:IBM Secure Gateway for Bluemix 服务 将向您的 Bluemix 环境提供混合集成功能。它提供了从 Bluemix 到在内部部署或其他云中运行的其他应用程序的安全连接
相关主题:Secure Gateway 服务入门
相关主题:使用 Bluemix Secure Gateway 服务连接到您的数据中心