基于J2ME平台的SOAP协议研究与应用_第1页
基于J2ME平台的SOAP协议研究与应用_第2页
基于J2ME平台的SOAP协议研究与应用_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

J2ME作为嵌入式系统应用平台得到了快速的进展,JAVA语言固有的平台无关性使得基于J2ME平台的嵌入式应用系统具有宽阔的前景。受限于嵌入式设备及消费类电器硬件条件的限制,J2ME平台供应的功能有限,如何能够在有限的资源下拓展J2ME的功能,使得J2ME平台能够处理SOAP协议是本文讨论的重点。

目前企业应用正在向面对WEB服务的SOA架构转变,嵌入式系统与企业应用系统的连接目前还处于TCP/IP协议、HTTP协议等比较初级的阶段。随着企业应用系统供应的WEB服务日益广泛和成熟,需要J2ME平台供应处理SOAP协议的需求也越来越多。

SOA架构是目前企业应用系统广泛部署的架构,实现SOA的关键问题之一就是对SOAP协议的支持。本文分析了在J2ME平台中实现SOAP协议处理遇到的问题,提出了相应的解决方案。

2j2ME介绍[1][2][3]

J2ME(Java2PlatformMicroEdition)是为无线电子市场所设计的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两种。

Connectedlimiteddeviceconfiguration(有限连接设备配置,简称CLDC)定义支持“devicesthatyouholdinyourhand(握在手中的设备)”的应用程序接口和技术,这类设备的代表是PDA。Connecteddeviceconfiguration(连接设备配置CDC)定义支持“devicesthatyouplugintoplugintothewall(插入墙的设备)”的应用程序接口和技术,这类设备的代表是机顶盒。

这两种配置不同的.地方就在于它们应用于的装置的力量,CLDC设备的处理器力量有限(与台式机系统比较),并且存储器大小一般也只在128KB到512KB之间。CDC系统不同,它可能有32位或64位处理器,以及有限的存储容量,不过它的下限也得超过512K。

上图解释配置和简表的体系结构。J2ME的体系结构被横向地分成三层,纵向分成两部分。配置包括一个掌握配置核心类的虚拟机,详细的简表位于每个配置之上。

简表为相同消费电子设备的不同的生产商供应了标准化的Java类库,现在五个已知简表已经有了规范:

Mobileinformationdevicesprofile(MIDP)移动电话和呼叫器CLDC

PersonaldigitalassistantprofilePalm和Handspring的PDA设备CLDC

Foundationprofile用于全部不需要GUI的CDC设备的标准简表CDC

Personalprofile替代PersonalJava的Foundation完善的简表CDC

RMIprofile供应RMI的Foundation完善的简表CDC

3SOAP协议介绍[4]

SOAP(简洁对象访问协议)是一种利用XML编码数据的数据传输协议。它是同类协议中要求最低的一个规范,只定义了协议所要求的最关键的部分,有意地忽视了垃圾收集、对象激活等方面的细节。像TCP/IP协议一样,SOAP协议也包括客户端和服务器两个部分。

SOAP客户端是一种创建XML文档的程序,该XML文档包含在分布式系统远程调用方法所需的信息。SOAP客户端不是传统意义上的程序,它除了用作一般的桌面应用程序外,还可以是一种Web服务器或基于服务器的应用程序。来自SOAP客户端的消息和恳求一般是通过HTTP发送的。因而,SOAP文档可以穿过几乎全部的防火墙,从而能跨越不同的平台交换信息。

SOAP服务器只是用于监听SOAP消息的特别代码,它可用作SOAP文档的安排器和解释器。外部Web服务可以与基于J2EE技术的应用程序服务器交互,这种应用程序服务器可以处理多种客户端的SOAP恳求。

SOAP定义了数据编码规章,称为基准编码或“Section5(第5节)”编码,它是出自SOAP规范中描述数据编码规章的内容。SOAP编码可以简短地描述成简洁值或复合值的集合。简洁值可以是简洁类型,如整型、浮点型和字符型,或者是XML架构规范第2部中定义的内置类型,包括各种数据类型,如字节型数组和枚举。复合值包括结构、数组和XML架构制定组定义的简单类型。

SOAP在标准化消息格式环境中,可以做全部它能完成的工作。消息的主体部分是“text/xml”形式的MIME类型,并且包含一个SOAP封套。该封套是一个XML文档。封套包含了报头(可选的)和报文(必需有的)。封套的报文部分总是用于最终接收的消息,而报头项目可以确定执行中间处理的目标节点。附件、二进制数字及其他项目可以附加到报文上。

SOAP供应了一种让客户端指定哪个中间处理节点必需处理报头项目的方法。由于报头与SOAP消息的主体内容是互不相关的,所以可用它们给消息添加信息,而不会影响对消息报文的处理。

4SOAP协议在J2ME平台中的实现

如何真正地将移动设备融入到WebServices中去呢?这就需要使得PDA、手机等成为WebServices的客户端,因此这些设备至少应当具有处理XML信息的力量。在J2ME平台中实现SOAP客户端的功能,使得嵌入式设备能够连接企业的WEB服务是企业应用中比较常见的需求。J2ME的基本类库中没有供应SOAP的支持,所以需要在J2ME平台中开发实现SOAP的处理功能。

实现SOAP协议客户端的关键问题分为两个方面:J2ME不同配置的数据类型不一样,导致与SOAP协议封装的数据类型不匹配;J2ME平台没有供应对XML文件进行处理的功能。

针对第一个问题,需要留意只能使用基本类型,对不匹配的数据类型采纳使用基本类型复合的方式进行处理。针对其次个问题需要在J2ME中扩展对XML文件处理的功能。目前有有两种方法对XML文件进行解析。一种是采纳DOM的方式,另外一种是采纳SAX的方式。操作DOM是一个与XML相互作用的简洁方法,通常这个XML是一棵完整的XML树,被解析成一个存放在存储器中的节点结构,你可以遍历这棵树。它特别简洁易用,但是由于整棵树存在于存储器中造成存储器的负担,而对于嵌入式系统来说存储器的资源是有限的,因此这种方法的使用具有肯定局限性。其次种方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论