申鴻燁


摘要:Android手機軟件開發是遠程教育學習平臺的重要內容,手機通常以終端的形式出現,大量的數據被保存在服務器端,手機通過網絡,使用Web Service服務與服務器端進行通訊,交流數據。因此,Web Service架構的研究與實現具有重要意義。本文詳細研究了Android學習平臺中Web Service的設計與實現方案。
關鍵詞:Android;Web Service;學習平臺
0引言
在學習平臺的研究中,Android手機軟件開發具有重要意義。手機常常以終端的形式出現,大量的數據則保存在服務器端,手機通過網絡,使用Web Service服務與服務器端進行通訊,交流數據,實現軟件功能。Web Service,即XML Web Service,是可以從網絡上接收其它系統中傳遞請求的一種輕量級的通訊技術,通過SOAP在Web上提供軟件服務,使用WSDL文件進行說明,并通過UDDI予以注冊。本文將詳細探討并重點給出了Android學習平臺中Web Service的設計與實現方案。
1Web Service的核心技術與規范
Web Service由應用軟件發布,為了達到跨平臺的目的,Web Service采用完全基于不依賴平臺和具體軟件廠家的標準,如XML、XSD。
Web Service主要設計使用的核心技術與規范可闡釋如下:
1)XML。全稱Extensible Markup Language,即擴展型可標記語言,主要面向短期的臨時數據處理和互聯網應用,是Soap的基礎,是處理結構化文檔信息的重要工具。
2)Soap。全稱Simple Object Access Protocol,即簡單對象存取協議,是表示信息交換的協議,實現了I-ITTP的Web技術與XML的結合,便于異構程序與平臺之間的互操作性,當用戶通過UDDI找到WSDL描述文檔后,就可以通過SOAP調用Web服務開展操作。SOAP是XML文檔形式的調用方法的規范。
3)WSDL。全稱Web Services Description Langllage,為XML格式的文檔,用來說明一組SOAP消息以及如何交換這些消息,通常情況下是由應用軟件自動生成和使用的。
4)UDDI。全稱UniversalDescriptionDiscovery andIntegration,是主要針對Web服務供應商和使用者的項目。在用戶能夠調用Web服務之前,必須確定這個服務內包含哪些商務方法,找到被調用的接口定義,還要在服務器端來編制軟件。UDDI是一種根據描述文檔來引導系統查找相應服務的機制。UDDI利用SOAP消息機制(標準的XML/HITP)來發布、編輯、瀏覽以及查找注冊信息。在此基礎上,則采用XML格式來封裝各種不同類型的數據,并且發送到注冊中心或者由注冊中心來返回需要的數據。
2Web Service工作原理
Web服務的體系結構涵蓋了Web服務提供者、Web服務請求者、Web服務代理三個角色,具體包括3個動作:發布、發現和綁定。簡而言之,Web服務提供者的作用是提供Web服務,等待其他服務和用戶訪問自己提供的功能。Web服務請求者是Web服務的用戶,使用SOAP消息傳遞Web服務提供商發送的請求到Web獲取服務。Web服務中介的角色是將Web服務提供者和Web服務請求者綁定在一起,以管理者的角色出現,一般是UDDI實現。
Web服務有2層含義:一是指包裝成單個實體并釋放到網絡中的功能集合;二是指功能聚合后被調用的服務。概略地說,Web服務是一個URL資源,客戶端可以通過編程方式請求其服務,而不需要知道所請求的服務是如何實現這一點的,即對客戶端而言是透明的,這也是與傳統的分布式組件對象模型所具備的顯著不同之處。
Web Service的優點在于:
1)跨防火墻通信。當前網絡環境下,為了安全考慮,防火墻是每個網站標配的設備,一方面保障了服務器本地服務的安全性,另一方面,為了與外部通訊,防火墻為外部的應用程序預制了固定的端口。但是,外部的應用程序各種各樣,用戶成千上萬,而且分布在全球各地,防火墻在提供了安全性的同時,也即使得客戶端和服務器之間通信已然成為一個棘手的問題。現有的做法是,選擇將瀏覽器作為客戶端,書寫程序代碼,把應用程序的中間層暴露給最終用戶,但是這種處理開發難度大,程序難于維護。如果使用Web Service作為中間層組件的話,就可以從用戶界面直接調用中間層組件。因此,使用Web Service結構.就可以節省花費在用戶界面編程上的大量開發時間。
2)應用程序集成。開發一個應用軟件,可以包含多種開發語言,最終整合為一個應用系統。這種整合實現了不同軟件、不同開發人員的技術集成,但是集成將耗費可觀的開發力量和維護力量。例如,應用程序需要從運行在某服務器中獲取數據;或者把數據發送到另一臺服務器。再例如,開發人員中有采用C#作為開發語言的,也有采用JAVA作為開發語言的等等。即使在同一個平臺上,不同軟件廠商生產的各種軟件也常常需要系統規范的高效整合。Web Service可以發揮協同連接的作用,借助其可以很容易地集成不同結構的應用程序。
3)軟件和數據重用。軟件開發的一個重要思想是復用技術,前期開發的技術成果,不僅包含了開發人員的勞動,而且還內化了大量測試和維護人員的行為內容,通過軟件復用,可以最大程度地保存這些有意義的工作,降低重新開發和測試的工作強度。這種復用不僅體現在源代碼模塊或者類一級的重用,還可以通過二進制形式的組件重用得到進一步的清晰確認。采用Web Service應用程序聲明對外服務的方法,將功能和數據展示出來,供其它應用程序使用,達到業務級的重用。
3Web Service的實現步驟
實現一個完整的Web服務在設計上可分述為如下步驟:
1)發布。Web服務提供者的開發應用則將通過服務代理來設計、發布和調試正確的Web服務,并在UDDI注冊中心申請注冊。
2)發現。Web服務請求Web服務代理,通過UDDI注冊中心請求特定服務的中介,以滿足所請求的服務請求。
3)查找。Web服務代理向Web服務請求返回符合條件的Web服務描述信息,描述WSDL中所寫的信息,支持各種Web服務的服務器讀取。
4)綁定。生成相應的SOAP信息描述信息,發送到Web服務提供商,實現Web服務調用;Web服務提供者根據SOAP消息服務實現相應的Web服務,并將結果返回給Web服務請求者,如圖1所示。