解析用于J2ME开发平台的Web服务API |
| 作者:C. Enrique Ortiz 来源:IBM 发布时间:2005-8-6 9:24:13 |
|
用于 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 服务的标准体系结构/组织一致,如下图所示: ![]() 该高级体系结构组织如下: 客户端,Web 服务消费者:它是 J2ME 应用程序,例如 MIDP 或个人版基于框架的应用程序,JSR 172 存根和支持类,以及 JSR 172 运行时。 网络:指的是无线和有线网络以及通信协议,无线和有线网络是 Internet 的一部分。注意 JSR 172 本身没有规定在设备上使用 XML 编码方法,而允许执行程序(只要它们对消费者和生产者是透明的)使用更有效的编码方法,例如在设备和无线网关之间使用二进制协议。 服务器,Web 服务生产者:它是一个 Web 服务器,通常位于防火墙和/或代理网关的后面。该服务器可以访问后台资源。 调用模型和数据流与标准 Web 服务相同: J2ME 应用程序通过 JSR 172 存根和运行时调用远程服务,通常要通过 HTTP 和 SOAP 来进行传输。存根和运行时将与远程服务调用相关的复杂部分都隐藏起来了,包括输入值和返回值如何编码并解码,以及与服务器进行网络通信的管理。方法调用遵循同步请求-应答模型,如下图所示: ![]()
消费 Web 服务 ![]()
|
| [] [返回上一页] [打 印] |
|
文章评论 |



