服务编排和组态

jopen 9年前
 

对于ESB企业服务总线,今年准备在服务编排和组态方面进行进一步的完善,即增加可视化的轻量服务编排和组合的能力,通过可配置和图形化的服务编排来进行服务设计,是否满足SCA/SDO标准不是重点,重要的是能够根据服务建模的元数据来动态的生成服务组件和自动化的托管和部署。

适配器往往是ESB最基本的能力,在服务编排中考虑最基本的数据库适配,文件适配,JMS消息适配,http适配等最基本的适配。适配器的数据源连接最基本的数据库或文件,而最终适配的结果需要进行结构化的转换。数据映射是另外一个重要能力,在服务编排中需要增加数据映射节点,即可以对两个不同格式的数据模型进行映射和匹配,在数据映射过程中还需要支持最基本的数字运算符的能力。

路由是ESB的另外一个基本功能,在服务编排过程中需要支持进行路由的灵活设计,既支持静态路由,也应该支持基于消息头和消息输入内容的动态路由能力。

服务组合能力,在轻量的服务编排中需要支持进行服务组合的能力,即上一个服务调用的输出可以做为下一个服务的调用输入,在服务组合的过程中进行相应的数据映射工作。服务在组合过程中需要单独增加外部服务调用节点,即通过该节点可以调用外部的服务能力。如果仅仅是实现最简单的服务代理,可以看到也是仅仅需要做最简单的服务配置即可以实现。消息事件管理,对于ESB的底层还是消息中间件,除了支持JMS消息的适配和转换外,更加重点的是对于消息发布订阅机制的支持,即1对多的消息发布,消息的订阅,消息发送中的重试和流量控制等。

其它节点,主要包括了安全加密节点,通知节点,日志记录节点,流量控制节点,访问安全节点等,这些在原有服务封装的可配置内容,仍然可以在服务编排过程中通过可视化的设计进行配置和引入。

对于这种服务组态化设计和工作流模型设计有点类似,但是差异还是比较大,即不同的节点往往都是对应的不同的属性记录,整个服务编排过程中完全是自动化运行而不需要人工干预。因此在整个组态设计中对于不同类型的节点都需要设置和扩展单独的对象进行相应的设计态内容和属性的记录。

对于每一次完整的服务调用都会产生服务运行实例,管理员可以通过服务编排模型动态的进行服务运行状态监控,同时可以查看到每一个活动节点的输入和输出信息。在这种场景下服务的设计态到运行态的转换将成为在设计和实现中的重点。