2022年2022年集成的类型 .pdf
集成的类型要点:? 应用软件的集成可以在三个要点上实现表示层、功能层或数据层。? 集成的目标之一是减少耦合。? 紧密耦合型的集成可能会为维护工作带来严重负担。? 表示层的集成容易实现但是有很大局限性。? 数据集成比起表示层来说,提供了更加广泛的解决方法,但是可能要重写软件才能正确地处理各种数据。? 功能集成是最重要的模型,但是同时也是最复杂的。? 功能集成分为三种:数据一致性、多步处理过程和即插即用组件。? 好的 E AI体系结构不仅可以实现数据层和功能层的集成方案,也可以实现表示层的集成。第 2 章名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 26 页 - - - - - - - - - 20部分第2章在过去的 3 0年中,应用在信息系统中的集成概念已经发生了引人注目的变化。最开始集成主要是将一套不同的硬件联系在一起支持从头开发的软件。但随着硬件的发展,使得构建更加复杂的软件成为可能,集成的特性发生了改变。集成越来越意味着耦合硬件和软件来形成一个系统。现代集成的概念是由软件主导的。企业越来越多地致力于将他们已有的软件与新软件进行集成来实现新的应用功能。互联网络的出现使我们可以通过网络在不同的硬件平台上使用这些软件,从而使集成工作比以往更加复杂。 E AI代表了系统设计方法和技术的变革,其目的是减少现今系统集成工作的复杂程度。随着集成特性的改变,集成方案选项的复杂度和广泛度都有了一定的提高。这些选项包括在应用程序间共享数据并保证其正确性和一致性,提供应用程序的集成前端访问,通过工作流程来联系各个应用程序,并以革新的方式从现有应用程序中提取信息来创建新的应用程序。E A I的最终目标是使一个企业可以快速、方便地将不同应用程序集成到一起。在这一章中我们会考查一些用来实现集成的方法,提出并讨论三种集成模型。好的E A I策略和体系结构可以让一个企业应用这些模型来达到第一章“E AI的商务动力”中提出的要求。2.1 集成模型集成模型 (integration model )是指一种用来集成软件的特定方法和结构。它为各种方法和结构以及各种要求和限制提供了一系列不同的选项,并将重点集中在以下的一个或两个特性上:? 实现集成的简单性。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 26 页 - - - - - - - - - ? 对于不同配置集成的可重用性。? 可用集成方法的广泛度。? 在执行集成的过程中要求的专门技术。随着集成的复杂度逐渐转变为由软件主宰,人们提出了一些不同的集成模型。最初的集成利用定制软件来产生预期的结果,用定制软件集成可以解决所有难题。但是,对每一个集成来说,这种方法都需要大量的工艺。这种工作很大一部分是与集成的分布式处理相关的,而且必须定制开发。这些定制集成也很难重用,要求对每一个集成项目进行重复的工作。集成模型集成模型定义了集成的特性和机制,并由此决定如何将软件集成在一起。许多模型具有相关的支持工具软件,这些软件可用来减少花费、缩短时间,或是用以增加集成的可复用性与灵活性。每一种模型用于集成应用软件的不同部分。在应用程序中存在三个可能的集成点:显示功能、数据库的软件功能或文件。以下几种集成模型展示了不同的软件集成方法:? 表示集成? 数据集成? 功能集成表示集成模型是集成最简单的方式之一。在这种模型中,一般使用软件用户界面来实现对多种软件的集成。典型情况下,集成的结果是形成一个新的、统一的显示界面。新的界面看起来好像是单一应用程序,但实际上却可能调用几个遗留应用程序。集成逻辑将现有的显示界面作为集成点来指导用户进行互动操作,并在用户操21集成的类型名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 26 页 - - - - - - - - - 作与相应软件之间进行通信,然后再把不同的软件部件产生的结果综合起来。比如说,我们可以使用屏幕剪贴工具来调用一系列主机应用程序,并把它们集成为一个新的 Wi ndows应用程序。这个单一的显示界面可以代替一系列基于终端的界面,并可能向用户提供附加的性能、功能和工作流程。这样也可以为用户优化遗留程序之间的流程。表示集成模型表示集成模型通过遗留软件的现有表示来集成新的软件。通常用来创建一个新的用户界面,也能用它来与其他软件进行集成。数据集成模型的基本思想是对各种软件组件的数据存取进行集成。这样,用户在存取数据时就可以绕过相应的应用软件,而直接获取该软件所创建并存储的相应信息。例如,我们可以利用数据库网关来访问使用IBM DB2数据库的客户订单系统和使用O racle数据库的客户账单系统。网关负责将信息从各个数据库中取出,存放到一个用来评估客户购物习惯的数据挖掘应用程序中。这样,在使用网关时,我们就可以绕过订单处理软件和账单软件而直接获取数据。数据集成模型数据集成模型通过直接访问软件所创建、维护并存储的相应信息来实现软件集成,这样做通常是为了在应用软件之间实现数据的重用和同步。功能集成模型在代码级上实现软件集成,这可能在对象或过程级别上实现。如果软件使用应用编程接口(A PI) ,那么也可以用A PI来实现集成。比如,我们可以通过访问订单和账单软件来更新从第三方软件传来的用户地址信息。如果提供给订单或账单软件的地址信息需要遗留软件的相应操作,而这种操作在数据被读出或存储之前,那么在这种情况下我们将使用功能集成而不是数据集成。比起在新应用程序中创建新22部分第2章名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 26 页 - - - - - - - - - 逻辑来说,重用现有的逻辑则更加有效,也不容易产生错误。而且对每个应用软件的访问是定制的,其中包括应用软件的语义和行为特性。另一种进行功能集成的方法是使用连接器( c onnector)来屏蔽软件的内部机制,而直接响应获取用户信息或改变用户地址的请求。所谓连接器是一种软件,向用户提供使用软件功能的方便途径,同时对外部隐藏了软件内建立实际联接的复杂性。它使整个软件看上去好像在开始设计时就考虑到提供简易访问与集成一样。功能集成模型用功能集成模型来实现软件集成的目的在于从其他新的或现有的软件中调用现有功能,这种集成可以通过软件接口来实现。在进一步详细描述这三种模型之前,我们必须先了解一个重要的概念耦合。2.2 集成与耦合当我们把两种软件组件集成到一起时,有几个重要因素会严重影响着集成的质量与可用性。这些因素包括:? 所使用的集成模型? 所使用的集成工具软件? 设计者的选择在任何集成项目中,最重要的成果之一就是降低其中软件组件的耦合程度。耦合度 ( c oupli ng)衡量了两种组件之间的独立性以及其中一个的改变对另一个的影响程度。总的目标是使用松弛型耦合组件使它们之间的相互依赖性变得很少或不存在。23集成的类型名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 26 页 - - - - - - - - - 耦合耦合定义了集成的程度。松耦合中,集成只依赖于几个离散的接口;但紧耦合中软件执行时通常存在着相互依赖性。与此相关的概念有白盒集成与黑盒集成。表示集成和数据集成使用白盒模型就意味着对集成者来说,应用软件或数据库的内部构造是可见的;相反,在黑盒集成方法中,这些内部结构对集成者来说是不可见的。功能集成可以使用白盒与黑盒中任意一种来实现。但如果使用黑盒方法,就必须使用A PI连接器或其他形式的接口来访问内部功能。在这种情况下,如果集成者创建了一个可重用的连接器,那么以后就可使用黑盒方法进行进一步地集成。白盒集成比黑盒集成有更强的耦合性。但采用黑盒集成模型的系统一般有更高的重用性与即插即用性。白盒集成为了获得预期的集成效果,在白盒集成方法中,应用程序或数据库的内部对集成者是可见的,因而需要集成者了解软件的内部构造。这种方法通常导致紧密度较高的耦合。黑盒集成黑盒集成方法对集成者隐藏了软件和数据库的内部特性,可以使用A PI、连接器或其他形式的接口来实现。由于隐藏了软件的内部细节,因此通常形成松耦合系统。2.3 表示集成模型在个人电脑取代终端以后,用户的需求也发生了改变。在个人电脑中通常使用图24部分第2章名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 26 页 - - - - - - - - - 形用户界面( G UI)来提高对集成应用软件的访问能力。这种提高了的访问需求包括与多种软件集成的能力,并添加了用于管理接口的业务逻辑模块来确认、检验错误和计算。这里我们所指的显示是指提供软件访问功能的用户界面。表示集成模型建立在这样的基本设想上:使用现有的表示逻辑模块来访问遗留的应用软件,通过重绘来创建一个新的用户界面。但实际上为了实现集成,用户的每个交互动作最终都会被映射到旧的显示机制上。这种方法也可用来集成其他软件,但只能提供局限于旧的用户界面上的操作。图2 -1显示了表示集成模型的结构。在其中已有的两个不同软件的显示界面上,建立了公共的显示界面。屏幕截取技术是在此模型中常用的集成技术,编程者可用此技术来访问遗留的显示界面,并创建新的图形用户界面。图2-1 表示集成模型通过应用软件的用户界面集成25集成的类型通用表示? We b浏览器? Java? Windows GUI表示遗留应用数据数据封装式应用表示名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 26 页 - - - - - - - - - 2.3.1 何时使用如果你想实现以下目的,就应该使用表示集成模型:? 在现有的基于终端的应用软件上配置基于P C的用户界面,以便为终端用户提供更易使用的软件。? 提供给用户一个看上去单一,但实际上由多个软件组件组成的应用软件。? 如果一个软件只有在显示界面集成中才有意义、才可行,那么集成时就应使用表示集成模型。这种形式地集成只有在使用用户界面或是遗留软件的显示界面层就可完成集成的情况下才有用。它典型的用于文本界面比如I BM3270或 V T100的集成中。最好的集成模型例子有:? 为大型机应用程序提供一个Microsoft Wi ndows界面。? 为SAP R/3与大型机应用程序提供统一的H TML界面。? 为多个大型机应用程序提供统一的基于J ava的界面。第一个例子只是轻度集成,因为它只把大型机应用程序集成到Wi ndows程序中;而第二、三例则需要其他的集成逻辑模块,因为其中涉及了两个应用程序的数据和功能。这种形式的集成是成功的,因为它可用来迅速解决一些特定的集成问题。在集成工具中,这是一种不需要任何经验即可完成的简单集成方式,因而花费较少。但软件的重用性也很有限,而且整个集成的功能与特性也不多。通过降低访问多个应用软件的复杂性,增加了用户的使用经验。2.3.2 正反两面的辩论表示集成易于实现,并可以相对较快地完成。显示逻辑模块通常比数据和功能逻26部分第2章名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 26 页 - - - - - - - - - 辑模块更为简单,因为它的内部结构可见,而且常有很好的记录与自述。良好的集成工具可以完成创建集成所需的大部分工作,而开发者只需致力于新显示界面的构造就可以了。另一方面,显示界面的集成只发生在用户界面层上,因此只有旧显示界面定义的数据和操作才有效。而且表示集成可能会成为系统性能的瓶颈,因为在现有应用软件上额外增加了一层软件。现有软件中内在的数据与逻辑会变得不可访问。表示集成模型是三种模型中最有局限的,集成只发生在显示界面层而不是应用软件或数据的互联中。2.4 数据集成模型数据集成模型跳过显示界面与业务逻辑模块,直接进入应用软件的数据结构或数据库来创建新的集成,该模型如图2 -2所示。这样的集成可能只需简单访问软件所使用的数据库管理系统,也可能需要与应用程序所管理的文件或用户数据库进行更加复杂的集成。有许多不同的工具和数据访问中间件可以被用作访问数据库信息并进行集成的工具。这些中间件工具有:批量文件传输。 这种工具以特有的或是预定的方式在系统与应用软件间传输文件。这类工具最初是用来将大型机上创建的批量文件传输给应用程序,是最早的数据集成工具。因此就有人提出异议说这些工具并不能提供实际的数据集成,只是简单的移动数据而已。开放式数据库连接(O DBC) 。这是一种标准的应用编程接口,专门用来负责访问不同类型但相互关联的数据库。这种接口是第一种被广泛认同的标准。标准所定义的27集成的类型名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 26 页 - - - - - - - - - 接口可与支持接口的数据库进行集成。另外,此接口也可用于其他形式的数据存储,只要数据支持预定操作即可。图2-2 数据集成模型直接对应用软件所创建和使用的数据进行集成数据库访问中间件。这是一种向分布式数据库提供联接的中间件。中间件的名称就已经标明这种工具不但能够在软件组件之间提供互连,而且还能实时管理软件组件之间的交互作用。数据访问中间件主要负责交换询问信息、处理结果信息、连接数据库、共享联接以及其他与数据处理有关的任务。数据转换。 这是一种对中间件的补充工具。由于数据定义、结果和图表在不同软件中是互异的,因此软件的数据交换通常需要进行各种格式转换,数据转换正是提供将数据由原始数据格式转变为目标数据格式的功能。比如说将使用E BCDIC码的数据转换为 A SCII码数据,或是将美元换算成日元。转换工具可用来处理此类问题。28部分第2章表示应用逻辑中间件遗留应用封装式应用数据数据? We b浏览器? Java? Windows GUI? 批量文件传输? 数据库网关? ODBC? 数据仓库? OLAP? 数据转换名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 26 页 - - - - - - - - - 这些技术中的每一种都可用来解决某些方面的问题,也可以联合起来用于解决更为复杂的数据集成问题。例如,批量文件传输和数据库访问中间件可用来联系不同的数据资源,而其中一些可能还支持O DBC。数据可以在送达应用软件前用传输工具加以处理。随着多年来数据集成需求的发展,这些技术也不断地演变着。数据访问中间件数据访问中间件是一种使用和创建连接器来简化访问数据库过程的方法。另外,它还提供实时处理环境,处理发往数据库的查询信息,并返回结果。2.4.1 何时使用如果你想要实现以下目标,就应该使用数据集成模型:? 从多信息源综合数据来进行分析和决策。例如,从多个包含用户信息的数据源获取信息,并把它们送到统计软件包。? 向多个应用软件提供某公共信息源的只读访问权限。例如,创建一个有完整用户信息的数据库,并运行多个数据挖掘或统计软件访问该数据库的情况。? 从一个数据源提取信息并转换为合适的格式,以此来更新另一数据源的信息。例如,想要更新所有数据源的客户地址信息,使它们保持同步和一致。在这些例子中,集成通过应用软件之间的数据传输来实现,而不管数据是批量传输的还是软件需要一项特定的数据记录。使用数据集成模型的例子如下:? 把S ybase、IBM DB2 和SAP P/3数据库中的客户数据综合到呼叫中心应用程序中。在本例中,需要使用数据库访问中间件来获取数据并将它们综合到呼叫中心的应用程序中。然后应用程序就会向该中间件发送查询,而后者又以准确的格式向各个数据库发出查询信息并将等待结果传回呼叫中心应用程序。29集成的类型名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 26 页 - - - - - - - - - ? 创建使用大型机和O racl e数据库的可执行信息系统(executive informations ystem, E IS) 。对于这种情况可能有以下几种解决方案:其中之一是每天晚上将数据库中的文件批量传输到E IS中;另一种是使用数据库访问中间件查询分析所需的特定数据。前一种方法是建立在一种规范的时间基准之上。比如每天晚上,批量文件传输工具会在特定时间把数据文件传到E IS。但 E IS本身却不会参与数据传输。若使用数据库访问中间件,则E IS系统就会为其所需数据发送请求并等待回应。在批量方式下,数据只保留上次传输更新后的状态。而在数据库访问中间件方式下,数据则会是最新的。? 允许其他应用程序在P eoplesoft和专门定制的 O racle数据库中获取数据。这可以通过使用待访问数据库的O DBC接口来实现。新的应用软件会使用O DBC作为获取数据的统一接口。应用软件可用O DBC向定制的 O racle应用软件发送请求。但是,这要求使用 O DBC的应用程序能够管理交互行为。使用数据库访问中间件可以减轻应用程序的负担。数据集成模型在以上情况下是适用的。而工具的选择与配置则会决定集成的特性。这些方案在集成复杂度、数据及时性(晚上传输数据可以接受吗?还是数据必须实时提供?)和访问数据的简易度上有所不同。这些特性都必须加以考虑以便决定数据集成的最佳方案和工具。2.4.2 正反两面的辩论数据集成模型比表示集成模型更加灵活。它比后者能提供更广泛的数据访问,也允许用户访问完整的一套信息或是其中一部分。这取决于新软件的需要。这种方法也简化了访问数据库的过程。当数据库使用接口很容易访问时,或是在使用中间件向新的应用程序提供多数据源集成时,数据集成模型就可加快集成速度。30部分第2章名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 26 页 - - - - - - - - - 数据集成模型还允许在其他软件间复用数据。一旦集成完成,该集成软件即可复用。比如说在呼叫中心的例子中,集成可以在新的自助网站复用数据。但是,为了进行数据级集成,应用软件还必须为处理数据编写相应的功能。比如说,客户的余额若是在几项数据的共同基础上计算得出的,那么这种逻辑就必须在使用数据的每个应用程序中都存在。重写业务逻辑的要求可能看起来像个小问题,但它却能造成很大的麻烦。考虑一个银行使用数据集成方法获取账户信息的情况:在创建与使用数据库的软件所使用的业务逻辑中可能已经有重新核算账户余额的逻辑模块了,但这种逻辑对使用数据集成模型的其他软件来说仍是不可用的。在这种情况下,我们就不得不重新编写核算账户余额的逻辑模块。由于核对账户余额数据可能无法反映那些应该清户的存款,所以这样的情况还是有可能发生的。而重复的逻辑还可能会引起创建与维护上的巨大开销。最后,每种集成都与一种数据模型相联系。如果数据模型发生改变,那么集成就会被破坏。这就使数据集成对变化非常敏感。由于系统通常是不断演变的,因此这样的改变将会导致为了维护集成而付出大量工作。2.5 功能集成模型I T预算的很大一部分是花费在业务逻辑模块的创建与维护上。业务逻辑是为了实现软件所需的功能而编写的代码。其中不仅包括数据操作与解释规则,也包括流程与工作流,因而也很容易理解:当企业家面临企业所出现的问题时,作为解决方案的表示集成和数据集成很快就难以应用下去了。业务逻辑包含了正确理解和构建数据所需的规则,而这些规则对显示界面来说并不总是可用的。31集成的类型名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 26 页 - - - - - - - - - 业务逻辑模块业务逻辑模块是使用编程语言来实现业务处理机制的方法。功能集成模型是在业务逻辑层上完成集成,而不是在显示界面或数据层。该模型如图 2 -3所示。功能集成要求集成点存在于应用程序代码之内。集成处可能只需简单得使用公开的 A PI就可以访问,也可能复杂得需要用附加代码段来创建新的访问点。图2-3 功能集成模型直接对应用软件的代码进行集成远程过程调用 (Remote Procedure Call ,RPC)曾一度被视为解决这些问题的最好方法。但现在使用分布式处理中间件已经成为首选方法了。P RC只能提供访问的定义与基本的通信能力,而且通常在实际开发软件时,还需要很大的工作量。中间件提供了一种更强有力的方法。它不仅将接口定义和通信综合到一起,而且还为软件组件之间的信息管理提供实时支持。32部分第2章表示应用逻辑中间件遗留应用封装式应用数据数据? We b浏览器? Java? Windows GUI? MOM? DOT? TPM名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 26 页 - - - - - - - - - 分布式处理中间件分布式处理中间件是一种软件,它使用预定义的消息或接口来实现软件组件之间的通信。另外,它还为软件组件之间的信息管理提供实时支持。分布式处理中间件的三种类型如下:面向消息的中间件( M OM) 。在应用软件之间传递信息来实现集成。这和邮局的概念有相似之处,消息被放置到M OM中, M OM 负责将信息投递到目标系统。M OM可借助一系列的配置方法来实现,比如,消息队列和消息传递。此类产品的例子有I BM的M QSeries以及Ta larian的Smart Sockets。分布式对象技术。该技术在中间件上应用了面向对象的概念。由于使用了接口,软件看上去就像单一对象。其他应用程序要通过网络访问软件,只需使用对象接口即可。这样的产品有O MG的C ORBA 、M icrosoft的C OM+以及 S UN公司的 J ava2企业版(J 2EE)等。事务处理监控器(T PMs) 。该技术使用诸如两阶段提交的概念来控制传输,从而为分布式结构提供关键业务的支持。这些监控器保持分布式信息源(比如,数据库、文件和消息队列)的完整性。此类产品有B EA公司的 Tu xedo。这几种分布式处理中间件可以单独或者综合起来(有很多产品商已经这样做了)用于功能层的软件集成。这里的几种中间件将在第4章“消息传递体系结构及解决方案” 、第 5章“对象体系结构及解决方案”和第6章“事务体系结构及解决方案”中详细讨论。2.5.1 功能集成的广度功能集成比表示集成和数据集成更灵活,它可以应用于三种不同的方法,每一种33集成的类型名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 26 页 - - - - - - - - - 都有不同的特性,并且可用来解决不同类型的集成问题。这些方法有:数据一致性。将从一个或者多个信息源来的信息在整个集成应用软件中一起更新。多步处理。 在整个集成软件中执行一系列协调的操作。即插即用组件。在整个应用软件中创建可复用的接口,简化新应用软件的构造过程。现在我们将进一步详细讨论这几种方法。1. 数据一致性集成很多企业都有许多早期的应用软件,它们长期以来一直被开发、升级并使用至今。这些应用软件从不同角度显示用户与企业的关系,管理各种职员信息和福利,或是保护某种产品的信息与商业工序。在这些系统中,客户、职员和产品的数据通常是重复的。更新其中一个子系统信息时,需要整个系统都更新。图2 -4是这种情况的示例。比如,当客户改变地址信息时,他们希望包含此信息的所有系统都更新。数据一致性集成数据一致性集成是在程序代码上进行集成,其目的是访问与更新数据。这样的集成有助于实现数据与操作之间的通信。虽然数据一致性看起来好像是数据集成的问题,但实际上是功能集成问题。如果客户向账户中存款,直接修改数据库可能达不到理想的效果。为什么呢?在本例中,有效的账户余额是现有可用余额与待处理的存款之和。银行通常对存款支票有三到五天的等待期,而存款可以通过出纳台或AT M系统到户。在这样的情况下,一项存款不34部分第2章名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 26 页 - - - - - - - - - 但要更新几项记录,还需要在新软件中有业务逻辑的一份复件,以便进行支付。这样的复件需要很大的开销来维护和升级,并且增加了出错率。使用数据集成,在支付、出纳和 AT M系统中都必须有这样的逻辑模块。而使用功能集成时,只需要在核算系统中有就可以了。因此,发送存款信息的应用软件不必修改数据库,而应直接使用软件功能。图2-4 数据集成应保证应用程序间的数据一致性另一个使用数据一致性方法的例子是信息传播。比如,如果改变了总目录的信息,那么相应的信息应广播到下属的各个应用软件与数据库。分销商可能在总目录中有所有销售产品的大部分信息,有时还会为不同类型的客户、分销渠道或是特殊客户创建子目录。在新兴的因特网电子商务中,目录数据也可能要从总目录更新。这些更新必须通过功能层来保证数据正确存入数据库中,而不是直接访问数据库。典型情况下,数据一致性通过如下方式来实现:向每一个系统发送请求信息,35集成的类型支付系统改变地址“ 123 ColshireDr Ashburn, VA 22102 ”改变地址“ 1 23Colshire DrAshburn, VA 22102 ”改变地址“ 1 23Colshire DrAshburn, VA 22102 ”P MI系统抵押系统网站改变地址客户名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 26 页 - - - - - - - - - 在其中描述想对数据进行的操作。如果有必要,也可以将这些请求信息传递给其他软件。比如,在上面的例子中,每一个保存有目录数据库的软件都会收到一个请求,并依此更新或删除相应的信息。在银行的例子中,存款请求将被发送给核算系统。2. 多步处理集成多步处理集成也称为直通处理(straight-through processing),该技术正在企业中开始流行。它是指一种操作可以在不需要重新输入信息或人工参与的条件下,按照正确的优先权顺序,在相应的软件中妥善处理。比如,对一份订单可以不间断地进行制造、装运、结算和付款等一系列处理。图2 -5是多步处理集成的例子。图2-5 多步处理集成是一种商业自动化过程设想通过网站订单购物的情况。订单处理系统创建新订单,并通知后勤与送货系36部分第2章客户1. 订单供应网站订单处理系统后勤与送货系统账单系统产品账单付款名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 26 页 - - - - - - - - - 统运送货物。当定购完成后,通知订单处理系统改变订货状态,并通知结算系统发出付款账单。一旦付款收到,通知订单处理系统清算该次定购。多步处理集成常与工作流相关。实际上,工作流软件正是可用来实现多步处理集成的软件之一。多步处理集成多步处理集成也称为直通处理。这种集成不仅处理软件之间的通信请求,而且负责软件之间的管理与协调。这种方式方便了通信请求,并有助于管理流程与工序。如同数据一致性集成一样,多步处理集成也使用请求机制。然而与数据一致性集成不同的是,在数据一致性集成中,请求信息有简单的通信模型,并且是无状态的(即表示一旦请求被接受,请求方就放手不管)。而在多步处理集成中,请求消息在软件之间可能会沿着复杂的路径传递,这就需要维护状态,以确保正确地处理请求。当然这些特性也要求有更精密的处理机制。为了实现多步处理集成,必须规定一系列处理步骤来表示应用软件之间集成的过程。在最基本的性能下,每一次这些步骤都按照相同的顺序执行。实现功能并不需要工作流机制,除非这些步骤比较复杂,并且包含决策、扇入和扇出,或是复杂时序问题。多步处理集成对设计者或开发者来说可能难以理解,因为解决问题的总的业务逻辑并不包含在某个应用软件内,而是由执行集成功能的软件控制。基于如M OM或D OT这样的分布式处理方法的中间件解决方案是常用的一种。很多设计者与开发商都习惯把所有的逻辑功能模块放到应用软件中,而仅仅把集成作为一种通信机制来使用,37集成的类型名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 26 页 - - - - - - - - - 对他们来说,要使用这种开发方式,必须从根本上改变。3. 即插即用组件集成即插即用组件集成已经讨论了许多年,通常也称为组件集成( c o m p o n e n ti ntegration)。是将一种软件视为组件来创建,并使用易于理解的接口,很容易与其他组件连接形成新的应用软件。常用的相关概念有补丁工具,它是指将组件集成可视化的一种方法。组件集成是功能集成的第三种方法。组件和即插即用集成的概念早在8 0年代初就提出了,随着近来技术的不断成熟,这种构想已经可以实现。这种功能集成是几种方法中最复杂的,但也是对公司最有价值的。将一个组件拔出,并用另一个替换,或是不编写代码就可增加新组件的功能在相当程度上缩减开发新软件的时间。图2 -6显示了组件集成的例子。图2-6 组件集成对于建立、集成应用软件是最实用的方式38部分第2章支付系统存款系统抵押系统资产系统客户的单一视图网站客户名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 26 页 - - - - - - - - - 组件集成组件集成是指应用软件的集成,在这里一个定义好的接口使得一个组件易于与其他组件连接且不需要定义。集成便于请求通信,并且处理所有的接口定义和管理。即插即用组件的含义如下:? 所有接口都使用统一的规则加以建立。这样做是为了使其他所有组件都能理解接口。这些规则也称为语法。? 对可执行操作的定义是一致应用的。这样做是为了在有新组件插入应用软件时,其他已有组件可以向它发送请求信息。比如说,所有的软件都使用c r e a t e _c ustomer而不是 n ew_customer或其他什么命令格式来创建用户。这种定义也称为语义。组件集成需要对接口特别定义,以便其他组件可以访问该接口。这表示接口必须提供所有与其他组件集成时所采用的操作,同时还意味着其他组件可以通过发送请求使用该组件。请求信息可以同时向多个组件发送并要求保持该状态,每个组件的接口都必须标明该组件所提供的功能。为了替换现有组件,新组件必须能对现有系统中的相同请求信息进行响应。在一个企业中实现即插即用组件是三种方法中最难的,因为企业中的设计者与开发商需要协调合作。从技术上讲,仅使用A PI是不够的,还必须开发更加精密复杂的连接器。连接器必须能负责将请求信息映射到相应的应用软件中,维护集成的现有状态信息,并提供操作支持,比如,应用软件管理、安全保证以及错误处理等。从企业方面讲,连接器必须保证在整个企业中使用一致的工具和分布式处理中间件。另外,在应用这些工具与中间件时,企业必须为它们的配置和应用程序建立标准。现在很少39集成的类型名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 26 页 - - - - - - - - - 有企业能做到这一点。2.5.2 三种方法的比较与对照企业应该注意不要错误地认为只需使用三种方法之一就可解决集成问题,在某些时候很可能是同时使用三种方法,最精明的企业家应该知道如何选择合适的方法。表2 -1对三种方法进行了比较。数据一致性是一种松耦合集成。因为应用软件彼此之间不存在依赖关系,甚至不知道对方的存在。请求信息通常是单向的,发送者发信息给接收者,然后等待响应后继续工作。因为这种集成类型比较简单,因而不需要复杂的商务规则。数据一致性集成很容易理解和实施,但是仅能解决有限的几种问题,该方法特别利于解决软件间数据同步的问题。多步处理集成的耦合度较强,如果处理序列中哪一个应用程序被撤除,集成通常就不可用了。由于这种复杂性,集成可以采用单向传输,也可以采用请求/应答机制,这取决于要进行的操作。在请求/应答模式下,发送者希望能在合适的时间收到应答信息。集成在运行时表现出明显的业务逻辑。因此,多步处理集成可以解决多种商务问题。尤其适用于将许多应用程序集成为一个完整的商务处理过程,并使它们按规定的顺序执行。相比之下,数据集成用来处理商务事项的某个方面,但依赖于所使用的工作流程工具的质量,这种方法可能对条件变化很敏感。根据接口的复杂程度,组件集成的耦合度可强可弱。接口定义越普通,耦合度越低。即插即用的特性更像过程调用或调用。组件集成中包含最多的业务逻辑。由于在集成中包含了大量业务逻辑,并可以在需要时替换组件,企业可以很快地创建和改造其信息系统。40部分第2章名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 26 页 - - - - - - - - - 表2-1 功能集成方法的比较数据一致性多 步 处 理组件集成松耦合集成紧耦合集成紧耦合集成主要是异步异步和同步均可主要是同步单向方式单向和请求 /应答方式请求/应答方式对商业规则进行简单抽象对商业规则进行复杂抽象对商业规则进行复杂抽象2.5.3 何时使用功能集成模型的独特之处在于,它不仅能解决前面两种方法可解决的问题,还能解决更多难题。其实现方法与表示集成、数据集成不同,它通过访问旧显示机制的代码或以前用来获取数据的代码来集成。比如说,可以用如下方法:? 在已有的基于终端的软件上加一个基于P C用户的接口,使终端用户更易使用。这需要用新接口代替旧接口,并直接通过它访问代码段。? 访问多个应用程序的功能并使用新的用户接口集成,提供用户看上去单一但实际上由多个软件组件组成的应用软件。? 从多信息源综合数据来进行分析和决策。比如说,从多个包含用户信息的数据源获取信息,并把它们送到统计软件包中去的情况。可以访问创建于操作数据源的功能模块来实现这一功能,而不必直接访问数据库。? 向多个应用软件提供某公共信息源的只读访问权限。比如说,创建一个有完整用户信息的数据库,并运行多个数据挖掘或统计软件访问该数据库的情况。要实现这种功