使用IBM Worklight服务器开发调用部署混合移动应用程序

IBM® WebSphere® Message Broker(以下简称 Message Broker)被广泛用作一种企业服务总线 (ESB),充当着一个灵活的连接基础架构,用于集成应用程序、服务和系统。Message Broker 提供了一流的基础架构,任何企业都可使用该基础架构匹配和路由服务之间的通信,在各种传输协议之间转换,在不同数据格式之间转换,并识别和分发业务事件。

Worklight 为移动设备提供了一个高级的移动应用程序开发和部署平台。它帮助各种规模的组织,使用强大而又灵活的移动 IDE、下一代移动中间件、端到端安全性以及集成的管理和分析功能来开发、运行和管理 HTML5、混合和原生应用程序。Worklight 为企业提供了一个跨平台的移动应用程序平台,因此,对于许多移动操作系统,只需编写极少量的代码。Worklight 适配器是服务器端的组件,方便了通过 Cast Iron、HTTP、JMS 和 SQL 适配器与各种后端系统的连接。

本文展示如何在 IBM Worklight 中开发混合移动应用程序,然后将它们与 Message Broker 集成,解决任何企业应用程序连接性需求。该移动应用程序使用 Worklight 服务器调用一个部署在 Message Broker 之上的企业服务。本文包含以下小节:

使用 Message Broker 开发一个消息流 开发 Worklight 适配器 开发移动 Worklight 应用程序 部署移动 Worklight 应用程序

我们将使用 JK Financials Bill Payment 示例应用程序来演示该集成。该应用程序包含以下组件:

一个后端账单支付流程,实现为一个 Message Broker 消息流。 一个 Worklight HTTP 适配器,它调用包含账单支付细节的消息流。使用该 HTTP 适配器
是因为它提供了与 HTTP 应用程序的连接性,此场景需要同步的请求/回复。在异步场景中,可使用 JMS 适配器。 一个混合 Worklight 应用程序,用于从用户
获取账单支付细节供处理。

1. 使用 Message Broker 开发一个消息流

首先使用 Message Broker Toolkit 开发一个消息流,以执行移动应用程序的支付处理:

打开 Message Broker Toolkit 并创建一个包含以下节点的消息流项目:HTTPInput Node => Compute Node => Java Compute Node => HTTPReply Node。 将计算节点重命名为 ValidatePaymentDueDate,将 Java 计算节点重命名为 Convert XML to JSON。 将 HTTP 输入节点 URL 设置为 /test,如下所示:

图 1

对于 Message domain,请选择 XMLNSC,对于 Input message,请选择 XML。计算节点客使用下面的 ESQL 代码 ValidatePaymentDueDate 来验证账单到期日。账单支付在到期日之前有效。在这之后,验证将失败,将无法处理账单支付:CREATE COMPUTE MODULE DevWorkSampleApp_ValidatePaymentDueDate CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN -- CALL CopyMessageHeaders(); -- CALL CopyEntireMessage(); IF (CAST(InputRoot.XMLNSC.PaymentDetails.BillDueDate AS DATE) >= CURRENT_DATE) THEN SET OutputRoot.XMLNSC.Message.
Status = 'Your Payment is validated successfully and transaction is processed with bill amount : ' || InputRoot.XMLNSC.PaymentDetails.BillAmount; ELSE SET OutputRoot.XMLNSC.Message.Status = 'Your Payment validation failed, the due date is expired.' || InputRoot.XMLNSC.PaymentDetails.BillAmount; END IF; RETURN TRUE; END; CREATE PROCEDURE CopyMessageHeaders() BEGIN DECLARE I INTEGER 1; DECLARE J INTEGER; SET J = CARDINALITY(InputRoot.*[]); WHILE I < J DO SET OutputRoot.*[I] = InputRoot.*[I]; SET I = I + 1; END WHILE; END; CREATE PROCEDURE CopyEntireMessage() BEGIN SET OutputRoot = InputRoot; END;END MODULE; Java 计算节点 Convert XML to JSON 中的以下 Java 代码将 XML 消息结构转换为 JSON 格式,进而返回给调用应用程序。有关的完整代码,请参阅文件 WorklightFlow_XMLToJSON.java 和
Utility.java。public void evaluate(MbMessageAssembly inAssembly) throws MbException { MbOutputTerminal out = getOutputTerminal("out"); MbMessage inMessage = inAssembly.getMessage(); // create new message MbMessage outMessage = new MbMessage(); MbMessageAssembly outAssembly = new MbMessageAssembly(inAssembly, outMessage); try { copyMessageHeaders(inMessage, outMessage); MbElement jsonDataElement = outMessage.getRootElement().createElementAsLastChild (MbJSON.PARSER_NAME).createElementAsFirstChild(MbElement.TYPE_NAME); jsonDataElement.setName(MbJSON.DATA_ELEMENT_NAME); MbElement xmlnscElement = inMessage.getRootElement().getLastChild(); if(null==xmlnscElement ){ MbUserException mbue = new MbUserException(this, "evaluate()", "", "", "No body", null); throw mbue; } 最后,连接 HTTPReply 节点并将 DevWorkSampleApp.msgflow 部署在执行组上。

时间: 2024-09-23 13:30:30

使用IBM Worklight服务器开发调用部署混合移动应用程序的相关文章

在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序

原文 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 Jim Nakashima.Hani Atassi 和 Danny Thorpe 将应用程序或服务部署到 Microsoft 云服务平台 Windows Azure 的原因有很多.例如,只为使用的内容付费从而可降低操作和硬件成本.构建几乎能无限缩放的应用程序.巨大的存储容量.地理位置等等,不胜枚举. 只有

开发和部署Pocket PC安装程序

应用Microsoft .NET Compact Framework 1.0 Microsoft Visual Studio .NET 2003 概要 了解如何创建独立的 .msi 文件,该文件从桌面运行以便将应用程序安装到不同的 Pocket PC 设备上.开发过程是自动化的,所以能轻松创建和打包所需组件到一个 .msi 文件.示例代码用 C# 和 VB.NET 语言编写. 内容提要 概述 部署 卸载 开发 开发过程自动化 概述 下面所列为开发和部署 Pocket PC 应用程序的要点: Po

面向移动应用开发IBM Worklight平台动手实操方法

了解如何使用安装在 IBM Rational Application Developer for WebSphere Software V8.5.1 之上的 IBM Worklight 平台来开发一个混合移动应用程序.IBM Worklight 简化了跨移动平台的移动 web.混合及原生应用程序的开发:iOS.Android.BlackBerry.Windows phones,及其他平台的设备.它提供了基于平台及源代码的功能增强来帮助开发人员加速开发.测试及交付移动应用程序的可视化开发能力,可使

使用 IBM Worklight 进行服务器端移动应用程序开发(三)

IBM Worklight 适配器与 RESTful 服务的集成 简介 通过阅读本文,您将学习如何使用 IBM Rational Application Developer for WebSphere, Version 8.5.1 的开发人员工作台开发和测试一个 JPA 公开的 RESTful 服务应用程序.然后将学习如何开发和测试一个移动应用程序,该应用程序包含一个使用了前面的 RESTful 服务应用程序的服务器端适配器组件.IBM Worklight 支持开发服务器端组件来调用封装在 Ja

IBM Worklight Studio和Dojo Mobile零售银行业务开发解决方案

位于达拉斯的 IBM 全球解决方案中心团队为零售银行业务开发了一个http://www.aliyun.com/zixun/aggregation/14219.html">移动应用程序.该应用程序包含许多零售银行业务功能,比如支行和 ATM 位置.联系人.帐户余额和活动.转账等.设计该应用程序是为了将它用于和部署到 iOS 和 Android 智能电话上,该应用程序是以一种混合方式使用 IBM Worklight Studio 构建的.Dojo Mobile(一个开发跨平台移动 Web 应用

使用 IBM Worklight 进行服务器端移动应用程序开发(二)

IBM Worklight 适配器与 Web 服务业务逻辑的集成 简介 在这个文章系列的第 1 部分中,您使用 IBM Rational Application Developer for WebSphere Version 8.5.1 开发人员工作台开发并测试了一个 Java 应用程序.然后使用了一种扩展和转换方法,还使用了您在一个移动应用程序中开发的自定义 Java 应用程序逻辑.为了开发一个包含调用 Java 应用程序逻辑的 HTTP 适配器的移动应用程序,您使用了 IBM Worklig

IBM Worklight适配器与RESTful服务的集成

在第三篇文章中,Bhargav Perepa 介绍了三个重要主题:在 Rational Application Developer for WebSphere 中开发和测试一个 JPA 公开的 RESTFul 服务应用程序:使用该应用程序创建一个应用程序逻辑包,将它作为库在移动应用程序开发中使用的库:使用 Worklight Studio 开发和测试一个使用该库的服务器端移动应用程序组件. 通过阅读本文,您将学习如何使用 IBM® Rational® Application Developer

IBM Worklight开始移动策略之前的准备工作

整个过程在一些重要方面不同于传统的应用程序开发过程,对这个过程的了解有助于企业在跨平台移动开发的生命周期中适当地组织流程. 移动应用程序已经成为我们企业生活和个人生活不可或缺的一部分.因此,被几乎所有地方的很多企业用于联系和吸引他们忙碌的客户.合作伙伴和员工.受到智能手机设备日益增长的市场份额的推波助澜,很多人期望移动设备的快速采纳在百分比上继续上升,并成为用户执行日常任务.访问信息和完成业务交易的主要渠道. 由于移动应用程序开发在一些方面与传统企业应用程序开发存在重大区别,所以企业在开始复杂的

在IBM WebSphere Application Server上部署J2EE应用程序

本文将介绍http://www.aliyun.com/zixun/aggregation/7155.html">开发人员如何利用此框架将他们在 IBM® WebSphere® Application Server 上部署的 J2EE 应用程序与这些 C++ 库相集成. IBM® WebSphere® Application Server 是一个兼容 Java® EE 6 的.健壮且高度可用的中间件环境,它提供了一个平台来托管和管理各种不同的企业应用程序.一些用户可能遇到过这样的场景,他们需