1、缘起
最初,系统系统间都是孤立的。业务是贯穿的,系统间也必然需要交互数据。
实现数据交互的方式有好多种,可以通过ftp交互Excel文件,可以通过互相读写的中间库,可以通过Web Services。
系统间可能是点对点交互,可能是一对多广播,可能是多对一汇总,可能是多对多协同。
在复杂IT场景中,多信息系统各司其职,协作完成工作。交互数据的事情怎样做呢?
数据交互有两个核心问题要解决:一是协议,二是数据格式。这两个都需要通信双方协商。
如果是企业内部的各信息系统,可以搭建统一的数据交互平台解决,强制推行一致的通信协议和数据格式审定流程。
如果在开放环境中,或松散组织中呢?有没有高效、合理的办法?
开放接口是一种良好的机制,可以应对这个场景。
商定如下:每个组织定义自己的“开放接口”,供其它系统调用。发布方定义协议和数据格式。而且,开放接口是面对所有其他系统的,不再针对个别系统做定制性的接口开发。
开放接口的优势:
统一规划系统的对外数据交互和功能调用。针对不同的调用者分别配置,即完成了系统互连的需要,而不是屡屡进行针对性接口开发。
2、技术需求
首先,通信协议要足够灵活,最好实现模块化和可插拔。通信协议可以体现在多个层次,包括HTTP、序列化、加密、压缩等。以应对调用方技术平台、安全等级、网络限制等特殊情况。
需要同时支持发布多个接口,而且每个接口可采用不同的协议。