日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
JavaEE的Web服務(wù)原理和體系結(jié)構(gòu)

Web服務(wù)(Web Services)是目前程序設(shè)計(jì)領(lǐng)域中的一項(xiàng)新技術(shù),是一個(gè)嶄新的分布式計(jì)算模式,在不同系統(tǒng)平臺(tái)之間具有互操作性,通過(guò)因特網(wǎng),實(shí)現(xiàn)不同應(yīng)用程序之間的遠(yuǎn)程過(guò)程調(diào)用。Web服務(wù)使用基于XML 的消息處理作為基本的數(shù)據(jù)通訊方式,消除使用不同組件模型、操作系統(tǒng)和編程語(yǔ)言的系統(tǒng)之間存在的差異,使異類系統(tǒng)能夠作為單個(gè)計(jì)算網(wǎng)絡(luò)協(xié)同運(yùn)行。開(kāi)發(fā)人員可以用象過(guò)去在創(chuàng)建分布式應(yīng)用程序時(shí)使用組件一樣的方式創(chuàng)建將來(lái)自各種源的Web服務(wù)組合在一起的應(yīng)用程序。 Web服務(wù)是建立在一些通用協(xié)議的基礎(chǔ)上,如HTTP,SOAP,XML,WSDL,UDDI等。這些協(xié)議在涉及到操作系統(tǒng)、對(duì)象模型和編程語(yǔ)言的選擇時(shí),沒(méi)有任何傾向,因此將會(huì)有很強(qiáng)的生命力。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、網(wǎng)頁(yè)空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、開(kāi)陽(yáng)網(wǎng)站維護(hù)、網(wǎng)站推廣。

J2EE的Web服務(wù)工作原理

1.J2EE的Web服務(wù)模型

大家知道,普通Web服務(wù)的系統(tǒng)架構(gòu)是面向服務(wù)的,服務(wù)的發(fā)布的發(fā)現(xiàn)是Web系統(tǒng)架構(gòu)中首先要解決的主要問(wèn)題。在java編程環(huán)境下,Web 服務(wù)通過(guò)JAXR(java API for XML Registries)實(shí)現(xiàn)自身的發(fā)布??蛻羰褂猛瑯拥腏AXR API尋找服務(wù),使用JAX-RPC綁定和調(diào)用Web服務(wù)。如下圖1所示:

 
圖 1

2.J2EE在消息發(fā)送層(SOAP)和傳輸協(xié)議層(HTTP)的工作過(guò)程

用下圖2可以說(shuō)明,在具有Web服務(wù)功能的應(yīng)用程序服務(wù)器上運(yùn)行著一個(gè)標(biāo)準(zhǔn)的J2EE應(yīng)用程序。在圖中的左上角是Java,C++或C#客戶機(jī),現(xiàn)在,這個(gè)應(yīng)用程序發(fā)出SOAP請(qǐng)求。該SOAP請(qǐng)求把Web服務(wù)操作封裝在一個(gè)XML有效載荷中,然后,通過(guò)HTTP協(xié)議傳送。在Web服務(wù)端,傳輸層繼續(xù)把該調(diào)用輸送劍SOAP服務(wù)端,然后,服務(wù)器就調(diào)用相應(yīng)的已經(jīng)展現(xiàn)為Web服務(wù)的J2EE功能。Web服務(wù)產(chǎn)生的任何響應(yīng)都會(huì)被再編碼成為一個(gè)SOAP響應(yīng),并通過(guò)HTTP協(xié)議傳輸回客戶機(jī)去。

 
圖 2

從圖2中可以清楚地看出,利用消息發(fā)送層(Messaging layer) (SOAP)和傳輸協(xié)議層(Transoort Network laver) (HTTP)就可以完成應(yīng)用程序內(nèi)部的通信。應(yīng)用程序內(nèi)部通信的問(wèn)題通過(guò)一些銷售商的專有技術(shù)(例如CORBA和DCOM等)以前就已經(jīng)解決了。這些技術(shù)操作起來(lái)很麻煩,并且,也不能通過(guò)防火墻。因此,現(xiàn)在我們用SOAP,通過(guò)簡(jiǎn)單的XML這個(gè)開(kāi)放式的標(biāo)準(zhǔn),就可以有效地實(shí)現(xiàn)應(yīng)用程序內(nèi)部的通信,不會(huì)使自己鎖定在某個(gè)銷售商的專有機(jī)制上。

3.J2EE在消息發(fā)送層(SOAP)、傳輸協(xié)議層(HTTP)和Web服務(wù)描述(WSDL)的工作過(guò)程

圖3顯示的是對(duì)前面所介紹的Web服務(wù)模式的簡(jiǎn)單擴(kuò)展;在圖3中只需要在兩個(gè)應(yīng)用程序之間傳遞的SOAP消息之間存在著緊密的耦合?,F(xiàn)在,有了一個(gè)附加的Web服務(wù)描述層,服務(wù)提供者就可以用建立和發(fā)行WSDL文檔的方法來(lái)描述他們的Web服務(wù)。WSDL文檔中不僅包含有該Web服務(wù)的抽象定義,而且也包含有實(shí)現(xiàn)(綁定)該Web服務(wù)的細(xì)節(jié)。這意味著服務(wù)的消費(fèi)者(即例子中的客戶應(yīng)用程序)需要得到WSDL文檔,它不僅可以從這個(gè)文檔中得到包括Web服務(wù)的消息和數(shù)據(jù)類型的不同操作,而且還能夠重新得到該Web服務(wù)的終端(例如URL),SOAP消息可以在終端上交換。如果J2EE服務(wù)是通過(guò)SMTP消息展示功能的,那么WSDL文檔也會(huì)描述這一點(diǎn)。

 
圖 3

4.J2EE使用UDDI、WSDL和SOAP三種技術(shù)的工作過(guò)程

在圖4中假設(shè)服務(wù)提供者已經(jīng)決定把某項(xiàng)商業(yè)功能展示成Web服務(wù)。該Web服務(wù)駐留在一個(gè)基于Java的Web服務(wù)系統(tǒng)中。通過(guò)圖中的順序步驟看一下整個(gè)的工作機(jī)制。

 
圖 4

1)服務(wù)提供者的第一步是編寫WSDL文件。當(dāng)前市場(chǎng)上有好幾種工具,可以幫助我們用現(xiàn)有的對(duì)象定義產(chǎn)生出WSDL文件。然后,需要發(fā)布關(guān)于它自己的信息,把商業(yè)和這項(xiàng)Web服務(wù)的技術(shù)規(guī)范作為-個(gè)WSDL文件發(fā)布到中心UDDL注冊(cè)表。這樣,用寫WSDL文件的方法使得Web服務(wù)的描述占據(jù)了服務(wù)描述層。但是,在Web服務(wù)棧中我們看到,發(fā)布的商業(yè)信息和WSDL文件表現(xiàn)的是Web服務(wù)棧中的服務(wù)發(fā)布層。

2)服務(wù)消費(fèi)者應(yīng)用程序可以發(fā)現(xiàn)它有興趣使用的Web服務(wù)。發(fā)現(xiàn)不僅涉及到要搜索商業(yè)和它的服務(wù),而且還要下載WSDL文件中所提到的技術(shù)規(guī)范。發(fā)現(xiàn)的步驟對(duì)應(yīng)于Web服務(wù)棧中的服務(wù)發(fā)現(xiàn)層。

3)最后,服務(wù)消費(fèi)者應(yīng)用程序用WSDL文件來(lái)確定,為了與服務(wù)提供者的Web服務(wù)通信,需要傳送哪些消息,并且它還要決定綁定信息。為了達(dá)到這個(gè)目的,綁定信息就是HTTP上的SOAP。這個(gè)步驟對(duì)應(yīng)于Web服務(wù)棧中的XML消息和傳輸層。

#p#

J2EE的基本W(wǎng)eb服務(wù)體系結(jié)構(gòu)

下圖5是對(duì)J2EE系統(tǒng)的Web服務(wù)體系結(jié)構(gòu)整體描述。

 
圖 5

商業(yè)功能性

上圖是一個(gè)Web服務(wù)提供者展示他們Web服務(wù)的功能。重要的是要理解,商業(yè)機(jī)構(gòu)不會(huì)選擇他們現(xiàn)有的基于J2EE應(yīng)用程序,并把他們的EJB展示為Web服務(wù)的。雖然用Web服務(wù)平臺(tái)或目前市場(chǎng)上出售的工具在技術(shù)上是可行的,但是在商業(yè)上這樣做是沒(méi)有現(xiàn)實(shí)意義,因?yàn)樯虡I(yè)不在組件中展示方法調(diào)用。在商業(yè)上他們展示的是商業(yè)功能,這些功能會(huì)轉(zhuǎn)換成一系列執(zhí)行該商業(yè)功能所需要的協(xié)調(diào)動(dòng)作。在即時(shí)返回服務(wù)消費(fèi)者的響應(yīng)中可能有也可能沒(méi)有結(jié)果,還可能需要幾天的時(shí)間才能完成。商業(yè)也需要通過(guò)多層開(kāi)發(fā)系統(tǒng)的功能性,需要記住幾個(gè)安全性等級(jí)和由不同的內(nèi)部應(yīng)用程序使用。例如,假設(shè)有一個(gè)在因特網(wǎng)上售書的商業(yè)機(jī)構(gòu)G,比方說(shuō),他們決定在因特網(wǎng)上把一項(xiàng)在線訂書服務(wù)展示為Web服務(wù)。當(dāng)顧客下訂單的時(shí)候,訂單信息在商業(yè)企業(yè)G內(nèi)部啟動(dòng)了一個(gè)交易過(guò)程。這個(gè)交易過(guò)程需要執(zhí)行多項(xiàng)行動(dòng),例如,檢查圖書訂單的總量或執(zhí)行一個(gè)財(cái)務(wù)事務(wù)處理過(guò)程。這涉及到顧客把錢劃到商業(yè)G賬上,最后,給運(yùn)輸部門送一份消息,讓他們把書送給顧客。從圖5中的J2EE系統(tǒng)功能圖可以看出,這個(gè)交易過(guò)程可能需要與各種EJB發(fā)生交互作用,而這反過(guò)來(lái)又與企業(yè)信息系統(tǒng)或跨機(jī)構(gòu)的數(shù)據(jù)庫(kù)產(chǎn)生交互作用。在所有這些交易過(guò)程中,交易的完整性以及顧客想從認(rèn)真企業(yè)級(jí)的交易過(guò)程中得到的任何其他標(biāo)準(zhǔn)都需要保存起來(lái)。

Web服務(wù)系統(tǒng)

Web服務(wù)系統(tǒng)類似于J2EE中的容器(container)的概念。它給執(zhí)行Web服務(wù)提供了一個(gè)運(yùn)行時(shí)間環(huán)境。為了進(jìn)行討論的目的,完全可以說(shuō)在較高的級(jí)別上Web服務(wù)系統(tǒng)會(huì)包含一個(gè)Web服務(wù)運(yùn)行時(shí)間環(huán)境,該運(yùn)行時(shí)間環(huán)境能接受SOAP請(qǐng)求并把它們映射到對(duì)應(yīng)的Java組件,即在商業(yè)功能性中共享的Java類或EJB。同時(shí),從該商業(yè)過(guò)程中收集的所有結(jié)果都是可靠的,并被封裝在SOAP響應(yīng)中,送回Web服務(wù)的客戶機(jī)。

Web服務(wù)器

Web服務(wù)器是從Web服務(wù)客戶機(jī)發(fā)出SOAP請(qǐng)求到服務(wù)提供者收到這個(gè)請(qǐng)求的過(guò)程中最主要的網(wǎng)關(guān)。Web服務(wù)器通過(guò)HTTP協(xié)議進(jìn)行通信,通常在端口80收聽(tīng)。因?yàn)镾OAP消息需要在HTFP上傳輸,所以它很適合進(jìn)入我們的XML消息層和傳輸層。我們?cè)趫D5上應(yīng)當(dāng)注意到的一件重要事情是,事實(shí)上WSDL文件是存放在Web服務(wù)器上的,因?yàn)檫@樣它給服務(wù)的消費(fèi)者提供了全球性的可訪問(wèn)機(jī)制,使他們能查閱WSDL技術(shù)規(guī)范。因此,如果我們提供了一個(gè)在UDDI注冊(cè)表作為URL引用的WSDL文件的話,服務(wù)消費(fèi)者就可以很容易地通過(guò)URL找到該WSDL,并對(duì)它進(jìn)行轉(zhuǎn)換,以確定該機(jī)構(gòu)支持的服務(wù)和服務(wù)的終端。

Web服務(wù)器還在整個(gè)系統(tǒng)中執(zhí)行另外一種重要功能。這種功能會(huì)把適當(dāng)?shù)腟OAP請(qǐng)求轉(zhuǎn)送到Web服務(wù)系統(tǒng)去。

Web服務(wù)客戶機(jī)

Web服務(wù)客戶機(jī)是Web服務(wù)的消費(fèi)者。由于Web服務(wù)是不確定平臺(tái)的,因此用目前任何一種主流編程語(yǔ)言寫成的客戶機(jī)都可以調(diào)用Web服務(wù)。例如,它可能是一個(gè)Java程序,一個(gè)Visual Basic程序或者一個(gè)C++程序。Web服務(wù)客戶機(jī)要做的第一步工作是查閱UDDI信息,查找能提供它感興趣的Web服務(wù)的商業(yè)。從UDDI信息中重新得到WSDL URL引用,并從可公開(kāi)訪問(wèn)的URL下載WSDL文檔。通常,URL指的就是從圖5中的Web服務(wù)器。一旦得到了WSDL文件,服務(wù)消費(fèi)者就有了調(diào)用該Web服務(wù)所需要的技術(shù)信息。技術(shù)信息我們指的是該Web服務(wù)中的方法。該方法需要的參數(shù),該方法的數(shù)據(jù)類型和終端信息??梢愿鶕?jù)WSDL文件產(chǎn)生SOAP客戶代碼,然后再把產(chǎn)生的SOAP客戶代碼嵌入到客戶機(jī)巾,以便調(diào)用該Web服務(wù)。


網(wǎng)頁(yè)標(biāo)題:JavaEE的Web服務(wù)原理和體系結(jié)構(gòu)
URL網(wǎng)址:http://m.5511xx.com/article/cocpppi.html