论文部分内容阅读
[摘要] 本文提出一种在开放式环境下,用Web服务技术来实现适用于现代物流企业管理的分布式信息系统,并结合实例说明了其部分功能的实现方法和调用过程。该方案很好地满足了现代物流企业业务分散处理的需求,提高了大型物流企业组建企业信息系统的效率和质量。
[关键词] Web服务 物流信息系统 分布式
一、引言
现代物流管理是不同于运输和物资管理等学科的新兴学科,是关于运输、仓储、装卸、搬运、包装、配送、流通加工、物流信息等环节的综合化、一体化,是一套全新的理论方法体系。随着计算机及网络技术的不断发展使现代物流信息化已经成为我国经济发展的新热点。随着物流信息化的不断深入,现代物流企业使用的软件及拥有的内部系统也越来越繁杂,如在线查询系统、电子办公系统、财务管理等。这些系统之间相互交叉,有着大量重复的信息和数据,但相互之间却不能进行畅通的信息交流与共享。另外,企业之间的合作要求日益加剧,然而不同的企业往往拥有着异构的信息系统,导致企业间信息的交互和系统间的相互操作非常困难,从而出现了企业间电子商务发展的瓶颈。通过使用Web服务,现代物流企业能够以前所未有的方式通过抽象和混合将自身的信息和事务组件化,很好地解决了系统集成问题,规范了现代物流企业内部的信息编码,整合了各种应用系统中的数据。
二、引入Web服务的意义
我们知道,Web服务是用以支持联网协同计算机进行交互的软件系统,具有联网计算机可以处理的格式化接口(通常WSDL)。其他系统按照规定方式以SOAP消息与Web服务进行交互,典型的是使用XML通过HTTP与其他Web相关标准相连。
Web服务正是被设计和用来促进跨平台的程序对程序通信。它能够为现代物流企业提供适应于Internet的应用。新架构下现代物流信息系统可以为异构系统提供服务,提高系统可扩展性,解决传统物流信息系统的功能缺陷,将企业的资源管理扩展至整个Internet。
三、系统设计与实现
1.现代物流信息系统架构
如图1所示,基于Web服务的现代物流信息系统包括以下组成部分:
(1)基本物流信息系统。用户可以直接使用的软件系统。该系统由B/S和C/S架构实现,以B/S为主,运行在大型物流企业的LAN或VPN上,其安全等网络性能由企业网管负责维护。
(2)Web服务提供层。它是整个现代物流信息系统的基础和核心,实现为企业用户提供个性化服务所涉及的所有服务。一旦所有与业务逻辑有关的对象都在数据库和业务逻辑层中正确地创建,Web服务就可以通过各种方式访问这些业务逻辑,从而使得分布式应用程序可以透明地访问业务逻辑,为各个同构或异构的系统进行交互,并为授权的系统提供服务。
(3)UDDI(统一描述发现和集成)注册中心。很多Web服务需要发布到Internet上才能为用户所获取和使用。UDDI注册中心接受Web服务的发布申请,并接受使用者的查询。
(4)用户认证模块。它是Web服务安全保障的基础。通过数字证书加密的HTTPS访问和相关算法机制可以确保基于Web的系统足够安全。
(5)请求响应代理。该模块负责交互通信的双向转换,一边是从HTTP/HTTPS请求中提取Web服务的SOAP消息,将其转换为远程过程调用(RPC)效用并执行它;一边是将RPC调用转换为符合WSDL文件描述的响应SOAP消息,并将这个消息包装成HTTP/HTTPS响应。
2.数据表示层设计实现
数据表示层解决的是数据的表示方式的问题,也就是通常的O-RMap的问题。O-RMap通常的做法是将程序中的类映射到数据库的一个或多个表上。在数据实体的表现上采用了DataSet,DataSet是微软在ADO.NET中新提出的数据对象,同ADO的Recordset不同的是,它能够容纳多个记录集。DataSet类似于一个内存数据库,由多个DataTable组成,而一个DataTable又有多个Column。这样的结构,使得它可以同数据库很好地进行映射。
因此,在具体开发过程中我们进行了如下处理:
(1)核心类库定义一个EntityData类,这个类继承了DataSet,并添加了新的方法,用来作为所有实体类的框架类,定义各个实体类的一般结构,至于每个实体类具体的结构,在运行时刻确定。
(2)实体类的定义通过XML文件来确定,用于确定实体类的结构。
(3)实体对象的结构由一系列的类构造器在运行时刻,根据上述规范制定的XML来自动生成。
在实际的系统中,数据表示层采用这种设计模式具有以下优点:
(1)实体类定义XML文件可以通过工具来自动生成,显著减轻了开发工作量。
(2)在执行查询操作时,不论是返回一个实体,还是多个实体,数据的表现方式都一样,都是EntityData,而不存在单个对象和数据集的表现方式不统一的问题。在修改实体类的定义时,如果修改的部分不涉及到业务逻辑的处理,只需要修改XML文件就可以了,不用修改其他程序和重新编译。
3.Web服务的发布和调用
企业及其成员根据功能需要开发并完成Web服务的部署后,要将其统一注册到企业UDDI注册中心,注册内容包括Web服务的访问入口描述和他的WSDL文档的访问信息。
下面以普通物流服务中查询货物移交任务列表为例来简单说明Web服务的调用(如图2所示),前提是该Web服务已经在物流企业UDDI中心注册。
当某用户访问企业信息系统并递交查询货物移交任务的请求后,企业应用服务器经查询UDDI注册中心获得符合需求的Web服务的访问位置和绑定信息;此时,应用服务器通过一个Web服务的SOAP代理类来访问该Web服务,这个代理类根据查到的WSDL文档生成对应的代理对象;代理类把客户的请求组成SOAP消息并向Web服务发送,该服务接到请求后调用GetList方法,依上述服务器端代码所示依次通过数据库连接connection和数据适配器adapter的Fill方法打开货物移交列表Goods_Transfer并进行查询,最后把结果加载到数据集DataSet中返回;企业服务器获取结果数据集后通过GridBind操作绑定到相应控件上并将最终结果显示给用户。
这里,企业应用服务器扮演了服务请求者的角色,而企业内部Web服务和其他原有实体系统统一在Web服务提供层中扮演了服务提供者的角色,其中,若是原有的实体系统,首先需要将其封装成WebService组件。
四、结论
为了实现现代物流企业的分布式应用系统,采用基于Web服务技术的分布式解决方案,其核心是实现与发布面向业务逻辑的Web服务,使Web服务的实现细节对用户透明化,充分利用开放的网络环境,大大减轻建立和部署分布式企业业务应用系统的工作量,使专业开发人员把精力集中在业务逻辑应用的开发上,从而提高软件开发的效率和质量。在提高系统通信保密控制方面,可考虑通过在数字证书保证下的加密传输,用户的认证和授权以及用户和Web服务端间的数据完整性和机密性进行确保。总之,我们有理由相信Web服务有着美好的发展前景,在跨平台数据共享的设计和开发中将发挥越来越重要的作用。
参考文献:
[1]李会太:现代物流管理的八大核心思想[J].企业管理 , 2007,(03)
[2]陈传波张道杰李涛:基于Web服务的企业应用集成模型研究[J].计算机工程与科学, 2004,(12)
[关键词] Web服务 物流信息系统 分布式
一、引言
现代物流管理是不同于运输和物资管理等学科的新兴学科,是关于运输、仓储、装卸、搬运、包装、配送、流通加工、物流信息等环节的综合化、一体化,是一套全新的理论方法体系。随着计算机及网络技术的不断发展使现代物流信息化已经成为我国经济发展的新热点。随着物流信息化的不断深入,现代物流企业使用的软件及拥有的内部系统也越来越繁杂,如在线查询系统、电子办公系统、财务管理等。这些系统之间相互交叉,有着大量重复的信息和数据,但相互之间却不能进行畅通的信息交流与共享。另外,企业之间的合作要求日益加剧,然而不同的企业往往拥有着异构的信息系统,导致企业间信息的交互和系统间的相互操作非常困难,从而出现了企业间电子商务发展的瓶颈。通过使用Web服务,现代物流企业能够以前所未有的方式通过抽象和混合将自身的信息和事务组件化,很好地解决了系统集成问题,规范了现代物流企业内部的信息编码,整合了各种应用系统中的数据。
二、引入Web服务的意义
我们知道,Web服务是用以支持联网协同计算机进行交互的软件系统,具有联网计算机可以处理的格式化接口(通常WSDL)。其他系统按照规定方式以SOAP消息与Web服务进行交互,典型的是使用XML通过HTTP与其他Web相关标准相连。
Web服务正是被设计和用来促进跨平台的程序对程序通信。它能够为现代物流企业提供适应于Internet的应用。新架构下现代物流信息系统可以为异构系统提供服务,提高系统可扩展性,解决传统物流信息系统的功能缺陷,将企业的资源管理扩展至整个Internet。
三、系统设计与实现
1.现代物流信息系统架构
如图1所示,基于Web服务的现代物流信息系统包括以下组成部分:
(1)基本物流信息系统。用户可以直接使用的软件系统。该系统由B/S和C/S架构实现,以B/S为主,运行在大型物流企业的LAN或VPN上,其安全等网络性能由企业网管负责维护。
(2)Web服务提供层。它是整个现代物流信息系统的基础和核心,实现为企业用户提供个性化服务所涉及的所有服务。一旦所有与业务逻辑有关的对象都在数据库和业务逻辑层中正确地创建,Web服务就可以通过各种方式访问这些业务逻辑,从而使得分布式应用程序可以透明地访问业务逻辑,为各个同构或异构的系统进行交互,并为授权的系统提供服务。
(3)UDDI(统一描述发现和集成)注册中心。很多Web服务需要发布到Internet上才能为用户所获取和使用。UDDI注册中心接受Web服务的发布申请,并接受使用者的查询。
(4)用户认证模块。它是Web服务安全保障的基础。通过数字证书加密的HTTPS访问和相关算法机制可以确保基于Web的系统足够安全。
(5)请求响应代理。该模块负责交互通信的双向转换,一边是从HTTP/HTTPS请求中提取Web服务的SOAP消息,将其转换为远程过程调用(RPC)效用并执行它;一边是将RPC调用转换为符合WSDL文件描述的响应SOAP消息,并将这个消息包装成HTTP/HTTPS响应。
2.数据表示层设计实现
数据表示层解决的是数据的表示方式的问题,也就是通常的O-RMap的问题。O-RMap通常的做法是将程序中的类映射到数据库的一个或多个表上。在数据实体的表现上采用了DataSet,DataSet是微软在ADO.NET中新提出的数据对象,同ADO的Recordset不同的是,它能够容纳多个记录集。DataSet类似于一个内存数据库,由多个DataTable组成,而一个DataTable又有多个Column。这样的结构,使得它可以同数据库很好地进行映射。
因此,在具体开发过程中我们进行了如下处理:
(1)核心类库定义一个EntityData类,这个类继承了DataSet,并添加了新的方法,用来作为所有实体类的框架类,定义各个实体类的一般结构,至于每个实体类具体的结构,在运行时刻确定。
(2)实体类的定义通过XML文件来确定,用于确定实体类的结构。
(3)实体对象的结构由一系列的类构造器在运行时刻,根据上述规范制定的XML来自动生成。
在实际的系统中,数据表示层采用这种设计模式具有以下优点:
(1)实体类定义XML文件可以通过工具来自动生成,显著减轻了开发工作量。
(2)在执行查询操作时,不论是返回一个实体,还是多个实体,数据的表现方式都一样,都是EntityData,而不存在单个对象和数据集的表现方式不统一的问题。在修改实体类的定义时,如果修改的部分不涉及到业务逻辑的处理,只需要修改XML文件就可以了,不用修改其他程序和重新编译。
3.Web服务的发布和调用
企业及其成员根据功能需要开发并完成Web服务的部署后,要将其统一注册到企业UDDI注册中心,注册内容包括Web服务的访问入口描述和他的WSDL文档的访问信息。
下面以普通物流服务中查询货物移交任务列表为例来简单说明Web服务的调用(如图2所示),前提是该Web服务已经在物流企业UDDI中心注册。
当某用户访问企业信息系统并递交查询货物移交任务的请求后,企业应用服务器经查询UDDI注册中心获得符合需求的Web服务的访问位置和绑定信息;此时,应用服务器通过一个Web服务的SOAP代理类来访问该Web服务,这个代理类根据查到的WSDL文档生成对应的代理对象;代理类把客户的请求组成SOAP消息并向Web服务发送,该服务接到请求后调用GetList方法,依上述服务器端代码所示依次通过数据库连接connection和数据适配器adapter的Fill方法打开货物移交列表Goods_Transfer并进行查询,最后把结果加载到数据集DataSet中返回;企业服务器获取结果数据集后通过GridBind操作绑定到相应控件上并将最终结果显示给用户。
这里,企业应用服务器扮演了服务请求者的角色,而企业内部Web服务和其他原有实体系统统一在Web服务提供层中扮演了服务提供者的角色,其中,若是原有的实体系统,首先需要将其封装成WebService组件。
四、结论
为了实现现代物流企业的分布式应用系统,采用基于Web服务技术的分布式解决方案,其核心是实现与发布面向业务逻辑的Web服务,使Web服务的实现细节对用户透明化,充分利用开放的网络环境,大大减轻建立和部署分布式企业业务应用系统的工作量,使专业开发人员把精力集中在业务逻辑应用的开发上,从而提高软件开发的效率和质量。在提高系统通信保密控制方面,可考虑通过在数字证书保证下的加密传输,用户的认证和授权以及用户和Web服务端间的数据完整性和机密性进行确保。总之,我们有理由相信Web服务有着美好的发展前景,在跨平台数据共享的设计和开发中将发挥越来越重要的作用。
参考文献:
[1]李会太:现代物流管理的八大核心思想[J].企业管理 , 2007,(03)
[2]陈传波张道杰李涛:基于Web服务的企业应用集成模型研究[J].计算机工程与科学, 2004,(12)