摘要:Web Service是創建可操作的分布式應用程序的新平臺,該文分析了Web Service核心技術標準和Web Service的企業應用,并以網絡會議管理系統為例介紹了以Web Service為核心的企業級應用案例。
關鍵詞:Web Service;分布式;企業應用
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2009)15-4058-02
Analyzing and Building Enterprise Application Based on Web Service
GUO Qing-ju
(Hainan Software Profession Institute, Qionghai 571400, China)
Abstract: Web Service is a new platform of creating operable and distributed application. This paper analyzed the core technology standard and enterprise application of Web service, and provides a case of enterprise application based on web service by a network meeting management system.
Key words: Web Service; distributed; enterprise application
1 引言
Web Service是建立可互操作的分布式應用程序的新平臺,提供了在不同體系機構下構建的網站之間相互提供應用接口服務、數據的一種方案。它采用通用的SOAP、HTTP以及XML,就可以把原本互不相干的站點服務形成一整套分布的、自動化和智能化的網絡應用,大大減輕了程序員的開發工作量,充分地利用了已經擁有的網絡資源和開發資源?,F在越來越多的公司使用Web Service通過Internet提供產品和服務。本文以一個網絡會議管理系統為案例,分析Web Service在企業中的應用和構建。
2 Web Service
Web Service是一個軟件系統,支持分布式應用程序,可以通過Internet以Web的方式提供應用程序接口(API ,Application Program Interface),由于采用了HTTP協議,可以通過端口80發布,所以可以穿透防火墻的限制,使得應用具有很強的擴展性,同時Web Service以XML的形式響應,故可解決跨平臺問題。Web Service可以通過瀏覽器以HTTP的形式訪問,也可以使用專有的客戶端程序通過簡單對象訪問協議(SOAP,Simple Object Access Protocol)進行通信。
Web Service通過URI(Universal Resource Identifier)確定訪問地址,那么如何獲取Web Service地址呢?UDDI 是一個服務目錄,它用于尋找基于 Internet 的服務。UDDI可以幫助我們確定Web Service的URI,而通過WSDL(Web 服務描述語言,Web Service Definition Language)獲得Web Service提供的API(一般SOAP通過WSDL語言判斷Web Services 提供的API),從而得到交互,圖1描述了上述Web Service核心技術標準。
2.1 SOAP
SOAP,簡單對象訪問協議,是一種標準化的通訊規范,主要用于Web Services中。SOAP的出現是為了簡化Web服務器(Web Server)在從XML數據庫中提取資料時,無需花時間去格式化頁面,并能夠讓不同應用程式之間透過HTTP通信協議,以XML格式互相交換信息,使其與編程語言、平臺和硬件無關。此標準由IBM、Microsoft、UserLand和DevelopMentor在1998年共同提出,于2000年提交給W3C(World Wide Web Consortium),目前 SOAP 1.1 版是業界共同的標準。
用一個簡單的例子來說明 SOAP 使用過程,一個 SOAP 消息可以發送到一個具有 Web Service 功能的 Web 站點,例如,一個天氣信息的數據庫,消息的參數中標明這是一個查詢消息,此站點將返回一個 XML 格式的信息,其中包含了查詢結果(溫度,濕度,雨雪情況,或者其他信息)。由于數據是用一種標準化的可分析的結構來傳遞的,所以可以直接被第三方站點所利用。
2.2 UDDI
UDDI是統一描述、發現和集成(Universal Description, Discovery, and Integration)的縮寫。它是一個基于XML的跨平臺的描述規范,可以使世界范圍內的企業在互聯網上發布自己所提供的服務。
UDDI是OASIS發起的一個開放項目,它使企業在互聯網上可以互相發現并且定義業務之間的交互。UDDI業務注冊包括三個元件:
白頁:有關企業的基本信息,如地址、聯系方式以及已知的標識;
黃頁:基于標準分類的目錄;
綠頁:與服務相關聯的綁定信息,及指向這些服務所實現的技術規范的引用。
UDDI是核心的Web Service標準之一。它通過SOAP進行消息傳輸,用WSDL描述Web服務及其接口使用。
2.3 WSDL
WSDL(Web服務描述語言)是為描述Web服務發布的XML格式,描述Web服務的公共接口。一個基于XML的關于如何與Web服務通訊和使用的服務描述;也就是描述與目錄中列出的Web服務進行交互時需要綁定的協議和信息格式。通常采用抽象語言描述該服務支持的操作和信息,使用的時候再將實際的網絡協議和信息格式綁定給該服務。
2.4 XML
XML(eXtensible Markup Language的縮寫),可擴展標記語言,XML被廣泛用來作為跨平臺之間交互數據的形式,主要針對數據的內容,通過不同的格式化描述手段(XSLT,CSS等)可以完成最終的形式表達(生成對應的HTML,PDF或者其他的文件格式)。XML也是Web Service中數據交換的描述語言。
3 Web Service企業應用
Web Service提供了適用于企業的分布式開發標準,通過XML可以實現跨平臺的應用,既可以通過Web方式發布,又可以通過SOAP以客戶端的形式得到訪問,適用于應用程序集成、B2B集成、代碼和數據重用,以及通過Web進行客戶端和服務器的通信的場合。
3.1 應用程序集成
企業級的應用程序開發者都知道,企業里經常都要把用不同語言寫成的在不同平臺上運行的各種程序集成起來,而這種集成將花費很大的開發的力量。即使是在同一個平臺上,不同的軟件廠商生產的各種軟件也常常需要集成起來。通過Web Service,應用程序可以用標準的方法把功能和數據暴露出來,供其它的應用程序使用。
3.2 B2B集成
跨公司的商務交易集成通常叫做B2B集成。Web Service是B2B集成成功的關鍵。通過Web Service,你的公司可以把關鍵的商務應用暴露給指定的供應商和客戶。用Web Service來實現B2B集成的最大好處在于可以輕易實現互操作性。只要把你的商務邏輯暴露出來,成為Web Service,你就可以讓任何指定的合作伙伴輕松的調用你的商務邏輯,而不管他們的系統在什么平臺上運行,使用的是什么開發語言。
3.3 軟件重用
用Web Service來集成各種應用中的功能,為用戶提供一個統一的界面。許多應用程序都會利用Web Service,把當前基于組件的應用程序結構擴展為組件和Web Service 的混合結構。你也可以在應用程序中使用第三方的Web Service 提供的功能。你還可以把你自己的應用程序的功能通過Web Service 提供給別人。所有這些情況下,你都可以重用代碼和代碼后面的數據。
4 基于Web Service的網絡會議管理系統
網絡會議管理系統分為基于B/S架構的Web應用系統和C/S架構的Windows應用系統兩部分,圍繞業務流程充分發掘B/S和C/S架構優勢,有效提高會議管理效率。網絡會議管理系統有系統管理員、會務管理員、普通用戶三種用戶,系統管理員進行會議室管理、會議的調度、審批、權限、用戶管理、系統基本信息維護等;會務管理員進行會議的申請、參會人員錄入、會場布局、上傳會議資料、填寫會議日程、發表/查看會議議題表決、共享終端桌面等功能;普通用戶具有瀏覽會議資料、查看會議表決結果等功能。各用戶功能如圖2。
由于網絡會議管理系統的部分功能必須由C/S架構,如共享終端桌面功能,這個功能是共享開會發言者的電腦桌面,而其他功能需求來看使用B/S架構能夠達到更好的效果??紤]到應用程序的集成,軟件代碼復用,網絡會議管理系統采用了Web Service,整個系統架構如圖3。
鑒于篇幅基于Web Service的具體實現技術本文不再闡述。更多詳情請參閱后面參考文獻。
5 小結
Web service是創建可互操作的分布式應用程序的新平臺。Web service 的主要目標是跨平臺的可互操作性。為了達到這一目標,Web Service 是完全基于XML、XSD等獨立于平臺、獨立于軟件供應商的標準的。 但Web Service并不是萬能的,在有些情況下,Web Service會降低程序的性能,而不會帶來好處,特別是在單機或一個局域網內。
參考文獻:
[1] 柴曉路.架構Web Service: 什么是Web服務?[EB/OL].http://www.ibm.com/developerworks/cn/webservices/ws-wsar/part2/index.html.
[2] MSDN,構建安全的 Web Services[EB/OL].http://www.microsoft.com/china/technet/security/guidance/secmod85.mspx.
[3] 蔡月茹,柳西玲.Web Service基礎教程[M].北京:清華大學出版社,2005.