WEB服務

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

Web服務(Web service)

目錄

什麼是WEB服務

  Web服務是一種面向服務的架構的技術,通過標準的Web協議提供服務,目的是保證不同平臺的應用服務可以互操作。

  根據W3C的定義,Web服務(Web service)應當是一個軟體系統,用以支持網路間不同機器的互動操作。網路服務通常是許多應用程式介面(API)所組成的,它們通過網路,例如國際互聯網(Internet)的遠程伺服器端,執行客戶所提交服務的請求。

  儘管W3C的定義涵蓋諸多相異且無法介分的系統,不過通常我們指有關於主從式架構(Client-server)之間根據SOAP協議進行傳遞XML格式消息。無論定義還是實現,WEB服務過程中會由伺服器提供一個機器可讀的描述(通常基於WSDL)以辨識伺服器所提供的WEB服務。另外,雖然WSDL不是SOAP服務端點的必要條件,但目前基於Java的主流WEB服務開發框架往往需要WSDL實現客戶端的源代碼生成。一些工業標準化組織,比如WS-I,就在WEB服務定義中強制包含SOAP和WSDL。

WEB服務的產生

  為了實施電子商務,無論自身的IT部門還是外包的解決方案提供商,其給出的實施計劃都是應用正式運營前的。一旦應用被部署之後,由於商務環境和商務需求的不斷改進和不斷變化,這些電子商務應用不可避免地需要被修訂、需要被更新,以符合新的電子商務流程。

  傳統的解決方案是為每個需要的企業資源或外部資源編寫連接代碼,以使得應用得以運行。這些資源包括傳統系統(legacy systems)和資料庫Web應用及Web資源。

  傳統解決方案的缺點:

  1、 代碼很難再定製;

  2、由於每個應用都有其自己特有的基礎架構,這些應用在部署、更改和維護上的代價都異常高昂;

  3、不能被方便地繼承;

  4、不能隨著企業商務的規模擴展而方便地實現應用的規模擴展。

  Web服務的使用將改變目前的開發模式和應用部署的費用規模。各種Web服務構件實現了一定的電子商務功能,通過將各種電子商務的Web服務進行組合和集成以創建動態電子商務應用。Web服務能夠統一地封裝信息、行為、數據表現以及商務流程,而無需考慮應用所在的環境是使用何種系統和設備。

WEB服務特點[1]

  Web服務作為一種新興的Web應用模式,是一種嶄新的分散式計算模型,是Web上數據和信息集成的有效機制。

  Web服務就像Web上的構件編程,開發人員通過調用Web應用編程介面,將Web服務集成進他們的應用程式,就像調用本地服務一樣。

  從外部用戶看,Web服務是一種部署在Web上的對象/組件,具備完好的封裝性、鬆散耦合、自包含、互操作、動態、獨立於實現技術、構建於成熟技術、高度可集成、使用標準協議等特征。從實施對象看,把資源、計算能力提供給用戶,需要以服務的形式完成。

  Web服務通過WSDL來描述,通過SOAP作訪問,在商業註冊中心(UDDI)發佈,從而使開發者和電子商務應用程式可以搜索並定位到該服務。在Web服務開發的過程中有三個清晰的角色定義,它們是服務的提供者(Service provider),服務的請求者(Service request)和服務的代理(Service broker),下圖顯示了它們之間的關係。

Image:服务体系结构.jpg

WEB服務體繫結構的優勢[1]

  (一)WEB服務的高度通用性

  Web服務既然是一種部署在Web上的對象,自然具備對象的良好封裝性,對於使用者而言,他能且僅能看到該對象提供的功能列表,而不必考慮web服務對象的內部組成,因此有易用性。Web服務對象內封裝都是一些通用功能,因此也具有高度的復用性。

  (二)完全的平臺、語言獨立性

  Web服務對象具有鬆散耦合的特性,這一特征也是源於對象/組件技術,當一個Web服務的實現發生變更的時候,調用者是不會感到這一點的,對於調用者來說,只要Web服務的調用界面不變,Web服務的實現任何變更對他們來說都是透明的,甚至是當Web服務的實現平臺從J2EE遷移到了.NET或者是相反的遷移流程,用戶都可以對此一無所知。其實現的核心在於使用XML/SOAP作為消息交換協議,也就是說web服務因此具有語言的獨立性。

  作為Web服務,其協約必須使用開放的標準協議(比如HTTP、SMTP等)進行描述、傳輸和交換。這些標準協議應該完全免費,以便由任意平臺都能夠實現。一般而言,絕大多數規範將最終有W3C或OASIS作為最終版本的發佈方和維護方,因此web服務也擁有了平臺獨立性。

  (三)高度可集成性

  由於Web服務採取簡單的、易理解的標準Web協議作為組件界面描述和協同描述規範,完全屏蔽了不同軟體平臺的差異,無論是CORBA、DCOM還是EJB都可以通過這一種標準的協議進行互操作,實現了在當前環境下最高的可集成性。

WEB服務的協議架構[1]

  WEB服務的協議架構大致可以描述成如下表:

服務發現層UDDI
服務發佈層UDDI
服務描述層WSDL
消息傳輸層SOAP
數據表現協議層XML
網路傳輸層HTTP,FTP,MQ,IIOP

  表格自底向上,每一層協議都為上一層提供服務。

  (一)UDDI

  UDDI是統一描述、發現和集成(Universal Description, Discovery, and Integration)的縮寫。它是一個基於XML的跨平臺的描述規範,可以使世界範圍內的企業在互聯網上發佈自己所提供的服務。

  UDDI是OASIS發起的一個開放項目,它使企業在互聯網上可以互相發現並且定義業務之間的交互。UDDI業務註冊包括三個元件:

  0、白頁:有關企業的基本信息,如地址、聯繫方式以及已知的標識;

  1、黃頁:基於標準分類的目錄;

  2、綠頁:與服務相關聯的綁定信息,及指向這些服務所實現的技術規範的引用。

  UDDI是核心的Web服務標準之一。它通過簡單對象存取協議進行消息傳輸,用Web服務描述語言描述Web服務及其介面使用。

  (二)WSDL

  WSDL(Web服務描述語言,Web Services Description Language)是為描述Web服務發佈的XML格式。W3C組織(World Wide Web Consortium)沒有批准1.1版的WSDL,但是2.0版本已經在制訂中,2.0版將被作為推薦標準(recommendation)(一種官方標準),並將被W3C組織批准為正式標準。

  WSDL描述Web服務的公共介面。這是一個基於XML的關於如何與Web服務通訊和使用的服務描述;也就是描述與目錄中列出的Web服務進行交互時需要綁定的協議和信息格式。通常採用抽象語言描述該服務支持的操作和信息,使用的時候再將實際的網路協議和信息格式綁定給該服務。

  (三)SOAP

  SOAP:簡單對象訪問協議,簡單對象訪問協議(SOAP)是一種輕量的、簡單的、基於 XML 的協議,它被設計成在 WEB 上交換結構化的和固化的信息。 SOAP 可以和現存的許多網際網路協議和格式結合使用,包

  括超文本傳輸協議( HTTP),簡單郵件傳輸協議(SMTP),多用途網際郵件擴充協議MIME)。它還支持從消息系統到遠程過程調用(RPC)等大量的應用程式。

WEB服務的技術體系

  一個Web服務被分為數據層(Data Layer)、數據訪問層(Data Access Layer)、業務層(Business Layer)、業務面(Business Facade)和監聽者(Listener)五個邏輯層。

  在Web服務中,通信是基於Internet協議(例如HTTP、SMTP、FTP等)互相傳遞XML消息的通信協議規範,描述採用一種基於XML的語言描述和定義介面與綁定,發佈和發現把Web服務提交到註冊中心而讓用戶通過中介發現Web服務。

WEB服務的發現和定製

  首先,服務發現功能在Internet上搜尋已有的程式和數據。若滿足用戶需求功能的Web服務,則調用需求分析功能分解用戶的服務需求,進入服務定製過程。

  其次,需求分析功能在用戶參與下準確定位用戶需要的服務。

  第三,把服務組裝方案提交到執行用戶具體服務的環境,對組裝鏈接的計算資源進行驗證與一致性測試。

參考文獻

本條目對我有幫助6
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您認為本條目還有待完善,需要補充新內容或修改錯誤內容,請編輯條目

本条目由以下用户参与贡献

Yixi,KAER,jane409,Mis铭,方小莉,寒曦,刘维燎,苏青荇,otf125.

評論(共0條)

提示:評論內容為網友針對條目"WEB服務"展開的討論,與本站觀點立場無關。

發表評論請文明上網,理性發言並遵守有關規定。

打开APP

以上内容根据网友推荐自动排序生成