丁新紅 翟志強(qiáng)
(江蘇省常州市南車戚墅堰機(jī)車有限公司,江蘇常州 213011)
基于Web Service技術(shù)的企業(yè)信息系統(tǒng)數(shù)據(jù)交互
丁新紅 翟志強(qiáng)
(江蘇省常州市南車戚墅堰機(jī)車有限公司,江蘇常州 213011)
分析了南車戚墅堰機(jī)車有限公司目前使用的一種數(shù)據(jù)交互方式局限性,進(jìn)一步介紹了Web Service技術(shù)的特點(diǎn),提出了企業(yè)信息系統(tǒng)數(shù)據(jù)交互框架,結(jié)合企業(yè)ERP系統(tǒng)與機(jī)車修理系統(tǒng)數(shù)據(jù)交互實(shí)例,介紹信息系統(tǒng)數(shù)據(jù)交互實(shí)現(xiàn)方法。
Web Service技術(shù) 企業(yè)信息系統(tǒng) 數(shù)據(jù)交互
隨著信息技術(shù)的迅猛發(fā)展,南車戚墅堰機(jī)車有限公司(以下簡(jiǎn)稱“戚墅堰公司”)的信息化系統(tǒng)也越來(lái)越多,但是眾多的信息系統(tǒng)基本上是基于獨(dú)立的解決方案設(shè)計(jì)的,分布在不同的服務(wù)器上,應(yīng)用程序開(kāi)發(fā)語(yǔ)言和數(shù)據(jù)庫(kù)都不盡相同,信息系統(tǒng)之間不可避免的存在異構(gòu),眾多的關(guān)鍵信息封閉在獨(dú)立的信息系統(tǒng)中,形成了信息孤島?;ヂ?lián)網(wǎng)的發(fā)展對(duì)戚墅堰公司的信息化建設(shè)提出了新的要求,如何及解決信息系統(tǒng)間數(shù)據(jù)交互成了信息建設(shè)的重要課題。近年來(lái),戚墅堰公司的信息系統(tǒng)數(shù)據(jù)交互主要通過(guò)中間接口庫(kù)的形式實(shí)現(xiàn),在數(shù)據(jù)庫(kù)中建立用戶賬號(hào)并對(duì)其授權(quán),各自系統(tǒng)操作員通過(guò)界面上的功能按鈕觸發(fā)事件實(shí)現(xiàn)系統(tǒng)信息的同步,系統(tǒng)之間不直接交互安全性提高,但是對(duì)用戶授權(quán)又存在一定的安全隱患,信息共享實(shí)時(shí)性較差。而且隨著接入系統(tǒng)數(shù)量的增加,數(shù)據(jù)庫(kù)連接數(shù)可能被耗盡。
2.1 Web Service定義
Web Service是一套實(shí)現(xiàn)網(wǎng)絡(luò)服務(wù)發(fā)布與調(diào)用的規(guī)范。這套規(guī)范使用HTTP作為通信協(xié)議、使用SOAP協(xié)議實(shí)現(xiàn)遠(yuǎn)程服務(wù)的調(diào)用、使用WSDL文件描述服務(wù)、使用UUDI機(jī)制實(shí)現(xiàn)網(wǎng)絡(luò)上各種服務(wù)的集成和發(fā)布。
2.2 Web Service特點(diǎn)
Web Service是為軟件提供服務(wù)的,其直接用戶是程序開(kāi)發(fā)人員,或者說(shuō),Web Service的內(nèi)部技術(shù)對(duì)最終用戶是透明的。其特點(diǎn)表現(xiàn)為:
(1)優(yōu)點(diǎn):一、遠(yuǎn)程服務(wù):服務(wù)請(qǐng)求時(shí),客戶端向服務(wù)器端發(fā)送的是待處理的數(shù)據(jù),服務(wù)應(yīng)答時(shí),服務(wù)器端向客戶端回送的是處理后的數(shù)據(jù)。整個(gè)服務(wù)過(guò)程中相對(duì)客戶端而言,屬于遠(yuǎn)程服務(wù)。二、實(shí)時(shí)性:信息交互隨時(shí)請(qǐng)求,隨時(shí)響應(yīng)不需要人工觸發(fā),做到實(shí)時(shí)響應(yīng)。三、跨平臺(tái),與語(yǔ)言無(wú)關(guān):使用Windows操作系統(tǒng)的客戶端即可以請(qǐng)求一臺(tái)Linux服務(wù)器上的Web Service,也可以請(qǐng)求一臺(tái)Solaris服務(wù)器上的Web Service。而且服務(wù)的消費(fèi)者和服務(wù)的提供者都可以用不同的語(yǔ)言進(jìn)行實(shí)現(xiàn)。四、跨防火墻通信:使用HTTP作為通信協(xié)議, Web Service的數(shù)據(jù)很容易通過(guò)防火墻,不需要防火墻為其單獨(dú)開(kāi)通端口。五、易調(diào)試:使用了SOAP,數(shù)據(jù)是以xml文本的方式而非二進(jìn)制傳輸,調(diào)試非常方便。
(2)缺點(diǎn):數(shù)據(jù)量大時(shí)效率低:用文本格式編碼數(shù)據(jù),會(huì)造成SOAP數(shù)據(jù)包體積龐大。特別是當(dāng)待處理的數(shù)據(jù)本身就龐大時(shí),Web Service的效率會(huì)嚴(yán)重下降。但是,在企業(yè)內(nèi)部網(wǎng)絡(luò)中,這個(gè)缺點(diǎn)可以忽略不計(jì)。
目前開(kāi)源的Web Services框架常見(jiàn)的有Axis和CXF。系統(tǒng)選擇了Axis 2作為Web Services實(shí)現(xiàn)。Axis2具有強(qiáng)大的靈活性并可擴(kuò)展到新的體系結(jié)構(gòu)。Axis2是一套嶄新的WebService引擎,該版本是對(duì)Axis1.x重新設(shè)計(jì)的產(chǎn)物。Axis2不僅支持SOAP1.1和SOAP1. 2,還集成了非常流行的REST WebService,同時(shí)還支持Spring、JSON等技術(shù)。架構(gòu)圖1如下:
以ERP系統(tǒng)與機(jī)車修理系統(tǒng)數(shù)據(jù)交互為實(shí)例介紹戚墅堰公司信息系統(tǒng)數(shù)據(jù)交互的實(shí)現(xiàn)。(機(jī)車修理系統(tǒng)獲取ERP系統(tǒng)細(xì)錄單信息為例)
(1)瀏覽器訪問(wèn)機(jī)車修理系統(tǒng);如圖2用戶進(jìn)入機(jī)車修理系統(tǒng)中,實(shí)例中訪問(wèn)的是細(xì)錄單模板管理—細(xì)錄單查詢。
圖1 WebService集成接口系統(tǒng)架構(gòu)
圖2 瀏覽器訪問(wèn)機(jī)車修理系統(tǒng)
圖3 接口平臺(tái)中定義服務(wù)
(2)修理系統(tǒng)請(qǐng)求Axis;輸入車型、車號(hào)、姓名條件,點(diǎn)擊“查詢”按鈕,此時(shí)修理系統(tǒng)發(fā)生請(qǐng)求,請(qǐng)求服務(wù)名為:AnalyzeRateByYear如圖3。
圖4 修理系統(tǒng)通過(guò)接口平臺(tái)返回給瀏覽器數(shù)據(jù)
(3)Axis訪問(wèn)ERP系統(tǒng);
public List<AnalyzeAmtByTrainResultVo> getResult (String trainNo) throws Exception {
新風(fēng)進(jìn)口干球溫度33.21℃,經(jīng)過(guò)熱管后干球溫度29.96℃,新風(fēng)量8 060m3/h,回風(fēng)干球溫度25.76℃,排風(fēng)量6 457m3/h,熱管熱回收效率計(jì)算如下:
AmtDao dao = new AmtDao();
//AmtDao中的analyzeAmtByTrainResult方法是通過(guò)車型車號(hào),查詢結(jié)果
List<AnalyzeAmtByTrainResultVo> resultVos = dao. analyzeAmtByTrainResult(trainNo)
//返回的List對(duì)象會(huì)通過(guò)Axix轉(zhuǎn)換為xml發(fā)送到客戶端
return resultVos;
}
(4)ERP系統(tǒng)響應(yīng)Axis;ERP 系統(tǒng)響應(yīng)Axis,執(zhí)行執(zhí)行SQL命令,將處理的數(shù)據(jù)返回。
(5)Axis將XML數(shù)據(jù)返回給修理系統(tǒng)(以第二條數(shù)據(jù)XML為例);
<ns:getVosResponse>
<n s:r e t u r n x s i:t y p e="a x 2 1 8 1:GetTrmRepairListTempResultVo">
<ax2181:confirmFlag>N</ax2181:confirmFlag>
<ax2181:itemCode>06000001</ax2181:itemCode>
<ax2181:itemModel xsi:nil="true"/>
<ax2181:itemName>鐵路機(jī)車粗制整體輪</ax2181:itemName>
<ax2181:itemNorm>TJZL-010-98-1062</ax2181:itemNorm>
<ax2181:newQty>12</ax2181:newQty>
<ax2181:quantity>12</ax2181:quantity>
<ax2181:specialAttribute1 xsi:nil="true"/>
<ax2181:specialAttribute2 xsi:nil="true"/>
<ax2181:wcName xsi:nil="true"/>
</ns:return>
</ns:getVosResponse>
(6)修理系統(tǒng)返回給瀏覽器;如圖4。
戚墅堰公司通過(guò)建立基于Web Service技術(shù)的數(shù)據(jù)交互平臺(tái),實(shí)現(xiàn)了供應(yīng)商管理系統(tǒng)與精益物流系統(tǒng),ERP系統(tǒng)與PDM系統(tǒng),客戶關(guān)系管理系統(tǒng)與ERP系統(tǒng)等多個(gè)系統(tǒng)之間的數(shù)據(jù)交互,有效的解決了異構(gòu)系統(tǒng)之間數(shù)據(jù)交互的問(wèn)題,打破了信息孤島格局,提高了信息的實(shí)時(shí)共享效率。
數(shù)據(jù)在企業(yè)的經(jīng)營(yíng)管理、生產(chǎn)制造等各方面的影響力越來(lái)越大,數(shù)據(jù)驅(qū)動(dòng)將成為企業(yè)發(fā)展的動(dòng)力。戚墅堰公司通過(guò)基于WebService技術(shù)的接口平臺(tái)實(shí)現(xiàn)企業(yè)信息系統(tǒng)數(shù)據(jù)實(shí)時(shí)交互處于初級(jí)階段,在大數(shù)據(jù)引爆的今天,如何在通過(guò)接口平臺(tái)實(shí)現(xiàn)數(shù)據(jù)快速實(shí)時(shí)交互的同時(shí)確保數(shù)據(jù)的安全仍需投入更多的人力、物力和財(cái)力進(jìn)行深入研究。
[1]Eben Hewitt著,孫燕,陳伊文,王俊華,譯.JAVA SQL Cookbook 中文版[M].清華大學(xué)出版社,2011.
[2]徐光俠,楊丹.基于WebService技術(shù)的異構(gòu)系統(tǒng)的無(wú)縫集成[J].計(jì)算機(jī)工程與設(shè)計(jì),2007(3):6.
丁新紅(1979—),女,本科,2004年畢業(yè)于北京理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè),研究方向:企業(yè)信息化建設(shè),工程師,MBA在讀。