WebService簡介

什麼是Web Service?從字面上看是Web服務,什麼是Web服務呢?雖然很流行,但是很多人不知道具體幹什麼的?也不好給定義,下面從兩個方面來描述什麼Web Service:

    Web Service是解決什麼問題的?

    Web Service如何解決這個問題?

1、Web Service用於解決什麼問題?

    網絡技術的發展使得應用之間的交互變得越來越多,有了網絡應用程序。這些程序有B/S結構,有C/S結構等等,有C語言編寫的,有C++編寫的,有Java編寫的,Delphi編寫的。

    網絡應用除了要完成必要的功能之外,還必須解決網絡連接、數據傳遞、異常處理和安全處理等問題。不管完成什麼功能,這些額外的工作基本相同,所以各種語言對這些額外的過程進行單獨的處理提供了專門的技術。

    Java陣營中EJB就是典型的例子,根據EJB規範編寫EJB,只需要關注功能如何實現,訪問過程、事務處理等等由EJB運行的環境(容器,應用服務器的一項服務)處理,所以EJB的編寫和訪問都變得非常簡單。Java中的RMI也是用於解決分佈式應用的問題的。

    在微軟的體系中,COM/DCOM組件模型用於解決分佈式應用問題,com是一種組件模型,是一種標準,是開發平臺獨立的、分佈式的、面向對象系統的標準。DCOM(the Distributed Component Object Model)擴展COM,以支持不同計算機之間的對象間通信,這些計算機可以是位於局域網,廣域網,甚至是互連網。

    另外一種技術CORBA(the Common Object Request Broker Architecture)是OMG(the Object Management Group)制定的開放的、獨立於開發商的體系結構和基礎構造,通過CORBA,計算機應用程序可以通過網絡協同運作。因爲使用標準的IIOP(the Internet Inter-ORB Protocol)協議,兩個基於CORBA的程序,不管是來自任何開發商、運行在何種機器、採用哪種操作系統和編程語言、通過不同的網絡,都可以相互操作。

    COM更適合Windows平臺,而CORBA在開放性上面比COM要做得好。

     關於組件模型,可以參考http://www.kuqin.com/components/20090315/39994.html

    而這些技術在實現的時候可能因爲協議和端口的問題會受到防火牆的限制,如果能使用HTTP協議將解決這些問題將非常方便,大家知道現在B/S架構的程序更爲流行。另外各種應用在交互的時候需要傳遞消息、解析消息,不同的技術會有不同的實現方式,而XML作爲信息交換的手段,在不同應用系統之間交換信息變得非常通用。而WebService正是基於HTTP和XML的。

2、Web Service如何解決這些問題

使用XML表示數據

    Web Service交互過程中的數據和Web Service的描述都採用XML形式,這些年來XML已經變得非常流行,學習起來會變得非常容易。

使用HTTP和SOAP交換信息

    SOAP(Simple Object Access Protocol 簡單對象訪問協議)是WebService的根本。它是一種具有擴展性的XML消息協議。SOAP允許一個應用程序向另一個應用程序發送XML消息,SOAP消息是從SOAP發送者傳至SOAP接收者的單路消息,任何應用程序均可作爲發送者或接收者。SOAP僅定義消息結構和消息處理的協議,與底層的傳輸協議獨立。因此,SOAP協議能通過HTTP,JMS或SMTP協議傳輸。目前,大多采用HTTP傳輸SOAP消息。

使用WSDL描述Web Service

    WSDL(WebService Description Language WebService描述語言)使用XML描述WebService,包括訪問和使用WebService所必需的信息,定義該WebService的位置、功能以及如何通信等描述信息。

使用UDDI註冊服務和查找使用服務

    UDDI(Universal Description,Description and Integration統一描述、發現和整合協議),定位或發現一個或多個說明特定的WEB 服務的文檔的過程,WEB 服務的客戶通過發現來知道某個Web 服務是否存在,以及從哪裏獲取這個WEB 服務的文檔。

    關於UDDI的更多內容可以參考:http://www.ibm.com/developerworks/cn/webservices/ws-featuddi/index.html

文章轉自:http://blog.csdn.net/javaeeteacher/article/details/5457625

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章