基于服务总线的应用集成平台设计与开发
2017-01-03撰文中国电子科技集团第38研究所柳吉庆徐礼祥张军
撰文/中国电子科技集团第38研究所 柳吉庆 徐礼祥 张军
基于服务总线的应用集成平台设计与开发
撰文/中国电子科技集团第38研究所 柳吉庆 徐礼祥 张军
一、引言
随着计算机技术和互联网技术的快速发展,制造型企业面临的市场竞争日益激烈,为实现有效整合产品生命周期各个阶段产生的各类信息和流程,上线并实施了越来越多的企业信息系统(Enterprise Information System,EIS),然而各个EIS之间存在着编程语言差异、平台差异、通信协议差异和数据结构差异等诸多系统异构问题,如何实现各个相关的EIS系统间的高效互通,实现数据和资源的共享,实现企业内部乃至企业之间的多个应用系统集成,成为企业相关信息技术部门迫切需要解决的重要问题。
面向服务的架构(Service-Oriented Architecture,SOA)正逐渐成为企业应用集成的发展主导方向。SOA是一种定义集成基于服务的软件应用方法,通过服务调用和组合实现相关业务流程。服务是离散的功能单元,封装了可重用的业务逻辑,平台独立、位置透明且可互操作,具有基于行业标准、松散耦合、与协议无关性和业务敏捷性等优势。
在企业内部应用整合问题的解决方案上,较早采用的是企业应用集成(Enterprise Application Integration,EAI)方式,使用如CORBA和COM等消息中间件进行分布式、跨平台的程序交互,使用中间件、XML等技术来进行数据分配。EAI这种基于部件的架构并没有统一的标准,解决方案往往比较笨重,不利于规则的重新整合和修改,因而EAI并不是实现SOA的理想架构。在此背景下,企业服务总线(Enterprises Service Bus,ESB)被提出作为取代EAI的位置,成为实现SOA的一种理想集成工具。
企业服务总线是面向服务架构SOA的基础设施,ESB是SOA参考架构的中心构件,通过ESB平台实现各种服务注册、管控以及服务之间的协调交互,集成基于不同硬件、不同操作系统、不同数据库和不同传输协议实现的异构系统之间的应用,为SOA架构模型提供基于网络的底层分布式总线功能,例如服务通信、协作和服务组合流程等。
基于上述分析,本文将设计一个基于ESB的企业应用统一集成平台,并对集成平台中的若干关键技术进行具体阐述。
二、集成平台总体框架
图1所示为基于服务总线的企业应用集成平台总体框架示意图。应用集成平台的运行需要一系列外围环境的支撑:关系数据库或文件服务器用做数据信息的持久化存储容器,消息服务器(Message Queue,MQ)则充当消息产生和消费的中转代理,应用服务器则提供了基于Web页面的服务管理控制或调用的支持。
企业应用集成平台底层需要ESB基础平台的支撑,ESB基础平台提供了一系列的底层基础功能组件,例如数据转换、协议适配、消息路由、安全控制和日志记录等。数据转换功能可实现不同格式数据的自定义转化,例如将xml格式数据转化为Json格式数据;协议适配可以实现对多接口类型的兼容介入,例如常见的HTTP、FTP和JMS等协议;消息路由可实现对接口消息数据传递流向的自定义控制。
图1 集成平台总体框架
企业应用集成平台对外提供的功能体现在对消息和服务的管控上,在遵循相关集成标准技术规范的基础上进行消息和服务的设计开发,其中消息一般用于异步信息交互,服务则用于同步信息交互。
运行在企业内部的各个EIS通过企业应用集成平台统一进行数据信息交互,交互的方式可分为两大类:一类是通过部署在集成平台的服务进行请求/响应的实时同步方式调用,另一类是通过部署在集成平台的消息端点将关键信息以消息的方式进行发送或消费,消息和服务的元数据信息及使用过程信息可通过管理监控平台获取。
三、集成平台关键技术
1.集成规范设计
系统集成接口成功应用的关键因素是参与集成开发的相关系统就接口实现达成一致,制定详细的接口规范,接口提供方和使用方在各自开发过程中严格遵守此接口规范,在点对点(Point to Point)集成方式下,应用系统的接口开发是两两进行的,制定的接口规范通常缺乏全局考虑,仅对特定接口有效。当系统应用集成场景变得日益复杂后,一个系统往往需要对接多个其他系统,因此往往需同时遵循多个不同的接口规范,而这些接口规范存在着不一致甚至相悖的可能,造成系统集成开发无章可循的现象。在采用企业应用集成平台后,由于对服务和消息实现了统一管理发布,因此需要就集成开发中的一些共性问题制定相关的集成规范,对企业应用系统接口的开发方和使用方开发的交付物提出明确的要求,并依据相应的规范作为集成工作评估的依据。从集成实现的方式上可将集成规范大致分为服务集成规范和消息集成规范,如图2所示,集成规范可进一步进行逐级细化,例如服务集成规范可包含服务设计开发规范,服务设计开发规范可细分为服务命名规范、服务结构规范、服务异常处理规范等。制定集成规范是实现集成平台有效开发管理的基础条件,应予以充分重视。
图2 系统集成规范体系
2.服务集成设计
服务集成是整个企业集成平台提供的最为重要的功能之一,Web服务是实现服务集成最常见的方法,运用集成平台的ESB技术解决集成问题的一个重要出发点是:通过服务集成功能尽量降低应用系统之间的耦合度和减少已有接口的开发调整工作,可通过服务代理、服务建模以及服务编排分别实现了服务的继承、拓展与协同。
(1)服务代理。
采用ESB技术后,对外服务的接口将进行统一,由ESB基础平台暴露相关的一系列服务代理接口供服务请求方进行调用,如图3所示,服务请求方通过ESB平台上开放的服务地址对服务提供方的Web服务进行间接调用,ESB平台只起到代理转发的作用,不对服务业务逻辑本身做任何处理,因此调用ESB上的代理服务与直接调用服务提供方提供的原始服务效果是完全一样的。
图3 服务代理模式示意图
此种模式下,只需服务请求方将原有的Web服务请求地址改为ESB发布的服务地址,其他不需做任何改动,若已有的系统集成Web服务接口已能满足业务需求,则可以使用此功能实现Web服务的透明访问。
(2)服务建模。
在企业集成平台上发布独立的Web 原子服务(非代理服务),与服务代理模式中ESB平台不做任何业务处理不同的是,服务建模中的业务逻辑在ESB平台中单独实现,不依赖于其他应用信息系统。在服务建模中,主要完成两部分的工作内容:服务接口和服务实现的定义,如图4所示,服务接口主要描述了服务对外的方法、参数等信息,是生成的服务描述(WSDL)的数据来源;服务实现则负责执行具体的业务逻辑,将接口定义和实现分离也有利于保持Web服务的稳定性。
图4 Web服务调用过程示意图
(3)服务编排。
服务编排可被视为服务代理与服务建模功能结合的产物。ESB在内部将若干个相关联的信息系统提供的Web服务按一定顺序进行排列和组合,完成中间环节的数据格式转化工作,最终实现多个服务的组合,组合成具有新功能的服务,发布部署在ESB平台上供使用,使用此方式可以类似“搭积木”的方式从有限数量的基础服务中衍生出大量的新服务,从而满足企业内业务需求的新增和变更。
3.消息集成设计
消息的发送和消费需要消息服务器的支持,消息服务器专门用于存储、转发以及管理产生或消费的消息数据,具有运算速度高、运行可靠。数据吞吐能力强等特点。集成平台中包含消息服务器,并与ESB基础平台保持紧密集成。
(1)消息结构设计。
如图5所示,消息结构设计主要是对消息的消息头属性和消息体的结构和数据格式定义。消息头属性定义主要是为了便于进行消息的发送/订阅相互匹配,消息体是消息的主体内容,虽然各类消息的具体内容和样式不尽相同,但从通用性和规范性的角度考虑,对消息体采用的描述格式以及结构应作统一要求。
图5 消息结构示意图
(2)消息分类设计。
如图6所示,按照消息数据的业务范畴对消息进行分类,每一类消息又可根据描述的粒度不同进行层层细分,从而形成一个树形的层次划分体系。
图6 消息分类层次结构示意图
对于消息的发送方来说,其所发送的消息有且只归属一个与之对应的消息分类(消息分类树的末端节点),消息的分类条目随着参与集成的应用系统增多或业务集成点的拓展而不断更新增加,根据消息集成的领域特点,制定科学合理的分类体系,是实现消息发送与消费顺利衔接的重要前提条件。
4.管控平台设计
采用服务总线技术实现信息系统集成,各个应用系统都需要通过应用集成平台提供的服务或消息端点进行交互,因此需要对服务和消息进行管控。集成管控平台是集成平台的必要辅助模块,通过此平台对集成平台发布的服务进行查询、添加、更新和删除等操作,特定应用系统的接口开发人员可通过此平台方便地了解提供服务的服务地址、业务功能、接口方法、接口参数和调用示例等信息;应用系统的维护人员可通过此平台了解与本系统相关的消息、服务的运行状态和运行性能等指标数据。
四、应用实例
本文所设计的企业应用集成平台已在企业内部得到了良好的应用,解决了企业之前存在的集成架构落后、集成缺乏统一管理和规范以及主数据实时同步难以实现等问题。服务集成方面,将原有各个信息系统提供的Web服务统一发布在ESB平台上并统一进行服务日志的记录;消息集成方面,通过制定消息读写技术规范,包括人员组织、物料、项目、日志和待办事项等多种类型的业务数据以消息的形式实现多应用系统之间的数据同步,图7所示为开发的集成平台管控模块实际应用界面。
图7 集成平台管控模块系统应用界面
五、结语
企业服务总线是当前实现SOA架构下的企业应用系统集成的一种理想集成工具,本文设计了一个基于企业服务总线的企业应用集成总体框架,对集成框架中的集成规范制定、服务与消息的集成内容以及管控平台设计等若干关键技术进行了阐述,通过在企业的实际应用,证明了该集成平台设计的可行性和有效性。
《智能制造》杂志征稿通知
一、征文范围
1.数字化设计与制造
2.智能设计理论、方法及系统
3.自动化与现代制造系统
4.机器人技术及应用
5.虚拟设计与虚拟样机
6.网络化控制与制造技术
7.绿色设计与绿色制造中的智能技术
8.智能加工、智能检测与控制
9.数字企业与数字化工厂
10.制造系统建模、运行、控制、优化与调度
11.先进制造模式与战略
12.制造信息与知识处理
13.数控技术与数字化装备
14.现场总线与无线传感网技术
注:以上内容范畴供参考,围绕智能制造全领域,具体题目请自拟。
二、论文遴选、刊录出版和基本要求
1.《智能制造》编辑部组织编委会有关专家,对投稿进行审查、遴选,择优刊登。审查遴选期限为自编辑部收到稿件后的三个月。对于刊登的论文,编辑部提供正式录用通知。
2.论文内容必须是作者未正式发表过的研究成果,论文主题与智能制造相关,投稿作者须恪守学术道德规范,文责自负,严禁一稿多投及中途撤稿。论文字数4000~7000字。
3.论文应包括以下项目:论文题目;作者简介(200字以内,包括姓名、工作单位、通信地址、电话、手机、电子信箱等);中文摘要、关键词、标题和正文、参考文献。
三、编辑部投稿联系方式
联系人:张友苹
联系电话:010-68993880-293
邮箱:imchina@idnovo.com.cn