- 一级建造师考试
- 二级建造师考试
- 三支一扶
- 安全评价师考试
- 保险经纪资格考试
- 报关员资格考试
- 博士入学考试
- 成人高考
- 成人英语三级考试
- 程序员考试
- 出版专业资格考试
- 大学英语三级
- 大学英语四六级考试
- 单证员考试
- 导游证考试
- 电气工程师
- 电子商务设计师考试
- 房地产经纪人考试
- 房地产评估师考试
- 高级会计师资格考试
- 高考
- 高中会考
- 给排水工程师
- 公共英语等级考试
- 公务员考试
- 国际货运代理
- 国际内审师
- 国家司法考试
- 化工师
- 环境影响评价师
- 会计人员继续教育
- 会计职称考试
- 基金从业资格
- 计算机等级考试
- 计算机软件水平考试
- 监理工程师考试
- 教师招聘
- 教师资格
- 结构工程师考试
- 经济师考试
- 考研
- 空姐招聘
- 遴选
- 美术高考
- 普通话考试
- 期货从业资格
- 求职招聘
- 人力资源管理师
- 软件设计师考试
- 商务英语考试(BEC)
- 社会工作者职业水平考试
- 审计师考试
- 事业单位招聘
- 事业单位招聘
- 数据库系统工程师
- 特许公认会计师(ACCA)
- 同等学力
- 统计师考试
- 托福考试(T0EFL)
- 外贸跟单员考试
- 网络工程师考试
- 网络管理员考试
- 网络规划设计师考试
- 系统分析师考试
- 消防工程师
- 小升初
- 校园招聘
- 信息系统管理工程师考试
- 选调生考试
- 雅思考试
- 岩土工程师考试
- 医生招聘
- 艺术高考(艺考)
- 银行从业人员资格
- 银行招聘
- 英语翻译资格考试
- 营销师考试
- 造假工程师考试
- 证券从业资格考试
- 中考
- 注册安全工程师考试
- 注册测绘师考试
- 注册城市规划师考试
- 注册环保工程师考试
- 注册会计师考试
- 注册计量师考试
- 注册建筑师考试
- 注册税务师考试
- 注册资产评估师
- 专升本考试
- 专业英语四级八级考试
- 自考
- 安全员
- 跟单员
- 考试一本通
- 其它资料
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 方式低。
温馨提示:如果当前文档预览出现乱码或未能正常浏览,请先下载原文档进行浏览。
发表评论(共0条评论)
下载需知:
1 该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读
2 除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑修改
3 有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载
4 该文档为会员上传,版权归上传者负责解释,如若侵犯你的隐私或权利,请联系客服投诉
点击加载更多评论>>