介绍
许多大公司使用的至关重要的系统(常称为“旧系统”)经常由大型的单片应用程序构成,它们未采用业界标准的接口,并且是用较古老的计算机语言(如
COBOL)开发的。许多这样的公司希望通过因特网、内部网、电子商务以及其他新技术来保持竞争力。但是从财务(过于昂贵)、技术(最初的程序员已不在公司)或时间(等不了这么多时间)方面考虑,重新编写这些关键的旧系统可能并不可行。因此许多公司选择通过将旧系统与新的应用程序集成在一起的方式来升级旧系统。
最流行的集成方法一般称为企业应用程序集成或 EAI,该方法是在各种企业应用程序(新的和旧的)之间实施一个通信基础结构。
旧系统集成策略
旧系统集成可以分为两大类:
非侵入性策略是指那些不修改旧应用程序或只进行较小修改的集成方法。该策略是一种代价较小的集成方法,但是灵活性也比较小。在进行 EAI 集成时,这种方法通常以用户界面级别和数据级别进行,有时候也以应用程序接口级别进行。
如果以用户界面级别进行集成,现有的基于文本的屏幕将被替换为基于浏览器的屏幕集成到企业业务门户网站中。虽然通常认为这种集成方法有些不稳固和陈旧,但是对于那些不提供数据库或业务流程级别访问的旧系统而言,有时候它是最可行的方法。
数据级别的集成既可以通过复用现有的旧数据库实现,也可以通过使用
ETL(抽取、转换和装入)解决方案从现有数据库抽取数据,然后对新的数据库进行更新来实现。虽然此方法似乎很有吸引力,但是有时候很难实施,因为数据转换、约束和控制经常是在旧应用程序的业务逻辑中实施的。
非侵入性应用程序接口级别集成也称为“旧系统合并”,该方法可以提供更高一点的灵活性。在此方法中,将对旧事务构建可调用的应用程序编程接口(API)。由于此方法利用了现有的旧事务,因此代价不是非常大,并且避免了数据级别集成的不便。它通过 API
对事务进行转换,因此具有比用户级别的集成更高的灵活性。但是,为了保持非侵入性,这种方法无法用于修改和增强业务功能。要实现该目的,就需要使用侵入性的方法。
侵入性策略假设您需要修改可工作的旧代码。显而易见,这种方法的风险和成本较高,因为通常旧代码都很陈旧、没有经过很好的记录,而且编写这些代码的程序员几乎都不在了。但是这种方法同时也提供了更大的灵活性,并且允许修改和增强现有的业务流程和功能。此方法通常与
EAI 应用程序接口级别集成一起使用(如果需要不对应于现有旧事务的 API)。此方法还可以与 EAI 方法级别集成一起使用,但是通过重构现有代码来提供可共享的方法,其代价通常过于昂贵。
一种侵入性应用程序接口级别集成方法称为“旧系统电子组件”。此方法将旧应用程序分成一组自治的业务组件。每个组件都发布一组明确定义的 API
以便于从严格的程序间连通性转变为松散连接、基于消息的方法,可以使用适当的组件模型将该方法部署到多个平台上并集成到总的体系结构中。可对该方法进行优化以便将每个“旧系统电子组件”定义为面向服务的体系结构(SOA)中的一个或多个服务(使用
XML Web 服务)。请参阅概念:面向服务的体系结构的介绍。
由于通常情况下,侵入性方法的开销和体系结构上的风险比非侵入性方法大,所以您应当在迭代的早期考虑采用一种能够降低风险并证明体系结构可行性的迭代方法。
|