...

您对“遗留系统”的认识是怎样 的? 正确看待大型机——它是业务的关键组成部分

by user

on
Category: Documents
30

views

Report

Comments

Transcript

您对“遗留系统”的认识是怎样 的? 正确看待大型机——它是业务的关键组成部分
您对“遗留系统”的认识是怎样
的?
英文原文:http://ibmdatamag.com/2012/03/hey-what-are-you-calling-a-legacy-system/
正确看待大型机——它是业务的关键组成部分
作者:Robert Catterall |
发表时间:2012 年 3 月 1 日
您是否听到过这样的一些说法?一名 IT 高级管理人员谈及其组织的应用基础架构。他很乐
观地描述了环境的“现代化”方面:多层式客户端-服务器系统;使用 PERL、Python 和 Ruby
等语言执行面向 Web 的开发;以及面向服务的架构。
如果您向这名 IT 高级管理人员询问他们正在使用的 IBM System z 服务器,回答很可能
是不屑一顾的:“噢,那是我们的遗留系统”。“遗留”这个词听上去就像是包含几分羞愧。
我从事大型机系统方面的工作已有 30 年之久,我对这类评论的反应往往是这样的(当然
只是在心里默默地说):“遗留系统,您指的究竟是什么?是运行那些保持工厂正常运转、
保证货车照常运行、保持客户票据川流不息的应用程序的系统吗?这些应用程序不就是给您
带来盈利、保持企业生存的应用程序吗?您认为这是遗留系统?”
但是,我不会与他们争辩,通常我只会这样说:“谈到您的 System z 服务器,必须注意
到这种平台上的 DB2 是现代化、多层式、面向服务应用程序的优秀数据提供者,您非常关
注这些应用程序,不是吗?如果这还不能令您信服,请去观察一下您自己的开发团队最近在
做些什么。”
这是一种有几分讽刺意味的情况。这家组织的程序员可能会告诉 DB2 for z/OS 数据库管理
员,他们完全不想使用大型机,但这些程序员又完全可以接受在 Java 程序中编写 JDBC
调用代码,而 JDBC 调用的目标就是大型机 DB2 数据库。
这是不是有些自相矛盾?但我认为情况并非如此。我相信,在开发人员说不想使用大型机时,
他表达的真正意图并非不喜欢这种平台,而是反感绿屏和 3270 接口等。如果开发人员能
通过运用自如的接口(例如 JDBC、ODBC 或 ADO.NET)从关系数据库中检索数据(或
者将数据持久保存到关系数据库中),那么他们根本不会关注目标数据提供系统是不是 DB2
for z/OS。对于开发人员来说,平台仅仅是一种渠道。他们真正关心的是通过熟悉的方式获
得程序所需的数据。这些数据存储在大型机上?没有问题。
同样,在 IT 高级管理人员提到希望脱离大型机平台时,我们要怎样解释其组织内的大型机
DB2 工作负载仍在保持稳步增长?是不是 IT 部门的工作人员忽视了上司的意见?答案当
然是否定的。我认为此类 IT 高级管理人员真正的愿望是摆脱旧式应用程序架构,而由于这
种旧式架构源自 20 至 30 年前,所以往往以大型机为标志。当时大型机几乎是真正大规
模、任务关键型应用程序的惟一可行选择(至少在很多人心目中是这样)。这种架构在本质
上是单体式的,用户界面、业务和数据访问逻辑之间完全不具备物理分离,逻辑分离几乎也
不存在,该框架能够高效利用 CPU 资源,但灵活性极差。如今的企业需要敏捷性。敏捷、
可扩展的应用架构对于组织至关重要。在这种混乱的局面中,人们往往无法认识到,根据组
织的需求,大型机和 DB2 极其适合此类架构,甚至可能是“天作之合”。
不要去管那些对话。实际情况是怎样的?
某些大型机专业人员认为他们即将被淘汰,只能无助地等待这些大家伙丢到废品站。有趣的
是,其中一些人甚至没有认识到他们的眼前正在发生怎样的巨变。
我在 DB2 for z/OS 站点中通常会做这样一些事情:获取一天最繁忙的一到两个小时内的
DB2 监控器计算细目报告。这种报告内的数据可按照连接类型分组,便于查看 CICS-DB2
工作负载、成批 DB2 工作负载和 DRDA(即客户端-服务器)工作负载等活动。大多数 DB2
监控器产品都能生成这样的报告。
获得每次处理事务时 DB2 内所用 CPU 时间(即“2 类”CPU 时间)的平均值。这就得
到了每计算跟踪记录,它通常是 CICS 和 DRDA 工作负载的每次事务处理时间、成批工
作负载的每作业时间。将结果乘以报告的次数。乘积即为针对整个 DB2 工作负载的这一部
分的 SQL 语句执行 CPU 总成本。
猜猜结果怎样?客户端-服务器活动往往是整个大型机 DB2 工作负载中增长最快的组成部
分,在某些情况下甚至已经成为比例最高的工作负载组成部分,既超过 CICS-DB2,也超
过成批 DB2。而实际管理 DB2 for z/OS 系统的人员可能未能认识到这一点。莫非他们在
工作时心不在焉?当然不是这样。原因仅仅是他们太过关注单独的工作负载元素:他们要帮
助 Java 开发人员访问这里的 DB2 数据、支持 .NET 应用服务器访问那里的 DB2、处理
PHP DB2 驱动程序等等,因此无法从宏观角度把握全局;换句话说,他们没有注意到 DB2
for z/OS 已经成为所有类型的“现代”应用程序的首选数据服务器。
如果程序员根本不认为自己是大型机专业人员,那么他们为什么会在自己的代码中用到大型
机?首先,就像我之前提到的那样,对于开发人员希望使用的任何语言,几乎都有对应的
DB2 驱动程序。通过 IBM Data Server Driver Package 是获得这些驱动程序的最方便途径。
其次,开发人员以数据所在的位置为导向。组织的大量数据资产往往位于大型机之中(通常
由 DB2 管理)。如果存在此类位于大型机中的数据的开放接口(大多数情况下确实存在),
那为什么非要将数据迁移到其他系统中?为什么不能直接在原来的位置访问数据?在商业
智能和数据仓库领域中,在大型机上访问源自大型机的数据这一趋势已成为主流,为了使用
DB2 for z/OS 执行数据分析,企业越来越多地避免将大型机中的数据迁移到人们认为对 BI
友好的其他平台。
也有某些类型的 IT 管理人员要求在 DB2 for z/OS 上执行开发工作(通常是各类“现代化”
开发工作)。原因并不仅仅是数据往往位于大型机中,而是因为他们认为大型机是组织最安
全、最具可伸缩性、最高可用的数据提供平台。
成本如何?在根据道听途说的理论给 DB2 on System z 扣上“最昂贵”的帽子之前,请首
先仔细观察一下。您的大型机(可能用于运行大型工作负载)占用了多少楼层空间,而相比
之下,您的环境中使用的其他平台又占用了多少楼层空间?能耗如何?需要多少支持人员?
只要进行一些简单的对比分析,您就能认识到,System z 实际上通过一种极为经济高效的
方式为您的组织提供了可观的价值。
更新您的 DB2 知识
我想给这个故事加上一段简单的后记。在某些站点,一些 IT 人员认为大型机 DB2 分布式
数据库处理源于 20 世纪 90 年代的实际环境,因此拒绝对客户端-服务器应用程序使用
DB2 for z/OS。您是否认为来自 DDF(DB2 分布式数据工具)的所有内容都按照相同的优
先级运行呢?绝对不是这样。早在多年以前,实际情况就已经不再是这样了。
您是否认为客户端-服务器上下文中执行的所有 SQL 都是动态的?这种认识同样已经过时
了。举例来说,您可以将 DB2 服务器端的静态 SQL 语句打包为存储过程的形式,以便(当
然是通过一种开放的方式)从连接网络的客户端调用它。您是否认为 DB2 客户端-服务器
环境中的安全性过于松懈?请了解一下 DB2 9 交付的角色和受信任上下文等特性,如果
SQL 来自大型机以外的应用服务器,可以利用这些特性加强数据访问控制。结论:您对 DB2
for z/OS 的现状了解的越多,就越会希望将其作为您的多层式应用程序的基础。
下一次,如果您再听到有人将“遗留系统”的帽子扣到大型机头上,请深入研究具体情况。
首先,大型机和 DB2 是您组织中的服务器主力。第二,看清事实。所谓的遗留系统或许是
您企业中最优秀的客户端-服务器数据库平台。您手下的开发人员或者其他工作人员很可能
已经了解这些事实。您应该听听他们的意见。除了请他们喝杯咖啡之外,您不会有其他损失。
无相关文章。
Fly UP