1 引言
随着网络技术的发展,企业信息化建设的不断深入,企业在发展过程中必然会积累大量异构数据源,同时Internet网络的飞速发展又使企业中不同结构的信息交互成为必然,有限的信息共享、缺少数据交换和信息不一致成为整个企业信息系统的严重缺陷,采用全盘推翻重新开发的方案显然不现实,因此,在不重新设计已有的数据库和应用管理信息系统的前提下,搭建一个异构信息系统集成的Web服务框架是解决企业内部信息孤岛的最佳选择。
Web Service是一个新的建立可互操作的分布式应用程序平台,对外进行公布一些能够通过Web进行调用的API服务接口,已成为目前主要解决分布式应用系统集成的主流中间件技术之一。目前,基于Web Service中间件的Web服务开发技术比较成熟的有微软的.NET、Sun ONE以及J2EE等软件架构。另外,在PHP集成开发环境下,开发了一套NuSOAP组件作为Web Service技术的核心组件,开始被应用在异构信息系统集成或分布式应用系统领域,例如Google搜索引擎就是基于Web Services技术为开发者提供了Google Search API。本文从UML建模的角度详细描述了NuSOAP组件内部各个子构件之间的关系,并将其应用在企业PDM与ERP系统集成中,解决了企业信息化整合所遇到的异构系统集成及数据交换难题。
2 NuSOAP组件
NuSOAP组件是由NuSphere和Dietrich Ayala对SOAPx4组件进行重写和改进出来的一套PHP类集合,主要用来实现Web服务。正是因为NuSOAP组件包是通过PHP内置的类库实现,所以NuSOAP组件也是免费的开源项目。NuSOAP组件的编码本身就是PHP源码,不需要PHP扩展支持,主要通过HTTP进行收发SOAP消息,可以无缝地与目前诸多主流的SOAP服务实现交互,并遵循LGPL发布。因此,开发人员在NuSOAP的基础上可以创建和使用基于SOAP 1.1、WSDL 1.1和HTTP 1.0/1.1的Web服务。
前面已提到NuSOAP组件其实就是一套PHP类集合。下面从UML建模的角度来分析一下NuSOAP0.9.5版本组件内部各个子构件之间的关系,也就是面向对象中所提到的类之间的关系。NuSOAP组件主要包括底层基础类(nusoap_base)、SOAP服务端类(nusoap_server)、解析SOAP封装的XML消息类(nusoap_parser)、错误信息显示类(nusoap_fault)、传输实现类(nusoap_transport_http)、定义变量的数据类型类(soapval)以及客户端类(nusoap_client)等。这些类之间的具体关系如图1所示。
图1 NuSOAP组件内各类之同的关系图
NuSOAP0.9.5版本为了向后兼容,特别设计了几个通用类分别为soap_fault类、soap_server类、soap_parser类以及XMLSchema类,从图1中可以知道,NuSOAP组件的核心类为nusoap_base,其他类直接或间接地继承了该类。
3 NuSOAP在PDM与ERP系统集成中的应用
3.1 基于NuSOAP的PDM与ERP系统集成框架
针对该企业异构信息系统PDM与ERP系统的各自特点,通过利用NuSOAP组件技术,有效实现了对PDM与ERP系统的对接,完成产品设计制造系统与生产经营管理系统的集成,最终确保了能够实现企业信息系统的设计、经营、销售等各环节的整体集成,基于NuSOAP的PDM与ERP系统集成框架,如图2所示。PDM与ERP整体集成模式框架包括以下几个部分:
图2 异构系统集成平台
(1)连接PDM和ERP数据库的插件模块。该插件是异构系统集成平台和指定数据库连接的桥梁。
(2)NuSOAP组件配置中心。通过SOAP协议对通讯中的数据进行封装及加密,使传输中的数据更加安全和完整。
(3)连接参数接口。向各个数据库传入数据参数提供查询检索及更新。
(4)XML文档转换模块,该模块主要是将关系模型的数据转换成XML Schema文档,再映射到PSchema文档,生成XML全局数据库;反过来将XML数据格式转换成相应的关系数据模式。
(5)用户使用中心模块,该模块就是客户登录成功所进入的界面,可以屏蔽各数据库、各操作系统环境及工作环境之间的差异。
3.2 基于NuSOAP的Web Service的设计与实现
本文由于篇幅所限,仅以PDM与ERP系统间数据交互的产品物料信息为例进行详细描述WebService服务的整个设计实现过程.Web Service服务接口主要包括获取产品结构信息(GetProlnfo)、通过产品ID获取产品结构信息(GetProlnfoByID)、物料综合信息查询(GetMatlnfo)、通过物料编码获取物料信息(GetMatInfoByID)和更新物料信息(Update-MatlnfoBylD)等接口。
3.2.1 Web Service服务的服务器端设计实现
本文是利用NuSOAP组件作为Web Service服务核心技术,来搭建企业PDM与ERP系统集成的Web服务框架来完成PDM系统和ERP系统之间的数据交换。
Web Service服务的服务端由两部分组成分别为Web服务接口的具体实现函数方法文件(web servicelnterface php)和Web服务的注册发布文件(index.php)。
文件webserviceInterface.php提供了获取产品结构信息、通过产品ID获取产品结构信息、物料综合信息查询、通过物料编码获取物料信息和更新物料信息等接口函数的具体实现方法,文件index.php的作用就是将定义好的Web服务接口进行注册并发布到Web Service服务器上,供客户端进行调用,主要实现代码略。
3.2.2 Web Service服务的客户端设计实现
对于Web Service服务客户端的实现,本文仅以根据物料综合信息查询为例进行详细介绍。该客户端实现文件为soap_client.php,主要实现代码略,通过上述代码实现了物料综合信息的查询,并以XML文档格式进行显示,如图3所示。
图3 查询结果显示
4 结束语
本文从实际出发,研究企业异构系统集成,目的是为了解决企业在新环境下,出现的信息不流通、数据孤立的问题,使企业各系统间能更好地相互通信,最终实现企业异构系统的无缝集成。利用NuSOAP组件作为Web Service的核心技术来搭建企业PDM与ERP系统集成框架,有效解决了企业异构系统间数据交换与资源共享等难题,加快了企业的信息化建设。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/