接口现场谈判白皮书.doc_第1页
接口现场谈判白皮书.doc_第2页
接口现场谈判白皮书.doc_第3页
接口现场谈判白皮书.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

文档名称文档密级接口现场谈判白皮书1接口谈判的内容22目前接口支持的内容23各个协议举例33.1SOCKET协议包33.2TUXEDO中间件43.3CICS中间件43.4SOAP43.5XML+普通包头53.6XML+HTTP包头51 接口谈判的内容作为一个新开局点,接口谈判首先要确认对接方式,如使用SOCKET协议包、TUXEDO中间件、CICS中间件、直接访问数据库、SOAP协议等。在确定对接方式后,根据对接方式的不同再确定对接方式的详细模式,如使用SOCKET协议对应的是常连接还是短连接,阻塞还是非阻塞,包结构,使用TUXEDO中间件对应的中间件版本等。以上两方面的内容在确认后基本不会再修改。最后就是针对具体业务的协议谈判,这主要根据现场需要实现哪些业务来确定。首先要向用户了解用户需求,根据需求确定输入数据内容和输出数据内容,进而完成协议。这部分的内容在现场业务不断发展的情况下会不断修改与增加。2 目前接口支持的内容接口广义上讲是客服系统与第三方厂商对接的程序。目前我们涉及比较多的有两种:1. 被IVR和应用服务器通过ICDCOMM调用的接口程序。这种接口程序即我们常见的dtproxy.exe+dtprxoydll.dll,部分局点由于使用了特殊的协议格式还有midwareserver.exe。这种程序我们对于对接的第三方厂商来说是做客户端的,即有客服系统发起请求,第三方厂商回应答消息。目前我们支持SOCKET协议包、TUXEDO中间件、CICS中间件、SOAP协议、XML协议(包括普通包头和HTTP包头两种)。这几种方式建议使用SOCKET协议包的对接方式。几种方式对比见下表SOCKETTUXEDOCICSSOAP普通包头的XMLHTTP包头的XML运行效率高中中低较低低问题定位易较难难一般一般一般扩展性(指增加新功能修改难易)高很低低很低低低开发速度(仅指我司开发速度)快一般一般一般一般一般2. 做服务端的接口程序这种接口程序一般直接与数据库连接,通常与工单交互有关。做为服务端程序侦听客户端的请求,根据请求数据访问数据库,再把结果返回给客户端。做服务端的接口程序目前我们支持两种:SOCKET协议包、TUXEDO中间件。由于应用较少,这里就不做讨论了。3 各个协议举例3.1 SOCKET协议包确定使用SOCKET协议包方式通讯后,要确定连接方式和包头结构。连接方式有三种:常连接非阻塞方式(推荐使用)、常连接阻塞方式、短连接阻塞方式。包头根据业务需要必须要有的内容为:包长、流水号(唯一标识一个请求包,应答包的流水号与请求包的相同)、命令字、包序号、是否有后续包。(包序号、是否有后续包两项在业务非常简单不会出现多包的情况下也可没有。)对于对方没有提出明确的消息格式时,请使用推荐使用的消息格式。包头控制信息:struct PktCtlMsg unsigned long len; /包的总长度,为包控制信息和实际传送内容长度之和 /(网络字节顺序) unsigned char factorycode; /厂商编码, 华为168 unsigned char progid; /进程号 unsigned char morepkt; /是否还有后续包,1有,0无 char cmd_id10; /命令字,最大长度为9,以null结束 long start_num; /起始记录号(从0开始)(网络字节顺序) long end_num; /终止记录号(为0时表示其余全部数据) /(网络字节顺序) long request_id; /请求ID/(网络字节顺序) long answer_id; /应答ID(保留) long sequence; /包序号/(网络字节顺序) char rec_seperator5; /记录分隔符,最大长度为4,以null结束 char field_seperator5; /字段分隔符,最大长度为4,以null结束 long reserved1; /保留 long reserved2; /保留/作为请求应答消息标识使用;协议包结构struct PktMsg struct PktCtlMsg CtlMsg;/ 包控制信息 short errorcode;/ 返回码 char datatrans1;/ 传送内容,从datatrans开始依次为数据内容,/ 实际使用时取其地址作为指针使用;附:例子协议,其中涉及具体业务的命令字请根现场情况修改3.2 TUXEDO中间件使用TUXEDO中间件及将收发包、组包的过程由中间件来完成,接口程序中调用一系列中间件提供的函数来实现与服务端交互的过程。一般我们不推荐使用中间件,因为使用中间件相对效率比较低,出现问题较难定位。另外使用中间件需要用户单独购买相应软件。使用TUXEDO中间件对接首先要确认现场使用的中间件版本,并获取安装盘。对于使用TUXEDO中间件每个命令字的调用相当于,调用一个TUXEDO的服务,对协议的制定就是对每个服务的输入输出参数的制定。对于业务定义完成后,服务端厂商要提供头文件。使用比较多的TUXEDO对接方式为与联创公司对接,下面附一个联创的协议。3.3 CICS中间件使用CICS中间件及将收发包、组包的过程由中间件来完成,接口程序中调用一系列中间件提供的函数来实现与服务端交互的过程。一般我们不推荐使用中间件,因为使用中间件相对效率比较低,出现问题较难定位。另外使用中间件需要用户单独购买相应软件使用CICS中间件对接首先要确认现场使用的中间件版本,并获取安装盘。对于使用CICS中间件每个命令字的调用相当于,调用一个CICS的服务,对协议的制定就是对每个服务的输入输出参数的制定。CICS中间件与TUXEDO中间件相比较,应用没有TUXEDO广泛,性能等方面,尤其是问题定位方面比TUXEDO差一些。如果用户要求一定要使用中间件,建议使用TUXEDO。3.4 SOAPSOAP协议是基于TCP协议上的一个高层协议,对于SOAP协议一定程度上类似与使用中间件,一般也要使用一个免费的中间件软件来处理收发包、组包过程,使用SOAP每个命令字的调用相当于调用一个通过编译服务端提供的WSDL文件生成的函数,对协议的制定就是对每个函数的输入输出参数的制定。对于业务定义完成后,服务端厂商要提供WSDL文件。SOAP协议由其协议决定了使用短连接阻塞方式通讯,并且数据包比较大,性能较差,目前使用的范围比较少,只有在业务量很小的情况下有应用,对于普通客服系统查询话费、业务受理等业务量较大的没有应用先例,建议不要使用。3.5 XML+普通包头XML是一种组织数据的文本格式,一般采用这种协议格式是指对输入输出参数的组织。用来收发数据还定义相应的包头。这种协议格式可以理解为SOCKET协议包的一种,不过包体部分要采用标准的XML格式组织,至于包头的结构定义可以参考3.1SOCKET协议包部分。包体的定义,需要定义详细的XML包体结构,针对每个业务的输入输出参数,这部分的内容可以参考3.6XML+HTTP包头中附件协议中的定义。根据包头的定义,如果流水号可以采用长连接非阻塞方式连接,其性能比3.6XML+HTTP包头稍好。不过由于采用XML协议包体会很大,比3.1SOCKET协议包要占用更多的网络带宽。这种对接方式使用的很少,目前只有一个局点正在测试,其性能是否满足上线

温馨提示

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

评论

0/150

提交评论