《管理信息化某市移动中小企业信息化平台接口规范》由会员分享,可在线阅读,更多相关《管理信息化某市移动中小企业信息化平台接口规范(61页珍藏版)》请在金锄头文库上搜索。
1、苏州移动中小企业信息化平台接口规范版本履历版本号.修订日期修订人审核人修改内容V1.52009-10-27罗海平V1.62009-10-29宋凯1. 2.3.1.4 增加了参数 ParamMap。 增加只有针对特殊产品才传入OrderCode的参数2. 删除了原2.3.6 ISV业务健康检查章节3. 增加新的章节 【产品业务期限查询接口】V1.612009-11-26冯宇梁1. 1.企业业务受理接口(ISV10101)增加只有针对特殊产品才传入OrderCode的参数目 录1General Summary(总体规范)21.1.技术方案21.2.接口协议21.2.1.基本协议21.2.2.消息格
2、式21.3.消息安全性31.3.1.数据安全31.3.2.加密算法41.3.3.密钥处理41.3.4.网络安全52Interface Specification(接口描述)52.1SaaS接口概述52.2SaaS管理平台提供ISV应用系统接口(ISV应用系统SaaS管理平台)72.2.1SSO鉴权接口72.2.2SSO心跳接口102.2.3客户端登录接口112.2.4产品访问鉴权接口132.2.5企业信息接口152.2.6企业员工信息接口172.2.7企业部门信息接口202.2.8企业通讯录信息接口232.2.9ISV消息通知接口252.3ISV应用系统提供SaaS管理平台接口(SaaS管理平
3、台ISV应用系统)272.3.1企业客户业务受理接口272.3.2企业客户员工业务受理接口312.3.3角色列表同步(读取)接口342.3.4用户角色权限同步(读取)接口362.3.5用户角色权限同步(更新)接口382.3.6产品业务期限查询接口40附录一:PDU通用HEAD(消息头)1附录二:数据类型1附录三:消息类型1附录四:算法说明5附录五:接口WSDL6General Summary(总体规范)1.1. 技术方案本系统对外集成通信接口采用WebService技术作为SaaS平台与外部各系统之间的主要通信接口。1.2. 接口协议1.2.1. 基本协议双方的消息交互采用SOAP(Simpl
4、e Object Access Protocol,简单对象访问协议)协议。1.2.2. 消息格式所有的协议数据单元PDU(Protocol Data Unit)由如下表的消息头和消息体组成: PDU组成描述Message Head消息头Message Body消息体完整的消息格式如下例所示:消息头属性一消息头属性二消息头属性三加密后的消息体其中未加密的消息体格式,如下例所示:消息体属性一消息体属性二消息体属性三1.3. 消息安全性1.3.1. 数据安全采用DES算法对数据进行加密。DES加密只针对消息体,对消息头不加密。不同的ISV应用系统采用不同的密钥对本系统向SaaS管理平台发送的消息进行
5、加密。各个ISV应用系统的密钥由SaaS平台管理员在SaaS管理平台上设定新密钥的启用时间,SaaS系统自动生成新密钥;密钥生成后,SaaS平台管理员通过线下的方式给到ISV应用系统,ISV应用系统进行配置。SaaS和ISV应用系统在新密钥启用时间到来时同时启用新的密钥。SaaS管理平台接收到ISV应用系统的消息后,根据消息头中的AppID获取对应ISV应用系统的密钥后,即可对消息体进行解密。SaaS管理平台向ISV应用系统发送消息时,根据该应用系统对应的密钥对消息体进行加密。ISV应用系统接收到SaaS管理平台发送的消息后可直接采用自身的密钥对消息体解密。:对于特殊情况,ISV也可以选择不加
6、密消息,直接传送明文。1.3.2. 加密算法具体消息体的加密算法为:Base64(DES(MD5(消息体) + 消息体)1.3.3. 密钥处理对于Key,做如下处理:n Key与IV一致n Key的长度为64bitn Key的格式为:ODD(MD5(Key)u 对Key进行MD5 hashu 对hash值取奇数位子串经过上述处理的Key,再对消息体进行加密或解密。 算法示例: public static string DESEncrypt(string data, string key) if(String.IsNullOrEmpty(data) | string.IsNullOrEmpty(
7、key)throw new ArgumentNullException(The params cannt be null.);DES des = DES.Create();MD5 md5Hasher = MD5.Create();byte keyHashBytes = md5Hasher.ComputeHash(Encoding.UTF8.GetBytes(key);byte keyBytes = ArrayUtil.GetOddArray(keyHashBytes);byte ivBytes = ArrayUtil.GetOddArray(keyHashBytes);/IV is same
8、as KeyMemoryStream memoryStream = new MemoryStream();CryptoStream cryptoStream = new CryptoStream(memoryStream, des.CreateEncryptor(keyBytes, ivBytes), CryptoStreamMode.Write);StreamWriter writer = new StreamWriter(cryptoStream);writer.Write(data);writer.Flush();cryptoStream.FlushFinalBlock();writer
9、.Flush();return Convert.ToBase64String(memoryStream.GetBuffer(),0,(int)memoryStream.Length); 1.3.4. 网络安全SaaS管理平台接口采用如下的手段保证和ISV应用系统之间通信的网络安全:IP鉴权及业务应用ID控制列表。1. ISV应用系统接入SaaS管理平台时需提供其业务系统出访IP和URL(根据其业务特性确定)2. SaaS管理平台为ISV应用系统的每一个业务分配一个全局唯一的业务应用ID3. SaaS管理平台侧防火墙配置安全策略,只有有效的IP和业务应用ID才能访问SaaS管理平台4. ISV应
10、用系统端配置相应策略,以拒绝非SaaS管理平台的接口调用Interface Specification(接口描述)1.1 SaaS接口概述SaaS接口提供两个webmethod的webservice供ISV调用:ResponseInfo SaaSISVInterface(RequestInfo req)和String SaaSISVInterfaceXMLString(String strXML),两个方法的功能一样,只是参数和返回类型不同。ISV可以选择使用其中的一个方法来调用接口,具体的功能和返回信息由消息头的操作码:操作码决定,也就是说接口调用只有一个入口。反之,ISV提供给SaaS调用
11、的接口也一样,只有一个入口,两个方法为:ResponseInfo ISVSaaSInterface(RequestInfo req)和String ISVSaaSInterfaceXMLString(String strXML)。:1.如果是非dotnet的应用请尽量实现字符串方法,以减少信息对象在不同平台之间转换带来的风险。2.ISV实现接口时方法名称必须和本文档描述的一致(ISVSaaSInterface 和ISVSaaSInterfaceXMLString)。另外,平台还支持URL(网页)方式的接口,ISV可以直接向该一个URL地址POST数据,在返回流(Response)中就是满足接口
12、规范接口的返回信息。具体的Request信息格式为:Msg“XML文件的字符串”,Response的格式就是本规范中描述的返回消息格式。SaaS和ISV的应用系统可以看做是接口的两个相关人。他们各自需要提供接口供对方消费。SaaS管理平应提供如下接口供ISV调用:l SSO鉴权接口l SSO心跳接口l 客户端登录接口l 产品访问鉴权接口l 企业信息接口l 企业员工信息接口l 企业部门信息接口l 企业通讯录信息接口l ISV消息通知接口ISV应用系统应提供如下接口供SaaS调用:l 企业客户业务受理接口l 企业客户员工业务受理接口l 角色列表同步(读取)接口l 用户角色权限同步(读取)接口l 用
13、户角色权限同步(更新)接口1.2 SaaS管理平台提供ISV应用系统接口(ISV应用系统SaaS管理平台)1.2.1 SSO鉴权接口1.2.1.1 接口描述用户使用ISV应用系统之前,首先需要登录SaaS管理平台。登录成功后,SaaS管理平台为用户生成平台访问身份认证Token(令牌)。用户在访问平台中各ISV应用系统时,各ISV应用系统将通过本接口对访问者进行统一的Token认证。以便对用户进行统一的SSO鉴权认证。1.2.1.2 交互流程1 用户先登录SaaS平台, 再从SaaS平台提供的入口访问ISV应用a) 用户输入帐号和密码登录到SaaS管理平台,SaaS管理平台为用户产生Token
14、。b) 用户通过平台ISV产品链接或直接登录ISV应用系统,访问ISV应用系统。c) ISV应用系统将用户Token发送到平台进行鉴权。d) SaaS管理平台将鉴权结果结果信息返回ISV应用系统。2 用户直接访问ISV的应用系统a) 用户直接访问ISV应用系统。b) ISV应用系统发现用户没有登录,将页面导向到SaaS平台的登录页面。c) 用户输入帐号和密码登录到SaaS管理平台,SaaS管理平台为用户产生Token。d) 用户通过平台ISV产品链接或直接登录ISV应用系统,访问ISV应用系统。e) ISV应用系统将用户Token发送到平台进行鉴权。f) SaaS管理平台将鉴权结果结果信息返回ISV应用系统。1.2.1.3 应用场景1 用户先登录SaaS平台,再从Sa