基于移动平台的云端业务扩展的研究与实现

2016-11-12 15:08吕向风
现代电子技术 2016年13期
关键词:业务流程应用程序社交

吕向风

(天津天狮学院,天津 301700)

基于移动平台的云端业务扩展的研究与实现

吕向风

(天津天狮学院,天津301700)

目前,在服务向移动平台信息推送方面没有一套通用的跨平台解决方案可以实现服务端向移动平台主动推送通知。针对这一问题,探索通用性解决方案,以BPEL工作流技术实现云端业务集成,按照场景需要在业务集成中以OAuth认证模式有效整合社交网络服务中受保护的私密性资源,实现场景的云端业务集成。同时应用PhoneGap和Dojo Mobile基于HTML5技术的统一移动应用开发框架快速构建场景的手机应用程序,以实例的方法验证了该开发框架的可行性。

业务集成;云计算;移动计算;信息推送

伴随着网络信息和数据的极速增长,在科研、工程和商业等领域每时每刻都需要处理超大规模的海量数据,整个社会对计算机各个方面的需求已经远远超过IT架构所能提供的计算和存储能力,持续的发展需要不断地增加系统硬件资源投入,实现和完善系统扩展性能。然而因为传统的并行处理编程模型应用存在一定的局限性,从客观角度讲已经无法满足技术发展的需要,在这种强烈需求下云计算应运而生[1]。云计算是一种易于学习、使用和部署的系统并行开发框架,它能够充分为用户节省成本,同时也能够极大地提高系统的可扩展性。

1 场景分析

1.1场景描述

当用户在户外到了吃饭的时间,拿出手机使用银行的应用程序,对用户的地理位置进行定位,然后与集成业务服务之间进行交互查询用户附近的餐馆信息。之后,服务端便会访问集成在一起的地理位置服务去查询附近的餐馆,同时去社交网络中搜索与这些餐馆相关的评论信息和特色食物信息,再经过云计算服务筛选出优质的评论返回到用户的手机上,用户可以查看相应的信息,并选出自己满意的餐馆和食物。同时由于用户经常与银行产生业务往来,能够不断累积自己的积分,可以享受到银行提供的各种优惠,进而更大地刺激用户的消费[2]。用户可以使用信用卡进行消费,还可以通过该软件与其他的用户进行交流沟通,如发表自己的评论等,场景流程示意图如图1所示。

图1 场景流程示意图

1.2场景需求分析

在业务集成方面的工作需要将涉及到的服务包括地理位置信息服务、银行业务服务和众多的社交网络服务等集成到一起,并有效进行合作;在移动应用程序开发方面涉及到两大主要工作:统一的跨平台开发框架的使用和通用性的跨平台信息推送解决方案的设计与实现;在业务集成服务和移动平台程序之间的主要工作需要合理实现云端服务与移动平台之间的信息沟通。

1.3场景功能分析

课题是基于银行零售业务典型的业务场景案例的实现来设计针对业务集成,并将业务良好地扩展到移动平台的一类应用的通用性方案,包含业务集成模块、移动应用程序、信息传输模块、社交网络连接器模块和信息推送模块的设计与实现。场景的功能模块示意图如图2所示。

图2 场景功能模块示意图

从整体角度而言,业务集成模块实现了银行业务、地理位置信息服务、信息筛选服务的业务集成,移动应用程序采用PhoneGap和DojoMobile的基于HTML5技术的通用性程序开发框架实现,社交网络连接器部分针对微博服务进行身份认证授权的集成,在信息传输模块使用MQ技术实现消息中间件的传输,将业务集成功能实现、移动应用程序开发实现和消息传输三个模块分离,降低程序之间的耦合度,同时提高整体解决方案的灵活度,在信息推送模块采用基于物联网中广泛使用的MQTT传感器传输技术。五大功能模块之间相互独立,各司其职,但又相互协作,共同实现整体业务场景,满足银行零售业务的需求[3]。

2 业务集成模块设计与实现

在本场景的实现中,业务集成方面的功能实现主要包含六个部分,分别是用户地理位置信息管理、查询周边地理信息、查看某商家的详细信息、查询某地点的位置信息、打折卡信息管理和评论信息管理。

以上六个部分的功能实现按照内容进行划分可以设计为四个业务流程:地理位置查询流程、商家详细信息查询流程、打折卡信息管理流程和评论信息管理流程。由于业务流程以服务的形式向外界提供访问,其他的应用程序在接入该服务时采用HTTP连接的方式进行,所以服务可以选择使用REST资源定位服务的方式为手机端应用程序提供访问接口。

地理位置信息查询流程将用户地理信息管理、周边地理信息查询、某地点位置信息查询功能集成在一个业务流程中,根据手机发送请求进行区分,执行不同的逻辑分支实现其相关功能。业务集成服务以REST资源定位服务的方式为手机应用提供接口,接口设计包括两个方面,其中一个是访问请求的方式,包括请求的URI结构和传递给业务集成服务的参数信息,参数信息包括可选和必须两种,地理位置信息查询流程服务的访问形式如表1所示。

表1 地理位置查询业务流程参数

每个地理位置都有一个全球惟一的标识,可以准确定位每个地理位置。在上述返回的地理位置查询结果,可以使用参数Reference查询某个地点的详细信息[3]。这时需要依赖于商家详细信息查询业务流程提供的服务。同样,该服务的访问接口设计如表2所示。

表2 商家详细信息查询服务访问参数

打折卡信息管理业务流程服务负责完成打折卡信息的管理工作,该服务中实现了打折卡信息的查询,同样融合了打折卡信息的管理工作,如打折卡信息抢购信息的变更等。打折卡信息管理业务流程服务提供访问参数设计,如表3所示。

表3 打折卡信息管理业务流程服务访问参数

在应用程序访问业务流程服务时并不需要考虑内部实现,只需要关心流程服务返回的结果。商家查询商家信息业务流程服务是建立在已经对周围环境信息查询结果的基础上进行的,即在之前用户已经对自己所在地理环境周围的餐饮进行了查询,已经获得了地理位置信息业务流程服务的查询结果[4]。

查询商家详细信息的业务流程服务将会等待客户端的访问,当收到访问请求之后将会按照流程开始执行,首先会访问集成的FTP服务,将需要的配置文件和过程处理工具进行加载,之后访问集成的Google Place地理位置信息服务,查询商家的基本信息,包括国家地区和街道等。然后访问银行提供的业务服务,可以获取到与银行合作的商家信息,包括该商家的信誉等。

3 社交网络连接器模块的设计与实现

3.1OAuth认证流程设计

OAuth为社交网络开放平台提供身份认证体系的基本思想是由第三方应用程序将用户重新定向到社交网络开放平台的授权页面,用户在登陆完成身份认证之后生成授权令牌,然后由社交网络开放平台再回调第三方应用程序传递授权令牌,之后第三方应用程序便可凭借该令牌访问社交网络服务中的受保护资源[5]。OAuth协议进行认证和授权的流程包含了六个主要步骤,其主要交互过程和交互方式如图3所示,完成了第三方应用程序的授权操作。

图3 OAuth认证流程图

3.2社交网络连接器的实现

在银行零售业务场景中基于云计算服务的业务集成解决方案中增加社交网络部分的融合,面临着两大关键技术难题:一是实现身份的识别和认证访问受保护的社交网络数据;二是社交网络数据获取后的分析与管理[6]。

社交网络的授权请求操作无法通过简单业务服务流程配置完成,需要在业务流程引擎基础上设计添加自定义的连接器,用来获得访问令牌,并将其与用户信息关联保存。

4 移动应用及信息传输模块设计与实现

4.1基于统一开发框架实现移动应用程序

PhoneGap是采用HTML+JavaScript+CSS的开发模式,所以选择使用Dojo Mobile配合PhoneGap组合完成应用程序的开发[7]。

以银行零售业务场景中基于Android平台开发实现移动应用程序作为示例,底层采用Java技术进行实现,并向上层暴露JavaScriptAPI,可以使用Dojo框架直接调用,十分简单方便。在该场景中实现的功能包括用户地理位置信息查询与显示,周围餐馆信息的获取与显示,查看餐馆详细信息(包括餐馆的基础信息和评论信息),查看餐馆打折卡优惠信息和交易打折卡,对餐馆信息进行评价并选择同步的社交网络服务。

地理位置信息的获取使用手机提供的地理定位功能,获取手机的Geo Location坐标信息,并将该信息保存到全局变量会话状态中,以便于各个功能模块都可以随时访问到。在移动设备上显示地图,采用加载Google地图的方式,远程加载Google提供的JavaScript实现,并将手机的地理位置显示在地图上。

考虑到移动平台采用PhoneGap和DojoMobile组合的通用开发框架,选择基于REST服务的模式向移动平台提供访问接口,同时使用JSON轻量级的数据结构进行数据交互,在移动平台上仅需要调用Dojo的Ajax模块,便可以轻松实现与服务之间的数据交互,示例代码如下:

dojo.xhrGet({

方干有七律《题宝林山禅院》、七绝《题宝林寺禅者壁》。据《雍正浙江通志》越州宝林寺条载:“唐元徽元年,法师惠基于宝林山下建,唐会昌中废,乾符元年(874)重建,改名应天寺。”[5]6421同时,方干有七律《题应天寺上方兼呈谦上人》,应写于乾符元年方干65岁之后,从其中诗句“势横绿野苍茫外,影落平湖潋滟间”来看,应天寺即宝林山禅院就在镜湖岸边,方干在归隐镜湖前后对应天寺即宝林山禅院进行过多次造访。

url:"http://serveraddress/search/

locationInfo.json",

handleAs:"json",

load:function(resList){

//handlethedata

},

error:function(ex){

//handletheexception

});

在本场景中对于用户交易打折卡积分进行变更或者使用信用卡消费用户的积分变更,需要对数据传输提供可靠的保障[8]。在本部分采用MQTT技术进行实现。该技术可以充分保障数据传输的可靠性,能够有效避免手机因为进出电梯等环境造成网络连接中断等恶劣的情况,即使在这些情况下也能够对数据传输信息进行保存,等连接重新建立的过程中再将信息发送到服务器端,保障数据之间的统一性。

使用MQTT技术作为数据传输的中间层的另一个好处是实现了移动应用程序功能和业务逻辑功能的有效分离,降低程序之间的耦合。以后如果是任何一方发生变更,只需要对数据传输模块进行重新设定便可以有效解决,这种方式可以有效提高业务场景实现的灵活度。在Android移动平台上,底层开发基于Java语言实现,MQTT具有Java工具包,之后在PhoneGap和Dojo Mobile开发框架的基础上编写中间层,将其向上层暴露为JavaScript方法。

移动应用程序和集成服务器之间设定主题规则,在交易打折卡过程中,集成服务器通过MQTT Client向MQTT Broker预定Banking/Coupon/Exchange主题,移动应用程序在进行交易打折卡时便基于该主题发布信息,并将信息发布的级别设置为2,这样便可以准确保障数据准确地在移动应用程序和集成服务器之间传输,达到预期的业务目标。

4.2跨平台信息推送方案的设计与实现

经过长时间的研究和对比,选择广泛应用在物联网实现中的MQTT技术来实现通用的移动平台上的消息推送。MQTT协议是一种适用于对大量计算能力有限,工作在低带宽、不可靠网络的远程传感器和控制设备通信的信息传输协议,具有如下几个主要特性:

(1)极其小的通信开销,最小的消息大小为2 B。(2)支持各种流行的编程语言,包括C,Java,Ruby,Python等。

(3)使用发布/订阅的消息模型,简化应用程序的开发。

(4)提供三种不同级别的消息传递服务,让消息能按需达到目的地。

在面向大众的应用服务设计过程中,为满足消息推送的需求必须保证不同的应用程序的主题可以动态添加,另一方面需要考虑大数量级的客户端连接的数据库负载均衡的问题。为了满足这类情况的需求,提出了以下比较完整的消息订阅和发布的推送模型,该模型包含注册和推送两个过程,在服务注册中包含五个基本步骤:

(1)设备通过HTTP协议向资源分配服务(PS)发送自己的惟一ID申请。

(2)资源分配服务(PS)选择合适的队列管理器分配给设备,同时将此设备添加到该队列管理器所有连接的设备数据库中。

(3)资源分配服务(PS)返回选择的队列管理器的URI给设备进行存储。

(4)设备使用收到并存储的URI连接对应的队列管理器,设备始终连接此队列管理器直到分配服务重新分配或者重置配置。

(5)设备订阅相应的主题,准备获取主题上推送的信息。

在完成了消息队列分配和设备对相应主题的订阅之后,服务方便可以在任意时刻实现消息的推送。在实现消息推送的过程中,经历了四个步骤:

①推送应用通过HTTP或者JMS连接到推送服务器申请发送相应的信息通知到特定的设备终端。

② MB通过查询设备到queuemanager的数据库获取设备所连接的队列管理器。

③ MB通过队列的发布/预定方式将通知发送到设备所连接的队列管理器中。

④MQ使用发布/预定引擎处理MB发送的消息并通过MQTT服务将对应主题上的信息通知发送给对应的设备终端。

5 结 论

本文以银行零售业务为背景展开研究,系统地分析业务场景及功能需求。在该典型场景的基础上分析和研究在云端业务集成和向移动平台进行扩展过程中面临的共性问题。在实现业务场景的实例过程中对解决方案进行了详细阐释,主要完成了以下三个部分的工作:

(1)分析和研究社交网络开放服务特点和使用方式,使用OAuth的认证方式实现在业务集成中整合社交网络开放服务中的用户私密性数据。

(2)基于PhoneGap和DojoMobile的统一性移动应用程序框架快速构建移动应用程序,实现了移动平台部分的软件开发。

(3)进一步研究信息推送技术和目前比较成熟的移动平台消息通知方案,使用MQTT传输技术实现了云端业务集成服务向移动平台推送消息的跨平台解决方案。

课题进一步的研究方向是分析和研究该解决方案与以Memcache为代表的分布式缓存技术相结合。

[1]丁兆青,董传良.基于SOA的分布式应用集成研究[J].计算机工程,2007,33(10):246-248.

[2]吴军,邓超,邵新宇,等.基于WebServices的企业应用集成方法研究[J].计算机应用研究,2012(8):64-66.

[3]刘松,付晓江.面向服务的企业应用集成框架[J].吉林大学学报,2005,23(6):657-663.

[4]咸峰,霍佳震.利用Web服务实现供应链中跨企业信息系统的集成[J].计算机应用与软件,2004,21(1):46-47.

[5]倪斌,李红兰.一种基于移动Agent的云端计算任务安全分割与分配算法[J].现代电子技术,2015,38(17):89-92.

[6]彭国莉.信息推送技术与信息推送服务[J].中国信息导报,2012(8):49-50.

[7]马欣.基于云服务的气象数据信息安全认证技术研究[J].现代电子技术,2013,36(3):98-101.

[8]黄海新,汪定伟.基于流程图及过程代数的流程表达方法[J].管理科学学报,2002,5(3):67-72.

Research and implementation of cloud business expansion based on mobile platform

LÜ Xiangfeng
(Tianshi College,Tianjin 301700,China)

Currently,there is no commonly-used cross-platform solution to realize the active information push from server side to mobile platform.Aiming at the above problem,the general solution is researched.The BPEL workflow technology is used to realize the cloud business integration.According to the requirement of the scene,OAuth authentication mode is taken in business integration to effectively integrate the protected private resources in social networking service,and realize the cloud business integration of the scene.The unified mobile application development framework based on HTML5,PhoneGap and Dojo Mobile is used to quickly construct the cellphone application program of the scene.The feasibility of this developed framework was verified with an instance.

business integration;cloud computing;mobile computing;information push

TN711-34;TM417

A

1004-373X(2016)13-0019-04

10.16652/j.issn.1004-373x.2016.13.005

2015-11-06

吕向风(1980—),女,天津人,硕士,讲师。主要研究方向为移动平台APP开发、教学资源信息化、创新创业教育。

猜你喜欢
业务流程应用程序社交
社交之城
社交牛人症该怎么治
RPA机器人助业务流程智能化
社交距离
删除Win10中自带的应用程序
STK业务流程优化的探究
谷歌禁止加密货币应用程序
你回避社交,真不是因为内向
企业财务管理、业务流程管理中整合ERP之探索
基于财务业务流程再造的ERP信息系统构建探析