程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> 解析用於J2ME開發平台的Web服務API(一)

解析用於J2ME開發平台的Web服務API(一)

編輯:J2ME

用於 Java 2 平台袖珍版 (Java 2 Platform, Micro Edition,J2ME) 的 Web 服務 API (WSA) 是由 Java Community Process 為 Java 規范請求 172 (JSR 172) 而定義的,這些 API 是兩個相互獨立的可選包,用於遠程服務調用和 XML 解析。

他們是針對基於連接設備配置 (Connected Device Configuration,CDC) 和有限連接設備配置 (Connected Limited Device Configuration,CLDC 1.0 和 CLDC 1.1) 的框架的。為什麼用戶應該關注這些呢?因為 JSR 172 在設備層為遠程服務調用和 XML 解析提供了支持,也就意味著開發人員不用將這項功能嵌入到每一個應用程序中。本文介紹了遠程服務調用可選包 API。

J2ME 中的 Web 服務

Java 2 平台袖珍版 (J2ME) 平台中的 Web 服務是由 Java 規范請求 172 (JSR 172) 定義的,它與標准 Web 服務遵循同樣的規范、結構以及調用模型。我們來回顧一下清單。

與標准 Web 服務的比較 JSR 172 Web 服務 API (WSA) 遵循下面這些核心 Web 服務規范:

簡單對象訪問協議 (SOAP) 1.1,定義傳輸和數據編碼。
Web 服務定義語言 (WSDL) 1.1,定義如何描述遠程服務。
XML 1.0,定義 XML 標記語言。
XML Schema,毫無疑問,定義 XML 模式。
注意 JSR 172 不支持統一描述、發現和集成 (UDDI) 2.0 規范,該規范定義了如何發現遠程服務。

由於有相當多的與 Web 服務相關並且涵蓋了不同技術的規范出台,而且越來越多,Web 服務互操作組織 (WS-I) 定義了 WS-I 基本概要 1.0 (WS-I Basic Profile,Version 1.0) 來定義 Web 服務規范的最小集,和一致性規則一樣,所有的基礎 Web 服務提供者和消費者都必須遵守該概要。JSR 172 規范也遵守 WS-I 基本概要。

與標准 Web 服務具有相同的體系結構:

JSR 172 WSA 從客戶端訪問 Web 服務,從服務-消費者的角度來看,WSA 提供遠程服務調用 API (JAX-RPC) 以及運行時環境,從而允許 J2ME 應用程序在 Web 上消費服務,而不是作為服務生產者(端點)來運行。除了這一點差別之外,JSR 172 WSA 體系結構的其它部分與 Web 服務的標准體系結構/組織一致,如下圖所示:

圖 1 - WSA 高級體系結構


該高級體系結構組織如下:

客戶端,Web 服務消費者:它是 J2ME 應用程序,例如 MIDP 或個人版基於框架的應用程序,JSR 172 存根和支持類,以及 JSR 172 運行時。

網絡:指的是無線和有線網絡以及通信協議,無線和有線網絡是 Internet 的一部分。注意 JSR 172 本身沒有規定在設備上使用 XML 編碼方法,而允許執行程序(只要它們對消費者和生產者是透明的)使用更有效的編碼方法,例如在設備和無線網關之間使用二進制協議。

服務器,Web 服務生產者:它是一個 Web 服務器,通常位於防火牆和/或代理網關的後面。該服務器可以訪問後台資源。

調用模型和數據流與標准 Web 服務相同: J2ME 應用程序通過 JSR 172 存根和運行時調用遠程服務,通常要通過 HTTP 和 SOAP 來進行傳輸。存根和運行時將與遠程服務調用相關的復雜部分都隱藏起來了,包括輸入值和返回值如何編碼並解碼,以及與服務器進行網絡通信的管理。方法調用遵循同步請求-應答模型,如下圖所示:


圖 2 - JSR 172 調用模型


由於調用是按模塊進行的,所以您應該把這些調用分派到不同的執行線程中。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved