首页  ·  知识 ·  
基于ESB的制造业业务集成研究
杨艳亮 柳青 李攀 陈艳斐      编辑:dezai   图片来源:网络
目前在大型的制造行业,企业的信息化水平都相对比较高,在设计、生产、管理的各个环节都开发了与相应业务配套的应用系统,也都在不同层次上使用了网络信息系统,
1 引言

目前在大型的制造行业,企业的信息化水平都相对比较高,在设计、生产、管理的各个环节都开发了与相应业务配套的应用系统,也都在不同层次上使用了网络信息系统,并且取得了明显的经济效益。但是随着企业信息化程度的不断深入开展,“信息孤岛”(information isolated island)的问题也逐渐暴露出来。各个子系统之间不能很好地进行数据交换,人机交互不够友好,应用系统之间不能友好交互,工作流、业务流、信息流混乱等问题不断困扰制造行业。而这些问题(“信息孤岛”)形成的根本原因在于企业缺乏统一的信息标准规范,在各应用系统设计之初,就已经隐藏了信息资源表达不一致的问题。因此,必须从企业整体信息集成的高度,对企业各种信息资源进行集中管理以及标准化,以指导各类信息化项目的设计工作。

针对“信息孤岛”问题,本文利用SOA面向服务的思想,提出了一种新的基于ESB总线技术的业务集成方案,并对该业务集成方案实现涉及的关键技术进行讨论。

2面向服务的体系架构SOA及其支撑技术ESB

2.1面向服务的体系架构-SOA

面向服务的体系架构(Service-Oriented Architeeture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口规范和契约联接起来。接口采用中立的方式定义,独立于实现服务的平台、操作系统和编程语言,以便在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。

在面向服务的体系结构中主要有四个实体:

1)服务消费者:请求服务的实体;

2)服务提供者:接受和执行来自服务使用者请求的、可通过网络访问的实体;

3)服务注册中心:网络中的一个存贮可用服务索引的实体;

4)服务协议:服务消费者与服务提供者之间进行交互的通信规范。

面向服务的体系架构典型的模型图如图1所示。

 

图1 SOA架构模型

SOA是基于面向对象技术和面向组件技术之上更高级别的抽象,它提出了服务的概念,具有服务之间松耦合、粗粒度、位置和传输协议透明的特性。其目的是减少异构性、互操作性,提高企业软件酌敏捷性和重用性,并在实践角度上搭建应用环境架构。

2.2企业服务总线-ESB

ESB(Enterprise Service Bus,即企业服务总线)是一种在松散耦合的服务和应用之间的标准集成方式,是面向服务架构的基础设施,为SOA提供服务的交互通信、协作和组合的基于网络的分布式总线。它比单一的Hub的形式更加开放,总线结构有无限扩展的可能,真正体现了SOA的理念,一切皆为服务,所有的服务在总线中处于平等地位,结构要更加灵活。

ESB主要实现以下功能:

1)数据转换与适配器:通过预定义的接口和契约联系异构的组件;

2)缓冲器:负责在服务之间转换业务逻辑和数据格式,使得服务可被多次复用;

3)异步消息:各服务之间通过基于SOAP标准的消息通信;

4)服务发现:通过UDDI标准实现服务的动态发现;

5)智能路由:它使用分布式管理功能、Web服务池进行智能查找适用的服务;

6)事务完整性管理:通过原子事务服务保证事务执行的完整性;

7)跨平台互操作:使用开放标准的、非专有的技术,从而实现跨越多种平台,进行互操作;

8)廉价的无缝集成觎决方案:对企业遗留系统提供接口,可部署在多个标准中。

SOA架构结合ESB技术,通过流程引擎,对流程进行管理,形成不同企业之间,不同应用之问的统一架构,满足了未来企业业务动态发展对动态软件的需求,并支持集中应用模式、分布应用模式和集中/分布混合应用模式。

3 基于ESB制造业业务集成

当今的制造行业都已经进人信息化、自动化管理时代,一般主要涉及到以下几个主要业务:采购业务、销售业务、库存管理业务、财务与人力资源管理业务、生产产品业务以及数据存储业务等等。在SOA架构体系中,每项业务都被看成一项服务,在整个体系中处于平等地位。

制造行业业务的整合与集成首先是要实现各个子系统之间的数据交换,其次是要实现全体业务的模拟及还原,最后还要实现全部业务流程的整合与优化。我们设计的基于ESB-SOA架构下的业务整合分为三个层面进行:

人的整合:主要表现为人机交互。任何用户可以在任何时间、任何地点通过任何设备访问他们可以访问的任何信息和应用;

流程的整合:主要表现为应用与应用之间的交互。通过信息的交换、工作流管理以及业务流程管理,实现整个制造业内部的业务流转;

信息的整合:主要表现为数据的共享。用户可以通过一个单一的入口,使用一个简单的查询去获取所需要的数据,而不必关心这些数据从何而来、如何而来。

 

 图2制造业业务集成方案

我们所关注的是基于ESB的SOA架构下制造业业务集成,目的是要把不同的业务应用系统集成在一个统一的平台之上,因此,关于制造业内部的各个子系统如何构建已不是重点,也不需要关注制造业内部有多少个复杂的子系统,不考虑其子系统是否庞大,不考虑其子系统的体系结构、架构,不去关注有关集成或应鼹程序的底层实现问题,雨是把精力致力于集成制造业的业务上,把注意力放在服务上,实现跨平台共享数据和业务集成。SOA架构体系的核心理念就是要把这些不同功能、不同应用、不同体系的子系统通过统一的、标准的接口集成整合起来。根据SOA的基本思想与核心理念,针对以上提到的制造业业务,可以设计一个基于ESB-SOA的制造业业务集成方案,如图2所示。由于制造业内部系统繁多,在这里只列出一些基本的核心业务作为示意。

在这个架构中,各个子系统是封装起来的,向其它各个子系统提供服务,完成制造业业务的模拟与还原。解决的是如何把不同功能的子系统集成到一个统一的平台之上,对制造业业务整合与优化,并可以实现不断变化的业务需求,面向不同的业务系统,实现统一的网络连通方式,面向不同的数据格式,实现统一的数据展现形式,面向不同的应用范畴,实现统一的服务调用方法,以灵活的服务组件封装及整合,来满足个性化的业务应用需求。

4基于ESB实现制造业业务集成涉及的关键技术

4.1XML

XML 1.0(可扩展标记语言,Extensible Mark—up Language)标准是一个基于文本的World WideWeb组织(W3C)规范的标记语言。与HTML使用标签来描述外观和数据不同,XML严格地定义了可移植的结构化数据。它可以作为定义数据描述语言的语言,为Web Service提供了统一的数据格式,包括消息、服务描述及工作流的描述。面向服务体系架构中最关键的问题在于如何描述服务,本制造业业务集成方案中,ESB总线中所有服务的描述、各模块之间交互的数据及消息全部采用XML标准格式描述。

4.2 SOAP

简单对象访问协议(Simple Object Access Pro—tocol)是一个基于XML的、用于在分布式环境下交换信息的轻量级协议,SOAP在请求者和提供者对象之间定义了一个通信协议。如在本集成方案中,销售系统(服务)和财务系统(服务)需要通讯以交换数据,一个系统便充当服务的请求者,另一个系统则是服务的提供者,它们之间的通讯必须基于SOAP协议才能正常交换数据。

4.3 WSDL

Web服务描述语言WSDL(Web Services Description Language)定义了一个XML词汇表,该词汇表依照请求和响应消息,在服务请求者和服务提供者之间定义了一种契约。本集成方案中,所有服务注册成功后都要通过WSDL向外发布自己所提供的Web服务,并且通过描述SOAP消息接口的WSDL文档来提供可重用的应用程序功能。

4.4 UDDI

统一描述、发现和集成(Universal Description,Discovery and Integration)规范提供了一组公用的SOAP API,使得服务代理得以实现。为了发布和发现其他SOA服务,UDDI通过定义标准的SOAP消息来实现服务注册(Service Registry)。注册是一种服务代理。在本集成方案中,所有的服务都要通过UDDI注册,才能被发现和请求调用。4.5适配器

适配器是总线标准接口的驱动程序。对于接人ESB总线的这些应用系统和服务,它们的体系架构及设计方案我们并不清楚,如图2集成方案中,B/S,C/S,.net,J2EE等结构都存在,甚至有些是新增的系统,有些系统过老从不升级,根本无法知道其结构。因此要把这些系统接入总线结构中来,我们需要一种担任系统与总线间的数据格式翻译工作的中介组件一适配器。如销售和财务系统是不同的体系架构,它们都需要调用数据库中的数据,那么就需要一个SQL适配器做中介翻译。

4.6节点-节点集

节点为应用系统接入ESB服务总线的连接点,代表一种应用服务。节点集为可进行同一操作的应用集合。本集成方案图2中所有接入ESB总线中的单独的服务都为一个节点,(财务,销售...)可称为一个节点集。如销售系统获得了一个在ESB上注册好的节点一财务系统,就可以向财务节点发送请求。服务请求方需要从ESB上获得服务提供节点的请求格式,通过ESB的通用调用接口,传入请求和目的地,ESB自动启用通用适配器,向节点传输请示,并返回结果。若财务系统想把一个请求传递给销售节点和采购节点,又不想多次调用,则可以把销售节点和采购节点组成一个节点集{销售,采购),财务系统一次向节点集发送信息即可。节点集中的节点处于并发地位,请求会同时传递给节点集中所有节点。

4.7路由调度

路由决定着数据传输或业务执行的路径与次序,调度是自动运作的一系列业务过程。若销售服务要向各个节点按次序发送请求或者要把上个节点返回的数据作为下个节点的请求,则要路由来控制。若某些操作不需要人工干预,如销售系统和采购系统要自动把最新业绩发送给所有的用户系统,我们可以设计一个数据传递的路由,然后指定这个路由的请求数据来源和数据传递规则,最后定义该路由运行的时间规律,自动按照时间表运行路由的规则进行调度。

结束语

由以上的分析可知,SOA架构是在计算机环境下设计、开发、应用、管理分散的服务单元的一种规范,因其灵活、可扩展性、高度集成化等特点,将具有广泛的应用前景。SOA架构可帮助制造业及其它各类企业彻底摆脱面向技术解决方案的束缚,较好地应对服务变化和发展的需要,很好地解决企业业务集成问题。基于ESB的应用将在分布式、异构的各类企业、电子商务、电子政务等各类软件设计、实现、集成、部署及应用方面提供更高效的、高可用的、可扩展的平台和工具。SOA结合ESB不仅减少了不同系统的连接接口,使企业可大范围整合已有的系统和新的系统,提高组织敏捷性,而且减少重复投资,提高了生产效率,增强了企业的核心竞争力。

 

本文作者:杨艳亮 柳青 李攀 陈艳斐 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读