ETB全称为Enterprise Task Bus,即企业任务总线。它是传统中间件技术与XML、Web Services等技术结合的产物。ETB是一个很务实的企业信息集成方案。ETB采用大家耳熟能详的5W1H基本理念:When(何时)、Where(何处)、Who(何人)、What(何事)、Why(何故)、How(如何)。如下图,ETB原理非常简单,将企业内所有用户和计算事项集中起来,通过提供统一工作环境和流程控制来实现有效和低成本系统整合。通过配置业务地址和流程,系统就会自动的决定由谁来执行(Who执行角色),在什么条件下才会发生(When什么时候,什么条件下执行),发生在哪里(Where是计算机自动执行的计算?人机对话的过程?),如何处理这个业务(What界面地址与业务控制逻辑位置);在组织的什么节点上完成的及为什么是这个节点而不是其它的节点来处理(Why组织职责分配与岗位职务);业务处理状态和质量(How做了多少事和当前状态)。ETB最初作为工作平台的整合方案,通过有效接口将分布于各系统的用户任务进行提取,同时解决统一登陆问题,实现用户工作任务的统一处理。
![](https://images.cnblogs.com/cnblogs_com/sukyboor/136566/r_ETB1.jpg)
ETB的出现将改变一些传统的软件架构,提供比传统中间件产品更为简易廉价的系统集成解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用之间进行通信与整合。ETB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它基于接口和服务,具备了复杂数据的传输能力,并提供一系列的标准接口。
![](https://images.cnblogs.com/cnblogs_com/sukyboor/136566/r_ETB2.jpg)
ETB的五个基本功能:
1)任务源管理:在总线范畴内对任务注册及寻址管理(应用地址)功能。
2)传输服务: 确保通过任务总线互连的任务流程间的消息的正确交付。
3)流程管理:提供任务事件检测、触发和分布功能;
4)多种业务集成:支持异构网络,主动式和被动式任务源处理。提供任务消息队列,数据源适配器等功能。
5)事件管理支持: 如任务处理的记录、测量和监控数据;ETB最让人兴奋的是对事项执行的监控和测量,实现简易、高效进度管理及原因分析。
ETB的八个扩展功能:
1)工作界面集成:作为集成方案,它解决的是用户工作环境的集成,将分布于众多系统之中的业务事项,打包提供给用户。
2)松散耦合:它将分布多业务系统,根据其真实业务联系进行耦合。
3)业务驱动:系统任务发布、执行和用户操作可以互相响应;
4) 系统集成:通过适配器解决历史系统,执行流程编排和转换,实现新系统驱动旧系统。
5)服务交互:服务接口定义和发布等。
6)服务安全:认证和授权、不可否认和机密性、安全标准的支持等;
7)服务质量:事务,服务的可交付性等;
8)服务等级:性能、可用性等。
ETB内数据以任务逻辑关联。跨系统之间数据以任务逻辑关联,这是一种弱数据关联,数据之间不形成依赖,并通过人工整理和流程逻辑实现关联。ETB同时支持用户向系统的驱动和系统向用户的驱动。从历史系统的角度,数据并不存在关系。但通过自动流程处理和人工操作,通过事物内在关系(5w1h)进行关联,可以很清晰的反应业务真实情况。
假设某工厂需要采购一批原料组织生产。采购员小明在生产系统中签收《采购单》。然后,小明拿着《采购单》去财务室,通知财务人员小张向供应商付款。财务室拿到《采购单》后,登陆采购系统进行核对,偶后登陆财务系统付款。付款后,小张打电话通知采购员小明。第二天,负责生产的小王登陆系统时发现原料已到达,小王登陆采购和财务系统确认后,使用生产系统制定生产计划,并组织生产。
通过ETB系统进行整合后,情况有些变化。如下图,用户小明确认采购单,ETB系统将生产信息和采购信息送财务部小张处要求付款。当小张完成付款,系统启动ERP制定生产计划。同时将整个前述过程的资料(采购计划、付款计划、生产计划)打包送给生产管理人员小王,小王根据计划安排生产。
![](https://images.cnblogs.com/cnblogs_com/sukyboor/136566/r_ETB3.jpg)
在小明处理采购单过程,ETB内部进行如下操作:
1, ETB通过接口适配器,从采购系统提取小明任务。
2, ETB将小明的采购确认任务推至小明工作台。
3, 小明登陆工作台,并查看任务。此时通过接口转回采购系统。
4, 小明查看相关信息,系统通过接口和统一验证,转到相应系统(生产、财务系统)。
5, 小明完成确认操作,ETB识别流程,通过接口驱动财务系统。
![](https://images.cnblogs.com/cnblogs_com/sukyboor/136566/r_ETB4.jpg)
整合后,表面上大家通过同一平台工作,同时系统提供分布于各个系统参考数据。实际上,单一系统内部业务处理逻辑并没有改变。用户访问的界面和地址并没有改变,但工作方式已经产生了改变。ETB根据实际业务流程驱动用户和系统按照相应规则参与作业,系统和系统之间采用松散式耦合的关系数据,将事物内在关系提供给系统及作业人员。解决了跨系统数据间的整合问题,同时也解决历史系统高昂的退役和改造成本。
![](https://images.cnblogs.com/cnblogs_com/sukyboor/136566/r_ETB5.jpg)
通过流程驱动用户和系统,ETB很像已有的一些带消息工作流(Workflow)产品,工作流是为解决如何根据业务逻辑开发出符合实际需要的程序逻辑并确保其稳定性、易维护性(模块化和结构化)和弹性(业务逻辑的变化,系统能快速响应)。但ETB并不等同于工作流产品。ETB是一个系统集成方案,通过对面向服务接口实现业务快速整合。
ETB可以看作为ESB的一个子集,或者ESB的初级解决方案。事实上ETB最初提出是为了提供统一工作界面。但随着消息中间件,SOA,工作流等技术逐步加入,使得ETB快速成长为具有其独立特征的系统整合解决方案。
![](https://images.cnblogs.com/cnblogs_com/sukyboor/136566/r_ETB6.jpg)
ETB作为EAI(企业信息集成的一种)其特征包括:
● 简易集成 ETB的集成相对于传统EAI集成简单而有效,ETB仅关注用户和系统之间的任务数据,通过抽象提取和抽象整合来实现系统整合。历史系统甚至可以实现零改造,就能实现系统整合。从而在提高效率基础上减低改造成本和风险。
● 应用集成 为多个系统应用中的提供接近实时的集成。一些B2B 集成中用来实现CRM系统与企业后端应用和Web的集成。
● 业务过程集成 当对业务过程进行集成的时候,企业通过部署在ETB上的“任务流程”定义,在各种业务系统中定义、授权和管理各种业务信息的交换,以便改进操作、减少成本、提高响应速度。
● 数据集成 ETB在进行应用集成和业务过程集成中,最大特点是并不试图解决所有数据的集成。ETB只关注“任务”数据,通过用户端任务和系统来实现数据松散式集成。
● 集成的标准 要实现完全的数据集成,必须首先选择数据的标准格式。ETB集成采用较为成熟的SOA和Web Service标准,促成了信息和业务数据的共享和分布,构成了企业应用集成的核心。
● 平台集成 ETB提供一个集成总线平台。软件、硬件以及异构网络的特殊需求都必须得到集成。平台集成处理一些过程和工具,以保证这些系统进行快速安全的通信。
ETB并不适用于所用企业集成,仅适用于特定应用场景。ETB作为一个简易有效的企业快速集成方案是好的,但是单纯将的ETB仅作为一个项目来运转和实施则散失其真正的意义。同ESB一样,让架构围绕服务,而非总线。和企图将ESB作为企业信息核心不同,ETB更关注对历史系统进行整合,提供抽象任务会话接口,已有系统零改造或轻微改造,即可实现历史系统最大化应用整合。抛弃和改造一个历史系统都是风险很大的工作。历史系统上的大量数据和业务任然支撑着企业运作。ETB并非完全的SOA系统。但是ETB鼓励业务向SOA转换,作为企业解决方案的一个中间过程或垫脚石,最终实现遥不可及的SOA架构。
![](https://images.cnblogs.com/cnblogs_com/sukyboor/136566/r_ETB1.jpg)
ETB的出现将改变一些传统的软件架构,提供比传统中间件产品更为简易廉价的系统集成解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用之间进行通信与整合。ETB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它基于接口和服务,具备了复杂数据的传输能力,并提供一系列的标准接口。
![](https://images.cnblogs.com/cnblogs_com/sukyboor/136566/r_ETB2.jpg)
ETB的五个基本功能:
1)任务源管理:在总线范畴内对任务注册及寻址管理(应用地址)功能。
2)传输服务: 确保通过任务总线互连的任务流程间的消息的正确交付。
3)流程管理:提供任务事件检测、触发和分布功能;
4)多种业务集成:支持异构网络,主动式和被动式任务源处理。提供任务消息队列,数据源适配器等功能。
5)事件管理支持: 如任务处理的记录、测量和监控数据;ETB最让人兴奋的是对事项执行的监控和测量,实现简易、高效进度管理及原因分析。
ETB的八个扩展功能:
1)工作界面集成:作为集成方案,它解决的是用户工作环境的集成,将分布于众多系统之中的业务事项,打包提供给用户。
2)松散耦合:它将分布多业务系统,根据其真实业务联系进行耦合。
3)业务驱动:系统任务发布、执行和用户操作可以互相响应;
4) 系统集成:通过适配器解决历史系统,执行流程编排和转换,实现新系统驱动旧系统。
5)服务交互:服务接口定义和发布等。
6)服务安全:认证和授权、不可否认和机密性、安全标准的支持等;
7)服务质量:事务,服务的可交付性等;
8)服务等级:性能、可用性等。
ETB内数据以任务逻辑关联。跨系统之间数据以任务逻辑关联,这是一种弱数据关联,数据之间不形成依赖,并通过人工整理和流程逻辑实现关联。ETB同时支持用户向系统的驱动和系统向用户的驱动。从历史系统的角度,数据并不存在关系。但通过自动流程处理和人工操作,通过事物内在关系(5w1h)进行关联,可以很清晰的反应业务真实情况。
假设某工厂需要采购一批原料组织生产。采购员小明在生产系统中签收《采购单》。然后,小明拿着《采购单》去财务室,通知财务人员小张向供应商付款。财务室拿到《采购单》后,登陆采购系统进行核对,偶后登陆财务系统付款。付款后,小张打电话通知采购员小明。第二天,负责生产的小王登陆系统时发现原料已到达,小王登陆采购和财务系统确认后,使用生产系统制定生产计划,并组织生产。
通过ETB系统进行整合后,情况有些变化。如下图,用户小明确认采购单,ETB系统将生产信息和采购信息送财务部小张处要求付款。当小张完成付款,系统启动ERP制定生产计划。同时将整个前述过程的资料(采购计划、付款计划、生产计划)打包送给生产管理人员小王,小王根据计划安排生产。
![](https://images.cnblogs.com/cnblogs_com/sukyboor/136566/r_ETB3.jpg)
在小明处理采购单过程,ETB内部进行如下操作:
1, ETB通过接口适配器,从采购系统提取小明任务。
2, ETB将小明的采购确认任务推至小明工作台。
3, 小明登陆工作台,并查看任务。此时通过接口转回采购系统。
4, 小明查看相关信息,系统通过接口和统一验证,转到相应系统(生产、财务系统)。
5, 小明完成确认操作,ETB识别流程,通过接口驱动财务系统。
![](https://images.cnblogs.com/cnblogs_com/sukyboor/136566/r_ETB4.jpg)
整合后,表面上大家通过同一平台工作,同时系统提供分布于各个系统参考数据。实际上,单一系统内部业务处理逻辑并没有改变。用户访问的界面和地址并没有改变,但工作方式已经产生了改变。ETB根据实际业务流程驱动用户和系统按照相应规则参与作业,系统和系统之间采用松散式耦合的关系数据,将事物内在关系提供给系统及作业人员。解决了跨系统数据间的整合问题,同时也解决历史系统高昂的退役和改造成本。
![](https://images.cnblogs.com/cnblogs_com/sukyboor/136566/r_ETB5.jpg)
通过流程驱动用户和系统,ETB很像已有的一些带消息工作流(Workflow)产品,工作流是为解决如何根据业务逻辑开发出符合实际需要的程序逻辑并确保其稳定性、易维护性(模块化和结构化)和弹性(业务逻辑的变化,系统能快速响应)。但ETB并不等同于工作流产品。ETB是一个系统集成方案,通过对面向服务接口实现业务快速整合。
ETB可以看作为ESB的一个子集,或者ESB的初级解决方案。事实上ETB最初提出是为了提供统一工作界面。但随着消息中间件,SOA,工作流等技术逐步加入,使得ETB快速成长为具有其独立特征的系统整合解决方案。
![](https://images.cnblogs.com/cnblogs_com/sukyboor/136566/r_ETB6.jpg)
ETB作为EAI(企业信息集成的一种)其特征包括:
● 简易集成 ETB的集成相对于传统EAI集成简单而有效,ETB仅关注用户和系统之间的任务数据,通过抽象提取和抽象整合来实现系统整合。历史系统甚至可以实现零改造,就能实现系统整合。从而在提高效率基础上减低改造成本和风险。
● 应用集成 为多个系统应用中的提供接近实时的集成。一些B2B 集成中用来实现CRM系统与企业后端应用和Web的集成。
● 业务过程集成 当对业务过程进行集成的时候,企业通过部署在ETB上的“任务流程”定义,在各种业务系统中定义、授权和管理各种业务信息的交换,以便改进操作、减少成本、提高响应速度。
● 数据集成 ETB在进行应用集成和业务过程集成中,最大特点是并不试图解决所有数据的集成。ETB只关注“任务”数据,通过用户端任务和系统来实现数据松散式集成。
● 集成的标准 要实现完全的数据集成,必须首先选择数据的标准格式。ETB集成采用较为成熟的SOA和Web Service标准,促成了信息和业务数据的共享和分布,构成了企业应用集成的核心。
● 平台集成 ETB提供一个集成总线平台。软件、硬件以及异构网络的特殊需求都必须得到集成。平台集成处理一些过程和工具,以保证这些系统进行快速安全的通信。
ETB并不适用于所用企业集成,仅适用于特定应用场景。ETB作为一个简易有效的企业快速集成方案是好的,但是单纯将的ETB仅作为一个项目来运转和实施则散失其真正的意义。同ESB一样,让架构围绕服务,而非总线。和企图将ESB作为企业信息核心不同,ETB更关注对历史系统进行整合,提供抽象任务会话接口,已有系统零改造或轻微改造,即可实现历史系统最大化应用整合。抛弃和改造一个历史系统都是风险很大的工作。历史系统上的大量数据和业务任然支撑着企业运作。ETB并非完全的SOA系统。但是ETB鼓励业务向SOA转换,作为企业解决方案的一个中间过程或垫脚石,最终实现遥不可及的SOA架构。
百足之虫,死而不僵