首 页 | 新 闻 | Symbian | Android| Windows Mobile | J2ME | 下载中心 | 游戏策划招聘与求职 | 购书指南 | 视频教程
您现在的位置: 开发视界 >> J2ME >> 联网开发 >> 正文
解析用于J2ME开发平台的Web服务API(一)
作者:佚名    文章来源:IBM DW C. Enrique Ortiz    更新时间:2006-12-7 17:18:33

用于 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 调用模型


由于调用是按模块进行的,所以您应该把这些调用分派到不同的执行线程中。

相关文章:
在无线J2ME设备上实现http传输
J2ME触摸屏开发
用MMAPI开发手机摄像头程序
J2ME主要标准简介
编写Palm J2ME红外线“聊天”程序
解决J2ME联网时出现的中文乱码问题
MFC以及J2ME开发心得
单例模式的RMS访问类
 

站点地图 | 加入收藏 | 联系站长 | 广告服务 |
QQ:280529124  Tel:0592-8271361 辽ICP备05021703号