成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳細介紹Java EE的Web服務原理和體系結構

開發 后端 前端
Web服務是建立在一些通用協議的基礎上。這些協議在涉及到操作系統、對象模型和編程語言的選擇時,沒有任何傾向,因此將會有很強的生命力。本文詳細介紹了Java EE的Web服務原理和體系結構,一起來看。

Web服務(Web Services)是目前程序設計領域中的一項新技術,是一個嶄新的分布式計算模式,在不同系統平臺之間具有互操作性,通過因特網,實現不同應用程序之間的遠程過程調用。下面介紹Java EE的Web服務原理和體系結構。

Web服務使用基于XML 的消息處理作為基本的數據通訊方式,消除使用不同組件模型、操作系統和編程語言的系統之間存在的差異,使異類系統能夠作為單個計算網絡協同運行。開發人員可以用象過去在創建分布式應用程序時使用組件一樣的方式創建將來自各種源的Web服務組合在一起的應用程序。

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

J2EE的Web服務工作原理

1.J2EE的Web服務模型

大家知道,普通Web服務的系統架構是面向服務的,服務的發布的發現是Web系統架構中首先要解決的主要問題。在java編程環境下,Web 服務通過JAXR(java API for XML Registries)實現自身的發布??蛻羰褂猛瑯拥腏AXR API尋找服務,使用JAX-RPC綁定和調用Web服務。如下圖1所示:

J2EE的Web服務模型

圖 1

2.J2EE在消息發送層(SOAP)和傳輸協議層(HTTP)的工作過程

用下圖2可以說明,在具有Web服務功能的應用程序服務器上運行著一個標準的J2EE應用程序。在圖中的左上角是Java,C++或C#客戶機,現在,這個應用程序發出SOAP請求。該SOAP請求把Web服務操作封裝在一個XML有效載荷中,然后,通過HTTP協議傳送。在Web服務端,傳輸層繼續把該調用輸送劍SOAP服務端,然后,服務器就調用相應的已經展現為Web服務的J2EE功能。Web服務產生的任何響應都會被再編碼成為一個SOAP響應,并通過HTTP協議傳輸回客戶機去。

J2EE在消息發送層和傳輸協議層的工作過程

圖 2

從圖2中可以清楚地看出,利用消息發送層(Messaging layer) (SOAP)和傳輸協議層(Transoort Network laver) (HTTP)就可以完成應用程序內部的通信。應用程序內部通信的問題通過一些銷售商的專有技術(例如CORBA和DCOM等)以前就已經解決了。這些技術操作起來很麻煩,并且,也不能通過防火墻。因此,現在我們用SOAP,通過簡單的XML這個開放式的標準,就可以有效地實現應用程序內部的通信,不會使自己鎖定在某個銷售商的專有機制上。

3.J2EE在消息發送層(SOAP)、傳輸協議層(HTTP)和Web服務描述(WSDL)的工作過程

圖3顯示的是對前面所介紹的Web服務模式的簡單擴展;在圖3中只需要在兩個應用程序之間傳遞的SOAP消息之間存在著緊密的耦合?,F在,有了一個附加的Web服務描述層,服務提供者就可以用建立和發行WSDL文檔的方法來描述他們的Web服務。WSDL文檔中不僅包含有該Web服務的抽象定義,而且也包含有實現(綁定)該Web服務的細節。

這意味著服務的消費者(即例子中的客戶應用程序)需要得到WSDL文檔,它不僅可以從這個文檔中得到包括Web服務的消息和數據類型的不同操作,而且還能夠重新得到該Web服務的終端(例如URL),SOAP消息可以在終端上交換。如果J2EE服務是通過SMTP消息展示功能的,那么WSDL文檔也會描述這一點。

J2EE在消息發送層、傳輸協議層和Web服務的工作過程

圖 3

4.J2EE使用UDDI、WSDL和SOAP三種技術的工作過程

在圖4中假設服務提供者已經決定把某項商業功能展示成Web服務。該Web服務駐留在一個基于Java的Web服務系統中。通過圖中的順序步驟看一下整個的工作機制。

J2EE使用UDDI、WSDL和SOAP三種技術的工作過程

圖 4

1)服務提供者的第一步是編寫WSDL文件。

當前市場上有好幾種工具,可以幫助我們用現有的對象定義產生出WSDL文件。然后,需要發布關于它自己的信息,把商業和這項Web服務的技術規范作為-個WSDL文件發布到中心UDDL注冊表。這樣,用寫WSDL文件的方法使得Web服務的描述占據了服務描述層。

 但是,在Web服務棧中我們看到,發布的商業信息和WSDL文件表現的是Web服務棧中的服務發布層。

2)服務消費者應用程序可以發現它有興趣使用的Web服務。

發現不僅涉及到要搜索商業和它的服務,而且還要下載WSDL文件中所提到的技術規范。發現的步驟對應于Web服務棧中的服務發現層。

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

下圖5是對J2EE系統的Web服務體系結構整體描述。

對J2EE系統的Web服務體系結構整體描述

圖 5

#p#

商業功能性

上圖是一個Web服務提供者展示他們Web服務的功能。重要的是要理解,商業機構不會選擇他們現有的基于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服務。

通過本文的介紹,希望對你有幫助。

【編輯推薦】

  1. 揭開Java EE開發框架之謎
  2. 詳細介紹JAVA和C++區別
  3. JAVA開發 分析JNI標準原理
  4. 詳細介紹Java語言中的IO系統
  5. 詳細介紹JAVA中的字符串
責任編輯:于鐵 來源: 互聯網
相關推薦

2009-02-04 09:48:39

體系結構服務原理Web

2018-09-11 12:41:42

HadoopJava工具

2010-09-16 15:22:30

JVM體系結構

2009-06-03 09:11:03

Hibernate工作原理體系結構

2010-04-23 09:13:05

Oracle體系結構

2010-02-23 16:07:39

2017-08-03 14:01:07

大數據深度學習體系結構

2009-02-05 11:07:27

Sybase SQL SybaseSQL Server

2009-07-09 13:52:41

Inside JVM

2012-03-14 11:33:31

ibmdw

2016-07-28 23:19:10

云計算SOA

2023-07-04 15:00:47

微服務架構開發

2009-06-26 15:58:28

EJB

2009-06-11 17:24:46

J2EE的MVC體系結J2EE設計模式

2009-12-30 15:56:05

MPLS體系結構

2012-02-06 17:22:44

MySQL

2009-07-15 13:46:26

Swing體系結構

2014-07-23 09:33:52

2010-04-08 10:02:15

Oracle體系結構

2010-09-16 14:36:43

Java虛擬機
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲一区视频在线 | 国产精品一区二区在线播放 | 不卡的av在线 | 久草.com| 亚洲视频在线播放 | 涩涩片影院 | 中文字幕日韩欧美一区二区三区 | 久久久久久国产 | 美女视频黄的免费 | 成人在线免费视频观看 | 国产九一精品 | 欧美日在线| 精精国产xxxx视频在线播放 | 国产欧美日韩 | 羞羞视频免费观看入口 | 久久男人| 国产成人免费在线观看 | 久草精品视频 | 国产成人精品一区二区在线 | 久久网日本 | 欧美三级在线 | eeuss国产一区二区三区四区 | 久久99这里只有精品 | 国产精品美女一区二区三区 | 亚洲精品在线91 | 成人精品一区二区三区中文字幕 | 色网站视频| 免费在线色 | 成人精品鲁一区一区二区 | 一区二区三区四区在线视频 | 一区二区三区国产好的精 | 日韩视频在线一区 | 久久久国产精品 | 欧美中文字幕一区二区三区亚洲 | 狠狠av| 在线观看视频91 | 国产乱码精品一区二区三区中文 | av色噜噜| 国产精品视频在线观看 | 久久久久久久久久久久久9999 | 雨宫琴音一区二区在线 |