0 引言
信息系统业务集成是企业提高系统效率、改善企业管理的重要手段,业务集成技术已成为企业信息化领域的研究热点之一。根据企业信息化的发展阶段模式理论叫,企业信息化的发展可分为引入、内部集成、流程变革和战略变革四个阶段。
在引入阶段,企业采用信息技术使内部某些职能部门实现业务流程自动化,目前大多数企业已经完成引入阶段。在集成阶段,企业建立了内部职能部门之间的系统集成框架和统一的数据管理系统,计算机软件系统需要实现企业内部的集成和综合利用。中间件技术正是在这一背景下产生的,其中消息中间件(Message-Oriented
Middleware,MOM)是一种重要的中间件,具有跨平台、松耦合、扩展性好、负载平衡等特点。MOM技术的发展趋势之一是MOM与面向服务架构(Service-Oriented
Architec—ture,SOA)融合,以便企业根据需要及时地对业务进行调整和流程重组。
在流程变革阶段,信息与网络技术使得企业能够与供应商和分销商等合作伙伴一起实现数据和资源的共享与整合。当前,信息技术应用较成熟的企业已经完成或者正处于流程变革阶段,之后将逐步进入战略变革阶段。
由于企业所采用的集成技术不统一,进行业务集成时需开发新的接口或采用其他集成方法,导致业务集成成本的提高,增加了现有系统的复杂程度。激烈的市场竞争对业务集成的灵活性提出了更高的要求,现有基于应用程序接口(Application
ProgrammingInterface,API)技术的MOM与被集成系统为紧耦合,配置和使用不灵活,不能满足企业随需而变的快速响应需求,这些均给企业内外的业务集成造成了困难。文献[8]提出一种基于SOA的MOM系统,并做了应用示范演示,但该工作在现有MOM架构的基础上实现了与SoA的结合,主要用于解决数据集成问题,并未支持企业业务流程集成。文献分析了企业信息化在集成阶段和流程变革阶段遇到的困难,提出一种支持企业业务流程集成的方法,但该方法仅适用于支持可扩展标记语言(eXtensible
Markup Language,XMI,)系统的集成。由于大量企业的子系统不支持XML,该方法不能广泛应用于企业业务流程集成。文献提出了一种基于XML,Web服务和数据挖掘等关键技术的后勤管理信息系统,以解决制造业企业与第三方后勤服务提供者的业务流程集成的低效率问题,但仅是理论研究,并未把后勤管理信息系统应用于实际,对系统如何运行、效率如何测量等问题也未作考虑。SOA是当前系统集成框架的热点技术,是新一代构造企业应用系统的方法,具有标准统一、配置灵活、扩展性好、开发成本低等优点。
本文提出了将SOA和MOM相结合以解决企业可少量重新编程的业务流程集成方法,设计了一种面向SOA的信息系统业务集成MOM,利用SOA框架下的企业数据和资源整合技术,实现了跨平台的数据通信和业务流程集成,可以很好地解决数据和资源整合时的困难;同时,本文提出的基于SOA和MOM的集成方法使用的SOA消息中间件采用新的“客户/消息客户端/消息服务器”框架方案实现,为解决企业业务流程集成的困难提供了一种解决方案,也为MOM技术的研究提供了一种新思路。
1 消息中间件
MOM能在不同的平台问通信,实现分布式系统中可靠、高效、实时的跨平台数据传输,常用来屏蔽各种平台和协议之间的特性,实现应用程序之间的协同。目前,常见的MOM由消息服务器、数据存储库、命名与目录文档等组成,采用“客户端/消息服务器”两层架构。消息服务器用以实现消息接收和发送功能,通过查询命名与目录文档获知各个消息服务器、消息队列等的配置信息,数据存储库用来保存重要的通信数据。MOM用户通过API调用消息服务器的消息发送与接受功能,从而实现企业数据集成。
从上世纪90年代开始,MOM技术获得了长足的发展。MOM技术的研究热点和关键技术有系统架构、负载平衡技术、计算机集群技术等。由于没有统一的标准和规范,MOM的应用不可移植,不同的MOM也无法实现互操作。为解决此问题,1998年,Sun公司推出了旨在统一各种消息中间件系统接口的规范——Java消息服务(Java
Message Serv—ice,JMS)。目前,MOM仍是中间件技术的研究热点。
2 面向服务架构
SOA概念由Gartner公司在1996年首次提出,它是一种进行系统开发的新的体系架构,并在对象构件计算模型基础上,将不同的功能单元通过预先定义好的接口和契约联系起来,实现程序和服务的重复利用。
SOA架构包含服务提供者、服务使用者和服务注册中心三个角色(如图1):①服务提供者是一个可通过网络导址的实体,它接受和执行来自服务使用者的请求;②服务使用者是一个应用程序、软件块或需要某个服务的一个服务,它根据接口契约来执行服务;③服务注册中心是服务发现的支持者,允许服务使用者查找服务提供者接口。当前广泛使用的SOA实现技术是Web
Service,其服务注册中心以统一描述、发现和集成(Universal Description,Discovery,and
Integration,UDDI)保存服务注册信息,使用通用的标准Web服务描述语言(Web Services
Description Language,WSDL)对Web服务进行描述,并利用简单对象访问协议(Simple
Object Access Protocol,SOAP)消息进行服务的绑定与调用。其他的SOA实现技术还包括公共对象请求代理结构(Common
Object Request Broker Architec—ture,Co3RA)、分布式组件对象模型(Distributed
Component Object Model,DCOM)和远程方法调用(Remote Method Invocation,RMI)等。
3 面向服务架构消息中间件
传统MOM采用的是“客户/消息服务器”架构,笔者设计了一种“客户/消息客户端/消息服务器”三层架构的MOM。消息客户端是实现消息发送和接收功能的Web应用程序,具有消息转发功能,它的特点是当发送消息的用户与接收消息的用户使用同一台计算机上的消息客户端时,消息客户端会从用户接收消息,并直接转发给接收消息的用户。上述集成架构和消息转发机制避免了消息服务器不必要的作用,提高了消息传递效率。消息服务器是实现不同计算机上的消息客户端之间转发消息的Web应用程序。SK)A消息中间件是面向服务架构的MOM,它将消息中间件的功能包装为web服务,根据SOA架构的标准发布于网络上,供用户使用。
4 基于面向服务架构消息中间件的业务集成方法
在将MOM与SOA结合的基础上,本文提出了一种基于SOA消息中间件的业业务集成方法。与传统业务集成MOM相比,本业务集成方法具有高效率、高可重用性、跨平台等优点。
4.1 业务集成方法架构
本文将MOM的功能在SOA架构下实现,即用SOA消息中间件实现业务流程集成。业务集成方法采用三层系统架构,分别是服务层、逻辑实现层和资源管理器,如图2所示。
业务集成服务层直接为用户提供发送服务、接收服务和转发服务。前两种服务对用户开放,最后一种服务不对用户开放。发送服务采用同步调用的方式实现,用户调用发送服务,将消息发送给SOA消息中间件。接收服务是支持回调函数的Web服务,用户调用接收服务的过程是将自定义的消息响应函数作为回调函数注册在接收服务上,该服务接收到消息时,调用该回调函数,将消息发送至用户,用户对其进行处理。这种实现方式使用户可及时地对新消息进行响应,而且避免了轮询式的消息查询方式耗费用户资源。转发服务接收来自发送服务的信息,并将其转发至目标计算机,进而由接收服务通知用户进行处理。
逻辑实现层和资源管理器是MoM的功能实现部分。其中,逻辑实现层是业务集成服务层功能的逻辑实现,由消息客户端、消息服务器群、命名与目录文档和数据存储文件组成。将消息客户端和消息服务器分别部署在多台计算机上,实现MOM的集群配置,并在服务器端采用最少连接法作为负载平衡算法,以实现各个消息服务器和消息客户端的负载平衡。经由MO的消息均保存在数据存储文件中,命名和目录文档保存在MOM的命名信息中。资源管理器可实现MOM的配置、监视和管理,包括配置数据存储文件、命名和目录文档,监视消息客户端和消息服务器群的运行状态与消息收发历史信息,打开或关闭消息客户端、消息服务器的服务功能等。
4.2业务集成过程
本集成方法为企业业务集成定制了消息格式,用户按照此格式可实现业务集成。图3所示为业务集成模型,用户1需要用户2的信息,将消息发送服务、消息接收服务部署和发布在不同的计算机上,作为消息客户端,将消息转发服务部署和发布在单独的计算机上,作为消息服务器;若干消息客户端和若干消息服务器一同构成消息服务集群。用户需要在被集成系统中添加少量代码,重新生成可执行程序,并进行配置,以实现调用Web服务的操作。配置后,业务集成过程为:
(1)消息发送
用户1和用户2各自调用对应客户端上的消息接收服务,注册自己的消息响应函数。用户l调用客户端1上的消息发送服务,发送消息请求。
(2)消息转发
客户端1的消息发送服务收到消息后,判断出消息目的地为用户2,将消息转发至服务器。服务器的消息转发服务调用客户端2的消息发送服务,消息发送服务接收到该消息请求,将其保存至本地消息队列。当用户1和用户2对应同一个客户端时,它们之间传递的消息直接由客户代理转发,不经过服务器。该架构减少了MOM不必要的操作,提高了消息传递效率。
(3)消息接收
客户端2的消息接收服务查询到有新消息,回调用户2的消息响应函数。用户2收到消息请求后,按类似的过程将被请求的消息发送至用户1。
4.3本文提出的业务集成方法的优点
本文提出的业务集成方法具有以下优点:
(1)高效率消息客户端程序可转发本地用户间传递的消息,避免了消息服务器不必要的作用,提高了消息传递效率。
(2)高重用性消息收发是企业信息系统的基础功能,企业可以将SOA消息中间件的消息服务公布于互联网上,从而实现企业信息系统业务集成。
(3)跨平台SOA消息中间件用Web Service实现了消息收发功能,向用户提供统一的服务描述文件,能够被绝大多数软硬件平台上的用户使用。
(4)配置灵活,使用方便用户可以通过更改配置文件,重组SOA消息中间件的消息收发服务使用流程。用户可以通过浏览器调用消息服务,如IE,Mozilla,FireFox等,也可通过编程调用。
5 应用案例
笔者将该业务集成方法在某生产企业中制造执行系统(Manufacturing
Execution System,MES)的相关系统和企业资源计划(Enterprise Resource
Planning,ERP)系统的集成中进行了应用。该生产企业ERP系统的计划制定模块将销售信息转换为周生产计划,MES相关系统需接收周生产计划,用以制定日作业计划。
SOA消息中间件对生产计划消息制定了规范消息格式,如表1所示。本MOM系统的消息由消息头、消息体和属性组成,消息头包含了消息发送程序名、消息接收程序名和目标消息队列名;周生产计划信息的消息体中,消息类型为WeeklyProduct—Plan,生产单元包含产品型号与产量,其他消息体的域还有生产计划下达日期和生产计划完成日期;消息属性是用户自定义的消息域,用于保存用户需要的指定消息体之外的信息。
如图4所示,由于消息服务集群中客户端的负载量有限,ERP系统和MES相关系统由集群中的不同消息客户端为其提供消息服务。ERP系统的计划制定模块在客户端1注册了消息响应函数,该函数可按指定协议向企业内其信息系统提供消息,MES相关系统内的生产计划调度模块的消息响应函数接收到周生产计划后制定日作业计划。生产计划调度模块将生产计划请求发送至客户端2,请求信息经由客户端2和服务器转发至客户端1,客户端1调用计划制定模块的消息响应函数。该函数将周生产计划信息传递给MES相关系统生产计划调度模块,从而实现ERP系统与MES相关系统的业务集成。
应用表明,基于SOA消息中间件的业务集成方法提高了消息传递的效率,其具有的高可重用性降低了信息系统开发应用的成本。本方法还具有配置灵活、使用方便的特点,能很好地为企业信息系统业务集成提供支持。
6 结束语
MOM是一种有效的信息系统集成技术,已被广泛应用于企业信息系统的建设。MOM能实现企业内部分布式系统的可靠、高效、实时的跨平台数据传输。然而,当企业信息化建设发展到流程变革阶段时,传统的MOM并不能满足企业高效、快速的业务流程集成需求,企业面临成本高、灵活性差等困难。SOA是信息系统架构发展的必然趋势,面向SOA的信息系统具有服务可重用、开发成本低、配置灵活等优点,标准的描述和调用方式使企业业务流程集成更加符合新趋势的需求。
本文提出的基于SOA消息中间件的企业业务集成方法,具有高效率、高可重用性、配置灵活、使用方便的特点,符合当前软件系统架构发展的大趋势,弥补了传统信息系统集成技术的不足。面向SOA的信息系统业务集成MOM,为解决企业信息系统实施与业务流程集成提供了一种新方案。
|