移动中间件在ERP系统中的应用

时间:2022-05-26 10:40:16

移动中间件在ERP系统中的应用

摘要:鉴于J2ME和Web Services技术在部署企业移动应用上的优势,本文在深入研究这两种技术的基础上结合实际项目构建了一个企业移动应用系统-移动ERP。它面向企业的工作人员,让他们随时随地查询企业进、销、存等信息,并可以对信息进行审批,实现了移动终端和企业信息的交互,具有一定的实用价值,同时验证了用这两种技术构建企业移动应用程序的可行性。

关键词:移动ERP;中间件;Web服务;J2ME

中图分类号:TN919.2文献标识码:A文章编号:1009-3044(2010)01-108-03

Application of Mobile Middleware in ERP System

YU Xiao-rong

(Jiangsu University of Science and Technology, Zhenjiang 212003, china)

Abstract: Based on the J2ME and Web services technology, an enterprise mobile application called mobile ERP system was designed and developed. It's business-oriented staff to enable them to any inquiries into the business, marketing, deposit, and other information, and information can be carried out examination and approval. The practical value of mobile ERP system validates the feasibility of constructing an enterprise mobile application using J2ME and Web Services technologies.

Key words: mobile ERP; middleware; Web services; J2ME

随着对各种应用的不断扩充和新应用的不断增加,各企业IT部门面临的问题也越来越多,诸如不同硬件平台、不同网络环境、不同数据库之间的互操作,多种应用模式并存,系统效率过低,传输不可靠,数据加密,开发周期过长等,诸如此类的问题使人们开始关注中间件。伴随着分布式应用的迅猛发展,中间件[1]这一新兴的软件领域己悄然崛起,基于WEB服务技术已成为中间件的主要开发平台。

移动中间件是实现企业移动应用的中间件系统,它可以无缝地集成到客户的ERP系统[2]或其他软件系统中,实现无论是在本地或其他任何位置的现场操作的数据实时传输和交换,完成企业数据安全完整地内外交换,更重要的是它的实时在线校验功能最大程度降低的企业人为因素产生的错误,保证企业数据的准确性和实时性。

1 Web服务理论概述

1.1 Web服务的优势

在中间件的多项实现技术中,我们最终选择Web服务技术来开发,这是因为Web服务技术具有其他中间件技术不具备的优势。Web服务技术是基于SOAP和XML等技术的[3],使用的都是标准的协议,因此拥有了以下的优势:

使用SOAP协议进行网络传输,而协议又是基于HTTP的,因此Web服务的传输能够轻松穿越防火墙、以非常简便的方式进行远程调用。Web服务的语法规则符合语言规则,因此它具有了的优点平台无关性可以跨平台调用、编程语言无关性可以各种编程语言混合使用。Web服务基于标准的Web协议-XML、HTTP、TCP/IP。许多公司都已经建立了Web基础结构,同时它们的员工在维护方面也都具备相应的知识和经验。因此,引入Web服务与引入以前的技术相比,其成本要低得多。

在很多行业中,许多企业都建立了一些适合本企业和本部门的ERP系统。移动ERP是在传统ERP基础之上,通过开发无线终端程序来实现的,事实上是对原有ERP系统的扩展,而不是代替。在此基础上,通过开发无线终端应用程序与原有网络资源进行信息交互,达到与原有资源的信息整合,才能实现真正的健壮、安全和可扩展的企业级无线应用系统。

而目前的ERP系统开发部署平台不同,通信协议也可能不同,对外交换的数据格式也有着很大差异,怎样才能够使用移动设备访问不同平台的企业ERP系统呢?在研究过程中我们应用MIE移动中间件思想,提出了基于Web服务的解决方案,Web Services能够统一地封装信息、行为、数据表现以及商务流程,无需考虑应用所在的环境是使用何种系统和设备。因此,要在移动ERP中应用Web服务技术,关键是在移动设备上提供对Web服务技术的支持。

通过Web Services构建MIE中间件,使得系统可以在多种硬件平台和操作系统上运行,以便企业可以根据业务需求和投资能力选择最佳平台,帮助企业顺利实现不同应用水平阶段的平滑过渡,此外系统的核心业务逻辑都以Web Services形式封装成了组件,这样易于以后修改,并且方便于其它对象的调用。并且利用J2ME[4]构建移动web服务,并将之付诸移动客户端,实现真正的基于J2ME的移动web服务程序的构建与访问

在本文中,为实现使用J2ME构建移动web服务应用程序,在对J2ME技术和Web Services技术进行理论剖析的基础上,将J2ME技术与Web Services技术相结合这一思路应用于实践中,完成了一个移动ERP系统的开发。

1.2 Web服务体系结构

Web服务采用SOA(面向服务的体系结构,Service Oriented Architecture)模型[5]作为它的体系结构,如图1 所示。

图 1 给出的模型主要包含三方面的内容:角色、操作和组件。Web Services 体系结构基于三种角色(服务提供者、服务注册中心和服务请求者)之间的交互,而交互涉及、查找和绑定三种操作。这些角色和操作一起作用于 Web 服务组件(Web 服务软件模块及服务描述)。在 SOA 的三种操作中,操作使用 WSDL 和 UDDI 技术,查找操作使用 SOAP [6]和 UDDI 技术,而绑定操作使用 SOAP 和 WSDL 技术。

服务提供者持有一个提供网络访问功能的服务软件模块(即 Web 服务的一个实现),为服务软件模块定义服务描述,并且把服务描述到服务注册中心。服务请求者使用查找操作来从本地或服务注册中心检索服务描述,然后使用服务描述与服务提供者进行绑定并调用 Web 服务实现或同它交互。

2 J2ME Web Services API (JSR172)

J2ME以消费类设备和嵌入式设备市场为目标,包括各种电子用品,例如蜂窝电话、传呼机、PDA(Personal Digital Assistant)、机顶盒和其他小型设备等,当前投放到市场的这类设备中90%都支持J2ME。

随着XML技术与Web服务技术的发展,企业内部与企业之间的数据交互越来越倾向于使用XML,各类应用系统也越来越倾向于使用Web服务技术,为使J2ME能与这类数据及系统交互,就需要J2ME支持XML数据的解析和Web服务的访问能力。

J2ME Web Services API扩展了Java2Platform,Micro Edition以支持Web服务,它被设计用于J2ME基于Connected Device Configuration(CDC)或Connected Limited Device Configuration ( CLDC 1.0或CLDC 1.1)的profiles.这个API的两个可选包标准化了Web服务客户端的两个关键领域的功能:远程服务调用和XML解析。JSR 172确定了在典型的Web服务架构中使用J2ME应用程序消费远程服务的一种标准的客户端技术。

3 系统总体需求分析

本系统服务器端在J2EE平台上开发并部署系统需要的Web服务,移动客户端利用WSA1.0(JSR172)与服务器端的Web服务交互。即一部分是服务器端的应用,另一个是手机上的客户端应用程序设计。本人设计该项目时,将重点放在移动客户端应用程序的实现,客户端包括如下功能模块:系统设置模块、账务管理模块、销售管理模块,进货入库管理模块,库存管理模块等。

3.1 系统设计

在本项目中,实现了以下一些功能:能根据关键字实现ERP系统的进、销、存等相关信息的查询;能根据关键字对ERP系统的进、销、存等单据进行审批;软件操作简单,符合手机使用者的习惯;本软件应具有一定的速度,不能让用户产生难以忍受的等待;本软件应具有一定的健壮性。

根据需求分析,本系统的模块结构图如图2、图3。

3.2 系统实现

3.2.1 访问数据库

在系统中我们使用Java数据库驱动程序的方式访问数据库,在服务器端程序访问数据库时候,需将相应的数据库驱动文件拷贝到Tomcat\webapps\axis\WEB-INF\lib中。访问数据库的具体操作包括:1) 装载数据库的JDBC驱动程序;2) 由Connection建立与数据库的连接;3)创建Statement对象,准备调用SQL语句;4) 用ResultSet调用SQL语句;5)访问ResultSet中的结果记录;6)关闭ResultSet,Statement和Connection对象;

进行数据库操作的部分代码如下:

import java.sql.*;

public class sql_data {

String sDBDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";

String url =

"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=erpdata ";

String user = "sa"; String password = "123"; Connection conn = null; Statement stmt = null;

ResultSet rs = null;

public sql_data() { try { Class.forName(sDBDriver);

} catch (java.lang.ClassNotFoundException e) {

System.err.println("sql_data(): " + e.getMessage()); } }

public ResultSet executeQuery(String sql) {

try {conn = DriverManager.getConnection(url,user,password);

stmt = conn.createStatement(

ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);

rs = stmt.executeQuery(sql);

} catch (SQLException ex) {

System.err.println("sql_data.executeQuery:"+ x.getMessage());}

return rs;}

…//其他操作}

3.2.2 Web服务的实现

下面以库存类为例,对Web Services的实现进行说明: 在服务器端,创建的库存类主要用来提供商品的信息,包括的public方法有:

getKucunYiji:得到库存一级目录。

getKucunErji:得到库存二级目录。

getKucunXilie:得到库存系列目录。

getSpList:得到商品列表。

getSpmx:得到商品明细信息。

在客户端,根据News类生成的类放在工程MyEnterpriseClient包中包括以下类:CjspmxListUI.Java、ErjiMenuListUI.Java、KcJtSpMxListUI.Java、KcSpListUI.Java、KcspmxListUI.Java、SpxlListUI.Java、YijiMenuListUI.Java、MainScreen.Java、 Navigator.Java

我们也可以通过Web Services把客户端的信息发送给服务器端,以获得商品列表服务为例:

Thread t = new Threads{

public void run {

try{ boolean login=service.login(UserID, Pwd);

if (login=false){error("You can not login in."); }

else{display.setCurrent(MainForm); }

}catch (Exception e){

if (!EXIT.STRING.equals(e.getMessage()){

e.printStackTrace();

error("Connection problems.\n"+"Check your internetproxy settings.");

} } }

t.start();

这样就实现了在J2ME客户端方便的访问服务。系统库存查询运行界面如图4,图5。

4 结束语

本文对移动中间件进行了介绍,并且提出了以Web Services技术为主的中间件解决方案来构建移动ERP系统的服务器端,在客户端则采用了J2ME技术。通过两者的结合,实现了移动终端和企业信息的交互,具有一定的实用价值,验证了用这两种技术构建企业移动应用程序的可行性,为今后类似的应用提供了新的思路和解决方法。同时,Web Services技术所具有的跨平台优势,可以使该实现不仅应用于手机上,也可以在对客户端应用程序进行一定修改以后,将其应用到其它使用J2ME进行应用程序开发的设备上,使该项目的应用范围变得更广。

参考文献:

[1] 李华飚.Java中间件技术及其应用开发[M].北京:水利水电出版社,2007.

[2] 闪四清.ERP系统原理和实施[M].北京:清华大学出版社,2006:33.

[3] 余敏.基于J2EE平台的Web服务技术研究与实现[J].教育技术导刊,2009(4):122-123.

[4] 詹建飞.J2ME开发精解[M].北京:电子工业出版社,2006.

[5] Moore W,Allen C,Bracht R,et al.Managing Information Access to an Enterprise Information System Using J2EE and Services Oriented Architecture[M].U.S.: International Business Machines Corporation,2005.

[6] 岳昆,王晓玲,周傲英.Web服务核心支撑技术[M]:研究综述.软件学报,2004,15(3).

上一篇:计算机硬件系统常见故障的分析处理 下一篇:浅谈基于Flex技术的RIA设计