论文部分内容阅读
【摘 要】针对存在的移动ERP办公业务需求,设计一种基于数据访问中间件的移动ERP协同办公系统平台。
【关键词】数据访问中间件;移动ERP;协同办公; JSON
本文设计一种基于数据访问中间件的移动ERP协同办公系统平台。
一、数据访问中间件
数据访问中间件是位于应用程序和数据库之间的一类服务程序,主要用于实现应用程序与本地或异地的同异构数据源的数据交换,即屏蔽数据库底层细节问题。
考虑移动应用开发的复杂性及移动终端系统与计算机集成的复杂性,本文选择数据访问中间件作为移动ERP与异地ERP数据库进行数据通信的桥梁。
二、移动ERP协同办公平台框架设计
本文设计的基于数据访问中间件的移动ERP协同办公平台框架采用三层架构:移动客户端、应用服务器端和数据库服务器端。中间件有多项实现技术,其中Web服务技术是基于SOAP等技术,使用的都是标准的协议,如HTTP、TCP/IP等,因此Web服务可以非常简便的方式进行远程传输。而J2EE是一个开放的、基于标准的开发和部署平台,主要用于在服务器端开发可伸缩、可迁移、以数据库为核心的企业级应用[3]。因此本文设计基于Web服务的解决方案,采用J2EE开发移动ERP协同办公平台的数据访问中间件。
三、数据访问中间件服务接口层设计
(一)接收请求
当移动ERP客户端通过HTTP协议发送数据请求时,服务接口接收请求,并调用HttpServletRequest对象来获取请求数据。
(二)解析请求
服务接口判断请求的类型,若是查询请求则生成相应SELECT语句,调用数据处理层数据查询类访问ERP数据库查询数据;若是操作请求则生成相应的INSERT、UPDATE、DELETE语句,调用数据处理类操作ERP数据库处理相应业务请求。
(三)数据格式转换
JSON是一种轻量级的数据交换格式,其数据量小可减少占用的带宽,使跨平台数据传输变得相对容易[4] 。数据格式转换模块负责将返回结果数据转换为JSON格式,并返回给移动ERP终端。
将ResultSet结果集转化为JSON格式的关键代码如下:
// 定义JSON数组、对象
JSONArray myArray = new JSONArray();
JSONObject jsonObj = new JSONObject();
// 使用ResultSetMetaData获取列信息
ResultSetMetaData metaData = rs.getMetaData();
int colCount = metaData.getColumnCount();
// 遍历ResultSet中数据
while (rs.next()) {
// 遍历每一列
for (int i = 1; i <= colCount; i++) {
String colName =metaData.getColumnLabel(i);
String value = rs.getString(colName);
jsonObj.put(colName, value); }
myArray.put(jsonObj); }
return myArray.toString();
四、数据访问中间件数据处理层设计
采用ArrayList对象进行封装。
1) 数据查询
DataMid类提供getResultSet方法查询数据,其关键代码如下:
//调用getConnection()方法连接指定数据库
Connection conn= getConnection();
//实例化PreparedStatement对象,使用executeQuery()方法执行select查询并返回结果集
PreparedStatement pstm=conn.prepareStatement(sql);
if (paras != null) {
Object obj[] = paras.toArray();
for (int i = 0; i < obj.length; i++) {
if (obj[i] instanceof String) {
pstm.setString(i+1, (String) obj[i]); }
}
}
ResultSet rs = pstm.executeQuery();
return rs;
2) 数据处理
DataMid类提供handleData方法处理数据,其关键代码如下:
int n = 0;
//调用getConnection()方法连接指定数据库
Connection conn= getConnection();
//实例化PreparedStatement对象,使用executeUpdate ()方法执行insert、update、delete语句
PreparedStatement pstm=conn.prepareStatement(sql);
if (paras != null) {
Object obj[] = paras.toArray();
for (int i = 0; i < obj.length; i++) {
if (obj[i] instanceof String) {
pstm.setString(i+1, (String) obj[i]); }
}
}
int n = pstm.executeUpdate();
return n;
五、结论
实验证明本文设计的基于数据访问中间件的移动ERP协同办公平台框架可以解决远程跨平台移动ERP应用程序与异构或同构数据源之间的通信问题,采用JSON格式交换数据有效解决了移动应用受带宽限制及网络流量低的问题,为实现ERP协同办公数据和信息的有效共享提供了一种行之有效的途径,在一定程度上完善了移动ERP协同办公系统的体系结构。
参考文献:
[1]蒋晓丹,丁霞军,张妞. 数据访问中间件在移动学习平台的研究与设计.福建电脑,2013,29(2):22-23.
[2]胡锦丽.一种基于json的modbus远程通信实现方式[J].机电技术,2014,38(2):36-39.
[3] 陈锐浩. 基于Android平台的移动课件的设计及制作[J].现代计算机(专业版),2013,30(3):55-58.
基金项目:国家科技支撑计划课题(2012BAF12B15)
【关键词】数据访问中间件;移动ERP;协同办公; JSON
本文设计一种基于数据访问中间件的移动ERP协同办公系统平台。
一、数据访问中间件
数据访问中间件是位于应用程序和数据库之间的一类服务程序,主要用于实现应用程序与本地或异地的同异构数据源的数据交换,即屏蔽数据库底层细节问题。
考虑移动应用开发的复杂性及移动终端系统与计算机集成的复杂性,本文选择数据访问中间件作为移动ERP与异地ERP数据库进行数据通信的桥梁。
二、移动ERP协同办公平台框架设计
本文设计的基于数据访问中间件的移动ERP协同办公平台框架采用三层架构:移动客户端、应用服务器端和数据库服务器端。中间件有多项实现技术,其中Web服务技术是基于SOAP等技术,使用的都是标准的协议,如HTTP、TCP/IP等,因此Web服务可以非常简便的方式进行远程传输。而J2EE是一个开放的、基于标准的开发和部署平台,主要用于在服务器端开发可伸缩、可迁移、以数据库为核心的企业级应用[3]。因此本文设计基于Web服务的解决方案,采用J2EE开发移动ERP协同办公平台的数据访问中间件。
三、数据访问中间件服务接口层设计
(一)接收请求
当移动ERP客户端通过HTTP协议发送数据请求时,服务接口接收请求,并调用HttpServletRequest对象来获取请求数据。
(二)解析请求
服务接口判断请求的类型,若是查询请求则生成相应SELECT语句,调用数据处理层数据查询类访问ERP数据库查询数据;若是操作请求则生成相应的INSERT、UPDATE、DELETE语句,调用数据处理类操作ERP数据库处理相应业务请求。
(三)数据格式转换
JSON是一种轻量级的数据交换格式,其数据量小可减少占用的带宽,使跨平台数据传输变得相对容易[4] 。数据格式转换模块负责将返回结果数据转换为JSON格式,并返回给移动ERP终端。
将ResultSet结果集转化为JSON格式的关键代码如下:
// 定义JSON数组、对象
JSONArray myArray = new JSONArray();
JSONObject jsonObj = new JSONObject();
// 使用ResultSetMetaData获取列信息
ResultSetMetaData metaData = rs.getMetaData();
int colCount = metaData.getColumnCount();
// 遍历ResultSet中数据
while (rs.next()) {
// 遍历每一列
for (int i = 1; i <= colCount; i++) {
String colName =metaData.getColumnLabel(i);
String value = rs.getString(colName);
jsonObj.put(colName, value); }
myArray.put(jsonObj); }
return myArray.toString();
四、数据访问中间件数据处理层设计
采用ArrayList对象进行封装。
1) 数据查询
DataMid类提供getResultSet方法查询数据,其关键代码如下:
//调用getConnection()方法连接指定数据库
Connection conn= getConnection();
//实例化PreparedStatement对象,使用executeQuery()方法执行select查询并返回结果集
PreparedStatement pstm=conn.prepareStatement(sql);
if (paras != null) {
Object obj[] = paras.toArray();
for (int i = 0; i < obj.length; i++) {
if (obj[i] instanceof String) {
pstm.setString(i+1, (String) obj[i]); }
}
}
ResultSet rs = pstm.executeQuery();
return rs;
2) 数据处理
DataMid类提供handleData方法处理数据,其关键代码如下:
int n = 0;
//调用getConnection()方法连接指定数据库
Connection conn= getConnection();
//实例化PreparedStatement对象,使用executeUpdate ()方法执行insert、update、delete语句
PreparedStatement pstm=conn.prepareStatement(sql);
if (paras != null) {
Object obj[] = paras.toArray();
for (int i = 0; i < obj.length; i++) {
if (obj[i] instanceof String) {
pstm.setString(i+1, (String) obj[i]); }
}
}
int n = pstm.executeUpdate();
return n;
五、结论
实验证明本文设计的基于数据访问中间件的移动ERP协同办公平台框架可以解决远程跨平台移动ERP应用程序与异构或同构数据源之间的通信问题,采用JSON格式交换数据有效解决了移动应用受带宽限制及网络流量低的问题,为实现ERP协同办公数据和信息的有效共享提供了一种行之有效的途径,在一定程度上完善了移动ERP协同办公系统的体系结构。
参考文献:
[1]蒋晓丹,丁霞军,张妞. 数据访问中间件在移动学习平台的研究与设计.福建电脑,2013,29(2):22-23.
[2]胡锦丽.一种基于json的modbus远程通信实现方式[J].机电技术,2014,38(2):36-39.
[3] 陈锐浩. 基于Android平台的移动课件的设计及制作[J].现代计算机(专业版),2013,30(3):55-58.
基金项目:国家科技支撑计划课题(2012BAF12B15)