拥抱面向遗留领域的 SOA
面向服务的体系结构(Service-Oriented Architecture,SOA)正逐渐被广泛接受,但整个行业在方法、经验水平以及对如何将 SOA 应用到企业 IT 环境的理解之间存在较大的差异。本文将探索如何使用基于 SOA 的技术将关键业务功能作为业务服务公开,从而扩大遗留平台(如大型机)的 IT 投资回报。
面向服务的体系结构(Service-Oriented Architecture,SOA)正逐渐被广泛接受,但整个行业在方法、经验水平以及对如何将 SOA 应用到企业 IT 环境的理解之间存在较大的差异。本文将探索如何使用基于 SOA 的技术将关键业务功能作为业务服务公开,从而扩大遗留平台(如大型机)的 IT 投资回报。
面向服务的体系结构(SOA)是存在时间已超过 20 年但一直未得到广泛应用的技术之一。但由于 Web 服务的出现以及随后被广泛接纳,SOA 终于迎来了自己的“春天”。就开发体系结构方面而言,SOA 是将来的一个发展趋势。SOA 将数据和信息作为服务公开的模型使其成为了一个非常强大的概念,与当前的应用程序构建块范例截然不同。当与广受追捧的普及计算(ubiquitous computing) 或效用计算(utility computing) 模型(在此模型中,可以像在手电筒中添置和拆卸电池一样添加或删除处理容量)结合使用时,SOA 可提供巨大的大型企业计算潜能。
SOA 中一个正在逐渐受到广泛关注的领域是遗留应用程序的生命周期增长。本文说明了一些很有帮助的方法,以便通过 SOA 从遗留应用程序和大型机应用程序获得更大的投资回报(ROI)。大型机技术是一项非常成熟的技术,在本文中,您将了解各种方法,以通过为这些大型机应用程序提供 SOA 支持来延长其生命周期,从而便于信息技术(IT)组织继续利用大型机投资。
向面向服务的世界进发
SOA 的基本思想是将企业或组织封装在服务 组成的构造中,其中从数据到逻辑和业务功能都成为了某种类型的服务。
例如,可以使用一个采取以下方式公开功能的服务:传入一个邮政编码后,服务将返回关联的地区名称。尽管这并不特别复杂,但更为复杂的服务可能会涉及多个后端数据源、业务流程等等。
这些事务间的粘合剂主要是 Web 服务,Web 服务通常在超文本传输协议(HTTP)的基础上使用简单对象访问协议(SOAP)。我之所以用“主要”一词,是因为还可以通过其他方式连接到使用 IBM WebSphere® MQ 等技术的 SOA 总线。
大型机是否已成为历史?
大部分企业级组织都拥有大型机。这些大型机要么用于数据中心,要么仍然在执行核心的业务关键型功能。而且不难发现,这些大型机内应用的基础技术的存在时间均已超过了 15 年。
COBOL 就是其中之一,目前仍是企业大型机环境日常操作中很重要的一部分。事实上,Gartner Group 于 1999 年指出,仍然存在超过 2000 亿行 COBOL 代码。来自 Gartner 的最新消息表明,从那时起,COBOL 业务应用程序的数量并未减少。TSG Inc. 的总裁 Bill Ulrich 指出,新 COBOL 代码的数量以每年 5 百万行的速度递增,与 15 年前相比,IBM 的大型机事业部销售的成套产品也多了很多。显然,大型机尚未成为历史。由于在过去 20 年到 25 年间在大型机和遗留系统方面进行了这么多投资,将其全部抛开,使用更为商品化的平台进行替换,这种做法并不一定合理。
了解面临的挑战
IT 组织在大型机领域面临的挑战是复杂的、多方面的。首先,这些遗留平台上的很多应用程序都是多年前编写的,最初的开发人员已无从寻找。其次,应用程序通常非常复杂,也非常关键,自然使得很多组织在使其退役或移植到中型平台方面都感到非常紧张。
这个挑战是非常关键的。当将新的应用程序和功能添加到核心大型机之外的其他平台体系结构时,可能会给 IT 组织内部带来不和谐的因素;此类其他平台包括 Microsoft® .NET® 或 Java™ 2 Platform, Enterprise Edition(J2EE)以及基于 Java Platform, Enterprise Edition(Java EE)的各种平台等。此类设计通常要求具有复杂的互操作机制,以将大型机连接到中型平台,而这会导致结构化的企业体系结构变得“支离破碎”。
再次,在 Internet 驱动的计算模型方面也有挑战,即 Internet 站点和门户要求访问存储在后端系统的数据的情况。此处的问题是,将这些后端遗留系统直接连接到 Internet 并不是一个很好的做法。大型机(以及其中的应用程序)设计为处理长时间运行的任务,通常支持数百或五千以下的并发用户负载。他们并未设计为同时以实时的方式支持数十、数百甚至数百万用户。
解决挑战
在以后几年,随着整个行业开始广泛采用 SOA,IT 架构师将开始购买业务流程包,而不是应用程序包。他们会随后将这些业务流程包作为现有业务服务聚合体的一部分进行部署,以便连接到企业服务总线(ESB),并与各个组成应用程序集成。知道了这一点后,IT 架构师应该如何使用面向服务的方法来帮助解决这些挑战呢?
首先,必须在大型机上(或在遗留环境中)对应用程序进行概念化,不是将其作为应用程序,而是作为服务的一个“部分”。必须从理念上将应用程序与基础平台体系结构(在这种情况下为大型机)分离开来。SOA 改变了应用程序的概念,使其成为了一组可通过服务接口访问的逻辑功能组。本文重点讨论各种可继续从大型机平台获得积极投资回报(ROI)的方法,从而探索上文列出的 IT 组织面临的主要挑战的解决方案。
- 本文关键词:

