1 引言
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,企業(yè)信息化建設(shè)的不斷深入,企業(yè)在發(fā)展過程中必然會(huì)積累大量異構(gòu)數(shù)據(jù)源,同時(shí)Internet網(wǎng)絡(luò)的飛速發(fā)展又使企業(yè)中不同結(jié)構(gòu)的信息交互成為必然,有限的信息共享、缺少數(shù)據(jù)交換和信息不一致成為整個(gè)企業(yè)信息系統(tǒng)的嚴(yán)重缺陷,采用全盤推翻重新開發(fā)的方案顯然不現(xiàn)實(shí),因此,在不重新設(shè)計(jì)已有的數(shù)據(jù)庫(kù)和應(yīng)用管理信息系統(tǒng)的前提下,搭建一個(gè)異構(gòu)信息系統(tǒng)集成的Web服務(wù)框架是解決企業(yè)內(nèi)部信息孤島的最佳選擇。
Web Service是一個(gè)新的建立可互操作的分布式應(yīng)用程序平臺(tái),對(duì)外進(jìn)行公布一些能夠通過Web進(jìn)行調(diào)用的API服務(wù)接口,已成為目前主要解決分布式應(yīng)用系統(tǒng)集成的主流中間件技術(shù)之一。目前,基于Web Service中間件的Web服務(wù)開發(fā)技術(shù)比較成熟的有微軟的.NET、Sun ONE以及J2EE等軟件架構(gòu)。另外,在PHP集成開發(fā)環(huán)境下,開發(fā)了一套NuSOAP組件作為Web Service技術(shù)的核心組件,開始被應(yīng)用在異構(gòu)信息系統(tǒng)集成或分布式應(yīng)用系統(tǒng)領(lǐng)域,例如Google搜索引擎就是基于Web Services技術(shù)為開發(fā)者提供了Google Search API。本文從UML建模的角度詳細(xì)描述了NuSOAP組件內(nèi)部各個(gè)子構(gòu)件之間的關(guān)系,并將其應(yīng)用在企業(yè)PDM與ERP系統(tǒng)集成中,解決了企業(yè)信息化整合所遇到的異構(gòu)系統(tǒng)集成及數(shù)據(jù)交換難題。
2 NuSOAP組件
NuSOAP組件是由NuSphere和Dietrich Ayala對(duì)SOAPx4組件進(jìn)行重寫和改進(jìn)出來的一套PHP類集合,主要用來實(shí)現(xiàn)Web服務(wù)。正是因?yàn)镹uSOAP組件包是通過PHP內(nèi)置的類庫(kù)實(shí)現(xiàn),所以NuSOAP組件也是免費(fèi)的開源項(xiàng)目。NuSOAP組件的編碼本身就是PHP源碼,不需要PHP擴(kuò)展支持,主要通過HTTP進(jìn)行收發(fā)SOAP消息,可以無縫地與目前諸多主流的SOAP服務(wù)實(shí)現(xiàn)交互,并遵循LGPL發(fā)布。因此,開發(fā)人員在NuSOAP的基礎(chǔ)上可以創(chuàng)建和使用基于SOAP 1.1、WSDL 1.1和HTTP 1.0/1.1的Web服務(wù)。
前面已提到NuSOAP組件其實(shí)就是一套PHP類集合。下面從UML建模的角度來分析一下NuSOAP0.9.5版本組件內(nèi)部各個(gè)子構(gòu)件之間的關(guān)系,也就是面向?qū)ο笾兴岬降念愔g的關(guān)系。NuSOAP組件主要包括底層基礎(chǔ)類(nusoap_base)、SOAP服務(wù)端類(nusoap_server)、解析SOAP封裝的XML消息類(nusoap_parser)、錯(cuò)誤信息顯示類(nusoap_fault)、傳輸實(shí)現(xiàn)類(nusoap_transport_http)、定義變量的數(shù)據(jù)類型類(soapval)以及客戶端類(nusoap_client)等。這些類之間的具體關(guān)系如圖1所示。
圖1 NuSOAP組件內(nèi)各類之同的關(guān)系圖
NuSOAP0.9.5版本為了向后兼容,特別設(shè)計(jì)了幾個(gè)通用類分別為soap_fault類、soap_server類、soap_parser類以及XMLSchema類,從圖1中可以知道,NuSOAP組件的核心類為nusoap_base,其他類直接或間接地繼承了該類。
3 NuSOAP在PDM與ERP系統(tǒng)集成中的應(yīng)用
3.1 基于NuSOAP的PDM與ERP系統(tǒng)集成框架
針對(duì)該企業(yè)異構(gòu)信息系統(tǒng)PDM與ERP系統(tǒng)的各自特點(diǎn),通過利用NuSOAP組件技術(shù),有效實(shí)現(xiàn)了對(duì)PDM與ERP系統(tǒng)的對(duì)接,完成產(chǎn)品設(shè)計(jì)制造系統(tǒng)與生產(chǎn)經(jīng)營(yíng)管理系統(tǒng)的集成,最終確保了能夠?qū)崿F(xiàn)企業(yè)信息系統(tǒng)的設(shè)計(jì)、經(jīng)營(yíng)、銷售等各環(huán)節(jié)的整體集成,基于NuSOAP的PDM與ERP系統(tǒng)集成框架,如圖2所示。PDM與ERP整體集成模式框架包括以下幾個(gè)部分:
圖2 異構(gòu)系統(tǒng)集成平臺(tái)
(1)連接PDM和ERP數(shù)據(jù)庫(kù)的插件模塊。該插件是異構(gòu)系統(tǒng)集成平臺(tái)和指定數(shù)據(jù)庫(kù)連接的橋梁。
(2)NuSOAP組件配置中心。通過SOAP協(xié)議對(duì)通訊中的數(shù)據(jù)進(jìn)行封裝及加密,使傳輸中的數(shù)據(jù)更加安全和完整。
(3)連接參數(shù)接口。向各個(gè)數(shù)據(jù)庫(kù)傳入數(shù)據(jù)參數(shù)提供查詢檢索及更新。
(4)XML文檔轉(zhuǎn)換模塊,該模塊主要是將關(guān)系模型的數(shù)據(jù)轉(zhuǎn)換成XML Schema文檔,再映射到PSchema文檔,生成XML全局?jǐn)?shù)據(jù)庫(kù);反過來將XML數(shù)據(jù)格式轉(zhuǎn)換成相應(yīng)的關(guān)系數(shù)據(jù)模式。
(5)用戶使用中心模塊,該模塊就是客戶登錄成功所進(jìn)入的界面,可以屏蔽各數(shù)據(jù)庫(kù)、各操作系統(tǒng)環(huán)境及工作環(huán)境之間的差異。
3.2 基于NuSOAP的Web Service的設(shè)計(jì)與實(shí)現(xiàn)
本文由于篇幅所限,僅以PDM與ERP系統(tǒng)間數(shù)據(jù)交互的產(chǎn)品物料信息為例進(jìn)行詳細(xì)描述WebService服務(wù)的整個(gè)設(shè)計(jì)實(shí)現(xiàn)過程.Web Service服務(wù)接口主要包括獲取產(chǎn)品結(jié)構(gòu)信息(GetProlnfo)、通過產(chǎn)品ID獲取產(chǎn)品結(jié)構(gòu)信息(GetProlnfoByID)、物料綜合信息查詢(GetMatlnfo)、通過物料編碼獲取物料信息(GetMatInfoByID)和更新物料信息(Update-MatlnfoBylD)等接口。
3.2.1 Web Service服務(wù)的服務(wù)器端設(shè)計(jì)實(shí)現(xiàn)
本文是利用NuSOAP組件作為Web Service服務(wù)核心技術(shù),來搭建企業(yè)PDM與ERP系統(tǒng)集成的Web服務(wù)框架來完成PDM系統(tǒng)和ERP系統(tǒng)之間的數(shù)據(jù)交換。
Web Service服務(wù)的服務(wù)端由兩部分組成分別為Web服務(wù)接口的具體實(shí)現(xiàn)函數(shù)方法文件(web servicelnterface php)和Web服務(wù)的注冊(cè)發(fā)布文件(index.php)。
文件webserviceInterface.php提供了獲取產(chǎn)品結(jié)構(gòu)信息、通過產(chǎn)品ID獲取產(chǎn)品結(jié)構(gòu)信息、物料綜合信息查詢、通過物料編碼獲取物料信息和更新物料信息等接口函數(shù)的具體實(shí)現(xiàn)方法,文件index.php的作用就是將定義好的Web服務(wù)接口進(jìn)行注冊(cè)并發(fā)布到Web Service服務(wù)器上,供客戶端進(jìn)行調(diào)用,主要實(shí)現(xiàn)代碼略。
3.2.2 Web Service服務(wù)的客戶端設(shè)計(jì)實(shí)現(xiàn)
對(duì)于Web Service服務(wù)客戶端的實(shí)現(xiàn),本文僅以根據(jù)物料綜合信息查詢?yōu)槔M(jìn)行詳細(xì)介紹。該客戶端實(shí)現(xiàn)文件為soap_client.php,主要實(shí)現(xiàn)代碼略,通過上述代碼實(shí)現(xiàn)了物料綜合信息的查詢,并以XML文檔格式進(jìn)行顯示,如圖3所示。
圖3 查詢結(jié)果顯示
4 結(jié)束語(yǔ)
本文從實(shí)際出發(fā),研究企業(yè)異構(gòu)系統(tǒng)集成,目的是為了解決企業(yè)在新環(huán)境下,出現(xiàn)的信息不流通、數(shù)據(jù)孤立的問題,使企業(yè)各系統(tǒng)間能更好地相互通信,最終實(shí)現(xiàn)企業(yè)異構(gòu)系統(tǒng)的無縫集成。利用NuSOAP組件作為Web Service的核心技術(shù)來搭建企業(yè)PDM與ERP系統(tǒng)集成框架,有效解決了企業(yè)異構(gòu)系統(tǒng)間數(shù)據(jù)交換與資源共享等難題,加快了企業(yè)的信息化建設(shè)。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于NuSoap組件的PDM與ERP系統(tǒng)集成應(yīng)用