行业应用分析平台与应用系统接口规范 v10.docx
《行业应用分析平台与应用系统接口规范 v10.docx》由会员分享,可在线阅读,更多相关《行业应用分析平台与应用系统接口规范 v10.docx(11页珍藏版)》请在冰豆网上搜索。
![行业应用分析平台与应用系统接口规范 v10.docx](https://file1.bdocx.com/fileroot1/2022-10/26/831f0ec4-ede6-48b5-a3c0-46627f056baf/831f0ec4-ede6-48b5-a3c0-46627f056baf1.gif)
行业应用分析平台与应用系统接口规范v10
行业应用分析平台与应用系统接口规范
哈尔滨贯中网络科技有限公司
Allrightsreserved
版权所有XX
RevisionRecord修订记录
Date
日期
RevisionVersion
修订
版本
ChangeDescription
修改描述
Author
作者
2009-8-31
1.0
初稿
孟灵敏
Catalog目录
1
总体概述
1.1起草单位
本文档的起草单位为哈尔滨贯中网络科技有限公司。
1.2说明
为了帮助SI开发可接入行业应用分析平台的应用,特制定本规范。
本规范规定了SI系统与行业应用分析平台之间的应用层的接口及协议。
规范说明了在开通、使用中小企业信息化应用业务过程中行业应用分析平台与SI系统交互的流程,并对流程中涉及的接口进行了定义。
本规范用于指导SI应用系统与行业应用分析平台接口的实现,SI向行业应用分析平台发起和接收请求的接口都应遵从该规范。
1.3名词解释
1.3.1CAA
CAA:
CustomerApplicationAnalysisPlatform(客户应用分析),CAA是贯中网络为运营商提供的中小企业信息化平台产品,即CAA平台。
1.3.2SI系统
SI:
ServiceIntegrator(应用服务集成商),运营商的主要合作伙伴之一,可以提供各种类型的企业信息化的产品及方案,具有成熟的产品及技术能力。
1.3.3业务注册码
SI系统分配给企业的代码,业务注册码标识一个企业的某一指定业务的注册码,便于SI管理自己的业务系统。
业务注册码由SI业务系统生成,同时需要同步到CAA平台。
2CAA平台与SI系统接口定位
CAA平台与SI业务接口
3CAA平台与SI系统接口协议
3.1基本协议
双方的消息交互采用FTP和SOAP混合接口。
FTP(FileTransferProtocol),是文件传输协议的简称,用于Internet上的控制文件的双向传输;SOAP(SimpleObjectAccessProtocol,简单对象访问协议)是一个可以运行在任何传输协议上的轻量级协议,它包含三个方面:
XML-envelop为描述信息内容和如何处理内容定义了框架;将程序对象编码成为XML对象的规则;执行远程调用(RPC,RemoteProcedureCall)的约定。
FTP接口用于大数据量数据的传输,如日志及报表等数据的上传。
基础数据的传输使用SOAP接口。
SOAP接口承载于HTTP协议之上。
3.2接口描述
我们用WSDL(WebServicesDescriptionLanguage)来对接口进行描述。
WSDL是用来定义Web服务的属性以及如何调用它的一种XML语言。
一个完整的WSDL服务描述是由一个服务接口和一个服务实现文档组成的。
通过查阅Web服务的WSDL文档,开发者可以知道Web提供了哪些方法和如何用正确的参数调用他们。
因为WSDL包含了对服务接口的完整描述,所以我们可以使用它来创建能简化服务访问的存根,该存根为一段Java代码(假设使用Java),它自动生成了访问Web服务的类。
如果我们需要访问Web服务,只需调用该类中对应的方法即可,而不用在客户端程序中再写入配置信息。
3.3消息格式
本文所描述的所有消息,都基于下图所示的层次进行封装:
以下是企业绑定消息进行封装后的完整数据示例:
POST/IfAPServiceHTTP/1.0
Content-Type:
text/xml;charset=utf-8
Accept:
application/soap+xml,application/dime,multipart/related,text/*
Host:
218.203.7.253:
80
Cache-Control:
no-cache
Pragma:
no-cache
SOAPAction:
""
Content-Length:
1517
Envelopexmlns:
soapenv="http:
//schemas.xmlsoap.org/soap/envelope/"
xmlns:
xsd="http:
//www.w3.org/2001/XMLSchema"
xmlns:
xsi="http:
//www.w3.org/2001/XMLSchema-instance">
Body>
corpBindingsoapenv:
encodingStyle="http:
//schemas.xmlsoap.org/soap/encoding/"
xmlns:
ns1="">
type="soapenc:
string"xmlns:
soapenc="http:
//schemas.xmlsoap.org/soap/encoding/">
协议数据单元PDU
corpBinding>
Body>
Envelope>
所有的协议数据单元PDU都是xml格式的字符串,由如下表的消息头和消息体组成:
PDU组成
描述
MessageHeader
消息头
MessageBody
消息体
消息头和消息体在xml中的表现形式如下:
xmlversion="1.0"encoding="UTF-8"?
>
消息头属性一
消息头属性二
消息头属性三
加密后的消息体
未加密的消息体也是一个的完整的xml文件,如下例所示:
xmlversion="1.0"encoding="UTF-8"?
>
消息体属性一
消息体属性二
消息体属性三
消息体的加密算法为:
Base64(DES(MD5(消息体)+消息体))。
在第4章节中对消息格式的描述,都是指对协议数据单元的描述。
3.4消息完整性
数字签名使用强大的加密技术和公钥基础结构,以更好地保证文档的真实性、完整性和受认可性。
数字签名可以提供端到端的消息完整性保证,可以提供有关消息发件人的验证信息,可以在最终使用和处理消息时对签名进行验证。
数字签名对消息内容提供完整性检查,如果原始内容的某个字节已经被修改,那么签名验证将失败。
数字签名算法:
MD5(消息体)。
3.5消息安全性
Des加密保证消息的不可阅读性。
对消息的加密算法:
Base64(DES(MD5(消息体)+消息体))
消息采用的DES加密算法规则如下:
1.密钥是一个长度16、由16进制字符组成的字符串,如:
1234567890ABCDEF
使用时,相临的两位理解为一个16进制数的明文,然后转换为实际使用的8位密钥
2.待加密数据按照PKCS5规则进行补位。
(缺7位补7个0x07,缺6位则补6个0x06,以次类推,如果正好8位,也需要补8个0x08)
3.实际加密模式选择DES-ECB
4.经过DES加密后的数据必须通过Base64编码转换为明文的字符串
3.6接口调用方法(java实现)
1.假设提供soap接口的服务端地址为”http:
//192.168.0.5:
808/IfSoapDemo”
2.访问WEB地址”http:
//192.168.0.5:
808/IfSoapDemo?
wsdl”获得wsdl文档
3.假定文档中说明该调用接口的类方法Stringdo(Stringsmg)
4.Java中调用该接口的简单示例代码如下:
try{
Stringendpoint="http:
//192.168.0.5:
808/IfSoapDemo";
org.apache.axis.client.Serviceservice=neworg.apache.axis.client.Service();
org.apache.axis.client.Callcall=null;
call=(org.apache.axis.client.Call)service.createCall();
call.setOperationName(newjavax.xml.namespace.QName(endpoint,"do"));
call.setTargetEndpointAddress(new.URL(endpoint));
Stringsmg=“testParameter”;
Stringret=(String)call.invoke(newObject[]{smg});
}
catch(ServiceExceptionex)
{
ex.printStackTrace();
}
5.用JBuilder等集成开发环境可以更加方便的生成相关调用代码。
4CAA平台与SI系统接口描述
4.1SOAP接口
4.1.1注册登记接口
用户安装SI业务系统后,在用户初次访问业务系统时业务系统应调用CAA平台提供的注册登记接口。
将SI业务系统的使用用户信息提交之CAA平台。
RegisterReq鉴权请求消息
参数标识
RegisterReq
消息格式
xmlversion="1.0"encoding="UTF-8"?
>
消息标志
消息序列号
时间戳
业务代码
加密后的消息体
名称
说明
数据类型
长度(字节)
CODE
消息标志:
register
String
32
SID
消息序列号,自行生成
Long
--
TIMESTAMP
系统时间戳:
YYYMMDDHHmmssnnnn
String
24
SERVICEID
业务代码
String
32
未加密的消息体格式
消息体格式
xmlversion="1.0"encoding="UTF-8"?
>
企业名称
企业序列号
企业注册码
企业IP地址
企业IP地址
登记用户数
名称
说明
数据类型
长度(字节)
ENTNAME
企业名称
String
32
SERIALNO