Web Service技術(shù)討論資料_第1頁(yè)
Web Service技術(shù)討論資料_第2頁(yè)
Web Service技術(shù)討論資料_第3頁(yè)
Web Service技術(shù)討論資料_第4頁(yè)
Web Service技術(shù)討論資料_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

WebService技術(shù)討論

WebService技術(shù)討論

■WebService簡(jiǎn)介

■WebService協(xié)議簡(jiǎn)介

■WebService實(shí)現(xiàn)

WebService簡(jiǎn)介

■定義

■WebService的應(yīng)用

■WebService技術(shù)優(yōu)點(diǎn)

■WebService體系結(jié)構(gòu)

WebService簡(jiǎn)介

XML:extensibleMarkupLanguage

可擴(kuò)展標(biāo)記語(yǔ)言

是Internet上數(shù)據(jù)表示和數(shù)據(jù)交換的新標(biāo)

準(zhǔn)。

WebService簡(jiǎn)介

XML特點(diǎn):

■良好的可擴(kuò)展性,語(yǔ)言簡(jiǎn)單有效,可自行定義標(biāo)記;

-內(nèi)容與形式分離,主要刻畫(huà)數(shù)據(jù)內(nèi)容,不考慮顯示效果;

-有嚴(yán)格的語(yǔ)法要求,便于分析統(tǒng)一和與數(shù)據(jù)庫(kù)信息轉(zhuǎn)換;

■便于傳輸,為純文本形式,可通過(guò)Http協(xié)議直接傳輸,可跨越防

火墻

WebService就是在XML基礎(chǔ)上發(fā)展起來(lái)的一種

革命性的分布是計(jì)算技術(shù)。

?WebService簡(jiǎn)介

?定義:

WebService是在Internet上進(jìn)行分布式計(jì)

算的基本構(gòu)造塊。開(kāi)放的標(biāo)準(zhǔn)以及對(duì)用戶和應(yīng)用程序

之間的通信和協(xié)作的關(guān)注產(chǎn)生了這樣一種環(huán)境,在這

種環(huán)境下,WebService成為應(yīng)用程序集成的平臺(tái)。

應(yīng)用程序是通過(guò)使用多個(gè)不同來(lái)源的WebService

構(gòu)造而成的,這些Service相互協(xié)同工作,而不管它們

位于何處或者如何實(shí)現(xiàn)。通過(guò)SOAP在Web上提供

的軟件服務(wù),使用WSDL文件進(jìn)行說(shuō)明,并通過(guò)

UDDI進(jìn)行注冊(cè)。

WebService簡(jiǎn)介

■特征:

i.WebService通過(guò)標(biāo)準(zhǔn)的Web協(xié)議向Web用戶

提供有用的功能。多數(shù)情況下使用SOAP協(xié)議。

2.WebService可以非常詳細(xì)地說(shuō)明其接口,這使用

戶能夠創(chuàng)建客戶端應(yīng)用程序與它們進(jìn)行通信。這種說(shuō)

明通常包含在稱為Web服務(wù)說(shuō)明語(yǔ)言(WSDL)文

檔的XML文檔中。

3.WebService已經(jīng)過(guò)注冊(cè),以便潛在用戶能夠輕易

地找到這些服務(wù),這是通過(guò)通用發(fā)現(xiàn)、說(shuō)明和集成

(UDDI)來(lái)完成的。

WebService簡(jiǎn)介

WebService的應(yīng)用

圖1-1webservice網(wǎng)絡(luò)拓?fù)?/p>

-jlWebService簡(jiǎn)介

■WebService的應(yīng)用

Application

應(yīng)用程序

ApplicationApplicationApplication

WebService1WebService2WebService...

圖1—2sop模式

Web服務(wù)的一個(gè)主要思想,就是未來(lái)的應(yīng)用將由一組應(yīng)用了網(wǎng)絡(luò)的

服務(wù)組合而成。(集中式計(jì)算模型)

WebService簡(jiǎn)介

■WebService的應(yīng)用

系統(tǒng)集成:

將相對(duì)分散的子系統(tǒng)組成一個(gè)統(tǒng)一的整體,實(shí)現(xiàn)子系統(tǒng)間的功

能控制和信息交互與共享。

-LWebService簡(jiǎn)介

■WebService的優(yōu)點(diǎn):

WebService與Web應(yīng)用程序比較:

WebserviceWeb應(yīng)用程序

編程模型面向服務(wù)的編程模型集中式編程模型

語(yǔ)言平臺(tái)獨(dú)立完全的跨語(yǔ)言,跨平臺(tái)不能完全的跨語(yǔ)言,跨平臺(tái)

WebService間介

■WebService的優(yōu)點(diǎn):

WebService與com,corba等分布式應(yīng)用程序比較:

Webservice技術(shù)Com技術(shù)Corba技術(shù)JavaRMI

編程模型面向服務(wù)的編程接口編程面向服務(wù)的編接口編程

模型程模型

發(fā)布方式Web方式應(yīng)用程序方式應(yīng)用程序方式應(yīng)用程序

方式

協(xié)議通用W3C的標(biāo)準(zhǔn)協(xié)議DCEHOPJRMP

桂-SOAP,簡(jiǎn)單,

易于實(shí)現(xiàn)

語(yǔ)言平臺(tái)完全的跨語(yǔ)言,Windows平臺(tái)完全的跨語(yǔ)言,跨平臺(tái)

獨(dú)立性跨平臺(tái)對(duì)等的語(yǔ)言環(huán)跨平臺(tái)對(duì)等的語(yǔ)

境言環(huán)境

WebService簡(jiǎn)介

■WebService的優(yōu)點(diǎn):

i.面向服務(wù)的分布式編程模型;

2.完全的語(yǔ)言,平臺(tái)獨(dú)立性;

3.協(xié)議的通用性;

WebService簡(jiǎn)介

SOAPSOAP

NetworkProtocolRequestNetworkProtocol

Resoonse

圖1—3webservice概念性體系結(jié)構(gòu)

-LWebService簡(jiǎn)介

■WebService體系結(jié)構(gòu)

從圖1-4可以看出,SOA結(jié)構(gòu)中共有三

種角色:

①Serviceprovider:發(fā)布自己的服務(wù),

并且對(duì)使用自身服務(wù)的請(qǐng)求進(jìn)行響

應(yīng)

②Servicebroker:注冊(cè)已經(jīng)發(fā)布的

Serviceprovider,對(duì)其進(jìn)行分類,

并提供搜索服務(wù).存儲(chǔ)服務(wù)描述信

息的信息庫(kù)(Repository)o

(3)Servicerequester:利用

Servicebroker查找所需的服務(wù),

然后使用該服務(wù)

-LWebService簡(jiǎn)介

■WebService體系結(jié)構(gòu)

在這些角色之間使用了三種操作:

①publish操作:使Serviceprovider

可以向Servicebroker注冊(cè)自己

的功能及訪問(wèn)接口

②find操作:使Servicerequestern]"

以通過(guò)Servicebroker查找特定

種類的服務(wù)

③bind操作:使Servicerequester能

夠真正使用Serviceprovider

WebService技術(shù)討論

■WebService簡(jiǎn)介

■WebService協(xié)議簡(jiǎn)介

■WebService實(shí)現(xiàn)

WebService協(xié)議簡(jiǎn)介

■WebService協(xié)議

■SOAP

■WSDL

■UDDI

WebService協(xié)議簡(jiǎn)介

■WebService的調(diào)用過(guò)程

圖1-4面向服務(wù)的體系結(jié)構(gòu)(SOA)

4WebService協(xié)議簡(jiǎn)介

■WebService調(diào)用過(guò)程

1.客戶應(yīng)用程序通過(guò)網(wǎng)絡(luò)向應(yīng)用程序服務(wù)器發(fā)出SOAP消息請(qǐng)求。

2.基于該請(qǐng)求中的URI,該服務(wù)器識(shí)別被調(diào)用的WebServices。

3.WebServices讀取SOAP消息請(qǐng)求,并且識(shí)別它需要運(yùn)行的操作。該操作對(duì)應(yīng)于后

端組件的一個(gè)方法,該方法將在以后的步驟中被調(diào)用。對(duì)于所調(diào)用的操作,來(lái)

自SOAP消息的請(qǐng)求參數(shù)在WebServices層進(jìn)行從XML到Java的轉(zhuǎn)換。一個(gè)反

序列化類被用來(lái)達(dá)到該目的。該反序列化類可以是由應(yīng)用程序服務(wù)器為內(nèi)置數(shù)

據(jù)類型而提供的,也可以是用戶為非內(nèi)置數(shù)據(jù)類型所創(chuàng)建的。

4.調(diào)用具有所需Java參數(shù)的合適的后端組件方法。

5.方法調(diào)用完畢之后,后端組件返回響應(yīng),由WebServices使用合適的序列化類將

該響應(yīng)從Java轉(zhuǎn)換為XML,然后將它打包為SOAP消息響應(yīng)。

6.WebServices將SOAP消息響應(yīng)返回到調(diào)用WebServices的客戶應(yīng)用程序。

上述體系結(jié)構(gòu)描述了一個(gè)非?;镜膱?chǎng)景,但是由于各種各樣原因,真正的Web

Services能通過(guò)添加基于功能的中間組件,給系統(tǒng)內(nèi)帶來(lái)更多的復(fù)雜性。它們

可能需要訪問(wèn)SOAP消息,進(jìn)行處理、加密或者修改。SOAP消息處理程序正

是為達(dá)到此目的而設(shè)計(jì),它們提供了截取SOAP消息的機(jī)制。

WebService協(xié)議簡(jiǎn)介

■WebService協(xié)議

WSFLServiceFlow

ServiceDiscovery

Q

Mu

aa

snl

ServicePublicationca<

cgo

ruef

imS

y-ee

ServiceDescriptionnr

-iv

ec

XML-basedMessaging

Network

圖3-2webservice協(xié)議

?WebService協(xié)議簡(jiǎn)介

■SOAP

定義:

Soap(簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議):是WebService的通信協(xié)議。

SOAP規(guī)范介紹如何將程序數(shù)據(jù)表示為XML,以及如何使用。

WebService協(xié)議簡(jiǎn)介

■SOAP定義

進(jìn)行遠(yuǎn)程過(guò)程調(diào)用ApplicationApplication

SOAPWebService

(RPC)

請(qǐng)求/響應(yīng)消息

SOAPSOAP

-請(qǐng)求消息-調(diào)用遠(yuǎn)端Request

對(duì)象的某個(gè)方法NetworkProtocolNetworkProtocol

■響應(yīng)消息-返回該方

法運(yùn)行后的輸出結(jié)果Response

圖2—1webservice消息發(fā)送過(guò)程

WebService協(xié)議簡(jiǎn)介

■SOAP定義

SOAP的承載協(xié)議:

SOAP規(guī)范的最后一個(gè)可選部分定義了包含SOAP消息的HTTP

消息的樣式。因?yàn)閮汉跛挟?dāng)前的OS(以及許多以前的

OS)都支持HTTPoHTTP綁定雖然是可選的,但幾乎所有

SOAP實(shí)現(xiàn)方案都支持HTTP綁定,因?yàn)樗荢OAP的唯

一標(biāo)準(zhǔn)協(xié)議。

WebService協(xié)議簡(jiǎn)介

■SOAP消息結(jié)構(gòu)

?使用“envelope”包裝消息

?消息可以采用自身特定的XML詞匯

?使用namespace來(lái)區(qū)分彼此

WebService協(xié)議簡(jiǎn)介

■SOAP消息結(jié)構(gòu)

<SOAP-ENV:Envelope

xmlns:SOAP-ENV="http://fsoaporg}/unvelopn/"

SOAP-ENV:encodingStyle=Mhttp://{soaporg}/encoding/"〉

<SOAP-ENV:Body>

<m:Messagecontrolxmlns:m="Some-UR工”/>

<m:Transactionxmlns:m=nSome-URI6t/>

〈/SOAP-ENV:Body〉

</SOAP-ENV:Envelope>

WebService協(xié)議簡(jiǎn)介

■SOAP優(yōu)勢(shì)/缺點(diǎn):

優(yōu)勢(shì):

?SOAP最引人注目的特征是它可以在許多不同的軟件和硬件平臺(tái)上實(shí)現(xiàn)。這

意味著SOAP可用于鏈接企業(yè)內(nèi)部和外部的不同系統(tǒng)。

?SOAP更小巧,而且更易于實(shí)現(xiàn)。

缺點(diǎn):

?SOAP并不具備DCE或CORBA的全部功能,雖然功能減少了,但由于

其復(fù)雜程度大大降低了,因此SOAP更易于應(yīng)用。

]WebService協(xié)議簡(jiǎn)介

>SOAP安全性:

?HTTPS(ssl安全套接字協(xié)議層)

?WS—Security規(guī)范

WebService協(xié)議簡(jiǎn)介

作為初始發(fā)送者的作為最終接收者的

底層協(xié)議層一一底層協(xié)一議消息路徑._____

WebService協(xié)議簡(jiǎn)介

■WSDL:

定義:

WSDL(WebServicesDescriptionLanguage)用于說(shuō)明Web服務(wù)。

為服務(wù)提供者提供以XML格式描述WebServices請(qǐng)求的標(biāo)準(zhǔn)格式,

將網(wǎng)絡(luò)服務(wù)描述為能夠進(jìn)行消息交換的通信端點(diǎn)的集合,以表

達(dá)一個(gè)WebServices能做什么,它的位置在哪里,如何調(diào)用它。

WSDL還定義了一組SOAP消息以及如何交換這些消息,以及使

用什么通信協(xié)議與服務(wù)進(jìn)行通信。

WSDL對(duì)于SOAP的作用就象IDL對(duì)于CORBA或COM的作用。

WebService協(xié)議簡(jiǎn)介

■WSDL:

優(yōu)點(diǎn)/缺點(diǎn):

-編程語(yǔ)言無(wú)關(guān),因此適用于說(shuō)明可從不同平臺(tái)、以不同編

程語(yǔ)言訪問(wèn)的WebService接口。

<?xmlversion^'1.0Hencoding=HUTF-8n?>

<wsdl:definitionstargetNamespace=,,Hxmlns:apachesoap=,,/xml-soap"

xmlns:impl=nnxmlns:intf="http://service."

xmlns:soapenc=n/soap/encoding/uxmlns:wsdl=',/wsdl/"

xmlns:wsdlsoap="http:〃/wsdl/soap/"xmlns:xsd-'/200l/XMLSchemaH>

SDLcreatedbyApacheAxisversion:1.2.1BuiItonAug08,2005(11:49:10PDT)—>

kmessa:

rtw卷乩Service協(xié)議簡(jiǎn)介

[:mcssaee>

ssagename=,,helloResponsen>

<wsdl:partngie=,,helld^t^JTj^=nxsd:string,7>

</wsdl:message>e

<wsdl:portTc〒義?I嗯攵^ce”、、二

<wsdl:operatK^aiJ^hell(l^)aram^erOr8er=nnattrefi>口WSDL文件

<wsdl:inputmessage=niiTipl:helloRequest"name=,'helloRequest,7>

<wsdl:outputmessage=',impl:helloResponsenname=nhelloResponse,7>

</wsdl:operation>

</wsdl:portType>

<wsdl:bindingname="HelloServiceSoapBinding“type=nimpl:HelloServiceu>

<wsdlsoap:bindingstyle=',rpcutransport=,,/soap/http*7>

<wsdl:operationname=,,hello',>

<wsdlsoap:operationsoapAction=,u7>

<wsdl:inputname=nhelloRequestn>

<wsdlsoap:bodyencodingStyle="http:〃/soap/encoding/"namespace=,'"use=,'encoded,7>

</wsdl:input>

<wsdl:outputname=,'helloResponseM>

<wsdlsoap:bodyencodingStyle=n/soap/encoding/nnamespace="http:〃”use=',encoded,7>

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

<wsdl:servicename="HelloServiceServiceu>

WebService協(xié)議簡(jiǎn)介

UDDI定義:(UniversalDiscovery,Description,Integration)

通用發(fā)現(xiàn)、說(shuō)明和集成(UDDI)是Web服務(wù)的黃頁(yè)。與傳統(tǒng)黃頁(yè)一

樣,您可以搜索提供所需服務(wù)的公司,閱讀以了解所提供的服務(wù),

然后與服務(wù)提供商聯(lián)系以獲得更多信息。

WebService協(xié)議簡(jiǎn)介

UDDI:

UDDI目錄條目是介紹所提供的業(yè)務(wù)和服務(wù)的XML文件。白頁(yè)

UDDI目錄條目包括三個(gè)部分。服務(wù)提供商的信息

?“白頁(yè)”介紹提供服務(wù)的公司:名稱、地址、聯(lián)

系方式等等;

?“黃頁(yè)”包本舌基于標(biāo)準(zhǔn)分類法(例如North

黃頁(yè)

AmericanIndustryClassificationSystem和商業(yè)利服務(wù)分類(NAICS,UN/SPEC)

StandardIndustrialClassification)的行業(yè)類別;

-“綠頁(yè)”詳細(xì)介紹了訪問(wèn)服務(wù)的接口,以便用戶

能夠編寫(xiě)應(yīng)用程序以使用Web服務(wù)。

綠頁(yè)

服務(wù)的技術(shù)規(guī)范和調(diào)用方式

WebService協(xié)議簡(jiǎn)介

UDDI定義:(UniversalDiscovery,Description,Integration)

UDDI目錄還包含若干種方法,可用于搜索構(gòu)建您的應(yīng)用程序所需的服務(wù)。例

如,您可以搜索特定地理位置的服務(wù)提供商或者搜索特定的業(yè)務(wù)類型。

之后,UDDI目錄將提供信息、聯(lián)系方式、鏈接和技術(shù)數(shù)據(jù),以便您確定

能滿足需要的服務(wù)。

UDDI允許您查找提供所需的Web服務(wù)的公司。如果您已經(jīng)知道要與誰(shuí)進(jìn)行業(yè)

務(wù)合作,但尚不了解它還能提供哪些服務(wù),這時(shí)該如何處理呢?WS-

InsDection規(guī)范(英文)允許您瀏覽特定服務(wù)器上提供的XMLWeb

Service的集合,從中查找所需的服務(wù)。

WebService協(xié)議簡(jiǎn)介

UDDIXE乂:(UniversalDiscovery,Description,Integration)

當(dāng)某應(yīng)用系統(tǒng)需要集成時(shí),它首先調(diào)用集成平臺(tái)的接口,將其能夠提供的

服務(wù)用WSDL描述后,用SOAP消息發(fā)布到UDDI注冊(cè)中心。

-如果注冊(cè)中心是私有的,則集成的是企業(yè)內(nèi)部的應(yīng)用系統(tǒng)。

■如果注冊(cè)到公有注冊(cè)中心,則可以在通過(guò)Internet集成不同企業(yè)之

間的不同系統(tǒng)。

最后將服務(wù)描述文件通過(guò)UDDIAPI發(fā)布到UDDI注冊(cè)服務(wù)器中。

用SOAP消息發(fā)布到UDDI注冊(cè)中心。

WebService協(xié)議簡(jiǎn)介

■UDDI:

UDDI規(guī)范描述了WebServices的概念,同時(shí)也定義了一種編程接口。

通過(guò)UDDI提供的標(biāo)準(zhǔn)接口,企業(yè)可以發(fā)布白己的WebServices

供其它企業(yè)查詢、調(diào)用;也可以查詢特定服務(wù)的描述信息,并

動(dòng)態(tài)綁定到該服務(wù)上。

?WebService協(xié)議簡(jiǎn)介

UDDI:

服務(wù)的定義是通過(guò)一個(gè)稱為類

型模型(tModel)的UDDI文

檔來(lái)完成的。多數(shù)情況下,

tModel包含一個(gè)WSDL文件,

用于說(shuō)明訪問(wèn)XMLWeb

Service的SOAP接口,但是

tModel非常靈活,可以說(shuō)明幾

乎所有類型的服務(wù)。

面向公眾力

WebService協(xié)議簡(jiǎn)介

UDDI消息結(jié)構(gòu):

BusinessEntity:Informationaboutthe

tModel:Descriptionofspecifications

partwhopublishesinformationabouta

ofservicesorvaluesets.Basisfor

service

technicalfingerprint

BusinessEntitycontain

Businessservices

bindingTemplatescontainreferencesto

tModel.Therereferencesdesignatethe

BusinessService:Descriptiveinterfacespecifica

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論