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.guhuozai8.cn/