2013年10月29日 星期二

Web Services 觀念


Web Services的起源
Web應用的巨大成功和不斷發展,使其滲透到商業領域和個人生活的各個方面。人們只要使用瀏覽器,就可以享受到各種各樣的Web服務,例如網上購物,網上交易,網 ​​絡遊戲,預定車票,網上聊天和交友等等。與此同時,由於Web技術所帶來的優勢(統一的客戶端和較好的維護性),使一些傳統的應用紛紛轉型到BS結構上。
然而,在發展中,逐步暴露了一些問題。所有這些Web頁面都是為人準備的,是讓人去閱讀,去輸入,去判斷。因此各 ​​種反映視覺效果的內容佔用了大量的網絡帶寬,例如各種圖片,字體信息,文字排版樣式等。而真正含有高價值的一些信息,被深深埋在這些顯示信息中,很難被其他應用和程序所使用。更重要的是,各種web服務之間缺少交互和通訊的機制。
程序之間的互相通訊很重要嗎?簡單舉一個例子。
假設你經常去國外出差,在你回國以後,第一件事就是費用報銷了。而你們公司有這樣的財務規定,所有的報銷款,都按報銷當天的外匯比價進行結算。因此在你填寫報銷單的時候必須先填寫每一筆在各個國家的花消,然後上網查出當天的外匯比價,填寫到報銷單上。剩下的事情也許不用你做了,你的報銷單填寫工具會自動進行換算和統計。
覺得有什麼不妥嗎?作為IT公司的員工,也許都有一個特點,計算機能做的事情,盡量要計算機去做。外匯比價的查詢可以讓計算機自動去做嘛!然而,讓你的程序自動去網頁上查找指定的外匯比價可不是一件容易的事。因為這些網頁是給人閱讀的, ​​人眼和大腦的反應速度有多快,它們可以從一整頁信息中快速定位到你所要的內容,而且無論網頁怎樣變化和改版都不會帶來太大的影響。而應用程序想要做同樣的事就差得太遠了。因此,現在需要的是專門為應用程序制定的Web服務。
隨著應用程序之間通訊的需求越來越大,這就需要製定統一的標準和協議。HP公司是最先提出這個觀點的公司,他們制定了有關 e-Speak”的標準來保證應用程序之間的交互,並聲稱將成為下一代Internet信息交互的標準。而隨後,MicroSoft意識到此計劃的美好前景,便推出了.Net戰略;IBM很快就發布了Web Services Toolkit(WSTK),和Web Services Development Environment(WSDE),申明對Web Services的全力支持。與此同時,Oracle也開發出自己的Dynamic Services,並和Oracle 8i Release 2集成在一起。在這以後,W3C統一制定了Web Services的各種標準。而SUN公司在宣布了自己的Web Services的框架以後,將Web Services的標準溶入J2EE的環境,使Web Services有了廣泛支持的基礎和平台。

Web Services的基本原理
Web Services是通過一系列標準和協議來保證程序之間的動態連接。其中最基本的協議包括:SOAP, WSDL, UDDI
·         SOAP: Simple Object Access Protocol”的縮寫,SOAP是消息傳遞的協議,它規定了Web Services之間是怎樣傳遞信息的。簡單的說,SOAP規定了:
1.
傳遞信息的格式為XML。這就使Web Services能夠在任何平台上,用任何語言進行實現。
2.
遠程物件方法調用的格式。規定了怎樣表示被調用對像以及調用的方法名稱和參數類型等。
3.
參數類型和XML格式之間的映射。這是因為,被調用的方法有時候需要傳遞一個複雜的參數,例如,一個Person物件。怎樣用XML來表示一個物件參數,也是SOAP所定義的範圍。
4.
異常處理以及其他的相關信息.
·         WSDL: Web Services Description Language”的縮寫.意如其名,WSDLWeb Services的定義語言。當你實現了某種服務的時候(,股票查詢服務),為了讓別的程序調用,你必須告訴大家你的服務的接口.例如,服務名稱,服務所在的機器名稱,監聽端口號,傳遞參數的類型,個數和順序,返回結果的類型等等.這樣別的應用程序才能調用你的服務。WSDL協議就是規定了有關Web Services描述的標準。
·         UDDI:Universal Description, Discovery, and Integration的縮寫。簡單說,UDDI用於集中存放和查找WSDL描述文件,起著目錄服務器的作用。

沒有留言:

張貼留言