當前位置:才華齋>IT認證>J2EE>

Java EE的Web服務體系結構

J2EE 閱讀(2.07W)

Web服務(Web Services)是目前程式設計領域中的一項新技術,是一個嶄新的分散式計算模式,在不同系統平臺之間具有互操作性,通過因特網,實現不同應用程式之間的遠端過程呼叫。下面小編為大家整理了關於Java EE的Web服務體系結構,一起來看看吧:

Java EE的Web服務體系結構

Web服務使用基於XML 的訊息處理作為基本的資料通訊方式,消除使用不同元件模型、作業系統和程式語言的系統之間存在的差異,使異類系統能夠作為單個計算網路協同執行。開發人員可以用象過去在建立分散式應用程式時使用元件一樣的方式建立將來自各種源的Web服務組合在一起的應用程式。

Web服務是建立在一些通用協議的基礎上,如HTTP,SOAP,XML,WSDL,UDDI等。這些協議在涉及到作業系統、物件模型和程式語言的'選擇時,沒有任何傾向,因此將會有很強的生命力。

商業功能性

重要的是要理解,商業機構不會選擇他們現有的基於J2EE應用程式,並把他們的EJB展示為Web服務的。雖然用Web服務平臺或目前市場上出售的工具在技術上是可行的,但是在商業上這樣做是沒有現實意義,因為商業不在元件中展示方法呼叫。

在商業上他們展示的是商業功能,這些功能會轉換成一系列執行該商業功能所需要的協調動作。在即時返回服務消費者的響應中可能有也可能沒有結果,還可能需要幾天的時間才能完成。商業也需要通過多層開發系統的功能性,需要記住幾個安全性等級和由不同的內部應用程式使用。

例如,假設有一個在因特網上售書的商業機構G,比方說,他們決定在因特網上把一項線上訂書服務展示為Web服務。當顧客下訂單的時候,訂單資訊在商業企業G內部啟動了一個交易過程。這個交易過程需要執行多項行動,例如,檢查圖書訂單的總量或執行一個財務事務處理過程。這涉及到顧客把錢劃到商業G賬上,最後,給運輸部門送一份訊息,讓他們把書送給顧客。

從圖5中的J2EE系統功能圖可以看出,這個交易過程可能需要與各種EJB發生互動作用,而這反過來又與企業資訊系統或跨機構的資料庫產生互動作用。在所有這些交易過程中,交易的完整性以及顧客想從認真企業級的交易過程中得到的任何其他標準都需要儲存起來。

  Web服務系統

Web服務系統類似於J2EE中的容器(container)的概念。它給執行Web服務提供了一個執行時間環境。為了進行討論的目的,完全可以說在較高的級別上Web服務系統會包含一個Web服務執行時間環境,該執行時間環境能接受SOAP請求並把它們對映到對應的Java元件,即在商業功能性中共享的Java類或EJB。同時,從該商業過程中收集的所有結果都是可靠的,並被封裝在SOAP響應中,送回Web服務的客戶機。

  Web伺服器

Web伺服器是從Web服務客戶機發出SOAP請求到服務提供者收到這個請求的過程中最主要的閘道器。Web伺服器通過HTTP協議進行通訊,通常在埠80收聽。因為SOAP訊息需要在HTFP上傳輸,所以它很適合進入我們的XML訊息層和傳輸層。我們在圖5上應當注意到的一件重要事情是,事實上WSDL檔案是存放在Web伺服器上的,因為這樣它給服務的消費者提供了全球性的可訪問機制,使他們能查閱WSDL技術規範。

因此,如果我們提供了一個在UDDI登錄檔作為URL引用的WSDL檔案的話,服務消費者就可以很容易地通過URL找到該WSDL,並對它進行轉換,以確定該機構支援的服務和服務的終端。

Web伺服器還在整個系統中執行另外一種重要功能。這種功能會把適當的SOAP請求轉送到Web服務系統去。

  Web服務客戶機

Web服務客戶機是Web服務的消費者。由於Web服務是不確定平臺的,因此用目前任何一種主流程式語言寫成的客戶機都可以呼叫Web服務。例如,它可能是一個Java程式,一個Visual Basic程式或者一個C++程式。Web服務客戶機要做的第一步工作是查閱UDDI資訊,查詢能提供它感興趣的Web服務的商業。

從UDDI資訊中重新得到WSDL URL引用,並從可公開訪問的URL下載WSDL文件。通常,URL指的就是從圖5中的Web伺服器。一旦得到了WSDL檔案,服務消費者就有了呼叫該Web服務所需要的技術資訊。技術資訊我們指的是該Web服務中的方法。該方法需要的引數,該方法的資料型別和終端資訊。可以根據WSDL檔案產生SOAP客戶程式碼,然後再把產生的SOAP客戶程式碼嵌入到客戶機巾,以便呼叫該Web服務。