简介
WSA 设计用于与 J2ME 配置文件协同工作,J2ME 配置文件要么基于 Connected Device Configuration (CDC),要么基于 Connected Limited Device Configuration (CLDC 1.0 或 CLDC 1.1)。远程调用 API 基于 J2SE 的 Java API for XML-Based RPC (JAX-RPC 1.1) 的一个完整子集,它包含了一些远程方法调用(Remote Method Invocation,RMI)类,以满足 JAX-RPC 依赖。XML 解析 API 基于 Simple API for XML, v2 (SAX2)的一个完整子集。
WSA 的目标是把对 Web 服务调用和 XML 解析的基本支持集成到设备的运行时环境,这样开发人员就不必在每个应用程序中嵌入这样的功能了――在像移动电话和个人数字助理这样资源有限的设备中,这算是一个特别浪费资源的问题。
核心规范
Web Services Interoperability Organization (WS-I) 促进了定义 Web 服务的核心规范和应用层协议,并且它们受 World Wide Web Consortium (W3C) 和 Organization for the Advancement of Structured Information Standards (OASIS) 的指导。4 个关键标准规定了如何创建、部署、发现以及如何使用 Web 服务:
Web 服务标准 描述
Simple Object Access Protocol (SOAP) 1.1 定义了传输和数据编码
Web Services Definition Language (WSDL) 1.1 定义了如何描述远程服务
Universal Description, Discovery, & Integration (UDDI) 2.0 定义了如何发现远程服务
Extensible Markup Language (XML) 1.0 和 XML Schema 定义了可扩展标记语言(Extensible Markup Language ,XML) 和 XML 模式(Schema)
这些主要规范往往非常广泛,而且 Web 服务开发人员已发现难以实现完全互操作性。为了解决标准解释中存在的差异,WS-I 已定义了一组称作 WS-I Basic Profile, version 1.0 的一致性规则。JSR 172 符合基本配置文件(Basic Profile)。
J2ME 平台上的 Web 服务
JSR 172 规定了标准化客户端技术,允许 J2ME 应用程序在典型 Web 服务架构上使用远程服务,如图 1 所示:
图 1 在典型 Web 服务架构上的 J2ME Web 服务
在高层,该 Web 服务架构具有三个元素:
驻留在支持 WSA 无线设备上的网络感知应用程序。该应用程序包括使用 JSR 172 运行库与网络进行通信的 JSR 172 存根。下文将会描述存根和运行库所扮演的角色。
无线网络和 Internet 以及对应的通信和数据编码协议,包括二进制协议、HTTP 以及 SOAP/XML.