Web Services可以將應(yīng)用程序轉(zhuǎn)換為網(wǎng)絡(luò)應(yīng)用程序,本文先簡(jiǎn)單介紹了XML和Web Service技術(shù),然后著重討論了基于Web Service的系統(tǒng)集成技術(shù)的特點(diǎn)和優(yōu)勢(shì),以及通過(guò)實(shí)際的企業(yè)獨(dú)立B2B網(wǎng)站平臺(tái)制作實(shí)例介紹了基于Web Service的系統(tǒng)集成技術(shù)在B2B業(yè)務(wù)平臺(tái)實(shí)現(xiàn)中的應(yīng)用。
1系統(tǒng)整體需求
隨著信息技術(shù)與網(wǎng)絡(luò)技術(shù)的發(fā)展和普及,基于Internet和Intranet的網(wǎng)絡(luò)蓬勃發(fā)展,在各種信息化系統(tǒng)已經(jīng)發(fā)揮很大的作用,然而各個(gè)系統(tǒng)之間協(xié)作,完成更為復(fù)雜的業(yè)務(wù)流程,成為一個(gè)急待解決的問(wèn)題。
面向服務(wù)的體系結(jié)構(gòu)(Service-Oriented Architecture,SOA)是一種IT體系結(jié)構(gòu)風(fēng)格,支持將您的業(yè)務(wù)轉(zhuǎn)換為一組相互鏈接的服務(wù)或可重復(fù)業(yè)務(wù)任務(wù),可在需要時(shí)通過(guò)網(wǎng)絡(luò)訪問(wèn)這些服務(wù)和任務(wù)。這個(gè)網(wǎng)絡(luò)可以是本地網(wǎng)絡(luò)、Internet,也可以分散于各地且采用不同的技術(shù),通過(guò)對(duì)來(lái)自世界各個(gè)地方的服務(wù)進(jìn)行組合,可讓最終用戶感覺(jué)似乎這些服務(wù)就安裝在本地桌面上一樣??梢詫?duì)這些服務(wù)進(jìn)行結(jié)合,以完成特定的業(yè)務(wù)任務(wù),從而讓您的業(yè)務(wù)快速適應(yīng)不斷變化的客觀條件和需求。
作為Web服務(wù)在企業(yè)中有效的流程集成的一種機(jī)制在市場(chǎng)中被采用。在為您公司的網(wǎng)絡(luò)創(chuàng)建Web服務(wù)的過(guò)程中,制作獨(dú)立B2B網(wǎng)站平臺(tái)可能發(fā)現(xiàn)需要將這些服務(wù)的范圍擴(kuò)大為超出防火墻的限制。您可以將您的服務(wù)提供給業(yè)務(wù)合作伙伴、客戶,甚至是訂戶,并允許他們成為您業(yè)務(wù)流程中不可分割的部分。在您給他人提供對(duì)您的網(wǎng)絡(luò)中的服務(wù)的訪問(wèn)權(quán)之前,無(wú)疑有很多業(yè)務(wù)問(wèn)題要解決,而我們把重點(diǎn)放在這背后的技術(shù)問(wèn)題上。
B2B(Business To Business)是指一個(gè)市場(chǎng)的領(lǐng)域
Marketing Domains中的一種,是指企業(yè)對(duì)企業(yè)之間的營(yíng)銷關(guān)系。而電子商務(wù)只是現(xiàn)代B2B marketing的一種具體主要的表現(xiàn)形式。就是企業(yè)對(duì)企業(yè)的電子商務(wù),除了在線交易和產(chǎn)品展示,B2B的業(yè)務(wù)更重要的意義在于,將企業(yè)內(nèi)部網(wǎng),通過(guò)B2B網(wǎng)站與客戶緊密結(jié)合起來(lái),通過(guò)網(wǎng)絡(luò)的快速反應(yīng),為客戶提供更好的服務(wù),從而促進(jìn)企業(yè)的業(yè)務(wù)發(fā)展。圖1是一個(gè)企業(yè)上傳相關(guān)業(yè)務(wù)數(shù)據(jù)到接收端系統(tǒng),接收端下圖接收到報(bào)文以后進(jìn)行處理入庫(kù),然后把通過(guò)自己的后臺(tái)Windows服務(wù)調(diào)用企業(yè)的WebService把處理結(jié)果發(fā)送給企業(yè)。簡(jiǎn)單加工入庫(kù)XML報(bào)文如圖2所示。
SOAP是基于XML的簡(jiǎn)易協(xié)議,可使應(yīng)用程序在HTTP之上進(jìn)行信息交換
對(duì)于應(yīng)用程序開(kāi)發(fā)來(lái)說(shuō),使程序之間進(jìn)行因特網(wǎng)通信是很重要的。目前的應(yīng)用程序通過(guò)使用遠(yuǎn)程過(guò)程調(diào)用(RPC)在諸如DCOM與CORBA等對(duì)象之間進(jìn)行通信,但是HTTP不是為此設(shè)計(jì)的。RPC會(huì)產(chǎn)生兼容性以及安全問(wèn)題;防火墻和代理服務(wù)器通常會(huì)阻止此類流量。通過(guò)HTTP在應(yīng)用程序間通信是更好的方法,因?yàn)镠TTP得到了所有的因特網(wǎng)瀏覽器及服務(wù)器的支持。SOAP就是被創(chuàng)造出來(lái)完成這個(gè)任務(wù)的。SOAP提供了一種標(biāo)準(zhǔn)的方法,使得運(yùn)行在不同的操作系統(tǒng)并使用不同的技術(shù)和編程語(yǔ)言的應(yīng)用程序可以互相進(jìn)行通信。
圖1數(shù)據(jù)上傳與接收
圖2 XML報(bào)文
2系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
系統(tǒng)實(shí)現(xiàn)使用了圖3開(kāi)發(fā)框架,各個(gè)組件說(shuō)明如下:
圖3系統(tǒng)框架
(1)DBFactory:DB工廠類,用于數(shù)據(jù)庫(kù)參數(shù)讀取與設(shè)置,為Oracle數(shù)據(jù)庫(kù)數(shù)據(jù)訪問(wèn)層提供參數(shù)配置支持。
(2)OracleDAL:WebService后臺(tái)使用的是ORACLE數(shù)據(jù)庫(kù),這里使用ORACLE DAL來(lái)完成對(duì)數(shù)據(jù)庫(kù)的讀寫(xiě)操作。
(3)BusinessService:XML報(bào)文數(shù)據(jù)上傳以后的完成具體的業(yè)務(wù)處理工作。
(4)IBusinessService:與BusinessService對(duì)應(yīng),通過(guò)這個(gè)接口實(shí)現(xiàn)WebService開(kāi)放接口,供用戶調(diào)用。
(5)Utility:日志記錄,數(shù)據(jù)上傳完成以后,進(jìn)行日志記錄,同時(shí)對(duì)處理錯(cuò)誤的日志進(jìn)行錯(cuò)誤分析并記入錯(cuò)誤日志里面。
(6)BusinessEntity:對(duì)報(bào)文進(jìn)行實(shí)體定義,說(shuō)明報(bào)文內(nèi)容之間的實(shí)體關(guān)系(如圖4所示,每個(gè)報(bào)文有1個(gè)表頭,多個(gè)表體,各個(gè)表體之間是并列關(guān)系。BaseEntities實(shí)現(xiàn)了對(duì)報(bào)文內(nèi)容的限定,同時(shí)使用了資源文件,對(duì)各種異常格式進(jìn)行了說(shuō)明)。
圖4報(bào)文內(nèi)容之間的實(shí)體關(guān)系
圖5部署測(cè)試圖
部署完成以后進(jìn)行部署工作,部署完成以后在指定的頁(yè)面打開(kāi)asmx頁(yè)面,可以看到WebService提供的接口,用戶可以根據(jù)提供的接口,進(jìn)行調(diào)用。
3結(jié)束語(yǔ)
使用Web Service技術(shù)進(jìn)行系統(tǒng)集成,提高了系統(tǒng)的可擴(kuò)展性和兼容性,增強(qiáng)了系統(tǒng)的適應(yīng)能力,提高了系統(tǒng)的服務(wù)質(zhì)量。因?yàn)閃eb Service的標(biāo)準(zhǔn)還在發(fā)展過(guò)程中,逐漸會(huì)有新的特性加入進(jìn)來(lái),特別是在安全性方面。此外,基于Web Service的應(yīng)用在開(kāi)發(fā)中還有許多地方需要改進(jìn),如實(shí)現(xiàn)API化,組件化,類似轉(zhuǎn)發(fā)器的集成方式,等等。作為新興的Web應(yīng)用的實(shí)現(xiàn)方式,Web Service會(huì)有個(gè)很好的發(fā)展前景,在B2B設(shè)計(jì)和開(kāi)發(fā)中也將發(fā)揮更多更重要的作用。
文章來(lái)源:博客園
<數(shù)商云(www.zhimaihui.cn)是國(guó)內(nèi)知名企業(yè)級(jí)電商平臺(tái)提供商,為企業(yè)級(jí)商家提供最佳的系統(tǒng)開(kāi)發(fā)(多種模式電商平臺(tái)搭建:B2B/B2B2C/B2C/O2O/新零售等)、供應(yīng)鏈系統(tǒng)搭建及電商行業(yè)解決方案服務(wù)>
評(píng)論