引言
成功的大型企业需要其 IT 部门通过跟上技术发展来保持高水准的竞争力。这通常需要代价很高的经常性投资以维护当前的 IT 投资和增添新的投资。然而,中小型企业通常只有有限的预算来设法现代化其 IT 基础设施和资产。通常可以注意到,中小型企业只有在充分利用当前 IT 投资以后才会考虑重大的升级。他们每隔几年进行一次较大规模的现代化投资,而不是连续地进行投资。
“中小型企业”(small and medium business,SMB)这个术语非常主观并取决于若干因素,例如年度营业额、员工数量、业务的地理分布等等。就本文而言,我们的虚构公司 Mod Communications , Inc.(以下也称为“该公司”)是一家为中西部若干个城区的家庭客户和当地企业提供高速 Internet 接入、有线电视、本地和长途电话以及无线通信服务的电信服务提供商。该公司是需要现代化其 IT 系统的中小型企业的代表。该公司拥有 200 名员工,已有 20 年的经营历史,分支机构不超过 10 个,并拥有大约 75 名 IT 人员维护其当前的 IT 解决方案。
面对新的竞争,他们感觉到了为当前客户维持较高服务级别的压力。该公司希望着手进行遗留系统转换活动。该公司准备为转换活动做出重大投资,并正在寻求现代化路线图规划方面的帮助。本文是为 IT 顾问、架构师和解决方案开发人员准备的,并解释了如何分析该公司的当前现状、组织动力和挑战,并提供了一组 IT 转换活动建议。本文还演示了一些可在该解决方案开发过程中提供帮助的 IBM 产品和服务。
Mod Communications Inc. 的大多数应用程序都是客户信息控制系统(Customer Information Control System,CICS®)应用程序,这些应用程序使用 COBOL 编写并运行在 IBM System z™ 系列中的 IBM 中端大型机系统上。虽然这些应用程序继续尽最大可能地提供核心业务服务,但是它们非常庞大、独立并且难于修改。替换或从头重新构建这些应用程序会对当前业务流程产生破坏性的影响,并需要收集在过去 15 年里加入到系统中的业务智能和规则。采用某个基于面向服务的体系结构原则的渐进式遗留系统转换过程,是有选择地替换该公司的应用程序组合的更加经济合算和风险更低的方法。此方法的一个示例是使用 Java EE (Java™ Enterprise Edition) 来开发将在诸如 IBM 推出的 Websphere® Application Server 等应用程序服务器上运行的应用程序。新的应用程序将在可能和适当的任何场合重用现有的功能。在构建和部署新组件时,其使用范围超出目前应用程序的部分组件将公开为服务,以便在以后的开发工作中重用。
下面几个部分将解释 IT 架构师或顾问如何执行数据收集、分析和建议活动,并将遗留系统转换过程告知公司的重要高层管理人员。下面将从数据收集期间的各个步骤、分析阶段得出的各种输出、所确定的建议备选解决方案和针对转换规划的指示等方面对相关活动进行描述。
数据收集
数据收集的重点在于获得关于业务活动、所使用的 IT 技术和 IT 投资等事项的当前状态的信息。然后可以分析该数据以确定转换机会。以下步骤将准备并执行有效的数据收集工作:
步骤 A. 获得或准备公司的组织结构图
务必要了解公司的组织结构图,以便确定重要的团队成员和权力人物。Mod Communications, Inc. 的组织结构图表明,总裁和首席运营官(Chief Operating Officer,COO)以及执行副总裁(Executive Vice President )将负责监督重要的业务和技术活动以及投资。对于日常职能和活动,该组织拥有诸如“操作组”、“业务服务组”、“财务服务组”和“通用开发组”等小组。其中每个小组都具有业务和技术人员。这些小组的负责人将向执行副总裁报告,并且是主要的业务和技术相关决策的权力人物。
步骤 B. 获得有关公司经营的初步信息
此步骤将为准备用于数据收集的详细问题集奠定基础。起初,可以从与高级人员进行的讨论中获得有关公司经营的粗略概况。在非正式的气氛中提出有关公司背景、公司发展、公司所属行业、优势、弱点、新机会、察觉到的竞争威胁、所获奖项以及类似主题的诱导性问题。
在 Mod Communications, Inc. 进行的有关转换活动的总体目标的讨论过程中,一名高级员工提到该公司作为中小型企业区段中的最佳员工工作场所之一而感到自豪。大多数员工都已经为该公司工作了 15 年以上。另一位高层管理人员提到实现面向服务的体系结构在公司日程上处于优先位置。该信息可以在分析阶段中提供重要的输入,以评估关于组织更改和准备情况的可能建议所具有的影响。
步骤 C. 准备用于详细信息收集的问卷调查
此类问卷上的问题应该跨越广泛的主题,例如业务目标、当前流程评估、应用程序组合评估、企业数据体系结构、基础设施和操作体系结构、面向服务的体系结构,以及治理。以下问题类似于一个样本集。
- Mod Communications, Inc. 在未来三至五年的业务目标是什么?
- 当前用于为各方(例如客户、供应商等等)提供价值的业务流程(由人员和/或系统执行的活动集)是什么?请列出并提供简要的叙述。
- 业务流程是否具有文档记录?其中每个业务流程是否存在端到端的业务流程视图?
- 为未来三至五年计划的主要业务目标和远景是什么?其中一些示例包括改进服务请求周转时间、收入增加 x 倍、操作成本降低 y 倍、改进客户满意度指标等等。
- 所确定和分析的业务流程是否与业务目标和远景持续一致?当前,哪些业务流程可以认为是与业务目标和远景保持一致的,哪些是不一致的?
- 当前的应用程序是什么,它们支持哪些业务流程?
- 是否计划在即将到来的一年里设计、开发或实现任何新应用程序?请根据情况提供详细信息。
- 在当前应用程序中,业务逻辑关注事项是否与操作关注事项分离,从而支持操作上的松散耦合并促进软件和信息资产的重用?
- 是否存在针对遗留应用程序或功能子集的既定策略?遗留代码中是否存在将导致难于随时间推移而停用遗留系统的代码依赖性?
- 请提供有关当前企业数据体系结构、数据模型、维护以及增强方法、数据管理方面、数据仓库等的详细信息。
- 对于您的操作的某些方面,您是否必须依赖批处理数据传输?如果是,请详述。
- 请提供有关当前存在的硬件和软件基础设施的详细信息。
- 提供当前网络界面方法的详细信息。什么功能通过网络提供,以及在使用什么体系结构和产品?为将来的网络界面计划了什么附加功能?
- 请提供当前的设计、开发、测试和生产应用环境的详细信息。
- 是否准备了足够和有效的流程来处理以下有关当前操作环境的事项?这将包括用于变更管理、引入新技术和服务管理(如果适用的话)的流程。
- 您是否与第三方服务提供商或代理建立连接?如果是,该连接的性质是什么(例如,同步、异步、单向、双向)?
- 是否存在促进基于服务的体系结构的基础设施(例如,帮助实现应用程序之间的消息交换、消息转换、独立服务查找等技术)?如果是,请详述。
- 是否有团体在考虑跨功能应用程序的可重用性?
- 您关注 SOA 采用的动机是什么?是定位于实现附加的收入产生渠道(例如实现更快的新产品上市或获取新客户),还是通过促进当前应用程序及系统的更好可重用性和维护来降低成本?
- 您当前的 SOA 方向是什么?您计划将要使用的技术是什么?是否存在任何用于目标 SOA 体系结构的现有高级设计?
- 您是否有任何现有的 Web 服务实现?如果是,请提供详细信息。
来自 Mod Communications, Inc. 的高级人员群策群力,一起合作回答上述问题。
步骤 D. 计划安排与重要客户端团队成员的后续访谈
从问卷答案中,确定进一步的信息需求领域,并计划安排与重要人员的后续访谈。使用组织结构图来确定要访谈的其他人员。完成后续访谈时,数据收集阶段差不多就完成了。随后的解释说明可以通过电子邮件或电话来获得。
对于 Mod Communications, Inc.,将准备一个关于访谈成果的报告。该报告提供了公司 IT 环境和基础设施、IT 组织、主要角色和职责的当前状态摘要、应用程序组合概述、系统和功能摘要,以及当前治理、未来三至五年的业务远景和目标的简要概述。这可用作将来的所有工作的参考。
数据分析
在数据分析过程中,研究收集到的相关资料和文档信息,以分析各种备选解决方案,从而提供建议。按以下几个方面对信息进行组织:
- 对 IT 转换的成功最重要和最关键的业务远景和目标,以及指标。
- 难点。这些是公司正在尝试解决的关键业务和技术问题。
- 解决方案建议所要考虑的约束。
- 应用程序组合分析的发现结果。
对于 Mod Communications, Inc.,以下是重要的业务远景和目标:
- 实现业务各方之间改进的信息流,包括客户、客户服务代表、技术人员以及销售和市场代表。计划通过此目标削减 7 - 10% 的业务开支。
- 通过现代化活动和新技术采用来处理公司的客户保留问题。创建现代化路线图。向重要客户和员工传达该路线图。
- 提高软件和应用程序开发这个重要流程的效率。公司需要简化活动和任务,以推动更高的团队成员效益和工作效率。目前,预计要发布的实际软件或应用程序要在发布日期之前一个星期才能准备就绪。通过提高流程效率将此时间提前为两个星期。满足此目标可以降低压力级别,同时还可以提供更多的时间进行有关该发布的附加测试、交流和其他活动。
- 通过新技术和更好的直观用户界面降低培训和支持成本。预计通过此目标将培训成本削减 15%。
- 最近的一项调查表明,该公司的内部应用程序供应感觉非常缓慢,尽管该解决方案所提供的全面功能获得了好评。开发团队需要使用最新技术使业务解决方案对用户更有吸引力。公司应该通过更好的用户界面设计来促进易用性和工作职能效率改进。
- 提高市场竞争地位,同时吸引更多销售潜力。通过遗留资产的现代化,使销售主管能够吸引更多销售潜力并赢得更多业务。
基于与团队成员进行的有关该公司使用的当前流程和实践的详细讨论,以下是重要的难点和问题场景:
- 随着时间推移,代码变得日益难于维护。因此,引入更改将要花更多的时间。这导致维护成本增加,给定版本所接受的增强功能请求数量减少。开发人员的工作效率有待提高。
- 公司不能容易地招募新的开发人员来从事 COBOL 方面的工作,COBOL 是目前使用的主要编程语言。此外,要让新的开发人员在短期内高效地工作也非常困难。
- 技术文档和信息非常有限,并且构建和发布过程很不可靠。
- 需求、设计以及代码和测试需求之间的可跟踪性非常有限。这导致维护和代码修改工作非常耗时,并且无法准确预测时间和成本。
- 公司拥有几名对公司的业务、遗留系统和数据库非常了解的过程开发人员,但他们不具备使用现代编程语言所必需的面向对象技能。
- 公司缺乏用于测试发布准备情况的测试用例主集,并且缺陷跟踪也不够全面。缺陷的根源分析跟踪非常随意,没有进行广泛的文档记录。
对于 Mod Communications, Inc.,解决方案建议需要考虑的各种约束如下:
- 公司在技术方面拥有几名非常了解业务方面、代码结构和数据库的团队成员。然而,由于目前的应用程序维护和对增强功能的承诺,不能期待这些资源在转换工作期间的大规模可用性和参与。
- 该公司的几乎所有技术团队成员在 COBOL 编程方面都非常优秀。然而,他们缺乏有关面向对象的方法和最新技术的知识。该公司希望保留大多数技术人员,因为他们非常了解该业务解决方案。该公司还因为善待员工而获奖,据行业调查表明这是个工作的好地方。
- 该公司的代码文档非常有限。
该公司的应用程序组合分析提供了以下信息:
- 应用程序主要基于大型机。
- 20 个主要应用程序。
- 15 个应用程序有 7 年以上的历史。
- 所有应用程序都随着时间推移而进行了大量的自定义。
该公司一直使用 IBM Host Access Transformation Services (HATS) 来将某些应用程序从已有基于字符的屏幕界面转换为 Web 用户界面。这使该公司可以快速将现有的基于字符的屏幕界面转换为网页和表单,从而将 Web 通道用于其遗留应用程序。该公司应该通过创建基于最终用户输入、易用性、导航和上下文内容呈现的新用户界面来对此进行改进。
解决方案建议
下一步是为客户交付一组解决方案建议。
基于对信息的分析,为重要的 Mod Communications, Inc. 高层管理人员准备一个解决方案建议,以从资金和项目决策方面说明后续步骤。
核心建议是让公司在保留其当前遗留应用程序组合的价值的同时,逐渐地迁移到可促进松散耦合的体系结构的新技术。一个建议是采用 Java Enterprise Edition (Java EE) 作为进行遗留系统转换的合适应用程序技术。Java EE 方法使公司可以开发能够提供出色的图形和多通道用户界面的应用程序,同时还为面向服务的体系结构做好定位。这导致对各种方法进行分析以实现 Java EE 环境。这些方法如下:
a) 替换:将诸如服务订单管理、问题报告和管理及计费系统等当前核心应用程序替换为商业化现成(commercial off-the-shelf,COTS)应用程序。然后自定义和配置该应用程序和界面。这是实现转换的快速方法,但它在客户接受、对现有业务流程和功能的影响、组织变更和培训需求方面引入了风险。
b) 重新编写:使用 Java EE 方法重新编写应用程序。优先重新编写将经历转换的应用程序。对这些应用程序执行基于方法的完整软件生命周期开发,包括需求分析、设计以及开发和测试。已知当前应用程序的数据库层结构非常良好和高效。在可能的情况下,新组件可以重用数据库层的功能。
c) 大规模转换然后客户化定制:这是选项 b) 的一种变化形式。在此情况下,将使用自动化的工具执行所有应用程序到 Java EE 组件的大规模转换。然后修改所得到的组件以适合需求。
d) 渐进地转换到目标平台组件:使用基于 Java EE 的体系结构来构建过渡环境。从当前遗留系统中公开的“幕后”模块将提供实现。渐进地在目标平台上编写代码以取代对遗留模块的依赖。
e) 使用第 4 代语言(4th Generation Language,4GL)方法渐进地转换:在此情况下,将使用某种 4GL 语言来定义应用程序。使用工具将 4GL 结构自动转换为 Jave EE 组件,然后将后者部署在目标平台上。例如,此方法可以使用 IBM 企业生成语言(Enterprise Generation Language,EGL)来实现,并且很适合于非常精通诸如 COBOL 等程序语言的程序员,他们将不必学习诸如 Java 等面向对象的语言。
从诸如成本、工作量、时间和复杂性等方面分析上述建议,然后按照下面图 1 所示的方式对这些建议进行归类:每个参数都具有一个优先级名称——“高 (H)”、“中 (M)”或“低 (L)”。
图 1. 对各种备选解决方案方法建议的分析
下面是一些补充建议:
- 采用模型-视图-控制器(Model-View-Controller,MVC)体系结构模式以确保体系结构的灵活性。使用此方法,数据(模型)和用户界面(视图)将彼此分离,以便对一个方面的更改不会影响另一个方面。控制器处理并响应用户操作。
- 优先考虑要转换的应用程序,以便在对业务具有最少中断的情况下获得递增的业务好处。优先考虑影响客户感受的应用程序,例如服务订单管理、故障单管理和新服务的供应。这样可以将重点充分集中在从客户和业务用户角度看来最重要的应用程序上。这样可以帮助获得客户信任、采用、保留和改进的满意度。
- 建立 IT 治理管理委员会,确保 IT 投资处于正轨,以在可接受的风险预测内产生预期的投资回报。该委员会应该监督技术活动、重要参与者之间的交流、标准化活动和体系结构审核。
- 采用方法驱动的步骤进行软件开发。这会提供更好地规划和管理各种转换项目的任务、日程安排、预算的能力。这还有助于更好地管理风险,例如成本超支、时间和功能覆盖率风险。IBM GS-Method 和 Rational® Unified Process (RUP) 就是此类方法的示例。
- 对于从需求到设计以至开发和测试的每个开发生命周期阶段采用最新的工具。这可以实现更好的文档、可跟踪性和控制,并具体化方法驱动的步骤。IBM Rational 产品和工具组合具有满足软件开发生命周期和治理需求的丰富工具集。请参见参考资料部分以获得指向更多信息的链接。
- 构建和主动管理服务模型:各种应用程序组件将是在其他应用程序中重用的直接候选组件。通过主动辨别跨部门边界所需的服务,将来的开发和维护工作将会得益不少。这还可以推动功能的重用。
- 执行遗留资产的审核:这可以帮助从当前系统中获得重要信息,例如业务规则。它还有助于了解业务功能和模块化工作。一些现有的遗留代码可以组件化,并公开为服务以供新系统使用,直到将遗留代码替换为新组件。
- 对于中长期而言,应评估可在应用程序之间的消息交换、消息变换和转换以及独立服务查找方面,进一步促进整个组织中的面向服务的基础设施软件的采用。在这方面,IBM WebSphere 组合提供了若干个产品。请参见参考资料部分以获得指向有关这些产品的网页的链接。
- 评估规则引擎技术的采用,以在捕获和使用业务规则方面引入效率。目前,该公司的代码资产非常脆弱,因为在这些年来,代码中已引入了各种对业务规则的更改。目前,业务规则与主代码紧密耦合,使得在做出更改时必须小心谨慎,同时还增加了测试需求。
- 在初始项目中利用外部专家或顾问:这允许更好地集中于现代化工作,并为现有人员提供更多时间来跟上新技术的发展步伐。在现代化工作期间,完全使用现有人员也许无法应付过去,因为团队成员将会忙于满足当前承诺。此建议可以通过与服务提供商的一个或多个服务约定来实现。例如,IBM Global Services 就拥有这方面的各种解决方案。
提供一组在现代化期间优化内部操作的建议,以便为当前人员提供更多参与机会。这些建议包括:
- 减少软件发布周期数量,同时将重点更改为仅集中于最关键的增强功能领域:这允许将资源集中于对客户满意度、保留和获取非常关键的领域。
- 根据逻辑相关的领域对维护项目进行分组:这有助于提高开发人员的工作效率。
- 创建并使用一套全面的测试用例:在开发和维护周期中,会发生以下一种或多种情况:1) 更改现有的功能/数据结构,2) 引入新的功能/数据结构,3) 在完成项目 1 和/或 2 的同时确定并修复错误。由于应用程序具有如此多相互关联的部分,必须以有组织的方式执行测试以实现全面的覆盖率。在这方面,全面的测试套件可以提供好处。
- 评估所要采用的帮助台工具:以便提高快速查找、分析和解决问题的能力。此类工具还可以通过分析问题趋势,从而帮助确定问题正在增多的应用程序领域。用于处理问题的知识库的更好文档记录和创建也是非常有益的成果。
请注意,这些建议会因情况而异,并且应该基于与某个情形有关的相关信息。上述案例研究只是一个用作指导原则的示例。
转换规划
基于所选的建议,为执行团队草拟出详细的转换计划。这包括短期(一至两年)、中期(两至三年)和长期(五年)的项目计划。创建活动(项目)、活动的业务价值、持续时间、大致成本和资源需求的摘要。这有助于推动资金分配决策和成果。
转换规划期间的重要考虑事项之一涉及到硬件或遗留平台的现代化。在这一点上,评估重用可能性也是最有利的。例如,客户拥有一个 System z 系列中的 IBM 中端大型机系统。该系统的功能之一是能够在运行 AIX® 和 WebSphere Application Server 的单独分区上运行 Java 工作负载。该系统的此功能可用于实现重用,并且是确定投资需求时的一个重要考虑事项。请参见参考资料部分以获得指向更多信息的链接。
结束语
本文提供了深入的见解,说明了如何为中小型企业的主要高层管理人员提供遗留系统转换和现代化活动的建议和指导。本文介绍了如何通过执行数据收集、分析和建议步骤,并提供转换规划信息以支持资金分配决策,从而有条不紊地完成该任务。