王馨莹 沈旭伟
随着信息集成技术的不断发展,企业各应用系统间信息化集成需求也变得日益迫切和复杂。为了避免“信息孤岛”的同时,提升企业信息化集成的灵活度及可配置化程度,本文以SOA理念为指导,基于ESB创新性的提出了一种服务可配置化组合架构。该架构在满足异构信息系统数据集成的基础上,实现了服务复用及多服务可配置化组合,增强了已集成信息系统服务的可复用性及复杂业务场景集成的灵活适应性,对企业日后信息化集成的建设起到了积极的推动作用。
企业服务总线(ESB)是用于集成应用程序和服务的灵活连接基础设施。ESB通过减少这些应用程序和服务之间的接口数量、大小和复杂性来支持面向服务的体系结构SOA,它是传统中间件与XML、WebService等技术结合的产物,是构筑企业神经系统的必要元素。
目前,ESB主要应用领域集中在电力、金融、电信、政府等大型企业中。在大型企业中通常各项业务具有各自的应用系统、独立的数据库平台、以及海量的业务数据,为了消除信息孤岛,实现信息共享和资源整合,基于SOA 理念和ESB企业服务总线,通过提供开放的、标准化的服务定义及消息机制,将企业各应用系统根据业务逻辑分解并封装成最小服务单元,在松耦合的服务架构下,可依据业务需要,通过ESB企业服务总线自定义实现服务的可配置化组合,从而降低系统集成的开发费用,提高服务的可复用性、可扩展性及可维护性,满足大型企业异构环境下对于系统集成的需求。
(一)发布/订阅模式
发布/订阅模式即为基于队列的MQ消息传递模式,该消息传递模式可以使消息的分发突破目的队列地理指向的限制,使消息按照特定的主题甚至内容进行分发,用户或应用程序可以根据主题或内容接收到所需要的消息。MQ模式使得发送者和接收者之间的耦合关系变得更为松散,只是根据消息的主题进行消息的收发。要通信的应用程序可以运行在不同时间,屏蔽了底层的环境差异。
(二)提供/调用模式
提供/调用模式即为面向服务的Webservice模式,Webservice消息传递模式更注重服务的复用性,Web服务提供者将自己的Webservice服务所有内容如服务传输方式、方法接口、接口参数、服务路径等,生成相应的WSDL,ESB将服务提供者WSDL进行封装后注册在ESB服务注册中心,调用者通过调用ESB统一对外接口地址调用提供者服务。
(三)服务组合模式
基于面向服务Webservice消息传递模式的基础上,为了进一步提升ESB的灵活性与可配置化程度,本文创新性的提出了服务可配置化组合架构,并在此架构基础上得出服务组合的消息同步模式。
服务组合消息同步模式适用于多级服务组合式的复杂业务场景。首先,通过注册中心管理所有已注册在ESB上的可复用服务资源;然后,通过配置中心,为各个服务配置消息集及组合服务之间消息集的映射关系;最后,通过调度中心实现已组合服务的按序执行,已达到预期的服务组合结果。服务组合消息同步模式通过注册中心、配置中心、调度中心来实现对服务的集中管控和可配置化操作,进以满足对服务可复用性、接口可配置化的要求。
(一)设计原则
服务可配置化组合架构的设计遵循了松耦合的设计原则,实现了内部业务逻辑与对外接口的分离,提供了服务请求端和服务提供端之间公共连接及运行环境,可有效提高业务灵活性并为业务快速创新提供便利。
(二)架构结构
ESB服务可配置化组合架构结构分别由注册中心、配置中心和调度中心组成,架构结构图见图1:
注册中心包括:基本配置,服务配置,服务激活。
配置中心包括:数据集配置,数据集映射配置,服务组合配置。
调度中心包括:服务调用,数据解析,数据映射,数据组合。
基于服务可配置化组合架构,通过构建服務组合消息同步模式,以满足ESB多元化管理以及可配置化的要求,从而实现服务的集中管控、接口的可配置化、服务的多级组合等功能。
(一)注册中心
注册中心包含“基本配置、服务配置、服务激活”三大功能如图2所示,负责将应用系统提供的接口服务注册到ESB平台,基本配置选项中可以配置服务注册的相关标准化内容,服务配置功能可以依据服务标准化配置要求,将服务的相关属性写入系统内,最后,通过服务激活功能,实现对已注册服务的应用及集中管控。
(二)配置中心
配置中心包含“消息集配置、消息集映射配置、业务流配置”三大功能如图3所示,在注册中心完成注册的服务,均可在配置中心进行服务组合。
1、消息集配置
在服务组合实现过程中,首先需要为每一个用于组合的服务配置消息集,如图4,然后,再配置目标消息集,即服务组合后所得到的最终目标消息集,目标消息集中包含了服务组合中所有服务的消息集之和。
2、消息集映射配置
消息集配置完成后,还需要为每个服务的消息集及目标消息集之间创建映射关系,从而使服务组合的目标消息集能够达到预期的效果,如图4。
3、业务流配置
根据业务场景的需要,业务流配置功能可以配置实现服务组合中每个服务的组合顺序,明确业务流向,使得最终获取的目标消息集可以符合业务场景要求,如图4。
(三)调度中心
调度中心主要用于调度规则配置进以实现业务流的配置化实际执行如图5,其中业务流调用又包含:“服务调用”、“数据解析”、“数据映射”、“数据路由”等功能。
1、服务调用
服务调用关联配置中心的业务流配置功能,其可根据业务流向所配置的服务组合顺序,实现服务的按序调用。
2、数据解析
数据解析功能可将获取到的已封装的XML数据包解析成具体的、可被业务识别的、包含业务逻辑关系的数据字段。
3、数据映射
数据映射关联配置中心的消息集配置功能,将服务调用过程中,每一个服务所返回的消息集结果,映射到目标消息集中的指定数据位置。
4、数据组合
数据组合关联配置中心的消息集映射功能,根据在配置中心所配置的消息源及目标消息集关系,进以得到数据组合后的最终目标业务数据。
基于ESB的服务可配置化组合架构已在AP/CAP系列核电厂工程建设过程中得到了有效运用,并取得了良好的实践应用效果。基于ESB的服务可配置化组合架构采用面向服务和组件化开发模式,该架构的应用支持企业业务的灵活重组,降低了业务及数据集成的重复开发工作,满足了企业应用集成的靈活性以及对未来发展变化的适应性。基于ESB的服务可配置化组合架构系统功能主界面如图6所示。
如图7为服务注册数量统计图,由图中可以看出2015年注册服务数量为22个,2016年注册服务数量为102个,2017年注册服务数量为39个,2018年注册服务数量为23个,2019年注册服务数量为4个,服务注册数量为逐年降低趋势。如图8为接口调用量统计图,自2015年至2019年接口调用量呈现逐年上升趋势。由此可见,通过服务可配置化组合架构的有效应用,可最大程度实现已注册服务的复用率,避免相同业务的重复开发。
本文采用面向服务的软件架构设计思想和多元化设计理念,结合AP/CAP系列核电厂工程建设业务集成需求,创新性的提出并实现了基于ESB的服务可配置化组合架构。该架构可将应用系统提供的服务封装为独立的、最小集成单元,当业务发生变更时,只需通过配置化的方式重新配置业务集成接口,而无需重新二次开发,降低了业务变化对系统集成耦合度以及接口集成复杂度的影响,增强了服务的复用性及可维护性的同时又确保了各应用系统间稳定的内聚性。通过对基于ESB的服务可配置化组合架构的应用,可有效应对异构应用系统间集成,及业务功能扩展的相关问题,快速响应系统间数据交换及共享的需求,从而更好的适应企业未来发展变化的需要。
基金项目:国家科技重大专项2018ZX06002002资金支持。