二、集成模式
2.1 引言
企业集成是指让不同的应用协同工作,提供一组统一的功能。这些应用可以是内部定制开发的,也可以从第三方开发商购买。它们可能运行在多台计算机上,分别有不同的平台,甚至在地理位置上也是分散的。有些应用可能由企业外的商业合作伙伴或客户运行。还有些应用在设计时可能没有考虑集成问题,并且也很难修改。由于存在这些问题以及诸如此类的其他问题,使得应用的集成变得非常复杂。本章探讨的各种集成方法有助于克服这些难题。
1)应用集成的标准
- 应用耦合
- 干扰性:当把某个应用集成到企业中时,开发人员会尽可能减少对应用的修改,同时尽量减少集成代码的数量。然而,还是要对应用做一定的修改以及编写新的代码,这是提供良好的集成功能所必需的。
- 技术选择
- 数据格式:所集成的应用必须协商好所交换数据的格式
- 数据的时间特性:当某个应用决定共享一些数据,同时其他应用拥有这些数据时,集成要尽可能缩短共享的时间
- 数据或功能:许多集成解决方案不但允许应用共享数据,还能共享功能,因为共享功能可以在应用之间提供更好的抽象
- 远程通信
- 可靠性
2)应用集成的选择
- 文件传输
- 共享数据库
- 远程过程调用
- 消息传递
本章把每种方式作为一种模式。这四种模式面对的是相同的问题(需要集成应用),并且所面对的集成环境也非常相似。之所以会存在这些不同的集成模式,这是由要寻找一种更好的解决方案带来的。每种模式都建立在前一种模式的基础上,目的是为了找到一种更成熟的方法,来解决以前的集成方法所存在的问题。因此,模式的演化顺序也反映出其成熟度的增加,但同时复杂性也呈上升趋势。
选择集成方式的技巧是,不要每次都选择相同的方式,而是要根据特殊的集成需求来选择最好的方式。每种方式都有自己的优点和缺点。应用的集成可以使用多种方式,让每种集成方式各尽所能,使每个集成环节都能充分发挥相应集成方式的优点。
2.2 文件传输
由各个应用产生文件,其中包含供其他应用使用的信息。集成人员只是负责把文件转换成不同的格式。要根据业务自身的特点定期地产生文件。
使用文件要解决的一些点:
- 确定文件的格式
- 何时生产与消费文件
- 协商共同的文件命名阅读
- 文件放在哪些目录
- 文件名保持唯一
- 谁来负责删除旧文件,以及删除文件的应用必须清楚什么时候文件才会过期,不再使用
- 应用还要实现锁定机制或遵循某种定时约定,以确保一个应用不会在另一个应用正在写文件时读这个文件
优点:集成人员不必了解应用的内部细节
缺点:数据不能实时同步(把客户对信息的刷新需求考虑在内)
2.3 共享数据库
面临的困难:
- 要为共享数据库提出一个合适的设计。要提出一个统一的数据库模式来满足多个应用的需要
2.4 远程过程调用
远程过程调用和本地过程调用在性能和可靠性方面存在显著的差异。如果开发人员不了解这些差异,远程过程调用很可能会导致缓慢而且不可靠的系统。
2.5 消息传递
考虑新的问题:
- 如何传输数据包
- 如何确定消息的发送地址
- 怎样确定需要使用的数据格式
- 如何把自己的应用于消息传递系统连接