Web Services是什麼?

來源:互聯網
上載者:User
services|web Web Services突然熱起來了,特別是M$.net為我們描述了一個互聯共用的世界,其實這些美好前景當初在Java誕生時早已經憧憬過,但理想的實現過程總是崎嶇漫長.

我們從一個應用看看Web Services是怎麼運作的:

有一個咖啡連鎖店的老闆叫Coffee Break,要拓展自己銷售的咖啡品種,他指示他的採購經理去尋找一些新的咖啡供應商,得到他們的咖啡全部價格,並且在需要時能夠立即下訂單,Coffee Break能夠分析他們的價格,並決定選用哪一種咖啡,從哪個公司進貨.

詢價
採購經理就將具體任務分配給軟體工程師,軟體工程師認為尋找新的咖啡供應商的最好辦法是搜尋UDDI註冊中心.

UDDI註冊中心:(Universal Description, Discovery, and Integration (UDDI) registry),UDDI Registry是一個邏輯上的統一體,在物理上則是以分布式系統的架構實施的,而不同網站之間是採用P2P(對等網路)架構實施的,因此訪問其中任意一個網站就基本等於訪問了UDDI Registry。


當然,Coffee Break也在UDDI註冊中心註冊了自己.

軟體工程師就用JAXR(Java API for XML Registries )發出了一個查詢所有咖啡供應商的指令,JAXR在後台使用JAXM(Java API for XML Messaging)發出訊息,也就是基於SOAP發送XML文本.

UDDI註冊中心接受了這個XML文本,並開始精確的搜尋,但搜尋完成後,註冊中心將發回那些有關怎樣聯絡那些合格咖啡經銷商的資訊.也是基於SOAP發回XML文本.

工程師的下一步工作就是從這些分銷商名單中列出他們的咖啡銷售價格,這個工作分兩步:

1.通過JAX-RPC(Java API for XML-based RPC )完成擷取和分析WSDL文本(Services Description Language (WSDL) document).這也是一個XML文本,它給出了所有關於Web service的資訊:告訴訪問者自己提供哪些服務,服務內容是什麼,怎樣擷取這些服務內容等.

2.工程師分析了WSDL文本後,得到了擷取咖啡銷售價格的方法和相應的網址.他就向那些具體的咖啡經銷商網址發出請求,以獲得其銷售的咖啡價格.

每個咖啡分銷商都會接受到這樣的請求,在他發出銷售價格之前,他也會先去查詢一下產品的當前期貨價格,這樣Coffee Break就得到了最新的XML文字格式設定的咖啡價格.如下面:

<coffee>

<單價>
<哥侖比亞咖啡>19.20</哥侖比亞咖啡>
</單價>

....

</coffee>

XML是即將取代HTML的最新的瀏覽器語言,我們平時通過瀏覽器上網瀏覽,看到的都是HTML編寫的檔案,將來都是XML編寫的檔案.

分析價格並訂購
讀取XML文本有兩種方式:SAX和DOM,對於簡單比價,使用SAX比DOM更有效率,但是如果要修改價格表,就要使用DOM,Coffee Break的工程師使用SAX比較了這些分銷商發來的價格表,並得出了一張結果表,報送到採購經理或老闆Coffee Break.一旦決定訂購咖啡,也是通過發送XML文本和經銷商聯絡.

通過Internet銷售
Coffee Break 已經準備好了新的咖啡品種,需要在他的網站上發布這個咖啡品種新的價格.Coffee Break當然不能以自己進貨的價格銷售咖啡,工程師就使用DOM修改了一下上面的XML文檔,將每個價格乘125%,這就是Coffee Break的咖啡銷售價格.

工程師使用JSP做了一個訂單表單.在這個JSP程式裡,他可以從上面修改後的XML文檔中讀取每個咖啡的名稱和價格.顧客只要選擇購買數量,然後按Submit就當前咖啡放入自己的購物車,開始了網上購物.

Web Service是將XML文本在各個網站之間傳送和接受,以達到資訊交換的目的.在接受和傳送時有一個協議,就是SOAP(Simple Object Access Protocol),這是個XML+http的協議.當前我們網站公布資訊,都是通過http協議發送到使用者的瀏覽器上,因此SOAP有廣泛的應用基礎,現在就差XML的普及.

不過,因為XML是純粹的資料結構,但只有資料的互連網將倒退到學術科研時代,因此,類似Frontpage Dreamweaver基於XML的強大的頁面設計工具是重要的,但是這樣的視覺化檢視很難設計.

所以XML的普及有時間問題,那麼Web Services提供的上述美好前景的真正實現,恐怕不是一兩年內會達到的.

但是Web Services為專門從事互連網服務的公司帶來的機會,因為他們的客戶是一個個商業網站,因此,他們可以開發一個個商業應用,而不必將這些應用象普通軟體一樣安裝在他們客戶的伺服器上,而是讓他們的客戶網站通過SOAP來調用這些軟體功能,並支取一定的使用費.

對於作為客戶的網站來說,購買了某個互連網服務,不必專門設立伺服器,購買大量軟體,還要維護他們,只要通過直接調用提供該功能的Web Services就可以,比如購物車功能,這是每個網上商店都必須的,但每個商家不一定去購買這個軟體,只要在自己網頁中直接調用網上商店的Web Services就可以。

但現在最致命的是Web Services的安全性。

Sun的Web Service:http://java.sun.com/webservices/docs/ea2/tutorial/index.html

Open source的Web Service伺服器,需Tomcat同時運行:http://xml.apache.org/axis




相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。