從何時選擇移動 Web 服務到總體設計指導原則再到用于移動 Web 服務的值類型,本文提出了在設計用于移動設備的 Web 服務時需要考慮的許多設計事項。文中還介紹了許多設計移動 Web 服務方面的最佳實踐。從本文中,您可以了解如何決定何時使用 Web 服務、在設計 Web 服務時需要考慮什么事項,以及在規劃移動 Web 服務時必須謹記哪些問題。
Web 服務是一種集成技術。在集成異構系統時 Web 服務的價值可以得到最好的證實,因為其支持許多類型的編程語言、運行時環境和網絡。當需要從不兼容的環境連接應用程序時,Web 服務就有了用武之地。通過 Web 服務,您可以將業務應用程序從 java? 2 Platform EnterPRise Edition (J2EE) 連接到 .NET.您還可以使用某個運行在 linux? 中的應用程序將一個應用程序集成在 Windows? 操作環境中。在本文中,我提供了一些針對移動 Web 服務的重要設計考慮事項,并且向您介紹了一些與之有關的最佳實踐。
首先,我將討論在開始之前 需要考慮哪些事項。
開始之前
在開始設計整個系統的體系結構之前,您必須做出如下決定——何時使用移動 Web 服務以及何時不使用移動 Web 服務。
對于移動設備,Web 服務是利用工作站的強大計算功能的一種最佳方式。Java Specification Request 172 (JSR-172) 定義了用于 Java 2 Platform Micro Edition (J2ME) 平臺的 Web 服務 API.由于移動服務主要從客戶端的角度進行編程并且是服務使用者,因此本文只需要介紹一部分遠程服務調用 API (JAX-RPC) 和 JAXP (Java API for xml Parsing)。
設計移動 Web 服務的主要目的在于使嵌入式設備能夠使用由服務器提供的服務,換句話說,移動 Web 服務是從 Web 服務使用者的角度進行設計的,目的在于支持輕量級設備共享服務器的計算功能和數據庫。
移動 Web 服務無縫地集成了運行在不同平臺上的兩種不同的應用程序,并且提供了它們之間的互操作性。通常,在考慮移動設備的參與時,有三種類型的集成技術可以運用:
套接字通信
Web 服務
消息傳遞技術(如 WebSphere? MQ Everyplace)
與套接字通信和消息傳遞技術相比,Web 服務有一些突出的優勢。Web 服務使用可擴展標記語言 (XML) 來傳輸消息(包括結構良好的數據信息),使用簡單對象訪問協議 (SOAP) 來傳輸對象。假如您使用的是套接字通信,則必須完全負責定義要傳輸的數據結構。而且,假如客戶端和服務器是用不同的編程語言編寫的(例如 C++ 和 Java 編程語言),則您的工作量將大大增加——您必須負責數據傳輸和 C++ 和 Java 編程中的編碼細節。
消息傳遞軟件可能是一種解決方案,但假如您所關注的是性能,并且不擔心事務和安全級別,則消息傳遞軟件真的不是一個非常好的選擇。假如使用消息傳遞軟件,您將花大量的時間和精力解決安全問題,并且您的客戶很有可能站在您的門口問:“為什么這么慢?”
我不預備告訴您正確的選擇應該是什么,而給出一些理由來說明為什么 Web 服務可能是一個好的選擇。
其中的一個理由可能是服務器端編程。即使是像 Web 服務這樣好的機制,也仍然由于 XML 處理以及傳輸和接收 SOAP 消息的開銷的原因而不能滿足嚴格的實時處理需求。因此在設計時需要考慮兩個問題:
1.與普通的 HTTP 訪問和專用的消息傳遞方法相比,每次 Web 服務調用的開銷都比較大,所以當您主要考慮性能時,您可能需要首先選擇另一項技術。
2.由于開銷的原因,假如您只需要在應用程序的各層之間進行通信,就不必選擇 Web 服務。例如,不要將 Web 服務放在應用程序的視圖層和控制器層之間。
現在,我假定您已經決定使用 Web 服務。那么,在總體設計方面需要考慮哪些問題?
在決定使用 Web 服務之后
新聞熱點
疑難解答