龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

详解J2ME的Web服务API(1)

时间:2013-03-06 14:58来源:未知 作者:admin 点击:
分享到:
你对J2ME的Web服务API是否了解,这里和大家分享一下,Java2平台袖珍版(J2ME)平台中的Web服务是由Java规范请求172(JSR172)定义的,它与标准Web服务遵循同样的规范、结构以及调用模型。 J2ME的

你对J2ME的Web服务API是否了解,这里和大家分享一下,Java2平台袖珍版(J2ME)平台中的Web服务是由Java规范请求172(JSR172)定义的,它与标准Web服务遵循同样的规范、结构以及调用模型。

J2ME的Web服务API讲解

用于Java2平台袖珍版(Java2Platform,MicroEdition,J2ME)的Web服务API(WSA)是由JavaCommunityProcess为Java规范请求172(JSR172)而定义的,这些API是两个相互独立的可选包,用于远程服务调用和XML解析。他们是针对基于连接设备配置(ConnectedDeviceConfiguration,CDC)和有限连接设备配置(ConnectedLimitedDeviceConfiguration,CLDC1.0和CLDC1.1)的框架的。为什么用户应该关注这些呢?因为JSR172在设备层为远程服务调用和XML解析提供了支持,也就意味着开发人员不用将这项功能嵌入到每一个应用程序中。本文介绍了远程服务调用可选包API。

J2ME中的Web服务

Java2平台袖珍版(J2ME)平台中的Web服务是由Java规范请求172(JSR172)定义的,它与标准Web服务遵循同样的规范、结构以及调用模型。我们来回顾一下清单。

与标准Web服务的比较

JSR172Web服务API(WSA)遵循下面这些核心Web服务规范:

简单对象访问协议(SOAP)1.1,定义传输和数据编码。

Web服务定义语言(WSDL)1.1,定义如何描述远程服务。

XML1.0,定义XML标记语言。

XMLSchema,毫无疑问,定义XML模式。

注意JSR172不支持统一描述、发现和集成(UDDI)2.0规范,该规范定义了如何发现远程服务。

由于有相当多的与Web服务相关并且涵盖了不同技术的规范出台,而且越来越多,Web服务互操作组织(WS-I)定义了WS-I基本概要1.0(WS-IBasicProfile,Version1.0)来定义Web服务规范的最小集,和一致性规则一样,所有的基础Web服务提供者和消费者都必须遵守该概要。JSR172规范也遵守WS-I基本概要。

与标准Web服务具有相同的体系结构:

JSR172WSA从客户端访问Web服务,从服务-消费者的角度来看,WSA提供远程服务调用API(JAX-RPC)以及运行时环境,从而允许J2ME应用程序在Web上消费服务,而不是作为服务生产者(端点)来运行。除了这一点差别之外,JSR172WSA体系结构的其它部分与Web服务的标准体系结构/组织一致,如下图所示:

WSA高级体系结构

该高级体系结构组织如下:

客户端,Web服务消费者:它是J2ME应用程序,例如MIDP或个人版基于框架的应用程序,JSR172存根和支持类,以及JSR172运行时。
网络:指的是无线和有线网络以及通信协议,无线和有线网络是Internet的一部分。注意JSR172本身没有规定在设备上使用XML编码方法,而允许执行程序(只要它们对消费者和生产者是透明的)使用更有效的编码方法,例如在设备和无线网关之间使用二进制协议。
服务器,Web服务生产者:它是一个Web服务器,通常位于防火墙和/或代理网关的后面。该服务器可以访问后台资源。
调用模型和数据流与标准Web服务相同:

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

图2-JSR172调用模型

JSR172调用模型

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

精彩图集

赞助商链接