长理培训真题库
我的
军队文职考试一本通

基于J2ME平台的SOAP协议研究与应用

2020-02-01 15:32
1 引言 J2ME 作为嵌入式系统应用平台得到了迅速的发展,JAVA 语言固有的平 台无关性使得基于 J2ME 平台的嵌入式应用系统具有广阔的前景。受限于嵌 入式设备及消费类电器硬件条件的限制,J2ME 平台提供的功能有限,如何 能够在有限的资源下拓展 J2ME 的功能,使得 J2ME 平台能够处理 SOAP 协议 是本文研究的重点。 目前企业应用正在向面向 WEB 服务的 SOA 架构转变,嵌入式系统与企 业应用系统的连接目前还处于 TCP/IP 协议、HTTP 协议等比较初级的阶段。 随着企业应用系统提供的 WEB 服务日益广泛和成熟,需要 J2ME 平台提供处 理 SOAP 协议的需求也越来越多。 SOA 架构是目前企业应用系统广泛部署的架构,实现 SOA 的关键问题之 一就是对 SOAP 协议的支持。本文分析了在 J2ME 平台中实现 SOAP 协议处理 遇到的问题,提出了相应的解决方案。 2 j2ME 介绍[1] [2] [3] J2ME(Java 2 Platform Micro Edition)是为无线电子市场所设计的 JAVA 平 台,包括 JVM 规范和 API 规范。J2ME 定义了一套类库和虚拟机技术,这些 技术可以使用户、服务提供商和设备制造商通过物理(有线)连接或无线连接, 按照需要随时使用丰富的应用程序。J2ME 同时提供了 Java 语言一贯的跨平 台性和安全性。 为了支持用户和嵌入式市场提出的灵活性和可定制性要求, J2ME 被设 计得更加模块化和可缩放化。J2ME 在设备原有的操作系统上建造了 3 层软 件来实现这种要求: 1.JVM 层:这层基于宿主操作系统,按照某一种 J2ME 的配置实现了 JVM。 2.配置层:这层对于用户可见度要低一些,但对简表层非常重要。它针 对不同市场的需求,定义了 Java 虚拟机的最小功能集合和 Java 类库的最小 集合。在 J2ME 设备中,JVM 与配置层紧密相连,它们体现了每一类设备的 基本功能。 3.简表层:这层对于用户和应用程序提供者来说是最常见的。它针对特 定市场的需求,定义了 Java 虚拟机的最小功能集合和 Java 类库的最小集合。 J2ME 组件都围绕一个中心,这些中心被称为 configuration(配置),它们 中间的每一个都是用于消费电子和嵌入设备的特别的类。目前配置分为 CLDC 和 CDC 两种。 Connected limited device configuration( 有 限 连 接 设 备 配 置 , 简 称 CLDC)定义支持“devices that you hold in your hand(握在手中的设备)”的应 用 程 序 接 口 和 技 术 , 这 类 设 备 的 代 表 是 PDA 。 Connected device configuration(连接设备配置 CDC )定义支持“devices that you plug into plug into the wall(插入墙的设备)”的应用程序接口和技术,这类设备的代表是机 顶盒。 这两种配置不同的地方就在于它们应用于的装置的能力,CLDC 设备的 处理器能力有限 (与台式机系统比较 ),并且存储器大小一般也只在 128 KB 到 512 KB 之间。CDC 系统不同,它可能有 32 位或 64 位处理器,以及有限 的存储容量,不过它的下限也得超过 512K。 上图解释配置和简表的体系结构。J2ME 的体系结构被横向地分成三层, 纵向分成两部分。配置包括一个控制配置核心类的虚拟机,具体的简表位于 每个配置之上。 简表为相同消费电子设备的不同的生产商提供了标准化的 Java 类库,现 在五个已知简表已经有了规范: Mobile information devices profile (MIDP) 移动电话和呼叫器 CLDC Personal digital assistant profile Palm 和 Handspring 的 PDA 设 备 CLDC Foundation profile 用于所有不需要 GUI 的 CDC 设备的标准简表 CDC Personal profile 替代 PersonalJava 的 Foundation 完善的简表 CDC RMI profile 提供 RMI 的 Foundation 完善的简表 CDC 3 SOAP 协议介绍[4] SOAP(简单对象访问协议)是一种利用 XML 编码数据的数据传输协议。它 是同类协议中要求最低的一个规范,只定义了协议所要求的最关键的部分, 有 意地 忽略 了垃 圾收 集、 对 象 激 活 等方 面的 细节 。 像 TCP/IP 协 议一 样 , SOAP 协议也包括客户端和服务器两个部分。 SOAP 客户端是一种创建 XML 文档的程序,该 XML 文档包含在分布式系 统远程调用方法所需的信息。SOAP 客户端不是传统意义上的程序,它除了 用作普通的桌面应用程序外,还可以是一种 Web 服务器或基于服务器的应 用程序。来自 SOAP 客户端的消息和请求一般是通过 HTTP 发送的。因而, SOAP 文档可以穿过几乎所有的防火墙,从而能跨越不同的平台交换信息。 SOAP 服务器只是用于监听 SOAP 消息的特殊代码,它可用作 SOAP 文档 的分配器和解释器。外部 Web 服务可以与基于 J2EE 技术的应用程序服务器 交互,这种应用程序服务器可以处理多种客户端的 SOAP 请求。 SOAP 定义了数据编码规则,称为基准编码或“Section 5(第 5 节)”编码, 它是出自 SOAP 规范中描述数据编码规则的内容。SOAP 编码可以简短地描 述成简单值或复合值的集合。简单值可以是简单类型,如整型、浮点型和字 符型,或者是 XML 架构规范第 2 部中定义的内置类型,包括各种数据类型, 如字节型数组和枚举。复合值包括结构、数组和 XML 架构制定组定义的复杂 类型。 SOAP 在标准化消息格式环境中,可以做所有它能完成的工作。消息的 主体部分是“text/xml”形式的 MIME 类型,并且包含一个 SOAP 封套。该封 套是一个 XML 文档。封套包含了报头(可选的)和报文(必须有的)。封套的报 文部分总是用于最终接收的消息,而报头项目可以确定执行中间处理的目标 节点。附件、二进制数字及其他项目可以附加到报文上。 SOAP 提供了一种让客户端指定哪个中间处理节点必须处理报头项目的 方法。由于报头与 SOAP 消息的主体内容是互不相关的,所以可用它们给消 息添加信息,而不会影响对消息报文的处理。 4 SOAP 协议在 J2ME 平台中的实现 如何 真正地 将移动 设备 融入到 Web Services 中 去呢 ?这就需要使得 PDA、手机等成为 Web Services 的客户端,因此这些设备至少应该具有处理 XML 信息的能力。在 J2ME 平台中实现 SOAP 客户端的功能,使得嵌入式设 备能够连接企业的 WEB 服务是企业应用中比较常见的需求。J2ME 的基本类 库中没有提供 SOAP 的支持,所以需要在 J2ME 平台中开发实现 SOAP 的处理 功能。 实现 SOAP 协议客户端的关键问题分为两个方面:J2ME 不同配置的数据 类型不一样,导致与 SOAP 协议封装的数据类型不匹配;J2MEJ2ME 平台没有提供 对 XML 文件进行处理的功能。 针对第一个问题,需要注意只能使用基本类型,对不匹配的数据类型采 用使用基本类型复合的方式进行处理。针对第二个问题需要在 J2ME 中扩展 对 XML 文件处理的功能。目前有有两种方法对 XML 文件进行解析。一种是 采用 DOM 的方式,另外一种是采用 SAX 的方式。操作 DOM 是一个与 XML 相互作用的简单方法,通常这个 XML 是一棵完整的 XML 树,被解析成一个 存放在存储器中的节点结构,你可以遍历这棵树。它非常简单易用,但是因 为整棵树存在于存储器中造成存储器的负担,而对于嵌入式系统来说存储器 的资源是有限的,因此这种方法的使用具有一定局限性。第二种方法在捕捉 语法分析事件中,每当语法分析程序遇到数据中的特定结构,它就会遍历 XML 数据,然后把结果发回前面注册的一个事件监听器中。比如说,当语法 分析程序遇到一个起始标记,如,那么事件监听器将接收一个事件,通知它 这个情况,并且向它传递任何所需的信息。相对 DOM 方式的处理,SAX 方 法对存储器的要求比较低,但是效率要比 DOM 方式低。
温馨提示:如果当前文档预览出现乱码或未能正常浏览,请先下载原文档进行浏览。
基于J2ME平台的SOAP协议研究与应用 第 1 页

下载提示

1 该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读

2 除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑修改

3 有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载

4 该文档为会员上传,版权归上传者负责解释,如若侵犯你的隐私或权利,请联系客服投诉

最近更新

热门排行