CN101388905A - 一种基于移动设备的简单对象访问协议引擎实现方法 - Google Patents
一种基于移动设备的简单对象访问协议引擎实现方法 Download PDFInfo
- Publication number
- CN101388905A CN101388905A CNA2008101213692A CN200810121369A CN101388905A CN 101388905 A CN101388905 A CN 101388905A CN A2008101213692 A CNA2008101213692 A CN A2008101213692A CN 200810121369 A CN200810121369 A CN 200810121369A CN 101388905 A CN101388905 A CN 101388905A
- Authority
- CN
- China
- Prior art keywords
- service request
- service
- module
- processing module
- soap message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 239000000344 soap Substances 0.000 claims description 62
- 238000012545 processing Methods 0.000 claims description 45
- 230000006835 compression Effects 0.000 claims description 21
- 238000007906 compression Methods 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 10
- 230000006837 decompression Effects 0.000 claims description 7
- 239000000284 extract Substances 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000008878 coupling Effects 0.000 claims description 2
- 238000010168 coupling process Methods 0.000 claims description 2
- 238000005859 coupling reaction Methods 0.000 claims description 2
- 238000010561 standard procedure Methods 0.000 claims description 2
- 230000003068 static effect Effects 0.000 abstract description 4
- 230000003993 interaction Effects 0.000 abstract 2
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 241000309551 Arthraxon hispidus Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及一种基于移动设备的简单对象访问协议引擎实现方法,它是通过对SOAP消息的编码、基于无线网络的压缩传递、本地解压缩、解码、向上和向下投递的方法,实现在移动设备上部署依赖SOAP消息的标准WEB服务和其它服务。本发明的有益效果:本发明使得移动设备可以作为服务器并对外提供标准WEB服务,使得移动设备变成了一个多用户的终端,并由原来的移动设备到静态服务器再到移动设备的交互变成了移动设备之间的交互,真正实现了现在所倡导的P2P模式,是移动领域内提供服务的新方式。
Description
技术领域
本发明涉及移动标准WEB服务领域,特别是涉及一种移动设备的简单对象访问协议引擎实现方法。
背景技术
由于使用了灵活的开放标准,WEB服务成为了现阶段服务提供的绝佳形式。在移动领域,WEB服务已开始与移动电子商务相结合,为用户提供信息咨询、网上购物等越来越丰富的服务。移动设备终端则通常是以服务请求者的角色,消费这些部署在静态服务器上的WEB服务。然而,这种单纯以服务消费为主的模式并不能算是真正意义上的移动领域内的WEB服务。一个完整的WEB服务领域不仅能以服务请求者的角色消费服务,还要能以服务提供者的角色向其它移动或非移动设备提供WEB服务。
随着移动设备性能的日益提高,无线网络技术的日益完善,可以让移动设备在有需要的时候也能作为一个微型服务器提供WEB服务,充当起服务端的角色,使得移动领域内能够具有完整的WEB服务。
简单对象访问协议SOAP是一种标准化的通讯规范,以XML的形式通过HTTP/HTTPS在不同的应用程序之间传递信息,与应用程序的编程语言、平台和硬件无关,是WEB服务的主要组成部分。要让移动设备能以服务提供者的角色提供服务,本质上是要实现一个能部署在移动设备上的高性能SOAP引擎。
目前,国内外对移动设备上的WEB服务的研究基本上是在移动设备作为服务请求端,如何更好的调用部署在静态服务器上的Web服务的层面,没有对移动设备上SOAP引擎的相关研究。
使用SOAP的一个最大缺点是它的跨平台等优点需要额外的信息来维持,这使得它比其它信息交换技术如JAVA-RMI或CORBA需要更多的带宽,这在带宽比较小的无线网络上更是不能容忍的,目前的SOAP压缩技术一般是将SOAP消息直接压缩成二进制码,在基于无线网络的SOAP压缩技术方面的研究比较少。
发明内容
本发明的目的在于克服上述技术的缺陷,而提供一种移动设备的简单对象访问协议引擎实现方法。
本发明的目的是通过以下技术方案来实现的。这种基于移动设备的简单对象访问协议引擎实现方法,包括以下步骤:
(1)在服务请求端,SOAP引擎的服务请求和处理模块将服务请求向下投递给编码模块;
(2)编码模块将接收到的服务请求编码成符合W3C规范的标准SOAP消息的主要节点,再根据标准头节点信息,并结合服务请求端本身的信息编码出SOAP消息的其它节点,最终形成完整的标准SOAP消息,并将其向上投递给服务请求和处理模块;
(3)服务请求和处理模块将接收到的SOAP消息向下投递给压缩模块;
(4)压缩模块将服务请求和处理模块传递来的标准SOAP消息与标准的描述WEB服务的WSDL文件进行比较,求出两者的差值XML,并按照现有压缩XML文件的方法将该差值XML压缩成二进制码,并将其向上投递给服务请求和处理模块;
(5)服务请求和处理模块将压缩SOAP消息形成的二进制码通过无线网络发送给服务提供端;
(6)在服务提供端,SOAP引擎的服务请求和处理模块接收服务请求端传来的二进制码形式的服务请求,并将其向下投递给解压缩模块;
(7)解压缩模块将接收到的二进制码按照与压缩模块相反的方式进行解压缩,还原出原来的差值XML,该差值XML再与标准WSDL文件做匹配,还原出标准的SOAP消息,并将其向上投递给服务请求和处理模块;
(8)服务请求和处理模块将接收到的SOAP消息向下投递给解码模块;
(9)解码模块将解压缩后还原成的标准SOAP消息进行解码,去除其它无关的节点,提取出服务请求端请求的具体WEB服务,然后将提取结果封装成依赖于服务端WEB服务应用程序具体编程语言的对象,并将其向上投递给服务请求与处理模块;
(10)服务请求和处理模块将该对象传递给具体的WEB服务去处理,然后接收服务提供端的响应也就是服务提供端对服务请求的处理结果,并将该结果向下投递给编码模块;
(11)编码模块执行与(2)相同的操作,将结果编码成标准的SOAP消息,并向上投递给服务请求与处理模块;
(12)服务请求与处理模块将接收到的SOAP消息向下投递给压缩模块;
(13)压缩模块执行与(4)相同的操作,将SOAP消息压缩,并向上投递给服务请求与处理模块;
(14)服务请求与处理模块将压缩SOAP消息形成的二进制码通过无线网络发送给服务请求端;
(15)在服务请求端,SOAP引擎执行与(6)到(8)相同的操作,并将解压缩后的SOAP消息向下投递给解码模块;
(16)解码模块将解压缩后还原成的标准SOAP消息进行解码,去除其它无关的节点,提取出服务提供端对它发出的服务请求的处理结果,并将结果向上投递给服务请求与处理模块;
(17)服务请求与处理模块将最终的结果向上投递给服务请求端的应用程序使用,最终完成一个完整的服务请求、服务调用与服务响应的标准过程。
本发明的有益效果:本发明主要是实现一个部署在移动设备上的SOAP引擎同时提供基于无线网络的SOAP消息压缩技术,让移动设备能够对其它终端以服务提供者的角色高效的提供WEB服务,而不仅仅是作为服务请求者去请求WEB服务。它使得移动设备变成了一个多用户的终端,并由原来的移动设备到静态服务器再到移动设备的交互变成了移动设备之间的交互,真正实现了现在所倡导的P2P模式,是移动领域内服务提供的新方式。
附图说明
图1本发明中为基于移动设备的SOAP引擎在服务请求端的处理框架示意图;
图2本发明中为基于移动设备的SOAP引擎在服务提供端的处理框架示意图;
图3本发明中为压缩模块的处理过程示意图;
图4本发明中为解压缩模块的处理过程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述:
本发明按照图1所示的在服务请求端的处理框架和图2所示的在服务提供端的处理框架进行实施。
(1)服务请求和处理模块。
在服务请求端,如图1,对于向服务提供者发送请求,服务请求和处理模块的功能是接收来自上层服务请求的应用程序的服务请求,将其向下投递给编码模块进行编码,生成标准SOAP消息,然后服务请求和处理模块将该消息向下投递给压缩模块进行压缩,最后将压缩好的二进制码经由无线网络发送给服务提供端;对于。对于接收服务提供端的响应,服务请求和处理模块的功能是将响应向下投递给解压缩模块解压缩成标准的SOAP消息,经由解码模块提取出服务提供者的处理结果,并将处理结果向上投递给服务请求的应用程序。
在服务处理端,如图2,它和在服务请求端的功能类似,不同的是它接收的是来自服务请求端的压缩后的服务请求,经过解压缩和解码,向上投递给服务提供端的应用程序,并接收应用程序的处理结果,经过压缩和编码,将压缩好的二进制码经由无线网络发送给服务请求端。
(2)编码模块,该模块的功能是将服务请求端对部署在移动设备上的WEB服务提供端的服务请求或服务提供端对服务请求的处理结果编码成符合W3C规范的标准SOAP消息。首先,通过WSDL文件,生成SOAP消息必要的头节点。然后,对于服务请求,服务请求是一个或多个具体的WEB服务,通常是一个或多个方法和调用这些方法需要的参数。将这些方法封装成一个或多个SOAP节点,节点的名称是方法的名称。同时将参数进行类型映射,按照不同的类型如int类型,String类型,date类型等生成节点的不同属性,这样就生成了一个完整的SOAP节点,再结合头节点,就生成了一个完整的SOAP消息。对于服务响应,编码过程和对服务请求的编码过程类似,相同的是生成头节点和类型映射的过程,不同的是方法的节点名称是方法名称加上Response,例如服务请求的是getUserInfo方法,那么服务响应端的节点名称是<getUserInfoResponse>。
(3)解码模块,该模块是编码的逆过程。对于一个标准的SOAP消息,它首先是一个XML文件,通过建立XML文件的DOM模型,就可以对该SOAP消息进行解析。对于服务请求端,它要对服务提供端的处理结果进行解码,首先寻找名称中有Response的节点,提取节点的属性值,这些属性值是处理结果的类型,将该属性值进行类型映射,就得到基于具体编程语言的类型,例如属性值是string类型,并且服务请求端的应用程序是用Java编写的,那么通过类型映射得到的结果类型就是String类型,如果服务请求端的应用程序使用C++编写的,那么得到的结果类型就是string类型。这样就得到了结果的类型,同时节点值就是处理结果,通过这种解码方式就得到了处理结果的完整信息。
(4)压缩模块,该模块的功能是将SOAP消息压缩成二进制码以便于在带宽有限的无线网络上更快的传播。它的实施方式如图3所示,通常用于服务请求端和服务提供端的SOAP消息的大部分内容是相同的,因此没有必要在压缩的时候把相同的内容也进行压缩。同时WSDL文件提供了SOAP消息的基本框架,每一个SOAP消息可以看作是WSDL文件的一个实例。因此,在进行传统的压缩之前,先将SOAP消息和WSDL文件做一个差值,然后将差值XML文件进行压缩,这样就大大减小了压缩后的文件大小。
(5)解压缩模块,该模块是压缩的逆过程。它的实施方式如图4所示,首先将二进制文件通过传统的方法进行解压缩,得到差值文件,再将该文件与WSDL文件进行匹配,还原出在做差值过程中被减去的那一部分消息,最终得到完整的标准SOAP消息。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要???求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。
Claims (1)
1.一种基于移动设备的简单对象访问协议引擎实现方法,其特征在于:包括以下步骤:
(1)在服务请求端,SOAP引擎的服务请求和处理模块将服务请求向下投递给编码模块;
(2)编码模块将接收到的服务请求编码成符合W3C规范的标准SOAP消息的主要节点,再根据标准头节点信息,并结合服务请求端本身的信息编码出SOAP消息的其它节点,最终形成完整的标准SOAP消息,并将其向上投递给服务请求和处理模块;
(3)服务请求和处理模块将接收到的SOAP消息向下投递给压缩模块;
(4)压缩模块将服务请求和处理模块传递来的标准SOAP消息与标准的描述WEB服务的WSDL文件进行比较,求出两者的差值XML,并按照现有压缩XML文件的方法将该差值XML压缩成二进制码,并将其向上投递给服务请求和处理模块;
(5)服务请求和处理模块将压缩SOAP消息形成的二进制码通过无线网络发送给服务提供端;
(6)在服务提供端,SOAP引擎的服务请求和处理模块接收服务请求端传来的二进制码形式的服务请求,并将其向下投递给解压缩模块;
(7)解压缩模块将接收到的二进制码按照与压缩模块相反的方式进行解压缩,还原出原来的差值XML,该差值XML再与标准WSDL文件做匹配,还原出标准的SOAP消息,并将其向上投递给服务请求和处理模块;
(8)服务请求和处理模块将接收到的SOAP消息向下投递给解码模块;
(9)解码模块将解压缩后还原成的标准SOAP消息进行解码,去除其它无关的节点,提取出服务请求端请求的具体WEB服务,然后将提取结果封装成依赖于服务端WEB服务应用程序具体编程语言的对象,并将其向上投递给服务请求与处理模块;
(10)服务请求和处理模块将该对象传递给具体的WEB服务去处理,然后接收服务提供端的响应也就是服务提供端对服务请求的处理结果,并将该结果向下投递给编码模块;
(11)编码模块执行与(2)相同的操作,将结果编码成标准的SOAP消息,并向上投递给服务请求与处理模块;
(12)服务请求与处理模块将接收到的SOAP消息向下投递给压缩模块;
(13)压缩模块执行与(4)相同的操作,将SOAP消息压缩,并向上投递给服务请求与处理模块;
(14)服务请求与处理模块将压缩SOAP消息形成的二进制码通过无线网络发送给服务请求端;
(15)在服务请求端,SOAP引擎执行与(6)到(8)相同的操作,并将解压缩后的SOAP消息向下投递给解码模块;
(16)解码模块将解压缩后还原成的标准SOAP消息进行解码,去除其它无关的节点,提取出服务提供端对它发出的服务请求的处理结果,并将结果向上投递给服务请求与处理模块;
(17)服务请求与处理模块将最终的结果向上投递给服务请求端的应用程序使用,最终完成一个完整的服务请求、服务调用与服务响应的标准过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101213692A CN101388905B (zh) | 2008-10-09 | 2008-10-09 | 一种基于移动设备的简单对象访问协议引擎实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101213692A CN101388905B (zh) | 2008-10-09 | 2008-10-09 | 一种基于移动设备的简单对象访问协议引擎实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101388905A true CN101388905A (zh) | 2009-03-18 |
CN101388905B CN101388905B (zh) | 2011-09-07 |
Family
ID=40478078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101213692A Expired - Fee Related CN101388905B (zh) | 2008-10-09 | 2008-10-09 | 一种基于移动设备的简单对象访问协议引擎实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101388905B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834848A (zh) * | 2010-03-29 | 2010-09-15 | 北京航空航天大学 | 一种使用xml描述协议的方法及其建立的协议解析系统 |
CN101645785B (zh) * | 2009-04-30 | 2011-12-07 | 中国科学院声学研究所 | 一种基于扩展soap的数据密集型多媒体服务调用方法 |
CN101582916B (zh) * | 2009-06-19 | 2012-07-25 | 武汉钢铁(集团)公司 | 一种基于p2p的网络应用系统及其应用方法 |
CN105141567A (zh) * | 2014-05-26 | 2015-12-09 | 腾讯科技(深圳)有限公司 | 终端应用和服务端的交互数据处理方法及系统、交互方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079889A (zh) * | 2007-06-26 | 2007-11-28 | 中兴通讯股份有限公司 | 数据传输系统及其传输方法 |
-
2008
- 2008-10-09 CN CN2008101213692A patent/CN101388905B/zh not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101645785B (zh) * | 2009-04-30 | 2011-12-07 | 中国科学院声学研究所 | 一种基于扩展soap的数据密集型多媒体服务调用方法 |
CN101582916B (zh) * | 2009-06-19 | 2012-07-25 | 武汉钢铁(集团)公司 | 一种基于p2p的网络应用系统及其应用方法 |
CN101834848A (zh) * | 2010-03-29 | 2010-09-15 | 北京航空航天大学 | 一种使用xml描述协议的方法及其建立的协议解析系统 |
CN101834848B (zh) * | 2010-03-29 | 2013-04-24 | 北京航空航天大学 | 一种使用xml描述协议的方法及其建立的协议解析系统 |
CN105141567A (zh) * | 2014-05-26 | 2015-12-09 | 腾讯科技(深圳)有限公司 | 终端应用和服务端的交互数据处理方法及系统、交互方法 |
CN105141567B (zh) * | 2014-05-26 | 2019-03-01 | 腾讯科技(深圳)有限公司 | 终端应用和服务端的交互数据处理方法及系统、交互方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101388905B (zh) | 2011-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101365125B (zh) | 多路视频通信方法与系统 | |
CN101794298A (zh) | 一种实现页面适配的方法、页面适配系统及通信系统 | |
WO2007028122B1 (en) | Sip header reduction | |
WO2009000119A1 (fr) | Système de transmission de données et son procédé de transmission | |
WO2010000161A1 (zh) | 一种基于即时通讯系统的语音通话方法及装置 | |
CN102111437A (zh) | 一种基于soap扩展的web服务传输压缩方法 | |
CN103379136A (zh) | 一种日志采集数据压缩方法、解压缩方法及装置 | |
CN101388905B (zh) | 一种基于移动设备的简单对象访问协议引擎实现方法 | |
CN100407708C (zh) | 一种即时通讯中音/视频分享的方法和系统 | |
CN108243022A (zh) | 一种网络服务消息传输方法、装置、终端及服务器 | |
US20100146112A1 (en) | Efficient communication techniques | |
WO2018227854A1 (zh) | 语音对讲方法、装置和移动终端 | |
US8918516B2 (en) | Symbiotic client and server for embedded network system | |
WO2022063058A1 (zh) | 基于netconf协议的传输方法、设备及存储介质 | |
EP1614220A1 (en) | State-mediated data signaling used for compression in telecommunication services | |
CN101500210B (zh) | 基于xmpp协议的低传输负载的即时通信方法及其系统 | |
CN101843071B (zh) | 会话发起协议消息有效负荷压缩 | |
CN103503381A (zh) | 设备重定向的数据传输的方法、装置及系统 | |
CN111865957A (zh) | 帧结构及其方法和系统 | |
CN1316748C (zh) | 使用请求-应答通信模式用于数据压缩的通信系统和方法 | |
CN101478616A (zh) | 一种即时语音通信方法 | |
CN106330955B (zh) | 一种即时通讯扩展方法及系统 | |
CN103686208B (zh) | 一种视频云计算传输方法 | |
CN107517202B (zh) | 一种sip信令的二进制化发送和接收方法 | |
CN107835150B (zh) | 一种全媒体客服调度方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110907 Termination date: 20191009 |
|
CF01 | Termination of patent right due to non-payment of annual fee |