ESB为SOA系统提供了一个核心架构,以集中管理各种服务。ESB是SOA、Web service、XML等技术相结合的产物,是一种分布式的集成框架,是SOA架构概念的具体实现。
引言
供应链(Supply Chain)上下游企业之间的协同能力成为衡量企业竞争力的重要指标,企业要降低成本、赢得客户,必须对客户订单做出快速响应(Quick Response,QR)。快速响应机制是以可靠、开放、柔性的系统集成为基础的,通过快速响应集成系统完成信息的及时交换和共享,企业以最快的速度接受客户采购请求、及时向供应商采购完成客户订单生产所需要的原料、及时将生成完成的产品交到客户手中。在采用面向服务架构(Service Oriented Architecture,SOA)的系统集成方式之前,有CORBA、DCOM、COM+、RMI,都是用来实行分布式架构的技术,而且也被证明是不同技术阶段的可行的系统集成方法。但是这些系统有一个共同的缺陷,就是它们要求服务客户端与系统提供的服务本身之间必须进行紧耦合,即要求一个同类基本结构。这样降低了系统的可扩展性和可维护性,系统往往十分脆弱,如果一端的执行机制发生变化,那么另一端便会无法正常运行。这样的系统集成方法难以适应供应链快速响应对信息交换和共享的及时性要求。
SOA是一种软件系统架构和软件设计模式,而企业服务总线(Enterprise Service Bus,ESB)是实现这种架构的一种具体方法。Web服务是实现基于SOA的ESB集成方法的核心,它基于XML、SOAP、WSDL和UDDI等协议。Web服务技术是一个崭新的分布式计算模型,是Web数据和信息集成的有效机制。基于SOA的ESB集成系统的基本单元是服务,这些服务是可互操作的、独立的、模块化的、位置明确的、松耦合的,并且可以通过网络查找其地址。服务间通过消息互相调用,通过服务协调,完成一定的业务处理,服务请求者无须知道服务提供者的技术细节。SOA强调通过清晰的系统结构层次,使系统具有良好的通用性和可维护性。SOA从软件体系结构的角度出发改造企业的原有系统或设计新的应用系统,从而支持动态实现将来未知的企业应用集成。
ESB为SOA系统提供了一个核心架构,以集中管理各种服务。ESB是SOA、Web service、XML等技术相结合的产物,是一种分布式的集成框架,是SOA架构概念的具体实现。ESB定义通常如下:它是由中间件技术实现并支持的面向服务架构的一组基础架构功能,支持异构环境中的服务、消息以及基于事件的交互,并且具有适当的服务级别和可管理性。一个ESB提供下述的能力:1)SOA的体系结构;2)采用面向消息的交互方式和XML作为消息表示与转换的标准。
ESB是一种新的集成方法,支持企业应用间面向服务的交互,就像PC中硬件的总线,ESB智能地在企业系统间路由数据流,配合和转换各个系统需要的数据信息。ESB作为SOA架构的数据交换HUB,同时为SOA提供一种连通性基础架构,用以连接SOA中的服务。这种模式有助于减少应用接口数量和复杂性,是解决企业之间异构系统集成,实现准确高效的信息交换的有效方法。本文探讨应用基于SOA的ESB系统集成方法来建立一种新型的供应链快速响应集成系统。
1 供应链快速响应系统集成条件
供应链快速响应系统涉及上游供应商、下游销售商及第三方物流公司,这些合作伙伴的信息系统、单证及数据交换格式都不相同,使用传统系统集成方式大大增加了系统集成的成本和复杂性。为适应激烈市场竞争需要,企业需要引入新的合作伙伴,淘汰不能满足服务要求的合作方,企业供应链始终处于一个动态重组的状态。新合作伙伴的加入,意味着需要协同新的业务流程、集成新的信息系统、处理新的格式数据。企业间业务流程协同,需要有一个开放、松散耦合的信息集成系统来支持。
为此,供应链快速响应集成系统应至少满足如下条件:
1)支持不同格式数据的统一交换,实现异构系统间的集成;
2)尽可能减少对参与供应链快速响应集成系统数据交换的原有系统的修改;
3)保持供应链快速响应集成系统的柔性和可扩展性;
4)节省企业IT方面的投资。
2 基于SOA的ESB模式的系统集成设计
2.1 基于SOA的ESB模式的系统集成架构
SOA摆脱了面向技术的解决方案,朝着面向服务的方向发展。与其他架构相比,SOA更有弹性,使得企业能够对变化做出快速响应,并且利用变化来获得优势,SOA为动态、异构的供应链快速响应系统集成提供了一个理想的构架模式。
基于SOA的ESB集成框架定义了一个数据适配器完成数据转换、消息驱动服务的模型。将业务处理逻辑封装成一系列的服务组件,消息处理器接收系统外发送来的请求消息,通过注册中心检索相应的数据适配器完成数据转换,将转换后的数据封装成一定格式的数据消息,调用服务组件,完成数据处理。
ESB是实现SOA架构的重要方法,符合SOA的构架特征,包括服务的提供者、服务请求者和注册中心,一般由消息处理层、服务层、数据访问层、数据存储层等构成。本文设计的基于SOA的ESB模式的供应链集成系统架构如图1所示。
图1 基于SOA的ESB模式的系统集成架构
在图1中,该系统主要由以下几个主要元素构成。
1)服务请求端。外部应用、服务、代理都可能是服务请求端,服务请求端发送基于XML消息规范的SOAP请求消息到ESB。服务请求端的请求消息包括从业务系统提取的业务数据,如供应商的装箱单信息(最终由服务提供端的服务处理成采购商的报关单),也包括服务请求端在ESB注册中心注册数据适配器号、服务路由等信息。
2)消息处理器。消息规范采用XML语言来描述消息,消息处理器取出消息队列中的头信息,根据解析出来的头信息标识,到中心注册查找相应的数据处理适配器、数据映射关系表。
3)注册中心。服务注册中心充当信息库,存放着ESB当中可用的Web服务信息、消息路由信息、消息处理配置信息。注册中心根据配置信息,调用相关的数据适配器进行数据转换。
4)数据适配器。它将从服务请求端传递过来的消息转换成符合ESB中相应Web服务接口标准要求的数据。
5)服务提供端。接收由服务请求端发送、由ESB数据适配器转换后的数据,对这些数据进行相关的处理。是由一些互相独立的、完成逻辑处理的服务单元构成,按服务请求端事先注册的服务路由表顺序执行相关服务,并将处理后的数据发送到ESB的数据输出适配器进行数据转换处理,以消息的形式反馈给服务请求端。
2.2 基于SOA的ESB模式的集成系统执行机制
采用基于SOA的ESB模式的系统集成方法,可以有效地降低被集成系统之间的耦合程度,具有良好的可扩展性、可复用性、可维护性。基于SOA的ESB模式的集成系统执行过程包括服务注册、请求消息发送、消息解析、数据适配器进行数据转换和Web服务处理五个阶段组成,各阶段执行过程如图2所示。
图2 基于SOA企业服务总线模式的集成系统执行机制
图2中,各阶段的执行过程描述如下。
1)服务注册阶段。包括服务提供端的注册和服务请求端的注册。服务请求端的注册包括对ESB数据适配器的申请、服务路由定义及数据映射关系的建立。
2)请求消息发送。服务请求端发送请求消息到服务提供端,请求端将一个或多个商务文档加载到请求消息中,SOAP请求消息是用XML来编码的。在服务请求端和服务提供端之间的消息交互模式有以下几种:请求/响应模式;会话交换模式;异步消息(Asynchronous Message)模式;发布—订阅(Rublish/Subscribe)模式。
3)消息解析。ESB接收到请求消息后,消息处理器对接收到的消息进行解析,获取请求端注册申请的数据适配器标识,根据标识到注册中心检索具体的数据适配器。
4)数据适配器进行数据转换。按照数据映射关系表,数据适配器将收到解析后的数据转换为符合相应Web服务接口标准要求的数据。
5)Web服务处理。Web服务接收到经过数据适配器转换处理的数据后,完成业务逻辑处理,并输出相关处理结果消息。
3 供应链快速响应集成系统构建
供应链快速响应系统涉及采购、运输、通关、收货及对帐等业务流程,快速响应系统的整体执行效率需要各个节点的执行效率来保证。供应链快速响应是建立在及时、高效、准确的信息共享基础上,通过对上下游异构系统的集成,完成信息的交换和共享。
如图3,基于SOA的供应链快速响应系统集成是通过参与系统集成的双方互相以消息的形式调用对方的Web服务,服务处理完成后,再将含有处理结果的数据以消息的形式反馈给远程服务调用方。
图3 基于SOA的供应链快速响应集成系统模型
本文以快速通关为例来说明该集成系统:通关环节是供应链快速响应系统的重要一环,很多因素会影响通关效率,造成原料交付的延误,如采购商录入的进口报关数据与供应商实际交货数据不一致、第三方物流服务商提供的相关数据滞后、录入错误等。
为避免进口报关环节的差错和延误,采购企业希望从供应商那里获取原始数据,如装箱单数据、发票数据,将这些数据转换为进口报关数据,从而提高进口报关单证的制作效率和数据准确性,避免单证错误,影响海关放行。但每家供应商的系统不同,单证格式也不一样,采用传统的数据交换方式,必然造成采购企业的采购门户平台针对不同供应商的大量定制开发,随着新的供应商加入,系统最终很难维护,甚至无法正常运行。采用基于SOA的ESB模式的系统集成方式,数据适配器可以对供应商的数据进行预处理,将不同格式的装箱单数据或发票数据转换为符合进口报关单EDI报文生成服务接口标准的XML格式数据。
以下是基于SOA的ESB模式的快速通关集成系统处理流程。
1)供应商在平台上注册数据适配器。按注册中心向导,根据单证类型,注册相应的数据适配器,建立数据字段的映射关系,如发送发票数据,注册Adapt1数据适配器;发送装箱单数据,注册Adapt2数据适配器。注册信息将保存到企业服务总线的注册中心。
2)服务请求端(供应商)发送含供应商代码、采购订单号、数据适配器注册编号参数的消息到采购企业门户平台,消息中以XML格式负载发票信息或装箱单信息。
3)采购门户平台的服务总线接收到SOAP消息后,对消息进行解析,获取请求端注册的数据适配器号、服务路由及数据信息;
4)注册中心根据传递来的数据适配器代码,检索相关注册信息,如数据匹配映射关系,调用相应数据适配器处理数据。
5)数据适配器处理完数据后,将发票信息(或装箱单信息)转换为后台服务能接受的统一格式化数据,再调用进口报关单EDI报文生成服务,将由数据适配器转换成统一格式后的数据生成进口报关单EDI报文。系统处理交互如图4。
图4 生成进口报关单EDI报文的系统交互图
由于系统框架的开放性、数据适配器的可配置性以及数据交换标准的统一性,进口企业可以引用供应商发票、装箱单或运单等不同单证信息作为进口报关的数据来源,同时支持Excel、TXT、CSV、XML等不同格式文件之间的数据转换,基于SOA的ESB方法为快速通关业务中异构系统间的数据交换提供了一个理想的系统集成框架,使通关效率得到了显著地提高。
4 结语
本文分析了当前企业实施供应链快速响应系统集成过程中,实现异构系统之间数据交换和共享时遇到的主要问题。将ESB作为实现基于SOA架构系统集成的具体方法,提出了一个遵循SOA基本原则、应用ESB为系统集成方法的供应链快速响应系统架构,重点对该系统架构组成和执行机制进行了详细说明,并应用此框架解决一个具体应用问题。这种松散耦合的系统集成框架提高了系统的可扩展性和可维护性,SOA和ESB共同为分布式、异构的系统集成提供更高效的、可扩展的平台和工具,使供应链快速响应集成系统的柔性大大提高。
出处:http://www.uml.org.cn/zjjs/201204104.asp
第三十四届CIO班招生
北达软EXIN网络空间与IT安全基础认证培训
北达软EXIN DevOps Professional认证培训
责编:yangjun
免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。