1 / 42

本课件仅用于北京航空航天大学计算机学院的教学; 本课件修改采用了一些网络资源(论文、研究报告、技术报告等),在采用的时候并没有准确标注引用信息。

声明. 本课件仅用于北京航空航天大学计算机学院的教学; 本课件修改采用了一些网络资源(论文、研究报告、技术报告等),在采用的时候并没有准确标注引用信息。. 第 4 章 企业应用集成. E nterprise A pplication I ntegration. Concepts. EAI 最初指企业应用整合,仅指企业内部不同应用系统之间的互连,以期通过应用整合实现数据在多个系统之间的同步和共享。

Download Presentation

本课件仅用于北京航空航天大学计算机学院的教学; 本课件修改采用了一些网络资源(论文、研究报告、技术报告等),在采用的时候并没有准确标注引用信息。

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 声明 • 本课件仅用于北京航空航天大学计算机学院的教学; • 本课件修改采用了一些网络资源(论文、研究报告、技术报告等),在采用的时候并没有准确标注引用信息。

  2. 第4章 企业应用集成

  3. Enterprise Application Integration

  4. Concepts • EAI最初指企业应用整合,仅指企业内部不同应用系统之间的互连,以期通过应用整合实现数据在多个系统之间的同步和共享。 • 伴随着EAI技术的不断发展,它所被赋予的内涵变得越来越丰富。现在大家谈到的EAI的概念,具有更为广义的内涵,它已经被扩展到业务整合(Business Integration)的范畴

  5. EAI的范围 • Data Integration • Application Integration • Business Integration

  6. EAI技术层次 • 应用接口层:解决的是应用集成服务器与被集成系统之间的连接和数据接口的问题。通常采用适配器技术。 • 应用整合层:数据格式定义、数据转换、消息路由。 • 流程整合层:它将不同的应用系统连接在一起,进行协同工作,并提供商业流程管理的相关功能,包括流程设计、监控和规划,实现业务流程的管理。

  7. The EAI Challenge • N applications that need to communicate with each other • 1st application needs N-1 connections • 2nd application needs N-2 connections • Order of (N*N) point to point connections • 50 systems = Order of (2500 interfaces)

  8. EAI方法 • 1. Hub • IBM’s WBI Message Broker • 2. Bus • TIBCO • SeeBeyond • 3. Workflow

  9. 1. Hub and SpokeApproach • 所有的应用程序 通过中心服务器或引擎发送和接收数据 • 适配器从源应用程序提取数据,并把数据发送给引擎(Broker) • 中心引擎(Broker)按照引擎中预先定义的规则,转换数据并把数据路由到目标应用程序

  10. 虚的概念:Hub 实的概念:Broker

  11. 特征 • 消息转换使用复杂的映射工具 • 根据数据的主题/内容转发消息 • 管理应用程序间的复杂处理过程 • 监控和审计 • 适配器机制

  12. 优点 • 结构较简单 • 该方法或架构避免了应用程序间的紧耦合 • 应用程序端的编程工作较少。转换和路由规则由中心库维护,无需硬编码在应用程序中

  13. 缺点 • 中心代理对整个系统的影响大,并可能成为性能瓶颈 • 单点失效 • 应用部门未必愿意把所有的应用都连接到某个特定的中心,通过该中心完成整合

  14. 2. Bus Based Approach The source applications publish data directly to the bus, or network Data or messages travel along the bus to the adapter, which handles the data transformation, translation, and subsequent routing to the receiving node. The data transformation and routing is distributed in each of the application adapters

  15. 特点 • 所有节点都是平等的 • 优点 • no single-point of failure. • 结构更加开放 • 无论增加多少个目标应用程序,源应用程序都不需要做任何改变 • 缺点 • 需要为每个应用程序定制开发一个适配器,因此,适用于应用程序的类型和数量比较少的情况

  16. 补充说明:电子政务信息交换网络

  17. Bus方式 • 特点:每个节点都是平等的 • 优点:任何两个节点都可以交换信息 • 缺点:每个节点都需要记录大量的路由信息;失去可管理性

  18. 多Hub级连方式 • 效率、单点失效

  19. A B C D E F U V G H I • 混合结构:信息交换网络 • 分级的结构和地址设计 • 路由:主干边 + 辅助边 • 端到端的信息交换协议

  20. 5.2 工作流管理系统

  21. 声明:本节课件修改采用“Cesare Pautasso, Gustavo Alonso, Workflow Management Systems, Swiss Federal Institute of Technology (ETHZ), http://www.iks.inf.ethz.ch/” Workflow Management Systems Cesare Pautasso and Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) http://www.iks.inf.ethz.ch/

  22. 业务过程(Business Processes) • 业务过程描述了一个组织结构内的关键处理过程,包括: • 多个步骤(multiple steps) • 众多的人员(numerous persons) • 大量的资源(large amounts of resources)

  23. Business Process (Example)

  24. 在大规模协作中,以下因素增加的业务过程的复杂性:在大规模协作中,以下因素增加的业务过程的复杂性: • 过程没有严格文档化 • 遵守没有保证的规则 • 人员缺乏信息 • 公司缺乏监控工具 • 步骤、人员和资源不完全协调

  25. 针对这些问题,工作流管理系统的做法是让业务流程的协作方面自动化。针对这些问题,工作流管理系统的做法是让业务流程的协作方面自动化。 that is, who has to do what, when, and with which tools

  26. Goals of Workflow • 在应用程序中硬编码或用传统中间件工具实现业务流程通常难以修改 • 对业务过程进行重构有助于准确定义、更好描述和优化这些过程: • 提高处理能力 • 减少费用 • 减低处理时间 • 对此工作流技术扮演着重要的角色

  27. WFMS as a software tool • 工作流管理系统提供的功能: • 设计环境:用于定义业务过程 • 运行环境:用于协调一组应用程序和人员,执行业务过程 • 辅助工具:控制、监控、分析和优化业务流程 • 工作流系统不直接依赖于分布式计算的编程技术,例如RPC, TRPC, 对象模型、组件模型等 • 工作流管理系统可以是通用的(设计成可以与任何应用一起工作),也可以是专用的 (设计成与某些特定的应用一起工作)

  28. Workflows and EAI • 当前的工作流管理系统已经集成到EAI工具的基础框架中: • 业务过程的高层视图比用C或者C++ 编码的业务逻辑更好(例如可读性和可维护性)。工作流模型使得“业务”和IT开发者之间更容易交流 • 通用的工作流系统是不现实的。作为EAI工具的替代者,工作流管理系统应该成为下层中间件( TP-Monitors, Object Monitors, Message Brokers... )的图形化界面 • 最小化用户参与业务流程,增加流程处理的自动化。因此,为应用程序提供更合适的包装器比给操作人员提供一个漂亮的界面更加重要。 • 从实用的角度,扩展性、容错、与其他系统的连接等是重要的 • 工作流可以像胶水一样粘合构件或Web服务,因而十分重要。

  29. Basic Workflow Model Amount >1 Activity Activity Control Connector Amount <=1 Out Data Container Activity Activity In Out Data Connector

  30. Types of Workflow • 工作流管理系统的种类依赖于它所能支持的业务过程的类型: • 协作环境 • 科学计算 • 生产工作流 • 软件开发 • 电子商务 • 办公自动化 • Web发布,内容管理

  31. Collaborative Workflow • No predefined process • Low process volume • Flexible routing • E-mail based • Human interaction • Iterative • No support for data flow • No support for applications

  32. Scientific Workflows • Process is well defined • No human intervention • Flow of data and control only between applications and nodes • Sophisticated scripting language • Processes are not necessarily executed over and over again • Emphasis on performance and low latency

  33. Production Workflows • Fixed routing • Human intervention • Complex organizational structures and role distribution • High volume of processes • Monitoring important for legal purposes • Tracking important for customer services purposes

  34. Types of Workflow (续) • 根据业务过程的哪些方面可以被自动化 • 文档管理 • 电子邮件系统 • 应用程序流程 • 内容管理 • 两种类型的工作流系统: • 基于内容(Content-based) 或基于状态(State-based) • 基于活动(Activity-based)

  35. State-Based Workflow

  36. Activity-Based Workflow

  37. Modeling and Megaprogramming • 业务过程在很多情况下可以看作是对于组织机构内发生的事情的描述。当业务过程被自动化执行的时候,业务过程的描述就成了配置信息系统的蓝图。 • 在许多情况下,业务过程用业务建模语言描述,一般不包括任何实现细节。 • IT部门需要将业务过程的这种高层说明转化为可以被工作流系统解释和执行的详细说明。 It is also often the case that decisions about the final form of the business process is done at the IT department because the business process, regardless of how good it is, is not enough. Somebody has to take this specification and develop the “program” to make the business process a reality.

  38. 工作流工具可以看作是开发业务过程的编程环境工作流工具可以看作是开发业务过程的编程环境 • Programming a business process in a workflow environment is similar to programming at a very high level: instead of the usual language constructs, one manipulates entire files and applications. • A workflow system requires the same treatment as large programming projects. • In large companies, a workflow system requires a similar effort as a large development project both in the number of people involved and the amount of resources that need to be invested on it.

  39. A high level view of workflow execution • 工作流引擎可以看作是任务调度器,它根据工作流定义和任务的执行情况,将任务分配给可以执行的资源 • 资源代理负责根据任务相关联的角色选择资源

  40. Standard Workflow API

  41. Process Definition Tool

  42. Administration and Monitoring Tool

More Related