软件体系结构(Software Architecture).ppt
《软件体系结构(Software Architecture).ppt》由会员分享,可在线阅读,更多相关《软件体系结构(Software Architecture).ppt(107页珍藏版)》请在麦多课文档分享上搜索。
1、软件体系结构 (Software Architecture),讲义10:应用集成概述,内容,应用集成概述 面向业务过程的应用集成 应用集成中的中间件技术 适配器与J2EE连接子体系结构,背景,目前,企业政府构建了许多应用系统,但是,多数应用系统相互独立运行,每个系统都包含其自己的应用、流程和数据,从而形成了一个个“信息孤岛”,相互之间无法进行通畅的信息交换与共享 企业业务已经进入“随需应变”的时代 ,为提高企业的综合竞争力,即时处理瞬间万变的信息,其中一个关键的工作就是将各类业务应用系统及各类信息进行有效的集成 “应用集成”是目前解决“信息孤岛”和“随需应变”的一种有效技术途径。是“二十一世纪
2、软件工程所面临的三大挑战之一”,定义,Application integration is a strategic approach to binding many information systems together, at both the service and information levels, supporting their ability to exchange information and leverage processes in real time. 应用集成是一种在服务和信息层面把多个信息系统绑定在一起的策略性途径,支持实时地进行信息的交换和业务过程的流转。-
3、David S. Linthicum 摘自Next Generation Application Integration,寻求一种谁都可使用的应用集成技术方案,一般来说这基本 上是不可能的。因此,每一种应用集成方案都需要不同的途径。目前,已有的途径大体上可以分为4类:(1)面向信息的途径;(information-oriented)(2)面向业务过程的途径;( business process integration-oriented )(3)面向服务的途径;( service-oriented )(4)面向门户的途径。( portal-oriented ),引言,2、面向信息的途径(info
4、rmation-oriented) 集成基本点:数据库和产生信息的API 被看作是应用集 成的基本点。 分类:这类途径又可分为:1)数据复制(data replication);2)数据“联邦”(data federation);3)接口处理(interface processing)。,1)数据复制(data replication) 语义:简单地把信息在两个或多个数据库之间进行“迁移”(moving) 基本需求:解析(account for)不同数据模型和数据模 式 (schemas) 实现方法:提供数据交换(exchange)的基础设施。例如,元数据库,以及元数据到元数据的映射、元数据到
5、数据的映射等。 应用情况:已存在大量的基础设施,投资少。例如面向数据库 的中间件,提供了数据复制服务。,优缺点分析:优点:简单、成本低,容易实现,技术清晰。问题:如果方法需要与特定数据绑定方法需要仅与特定数据共享那么就应该考虑使用面向服务的方案。,2)数据“联邦”(data federation) 语义:把多种数据库和多种数据模型集成为一个单一的、统一的虚拟数据库。,DB2,Informix,Oracle,Virtual Database,实现方法:数据库联邦软件作为一个层次(layer),处于物理数据库和应用之间。这一层使用可用的接口连接各数据库;为了访问所需要的信息,实现物理数据库与仅在该
6、软件中存在的一个虚拟数据库模型的映射。该应用使用这一虚拟数据库来访问所需要的信息。当需要时,数据库联邦处理数据的聚集和分布。,数据库联邦软件,物理数据库,应用,优点分析:使用这一软件的优点是,可以绑定很多不同的数据类型,使之成为一个统一的模型,以支持信息的交换(exchange)。由于数据库联邦通过单一、良好定义的接口,允许访问任一已经连接起来的数据库,因此对面向数据应用集成问题来说,这是一种最优美的应用集成方案。,比较:与数据复制途径相比,这一方案不需要改变源应用和目标应用。为了支持联邦数据库软件,在所面向的应用层必须要进行一些改动。这是因为:为了访问不同数据库模型(虚拟数据库),使用了不同
7、的接口层。,3)接口处理(interface processing) 语义:为了强调“打包”的应用和定制的应用这两者的集成,接口处理方案使用了良好定义的应用接口,Packaged Application,Application Integration Engine,API,Information and services,接口处理:打包的应用通过良好定义的API向外展示 信息,应用情况:在ERP应用中,这一方案得到了很好的应用, 实现了相当好的应用集成。其中,集成商通过提供适配器 支持应用接口处理,通过他们开放的、合适的接口,尽可能将更多的打包应用和定制的应用实现连接。他们还涉及一些技术方案,
8、包括中间件技术等。,3、面向业务过程的途径( business process integration-oriented )语义:简单地说,面向业务过程集成 产生了一个层次,该层次定义了并管理了一些核心的、包含在企业应用顶层的过程。,本质:业务过程集成是一门科学和机制,该科学和机制以正确的、合适的次序,管理数据的迁移和过程的调用(invocation)以支持应用之间和应用内公共过程的管理和执行。作用:业务过程集成是一种策略,更是一种技术,通过 企业内和企业之间的业务过程集成,增强组织与不同应用 进行交互的能力。 目标:绑定一些相关的过程,通过支持单位内过程之间的信息流和控制逻辑,以获最多有价值
9、的信息(value)。,传统的应用集成和业务过程之间的区别: 业务过程集成的一个实例,通常是跨越传统的应用集成,其中应用集成通常是指两个或多个系统之间的信息交换,而见不到内部的过程。 业务过程集成的要点是过程模型以及支持该模型的应用之间数据的移动(move) 应用集成是由需求所驱动,以实现两个或多个应用的通信;而业务过程集成是通过权衡业务规则的,以确定系统应该如何通过一个抽象的业务模型,实现系统之间交互,并更好地权衡业务中有价值的信息。,面向业务过程集成的应用集成BPIOAI的构造: 1)关于BPIOAI的定义最好把BPIOAI定义为:一些可应用的、适当的规则,以一致的逻辑顺序,以一定的次序在
10、相关的系统之间转送信息,并使应用层的过程可视化和共享。面向业务过程的应用集成是一个关键的概念,并可控制我们如何处理信息迁移和本地、远程应用服务的调用。其中,信息迁移和本地、远程应用服务的调用,均被抽象为一个BPIOAI模型,控制公司内外的应用集成域。即BPIOAI应包括:创建一个跨越内部和外部系统的公共的抽象过程。,BPIOAI 应该有能力支持定义一个公共的业务过程模型,其中关注5个问题: 顺序、 层次、 事件、 执行逻辑,以及信息在同一组织和多个组织内系统之间的迁移。事实上,BPIOAI的思想就是提供一个单一的模型,它跨越多个应用和数据存储;提供一种公共业务过程的想法,控制系统与人的交互,以
11、完成一种特定的业务需求。,2)业务过程集成提供的服务业务过程集成提供的三个主要服务为:(1)包含在相关伙伴系统中的过程的可视化(2)接口抽象(3)业务过程性能的实时测量,(1)过程的可视化目的:通过企业内外相关过程的可视化,业务管理人员就可以参与到企业集成中。原因是: 图或图形的使用,提供了一种有力的工具,便于交流和共识的建立。 通过过程可视化这一途径,提供了面向业务的集成场景,涉及实时集成中可用的中间件和集成点。 为业务分析人员提供了一种能力,使之能够对业务模型以及业务实现作出相应的变化,而不必让企业内的IT部门参与。,(2)接口抽象接口抽象涉及“一个映射和二个抽象”,即:业务过程集成模型与
12、物理系统接口的映射; 对具有连接作用的连接件 和 业务分析人员关于系统集成方案这两者的抽象。业务过程集成在应用集成中间件的上层。使用业务过程集成 工具的人员能够以一种逻辑业务层的观点来看待客观世界,并 不受物理集成流、界面和适配器等的限制。进一步地说,应用 的中间件机制也被抽象。,(3)业务过程性能的测量目的:业务过程性能测量为业务过程集成提供了一种实时分析业务的能力。通过权衡与过程模型和中间件的紧密集成,业务分析人员就可以获得实时的业务统计。业务过程集成可以使技术人员有能力跟踪每一业务过程实例。从而需要测量和维护一个跨越多个活动的过程实例的持续时间等语境方面的信息。,业务过程集成逻辑与程序设
13、计逻辑一般来说,业务过程集成逻辑只关注过程流和过程集成,不 同于传统的程序设计逻辑,例如处理一个用户界口,修改一个 数据库等。事实上,在大多数BPIOAI的场景中,其过程逻辑与应用逻辑 是分离的。它的功能仅是协调、管理多个源系统和目标系统之 间的信息流。,4、面向服务的途径( service-oriented )语义:面向服务的应用集成(SOAI)允许应用共享公共的业务逻辑或方法。实现方法:1)定义一些可以被共享的、进而可以被集成的方法;或2)为这样方法的共享 提供一种基础设施,例如Web服务。,应用A,应用B,应用C,应用D,组合应用,终端用户,注意: 面向信息的应用集成一般不需要改变源应用
14、和目标应用,而面向服务的应用集成为了得到规范上的统一,有时则需要改变企业的应用。由于改变应用要付出昂贵的代价,因此,就需要确保SOAI符合实际需要。 在认可SOAI的蔓延性和较贵的价格之前,企业必须清楚地了解它的机遇和风险。,5、面向门户的途径( Portal-oriented ) 语义:面向门户的应用集成(POAI),允许我们通过单一的用户界面来观视企业的内外部系统。 实现方法:它把每个系统的用户界面适配到一个公共的用户界面(聚集的用户界面)-大部分是Web browser。,SAP,*,* *,*,中间件,Web 服务器,*,* *,Web Browser,It integrates al
15、l participating systems through the browser, although the applications are not directly integrated within or between the enterprises.,比较: 其它类型的应用集成,关注系统之间和企业之间信息的实时交换,而POAI强调把大量企业系统的信息外部化(externalizing)到一个单一的应用和界面。 但是:通常所说的在两个或多个应用之间的数据迁移或过程绑定,如果没有用户帮助的话,应用集成也可能发生在用户界面上。,内容,应用集成概述 面向业务过程的应用集成 应用集成中的
16、中间件技术 适配器与J2EE连接子体系结构,1、概要问题的提出:面向业务过程的应用集成,是应用集成的一项功能。随着技术的进步,通过信息交换和绑定过程将不能控制应用的集成,然而,可以通过对过程的模型化 和一个业务过程模型的执行来绑定许多内外多个系统中的过程和信息。,从技术角度来讲,面向业务过程的应用集成是一个关键的概念,并可控制我们如何处理信息迁移和本地、远程应用服务的调用。其中, 信息迁移和本地、远程应用服务的调用,均被抽象为一个BPIOAI模型,控制公司内外的应用集成域。 应特别注意那些主要针对业务过程集成(BPI)的标准,例如RosettaNet 和ebXML等。,BPIOAI的思想BPI
17、OAI 有能力去定义一个公共的业务过程模型,其中关注5个问题: 顺序、 层次、 事件、 执行逻辑,以及信息在同一组织和多个组织内系统之间的迁移。事实上,BPIOAI的思想就是提供一个单一的模型,它跨越多个应用和数据存储;提供一种公共业务过程的想法,控制系统与人的交互,以完成一种特定的业务需求。,与其他途径的比较与IOAPI和SOAI相比,甚至与POAI相比,BPIOAI是一种值得称赞的应用集成形式。原因是:BPIOAI提供了一个控制机制,用于定义并执行信息迁移和跨越多个系统的过程调用。其目标是把封装的应用服务和应用信息抽象为单一的业务过程模型。,BPIOAI introduces the no
18、tion of a common business process model that controls the movement of information and the invocation of application services across many different systems,both inter-intra company.,A,B,C,D,E,company1,company2,BPIOAI的应用可以被应用到以下业务事件:处理一个客户要求;向客户交付一个产品;处理一个财政交易。 这一想法是简单的。把控制逻辑层放到集成技术的顶层,允许控制逻辑把这样的一些系统绑
19、定为一个单一的、统一的业务过程,该过程可以实现业务过程的特定过程。但必须做到: (1) 正确的定序,包括合适的信息、控制顺序、状态维护、时间延迟,并且(2)有能力处理例外。,BPIOAI技术必须是灵活的,为此,需要 提供:1)一个在源系统和目标系统之间的转换层;2)过程集成引擎。并且,为其工作,还需要:3)不同类型的技术和接口模式。,2、BPIOAI与传统应用集成途径的区别实际上, BPIOAI是传统应用集成途径(包括IOA,ISOAI)的最上面的、完整的一层。它们之间的区别是:1) BPIOAI的一个实例,通常跨越多个传统应用集成的实例。2)应用集成一般意指多个系统之间的信息迁移,看不到内部
20、的过程。 BPIOAI定义了一个主(master)应用,可以看到许多被封装的服务和应用信息。3) BPIOAI涉及一个过程模型,迁移应用之间的信息,并且为了支持该模型,调用一些内部应用的服务。 4) BPIOAI独立于源应用和目标应用。在不需改变源系统和目标系统的情况下,可以对其一些过程进行改变。,5) 应用集成一般是战术性的解决方案,是由两个或多个 应 用为了通讯而引发的; 而BPIOAI是战略性的解决方案,权衡一些业务规则,以确定系统如何交互;通过公共、抽象的业务模型,更好地权衡每一系统的业务流程。 BPIOAI是以正确的、合适的次序管理应用服务之间数据迁移和调用的一种科学和机制,目的是为
21、了支持组织之间和内部应用之间现存公共过程的管理和执行。,BPIOAI的目标为了支持内外部系统之间相关过程的信息流和逻辑,实现它们共有价值的最大化,其目标就是如何定义这一机制,用于绑定那些相关的过程。 另外, 还要解决如何定义一个公共的、一致依赖(agreed-upon)的过程,该过程存在于许多组织之间,并通过这一过程能够看到任意一些被集成的系统,并可以看到需要权衡公共过程模型的任一系统。,BPIOAI的探索把BPIOAI定义为:以一种一致依赖的、逻辑的、多步的顺序,应用一些适当的规则,目的是在参与的系统之间转送信息,可视化和共享应用服务,其中包括创建一个跨越内外部系统的公共抽象过程。这一定义是
22、否为真,取决于业务过程是否予以自动化。公共过程模型的重要性体现在:1)可以产生被参与该过程的系统所理解的事件;2)可以对应用通信的事件作出反映,并反馈到BPIOAI引擎;3)必须能够确认发生的例外,并处理之;4)必须能够维护较长时间(几天,几周或几个月)的状态,使用一个公共过程模型的优点使用一个公共过程模型来实现跨越多个系统和公司的应用集成,具有以下优点:1)模型化(modeling):有能力在计算机系统之间创建一个公共的、一致依赖的过程,实现所有信息系统的集成自动化,实时响应业务事件,例如增加消费者的要求,材料存储和质量问题等。2)监控(monitoring):有能力分析业务、企业等所有方面
23、,以实时确定该过程的当前状态。,3)自信(Optimization):有能力在给定的时间上重新定义该过程,支持该过程使之更加有效。4)抽象(abstraction):有能力隐藏业务用户本地应用的复杂性,使业务用户按一个公共的一组业务语义进行工作。,5)公共过程模型排序主过程,发送并接受其它事件,支持公共B2B过程模型。这是一项不断的活动,将本地系统中的信息迁移到过程引擎,进行必要的转换,并从过程引擎中迁移到本地系统,支持过程模型的执行。,BPIOAI引擎,Source,Target,Transformed,Assembled Skateboard,Sales Information,Assem
24、bled Skateboard,Skateboard to Assemble,1,2,3,4,在一个典型BPIOAI过程中的步骤,一般来说,BPIOAI逻辑强调过程流和信息集成,它不是传统的程序设计逻辑,例如用户界面处理,数据库调整,或一个事务的执行.在大多数情况下, BPIOAI逻辑与应用逻辑是分离的.应用逻辑很少来协调管理一些源应用和目标应用之间的信息流和应用服务的调用.这样的一个系统操作在3个技术层面:,Process model,Transformation,routing,and rules,Messaging Service,其中:1)最上层为BPIOAI层。 有:模型化工具和过程
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 体系结构 SOFTWAREARCHITECTURE PPT
