选择显示字体大小

解析用于j2me开发平台的web服务api

他们是针对基于连接设备配置 (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 运行时。

网络:指的是无线和有线网络以及通信协议,无线和有线网络是 inte.net 的一部分。注意 jsr 172 本身没有规定在设备上使用 xml 编码方法,而允许执行程序(只要它们对消费者和生产者是透明的)使用更有效的编码方法,例如在设备和无线网关之间使用二进制协议。

服务器web 服务生产者:它是一个 web 服务器,通常位于防火墙和/或代理网关的后面。该服务器可以访问后台资源。

调用模型和数据流与标准 web 服务相同: j2me 应用程序通过 jsr 172 存根和运行时调用远程服务,通常要通过 http 和 soap 来进行传输。存根和运行时将与远程服务调用相关的复杂部分都隐藏起来了,包括输入值和返回值如何编码并解码,以及与服务器进行网络通信的管理。方法调用遵循同步请求-应答模型,如下图所示:



图 2 - jsr 172 调用模型



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

消费 web 服务

要消费 web 服务,您必须首先创建服务调用存根。让这些存根来执行任务,例如对输入值和返回值进行编码和解码、与 jsr 172 运行时交互来调用远程服务端点。存根通过运行时的服<-- copyright 1999-2000 thruport technologies http://www.thruport.com --><-- end dynamic banner insert -->务提供者接口 (spi) 与运行时进行交互,这样通过概述运行时执行的详细情况,使存根在不同厂商之间的执行更便捷。

存根通常是用工具生成的,该工具读取一个 wsdl xml 文档,文档描述了将要使用到的 web 服务。同样的,wsdl 文档通常也是通过工具生成的,该工具读取接口定义,例如 java 接口产生了 wsdl 文档。

从我们移动开发的角度来看,需要消费的 wsdl 文档通常已经存在,您需要做的仅仅是生成 jsr 172 wsa 存根。要生成这些存根,您应该使用例如 j2me wireless toolkit 2.1 存根生成器这样的工具,如下图所示:



图 3 - 生成 jsr 172 wsa 存根



该生成器生成存根 java 文件,以及相关的支持类。如下一部分所描述的,它还考虑到了 wsdl 到 java 的数据类型映射。

一旦生成了 jsr 172 jax-rpc 存根和支持文件,您的应用程序就已经被编译并部署到启用了 jsr 172 的设备上了,消费 web 服务是很简单的而且几乎是透明的。您很快就会看到,调用远程方法几乎和调用本地方法一样简单。

jsr 172 jax-rpc 子集 api jsr 172 远程方法调用 api 是以基于 xml 的 rpc 的 j2se java api (jax-rpc 1.1) 的子集为基础的。它同样遵守 ws-i 基本概要。下面来详细研究一下 jsr 172 jax-rpc 子集 api:

[1] [2]  下一页


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons