服务目录和元数据管理
ESB总线平台管控部分应该提供完整的服务目录库,可以通过多个维度对服务目录进行浏览和查询,同时ESB服务总线需要通过数据存储对服务元数据、配置、策略进行统一管理,对于每次服务调用均需要产生服务实例日志信息。对于服务元数据本身包括了服务的编码,名称,类型,版本等基础信息,同时也包括了服务消息输入和消息输出的详细格式信息。
服务注册和服务接入
通过服务接入功能,将服务提供方系统开发的服务接入到服务总线上并发布出来,供其它业务系统调用,服务接入也即服务注册和服务封装功能,需要提供简单易用的服务接入操作功能界面,支持手工接入,也支持批量一键接入。
动态路由和静态路由
系统需要提供服务动态路或静态路由功能,对于静态路由主要是可以配置和定义静态路由表,服务消费基于路由表进行路由。对于动态路由即可以灵活的配置基于服务消费时候的消息输入参数进行动态的服务路由。
消息传输
需提供消息传输的基本功能:服务使用方先调用注册发布在服务共享平台上的服务并以消息形式传入服务调用请求,平台将接收到的调用请求转发给服务提供方,服务提供方完成操作后先将服务响应消息传递给平台,再由平台将服务响应转发给服务使用方,整个过程都是通过消息进行传输。
异步分发和消息发布订阅
在实际业务场景中,经常出现“一对多”的情况,ESB平台需要支持异步分发功能,只需在平台中配置异步分发服务,即可实现异步分发功能。同时也支持1对多的消息发布订阅功能。
协议和消息转换
对于已经上线稳定运行的重要功能,这些功能使用的数据交换协议可能有很多种,需解决不同的协议的对接,服务共享平台必须支持协议转换功能,服务共享平台需支持在大部分标准协议间进行转换,包括JMS、HTTP(S)、TCP、FTP、POP3/SMTP等。
为了统一控制及更好地进行日志管理,服务共享平台需要为每一次交易产生的日志编号,需要在消息流中插入一个唯一编号,此时需要用到消息转换功能。因此服务共享平台需要提供消息转换能力,支持在消息传输过程中对消息进行操纵及转换,包括消息元素新增、替换及删除。
适配器
各业务系统开发的服务需要接入并发布到服务共享平台上,采用的技术可能是Webservice、HTTP、HTTPS、FTP等,服务共享平台必须提供各种标准适配器,能够将按业界开放标准开发的服务注册到平台上。所以平台必须提供各种标准适配器,可以将按照标准协议开发的服务适配接入到平台上,其中包括了数据库,FTP,MQ,JMS,大数据,平面文件,商用ERP套件等各种适配器。
服务请求过滤及流量控制
服务共享平台需要支持按预定义的规则对服务调用请求进行过滤,对于未允许使用服务的调用请求可以过滤,从而保证服务数据安全;平台还需要支持对服务进行流量控制,支持对服务分配流程配额,对于超出流量配额的调用进行限制,从而避免某些大流量调用影响整个平台。
开发工具及语言支持
服务共享平台必须支持cxf、axis、python soapbox、xfire、.net等服务开发框架、工具及语言,只需根据预先定义的服务契约进行开发,即可顺利接入平台。
服务监控和运行统计
服务共享平台必须支持服务监控,可以方便地监控到服务状态,通过详细的输入输出日志,可以快速定位到运行异常服务原因。服务运行统计包括了服务运行次数,运行时长,运行并发量,运行异常错误等多维度的服务运行统计数据信息。