盡人皆知,異構(gòu)系統(tǒng)之間使用Web Service比較適合,上面1篇介紹了EJB,EJB是業(yè)務(wù)邏輯的散布式,是系統(tǒng)內(nèi)部的調(diào)用。而Web Service比較合適用于系統(tǒng)間的調(diào)用。
比如說(shuō)天氣預(yù)報(bào),股市,地圖等都是需要從互聯(lián)網(wǎng)上的其他系統(tǒng)服務(wù)器獲得的,它向外界暴露出1個(gè)能夠通過(guò)Web進(jìn)行調(diào)用的API,通過(guò)API去獲得數(shù)據(jù)。
實(shí)時(shí)天氣預(yù)報(bào):
Web Service提供了1個(gè)在不同的利用和平臺(tái)之間的交互操作標(biāo)準(zhǔn)。這個(gè)交互操作通過(guò)1系列基于XML的開放標(biāo)準(zhǔn)實(shí)現(xiàn),包括WSDL、SOAP和UDDI等。這些標(biāo)準(zhǔn)提供了1系列通用方法來(lái)定義發(fā)布和使用Web Service。
Web Service的基本層次結(jié)構(gòu)
服務(wù)發(fā)布協(xié)議: UDDI(提供發(fā)布場(chǎng)所) |
服務(wù)描寫協(xié)議: WSDL(描寫場(chǎng)所的服務(wù)功能) |
服務(wù)操作協(xié)議: SOAP(規(guī)定WSDL文檔的格式) |
統(tǒng)1數(shù)據(jù)格式: XML(WSDL文檔的書寫) |
基礎(chǔ)連接: Internet(HTTP數(shù)據(jù)傳輸協(xié)議) |
UDDI、WSDL、SOAP
UUDI的目的是為電子商務(wù)建立標(biāo)準(zhǔn);UDDI是1套機(jī)遇Web的、散布式的、為Web Service提供的、信息注冊(cè)中心的實(shí)現(xiàn)標(biāo)準(zhǔn)規(guī)范,同時(shí)也包括1組使用企業(yè)能將本身提供的Web Service注冊(cè),以使別的企業(yè)能夠發(fā)現(xiàn)的訪問(wèn)協(xié)議的實(shí)現(xiàn)標(biāo)準(zhǔn)。
WSDL是1種XML格式,用于網(wǎng)絡(luò)服務(wù)描寫為1組端點(diǎn),這些端點(diǎn)對(duì)包括面向文檔信息或面向進(jìn)程信息的消息進(jìn)行操作。這類格式首先對(duì)操作和消息進(jìn)行抽象描寫,然后將其綁定到具體的網(wǎng)絡(luò)協(xié)議和消息格式上以定義端點(diǎn)。相干的具體端點(diǎn)即組合成為抽象端點(diǎn)。
WSDL規(guī)范定義了如何使用SOAP消息格式、HTTP GET/POST消息格式和MIME格式來(lái)完成Web Services交互的規(guī)范。
WSDL描寫了:
1)服務(wù)做些甚么?
服務(wù)所提供的操作
2)如何訪問(wèn)服務(wù)?
數(shù)據(jù)格式和訪問(wèn)服務(wù)操作的必要協(xié)議
3)服務(wù)位于何處?
由特定協(xié)議決定的網(wǎng)絡(luò)地址,如URL
SOAP即簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(Simple Object)是1種輕量級(jí)協(xié)議,用于在分散型、散布式環(huán)境中交換結(jié)構(gòu)化信息。SOAP利用XML技術(shù)定義1種可擴(kuò)大的消息處理框架,提供了1種可通過(guò)量種底層協(xié)議進(jìn)行交換的消息結(jié)構(gòu)。這類框架的設(shè)計(jì)思想是要獨(dú)立于任何1種特定的編程模式和其他特定實(shí)現(xiàn)的語(yǔ)義。
SOAP包括以下幾部份:誰(shuí)來(lái)處理這些消息;消息包括的內(nèi)容;和這些內(nèi)容是可選的或是必須的。以下圖:
也就是說(shuō)這幾種技術(shù)的核心都是XML,XML是Web Service平臺(tái)中表示數(shù)據(jù)的基本格式,它既是平臺(tái)無(wú)關(guān)的、優(yōu)勢(shì)廠商無(wú)關(guān)的。解決了數(shù)據(jù)表示的問(wèn)題。
WebService是建立可互操作的散布式利用程序的新平臺(tái)。它是1套標(biāo)準(zhǔn),定義了利用程序如何在Web上實(shí)現(xiàn)互操作性。任何語(yǔ)言,任何平臺(tái)上的客戶都可以瀏覽Web Service提供的WSDL文檔,用以調(diào)用WebService.客戶根據(jù)WSDL描寫文檔,生成1個(gè)SOAP要求消息。生成的SOAP要求會(huì)被嵌入在1個(gè)HTTP POST要求中,發(fā)送到Web服務(wù)器來(lái)。Web服務(wù)器把這些要求轉(zhuǎn)發(fā)給Web Service要求處理器。
Web Service減輕了目前企業(yè)利用中出現(xiàn)的整合危機(jī),相比較其他整合技術(shù),使用Web Service可以以較低的代價(jià)對(duì)各種企業(yè)利用進(jìn)行整合。從技術(shù)上講,Web Service是1種新的機(jī)遇Web和XML的中間件,XML和Web解決了傳統(tǒng)利用之間整合的各種辣手問(wèn)題,例如異質(zhì)性,傳統(tǒng)利用都是平臺(tái)相干的,而Web和XML是平臺(tái)無(wú)關(guān)的技術(shù)。
Web Service實(shí)現(xiàn)了跨平臺(tái),跨語(yǔ)言的遠(yuǎn)程調(diào)用。但其實(shí)不是只要遠(yuǎn)程調(diào)用都要用Web Service的,需要斟酌到效力的問(wèn)題,大環(huán)境問(wèn)題等等。