李桂菊
摘要:随着异种计算环境的不断增加,而且越来越复杂,面对系统之间互操作性问题,对系统能够进行通信和共享数据提出了更高的要求,从而在 Internet 环境下,实现信息的快速传递与共享。为解决此问题,在某省的ADC系统中,我们采用简单对象访问协议(Simple Object Access Protocol,SOAP),实现与各类业务系统的无缝集成。本文主要阐述SOAP协议在某省ADC平台中的应用。
关键词:简单对象访问协议SOAP 应用数据中心ADC 系统集成商SI
1 概述
随着移动互联网和智能终端的发展,企业对办公信息化提出了新的需求,希望借助移动互联网和智能终端实现内部应用系统的移动信息化,为企业在激烈的市场竞争中赢得先机。20世纪90年代,我国相继启动了以金关、金卡和金税为代表的重大信息化应用工程。党的十六大进一步作出了以信息化带动工业化、以工业化促进信息化的战略部署。国家的信息化发展战略为中国移动推动信息化指明了方向。某省移动公司结合自身优势,为不具备OA、邮件、ERP等信息化系统的客户提供基于移动终端的托管式信息化应用服务,制定一套可行的行业解决方案,命名为ADC(Application Data Center,应用数据中心)。提供包括企业宣传、移动办公、生产控制等在内的专业服务。
2 ADC系统结构
ADC平台和SI(System Integrator,系统集成商)应用系统共同组成ADC系统。通常情况下,ADC平台作为运营平台为中小企业信息化应用提供服务,进而支撑SI系统的接入、管理和运营,对外连接行业网关、BOSS,以及网管系统等。SI为中国移动引入的合作伙伴,具有成熟的产品及技术能力,能够提供各种类型的产品及方案。
ADC平台通过业务系统接口层,实现业务开通关闭、用户授权数据和计费信息同步功能。由于SI应用系统的异构性在业务系统接口层中,我们采用简单对象访问协议(Simple Object Access Protocol,SOAP)实现异构计算机环境下的数据通信和信息共享。
3 SOAP的应用
3.1 SOAP协议
SOAP(Simple Object Access Protocol),是简单对象访问协议,其特点是轻量、简单、基于XML的协议,通常情况下在WEB上被用于交换结构化和固化的信息。可以和现存的超文本传输协议(HTTP)、简单邮件传输协议(SMTP)等多种因特网协议和格式进行结合使用。支持从消息系统到远程过程调用(RPC)等大量的应用程序。
SOAP协议主要包含:封装、编码规则、RPC三部分。封装描述消息的具体内容,由谁处理以及是否可选等;编码规则对一种序列化的机制进行了定义,通过编码将程序对象转换成XML对象;RPC表示执行远程调用(RPC,RemoteProcedureCall)的约定。三个部分作为SOAP一个整体定义,在功能上是相交的、彼此独立的。信封和编码规则是被定义在不同的XML命名空间(namespace)中,这样使得定义更加简单。
把SOAP与HTTP进行绑定,对SOAP的样式和分散的灵活性特点和HTTP丰富的特征库优点进行整合。在HTTP上传送SOAP,并不是说SOAP对现有的HTTP语义进行覆盖,而是HTTP上的SOAP语义会映射到HTTP语义上。将HTTP作为协议绑定使用时,RPC与HTTP之间隶属请求与答应的关系。然而,在RPC上使用SOAP,一方面不局限于HTTP协议绑定,另一方面也可以绑定到TCP和UDP协议上。
3.2 接口描述
在ADC系统中,我们通过采用WSDL(WebServicesDescriptionLanguage,Web服务描述语言)对接口进行描述。WSDL作为一种XML语言,主要对Web服务的属性进行定义以及对其进行调用。通常情况下,一个服务接口和一个服务实现文档共同组成一个完整的WSDL服务描述。通过对Web服务的WSDL文档进行查阅,开发者可以知道Web提供了哪些方法,以及如何通过正确的参数对他们进行调用。因为服务接口的完整描述在WSDL中已经包含,所以,服务访问的存根我们可以通过使用WSDL的创建进行简化,该存根为一段Java代码,自动生成了访问Web服务的类。
3.3 消息格式
通过对消息进行SOAP封装,其传输方向是从发送端到接收端。所有的SOAP消息都使用XML编码。在系统中所描述的所有消息,是基于图2所示的层次进行封装。
消息头和消息体在xml中的表现形式如下:
3.4 消息完整性
消息完整性是指确保通信过程中消息的完整和真实可信。通过采用强有力的数字签名技术、加密技术、公钥基础结构等确保消息的完整性,进而保证文档的真实性、完整性和受认可性。
通过数字签名可以保证消息从端到端的完整性,一方面提供消息发件人的验证信息,另一方面在最终使用和处理消息时对签名进行验证。借助数字签名对消息内容进行完整性检查,如果修改原始内容的某个字节,那么验证签名就会失败。
3.5 消息安全性
为保证消息的不可阅读性,采用DES加密。加密算法形如:Base64(DES(MD5(消息体)+消息體))。在ADC系统中,制定了DES加密算法规则。如:限制密钥长度、加密模式、密文和明文的编码转换等。
4 实施效果
某省ADC系统建设运营后,先后成功地接入企业邮箱、移动OA、农信通、校讯通、行业手机报、G3商街等业务20多种,受众用户达几百万。企业充分利用移动智能终端的网络优势,可以方便、快捷地处理事务,提高了办事效率。SOAP技术的引用,解决了系统之间的兼容问题,实现不同平台、不同数据格式和多种连接方式的支持。在通信过程中加强企业信息的安全保障。
5 结论
基于SOAP的Web服务通过Internet协议和XML格式的SOAP来实现网络服务的访问,具有跨平台、跨语言的优点,但是没有任何技术可以解决一切问题,SOAP技术也不例外,它不会取代其他分布式计算机技术(例如RMI、CORBA及DCOM)。当前,Web服务的若干技术SOAP、WSDL以及UDDI都在不断发展和完善中,基于SOAP的Web服务技术必将在应用系统整合方面发挥越来越重要的作用。
参考文献:
[1]杨涛.SOAP:XML跨平台WebService开发技术[M].机械工业出版社,2002.
[2]中国移动,ADC总体技术要求1.0.0[S].
[3]中国移动,ADC与SI应用系统接口规范V1.0.0[S].