面向ERP协同办公的移动中间件技术应用研究
2014-08-08刘素芳
刘素芳
(福建信息职业技术学院 计算机工程系, 福建 福州 350003)
面向ERP协同办公的移动中间件技术应用研究
刘素芳
(福建信息职业技术学院 计算机工程系, 福建 福州 350003)
针对移动ERP应用中存在的异构问题,设计了一种面向ERP协同办公的移动中间件模型. 介绍了组成结构和核心模块的设计思路,支持上下文感知,以元数据驱动形式管理企业已有ERP子系统的服务,调用服务处理移动ERP应用请求,将响应结果转换为JSON格式返回移动终端.结合实际移动ERP项目验证了可行性,为实现ERP协同办公数据和信息的有效共享提供了一种行之有效的途径,在一定程度上完善了移动ERP的体系结构.
移动中间件; 移动ERP; 协同办公; 上下文感知
0 引言
传统ERP(企业资源规划)系统以C/S架构为主,随着Internet的普及,B/S架构的ERP系统也得到了广泛的应用,但这两种架构的ERP系统都要求用户在固定PC终端进行企业信息化管理.随着移动网络技术的飞速发展,移动智能终端日益普及,越来越多的企业用户提出了移动ERP办公需求.而各企业已实施的传统ERP系统的开发部署平台各不相同,通信协议也可能不同,对外交换的数据格式也存在差异[1].目前,企业在原有ERP系统上搭建移动ERP应用一般选择摒弃原ERP系统除数据库外的所有资源,重构移动终端ERP系统业务逻辑,但其开发、部署成本较高.考虑到原系统提供的Web Services服务可以很方便的被其他应用程序调用,本文将移动中间件与Web Services服务相结合,设计了一种面向ERP协同办公的移动中间件模型,实现移动ERP与企业传统ERP协同办公,有效共享资源和服务.
1 移动ERP
移动ERP系统是在传统ERP系统的基础上,以移动智能设备为终端,通过开发移动应用程序客户端,与企业原有的ERP系统进行信息交互,达到与原有ERP系统的信息整合,实现随时随地移动协同办公,摆脱固定办公的限制,满足企业业务拓展的需求,提高企业的经营效益.
目前,市场上有部分ERP软件厂商有推出移动ERP软件产品,如金蝶软件的K/3移动ERP,用友软件的MERP,和佳软件的和佳MERP等.借助这些厂商提供的移动ERP软件产品,企业可以较快的搭建移动ERP平台,实现移动ERP办公.但是,这比较适合企业原来没有实施传统ERP,或是原有ERP系统就是相应厂商的软件产品.对于多数企业来说,在原有ERP系统上搭建移动ERP办公平台,不能直接选择已有的移动ERP软件产品,需要针对提出的具体移动ERP办公需求,开发相应的移动ERP系统.移动ERP系统设计可应用J2ME/J2EE框架,如图1所示.
图1 J2ME/J2EE移动ERP系统框架
基于J2ME/J2EE框架的移动ERP系统重构J2EE应用服务器业务逻辑层,表示层负责接收从客户层发来的请求及返回动态生成的相应内容,业务逻辑层负责处理系统的业务逻辑,向数据库发送SQL语句,接收结果集[2].
2 移动中间件
移动中间件是指移动网络环境下位于操作系统和移动应用软件之间的一类软件,使用操作系统提供的基本功能和服务,通过应用程序接口为上层的移动应用系统提供从一般的应用需求中抽象出来的、移动网络应用所需要的更高层的、通用的功能与服务.由于在移动环境下工作的复杂性,移动中间件既要完成传统中间件的功能,同时还要提供统一的上下文感知接口、跨平台支持、轻计算负载以及自适应机制来适应移动环境动态多变且异构的特殊需求[3].
对移动中间件所处位置进行分析,可发现它与图1中J2EE应用服务器所处层次类似,所以企业在原有ERP系统上搭建移动ERP应用时一般是在图1中J2EE应用服务器层设计数据访问中间件,解析移动客户端的访问请求,生成相应SQL语句,执行之后返回结果,完成移动ERP应用的业务请求.这种方式优点是可以实现移动应用程序与异构或同构数据源之间的数据交换,即屏蔽掉数据库底层的细节问题[4].
但是,这种方式也存在缺点,它摒弃了原ERP系统其他资源,开发、部署成本都较高,且中间件承载较多业务,与软件复用、资源共享、协同办公思想不相符.
本文在J2ME/J2EE移动ERP系统框架基础上进行改进,结合Web Services服务可以很方便的被其他应用程序调用的优势,将移动中间件与Web Services服务相结合,设计了一种面向ERP协同办公的移动中间件模型.
3 面向ERP协同办公的移动中间件设计
3.1 面向ERP协同办公的移动中间件模型
本文设计的面向ERP协同办公的移动中间件模型如图2所示.
图2 移动中间件的模型
移动中间件接收移动ERP应用发送的服务请求,验证用户合法性,是合法用户则处理服务请求,调用相应服务接口,返回XML结果数据,对数据进行处理,转换为适合移动网络传输和移动终端显示的JSON格式,并将JSON格式结果数据返回移动终端,移动终端接收数据并进行解析,构建UI呈现数据.其访问流程如图3所示.
3.2 移动中间件核心模块设计
3.2.1 上下文感知
图3 移动中间件的访问流程
运行于移动终端的移动ERP应用程序是在极其动态的上下文环境下运行的,如移动终端位置有可能会随时改变,带宽有可能是不稳定的,其网络连接也可能是非永久的,服务也可能是时断时续的,电池电量也可能在不断减少.移动中间件要求支持上下文感知,适应变化的上下文.
本文设计的上下文感知模块包括4个层次:上下文传感器、上下文解释器、上下文推理机和上下文应用接口.
1) 上下文传感器
上下文传感器通过统一编程接口的方式实现对各类传感设备的封装和管理,对移动环境中的各种上下文(如移动终端位置、网络状况、电池电量等)进行监测和获取.
2) 上下文解释器
上下文解释器负责将获取到低级的上下文信息转换为移动中间件系统能够统一处理的高层上下文结构化信息,以XML格式存储所有的上下文信息,以便用来预测将来上下文的趋势.
3) 上下文推理机
上下文推理机对高层上下文,运用推理规则并按照当前或历史上下文信息演绎推理,驱动移动中间件服务做出调整.如,检测到移动终端网络信号极弱,暂时中断与移动终端的数据传输.
4) 上下文应用接口
上下文应用接口通过统一访问接口的方式,提供上下文信息查询、上下文访问接口,为上层应用提供上下文信息高效、便捷的访问入口[5].
3.2.2 服务管理
目前,大部分ERP软件厂商正致力于推广自己的ERP云服务,对原有的ERP系统提供了Web Service服务支持,本文设计的服务管理模块即是对传统ERP系统业务层各ERP子系统的Web Service服务进行管理.包括服务注册、服务查询.
服务注册即接收各ERP子系统的Web Service服务的注册信息,包括服务名称、服务功能简要描述、服务调用地址、服务类型等.
传统中间件对服务管理通常以服务队列或服务列表的方式进行存储,可以比较有序的管理服务,但不易于读取服务信息各子内容项.本文对服务信息管理做改进,采用元数据驱动形式进行管理,可用一个五元组表示服务信息:Service=(SerName,SerDes,SerCalURL,SerType),其中,SerName表示服务名称,具有唯一性;SerDes表示对服务功能的简要描述;SerCalURL表示服务的调用地址,每个安全能力都必须有唯一的具体调用地址以保证服务的可用性和确定性;SerType表示服务的类型[6].
考虑跨平台性,采用基于XML的元数据文件格式存储服务信息,格式如下:
…
一对标记存储一条Web Service服务信息,一对
服务查询可查看已在服务管理中注册的所有的服务,设计查询界面,提供按服务名称、服务功能、服务类型等条件查询已有的服务.
3.2.3 数据处理
客户端与服务器端跨平台远程数据交互问题,传统的方式是以XML格式的文件作为信息交换媒介,但是XML格式文件存储了大量的冗余信息,占用较多的带宽.JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,比较XML而言,JSON 更简单、更灵活,适用于数据量小、传输速度要求快,数据内容易于解析的数据通信场景[7].
考虑JSON格式数据量小可减少占用的带宽,且易于移动终端进行解析,数据处理模块负责处理服务调用模块中返回的XML结果数据,将结果数据转换为更适合移动网络传输和移动终端显示的JSON格式,并将JSON格式结果数据返回移动终端.
XML格式数据转换为JSON格式数据的流程如图4所示. XML格式数据转换为JSON格式数据规则见表1.
图4 递归遍历XML解析为JSON对象
XML格式 JSON格式标签标记对象标记标签属性属性对象标签中的内容值对象
例如: 调用生产管理子系统服务查询到某生产线生产状态XML格式数据,对该数据递归遍历解析为JSON格式数据,详见表2.
表2 XML与JSON转换实例
4 基于移动中间件的移动ERP协同办公系统实现
移动中间件模型已成功应用于某电子制造业企业移动ERP办公平台开发,移动智能终端通过移动ERP应用程序登录界面,输入用户名和密码,发送登录请求,移动中间件接收请求,通过安全认证模块验证用户合法性,并将验证结果返回移动客户端.合法用户可通过移动ERP应用程序首页各子功能模块入口向移动中间件发送服务请求,如请求查询某条生产线的实时生产状态,移动中间件服务调用模块接收服务请求,从服务管理中查询该请求对应的服务信息,读取该服务的调用地址,调用相应服务,并接收返回XML结果数据,数据处理模块将XML结果数据转换为JSON格式,并返回移动终端.移动ERP接收返回结果并解析JSON格式,构建UI呈现数据,显示查询到的生产线实时生产状态数据.
5 结论
本文设计的面向ERP协同办公的移动中间件模型支持安全认证、上下文感知、服务管理、服务调用、数据处理.实验证明该模型可以解决移动ERP与传统ERP的平台异构问题,解决跨平台远程数据交互、移动应用受带宽限制及网络流量低的问题,降低移动ERP重复开发的成本,为实现ERP协同办公数据和信息的有效共享提供了一种行之有效的途径,在一定程度上完善了移动ERP的体系结构.
[1] 于萧榕. 移动中间件在ERP系统中的应用[J]. 电脑知识与技术,2010,6(1):108-110.
[2] 杜锐.基于J2ME/J2EE+移动ERP系统的研究与实现[J].科学技术与工程,2009,9(5):1272-1276.
[3] 王英华. 移动计算中间件研究[J].科技信息,2010,26(16):194-198.
[4] 蒋晓丹,丁霞军,张妞. 数据访问中间件在移动学习平台的研究与设计.福建电脑,2013,29(2):22-23.
[5] 许楠,张维石.支持上下文感知应用程序的动态自适应中间件框架[J]. 计算机应用,2014,34(4):1149-1154.
[6] 胡文平,刘宴兵,肖云鹏,等. 面向移动终端的安全中间件系统设计与实现[J].重庆邮电大学学报,2012,24(2):236-241.
[7] 陈玮,贾宗璞. 利用JSON降低XML数据冗余的研究[J].计算机应用与软件,2012,29(9):188-190.
[责任编辑:蒋海龙]
Application Research of Mobile Middleware Technology in ERP Cooperative Office
LIU Su-fang
(Department of Computer Engineering, Fujian Polytechnic of Information Technology, Fuzhou Fujian 350003, China)
Aiming at the heterogeneous problems of mobile ERP application, a mobile middleware model for ERP cooperative office has been designed. This paper elaborates the composition structure of the mobile middleware model and the design ideas of the core module. This new model supports context aware, and manages the ERP subsystem services with the metadata driven form, by invoking a service of existing enterprise ERP subsystem, which processes the request of mobile ERP application service, then converts the response results to the JSON format, and returns to the mobile terminal. Finally, combined with the actual mobile ERP project verifies the feasibility of the mobile middleware, the result shows that this new model provides an effective way to share the ERP cooperative office data and information, and improves the architecture of mobile ERP in a certain extent.
mobile middleware; mobile ERP; cooperative office; context aware
2014-10-11
国家科技支撑计划项目(2012BAF12B15)
刘素芳(1980-),女,福建建瓯人,讲师,硕士,研究方向为计算机应用. E-mail: 13506996713@139.com
TP391
A
1671-6876(2014)04-0313-05