
1.3.3 SOAP
簡單對象訪問協(xié)議(Simple Object Access Protocol,SOAP)用于Web Service調(diào)用XML消息。SOAP是一個基于XML的,用于分布式計算環(huán)境下數(shù)據(jù)交換的簡單、輕量級協(xié)議。Web服務(wù)使用SOAP作為它的標(biāo)準(zhǔn)通信協(xié)議。因為SOA是平臺無關(guān)和廠商無關(guān)的標(biāo)準(zhǔn),因此盡管SOA并不必須使用SOAP,但在帶有單獨IT基礎(chǔ)架構(gòu)的合作伙伴之間的松耦合互操作中SOAP仍然是支持服務(wù)調(diào)用的最好方法。
1.3.4 UDDI
統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議(Universal Description,Discovery and Integration,UDDI)是Web服務(wù)架構(gòu)下的服務(wù)描述、發(fā)現(xiàn)和集成機制。UDDI規(guī)范定義了一個發(fā)布和發(fā)現(xiàn)有關(guān)Web服務(wù)信息的標(biāo)準(zhǔn)方法,UDDI相當(dāng)于Web服務(wù)在Internet中的注冊中心,所有在其中注冊了的Web服務(wù)都可以被整個Internet中的客戶程序所知道。UDDI指定了一種機制,對于Web服務(wù)提供商來說,該機制可以公布Web服務(wù)的存在,對于Web服務(wù)的使用者來說,該機制可以定位感興趣的Web服務(wù)。
UDDl分為3種類型:(1)私有UDDI服務(wù)注冊中心,它描述了一個組織內(nèi)部可見的服務(wù);(2)專有UDDI服務(wù)注冊中心,它描述了一個或多個組織可見的服務(wù);(3)公有UDDI服務(wù)注冊中心,它描述了公共可見的服務(wù)。在具體應(yīng)用中可以根據(jù)需要選擇不同種類的UDDI服務(wù)注冊中心。
2面向服務(wù)的應(yīng)用集成模型框架

圖所示為一種通過Web服務(wù)實現(xiàn)面向服務(wù)的集成模型框架。
在該框架中,我們看到它包含以下幾個層次。
a.表示層。
該層由企業(yè)門戶和企業(yè)應(yīng)用程序構(gòu)成。企業(yè)門戶為客戶提供服務(wù),向不同的客戶提供不同的訪問方式和認證授權(quán),通過調(diào)用不同的Web服務(wù),客戶得到自己需要的信息;企業(yè)應(yīng)用程序是企業(yè)內(nèi)部使用的應(yīng)用程序系統(tǒng)。
b.業(yè)務(wù)層。
該層是企業(yè)所有業(yè)務(wù)的邏輯集合,它是通過面向服務(wù)的業(yè)務(wù)流程執(zhí)行語言(WS—BPEL語言)進行業(yè)務(wù)流程描述。其中OASIS標(biāo)準(zhǔn)組織已將Business Process Execution Language(BPEL)定義為基于標(biāo)準(zhǔn)的方法,使用該方法可以編排由服務(wù)構(gòu)成的業(yè)務(wù)流程。2007年,WS—BPEL 2.0被批準(zhǔn)為標(biāo)準(zhǔn)語言。作為一種執(zhí)行語言,WS—BPEL定義了如何表示業(yè)務(wù)流程中的活動,以及流控制邏輯、數(shù)據(jù)、消息相關(guān)性和異常處理等。
業(yè)務(wù)層將存在的Web服務(wù)操作連接,按照特定的規(guī)則統(tǒng)一描述到某個業(yè)務(wù)流程中,將粗粒度服務(wù)編排和組合成企業(yè)不同的業(yè)務(wù)流程,實現(xiàn)動態(tài)化。業(yè)務(wù)過程描述文檔中包含了它要使用的服務(wù)的引用(如:服務(wù)名稱、使用服務(wù)的地址和WSDL文檔的存放位置),BPEL文檔中標(biāo)明了每個服務(wù)的使用順序。業(yè)務(wù)層中還有能理解WS—BPEL過程描述文檔的工作流引擎,該引擎負責(zé)按順序或必要的邏輯來使用服務(wù)。
c.服務(wù)層。
該層是業(yè)務(wù)層的一個平臺,定義了總線提供的細粒度的API接口,通過Web Services封裝只是將API用基于XML的WSDL重新描述,但是服務(wù)仍然是細粒度的,而服務(wù)引擎(Service Engine)代表了粗粒度服務(wù)的實現(xiàn),它使用原有系統(tǒng)的API重新組合成具有更粗粒度的服務(wù)。
d.集成層。
該層是通過企業(yè)服務(wù)總線(ESB)來實現(xiàn),企業(yè)服務(wù)總線描述服務(wù)的元數(shù)據(jù)和服務(wù)注冊管理;在服務(wù)請求者和提供者之間傳遞數(shù)據(jù)及對這些數(shù)據(jù)進行轉(zhuǎn)換,并支持同步模式和異步模式等。企業(yè)服務(wù)總線提供基于標(biāo)準(zhǔn)的連接服務(wù),將應(yīng)用中實現(xiàn)的功能或者數(shù)據(jù)資源轉(zhuǎn)化為服務(wù)請求者能以標(biāo)準(zhǔn)的方式來訪問的服務(wù)。企業(yè)服務(wù)總線(ESB)是SOA的基礎(chǔ)架構(gòu),在整個結(jié)構(gòu)體系中,每個服務(wù)都是通過企業(yè)服務(wù)總線來進行互相訪問。
假設(shè)當(dāng)有一個服務(wù)請求者A想尋找一個Web服務(wù),那么它要通過相關(guān)的調(diào)用協(xié)議通過入站端口進入到ESB中,這時就可以找到已經(jīng)存人在UDDI中的對應(yīng)的Web服務(wù)B,然后通過出站端口,將消息提供給服務(wù)請求者A。
ESB可以通過發(fā)現(xiàn)、路由、匹配和選擇,支持服務(wù)之間的動態(tài)交互,解耦服務(wù)請求者和服務(wù)提供者。
e.操作系統(tǒng)層。
該層是由整個集成框架中的最小單元組成,這些基本服務(wù)是應(yīng)用系統(tǒng)集成的基石。這些基本服務(wù)(數(shù)據(jù)或業(yè)務(wù)單元)通過單獨封裝成單個Web服務(wù),用Web Services封裝應(yīng)用系統(tǒng)可屏蔽原有系統(tǒng)的實現(xiàn)細節(jié),消除不同技術(shù)之間集成的困難。Web Services封裝使外部應(yīng)用程序以統(tǒng)一的松散耦合的方式使用系統(tǒng)服務(wù),當(dāng)業(yè)務(wù)的實現(xiàn)邏輯需要更改時,只要Web Services的WSDL接口不變,無論系統(tǒng)的業(yè)務(wù)邏輯、實現(xiàn)技術(shù)甚至是更換全新的應(yīng)用系統(tǒng),客戶程序都不需要作任何改動。我們將各種API接口用WSDL進行再描述,然后通過HTTP與SOAP共同進行傳輸。
SOA可以滿足各種信息集成的要求,動態(tài)地適應(yīng)企業(yè)流程的更新與重組,體現(xiàn)了跨平臺、靈活性和易擴展。只要將企業(yè)的應(yīng)用系統(tǒng)看作是一組組服務(wù),那么就可以通過重新組合編排這些服務(wù)來滿足企業(yè)需要。但是SOA技術(shù)的數(shù)據(jù)標(biāo)準(zhǔn)和Web技術(shù)還處在不斷完善階段,Web服務(wù)語言還有許多不兼容,這都制約了Web服務(wù)集成應(yīng)用的發(fā)展。
CIO頻道人物視窗
CIO頻道方案案例庫
大數(shù)據(jù)建設(shè)方案案例庫
電子政務(wù)建設(shè)方案案例庫
互聯(lián)集成系統(tǒng)構(gòu)建方案案例庫
商務(wù)智能建設(shè)方案案例庫
系統(tǒng)集成類軟件信息研發(fā)企業(yè)名錄