许多公司总是面临着需要尽可能快地且有效地利用成本开发并部署新的应用程序和系统的挑战。随着 Java、J2EE,和 Web 服务标准的出现,落在软件开发团队上面的压力随着许多公司试图接近这些新技术的高级功能 —— 及随后的利益 —— 而增加了。
不幸的是,就这方面而言,许多公司都缺少一个知识渊博的人员和许多受过全面的 Java 和 J2EE,甚至 COBOL 培训的熟练的开发人员。这将这些公司置于十分不利的竞争中。现在,IBM 的 Enterprise Generation Language(EGL)通过使公司在不需要昂贵的培训的情况下更好地利用它们现有的开发人员来帮助公司克服这些不利。本文介绍了此新技术并探究了其好处。
现今开发环境的复杂性
没有人会不赞同商家需要更有效地利用它们的 IT 部门来达到它们的商业目标。问题是,IT 环境是几十年来演进缓慢的多重平台和中间件的混合。对于许多公司来说,它们的关键业务的系统运行着许多年前用较老的传统语言,如 COBOL、RPG,和 PL/I 撰写的应用程序。现在,那些拥有许多年使用这些传统语言的撰写经验的熟练的开发人员正在更新和维护这些关键业务的应用程序。这些开发人员处理商业领域、商业需求,和如何实现这些系统的专业技术和知识。
然而,对于许多开发人员来说,Java 的引入对他们如何创建和维护其应用程序产生了有限的影响。那是因为他们发觉 Java 太复杂,很难撰写代码,所以他们继续用他们知道并理解的编程技术开发应用程序,在历史上,他们是 IT 环境中的开发支柱。然而对这些开发人员再培训 Java/J2EE 和 Web 服务技术好像是合理的行进路线,但通常是不节省成本的。事实上,最近的研究表明在该类型的技术基础上再培训一名面向业务的开发人员会花费 40,000 美元。一个昂贵的解决方案,并且它甚至没有考虑到这些开发人员达到完成他们的工作所要求达到的熟练水平所需要的额外时间。它还没有考虑到与此类型的再培训相关的失败率。
根据 IBM Rational Software Enterprise Generation Language 和 Enterprise Modernization 部门的产品经理 Ed Gondek 的说法,企业正在寻找方法来利用这些开发人员的技能和经验,从而利用 Java 和 Web 服务的功能。“许多公司想要利用当今的新技术,进入 J2EE 领域,并在将他们熟练的开发人员的技能和领域专长最大化的同时,利用像 IBM ® WebSphere® 的应用程序服务器”,他解释说。“他们希望在开发环境中找到一些共同点,在该环境中他们可以适当地使用 Java 或 COBOL,并在多个项目和平台上利用开发人员 —— 并且以一种非常节省成本并交付投资回报的方式。IBM 的 Enterprise Generation Language 可以使他们做到这一点。”
第 4 代语言的演进
EGL 是一个高级的程序设计语言,它可以令使用 COBOL、RPG,和 PL/I,以及第 4 代语言,如 Natural、CA 工具,和 PowerBuilder 的开发人员,在不用成为 Java、 J2EE,或 Web 服务技术专家的情况下基于 Java 和面向服务的架构(SOA)编写出功能完整的应用程序。利用 EGL,开发人员用 EGL 源代码编写他们的业务逻辑,然后 EGL 工具生成 Java 或 COBOL 代码,以及部署应用程序所需要的相应的运行时工件。
EGL 代表了 IBM 从 1981 年引入的 Cross System Product 主机应用程序开发工具开始,在商业应用程序开发领域内的最新贡献。这些年来,IBM 增强了该技术 —— 首先在 90 年代早期,IBM® VisualGen® 和 VisualAge Generator 产品,之后引入 Eclipse 平台上的 IBM WebSphere 系列的应用程序开发工具。现今,EGL 在继续着这一演进。EGL 是 IBM Rational Software Development Platform 的关键组件,交付了一个完整的应用程序生命周期管理功能包,其中包括需求和分析、建模、设计和构建、测试、软件配置管理,和过程及项目管理工具。
EGL 技术紧密地集成到一组 Rational 和 WebSphere 产品(包括 IBM Rational Application Developer、IBM Rational Software Architect、IBM WebSphere Developer for zSeries,和 IBM WebSphere Development Studio Client for iSeries®)下的设计和构建工具中。当与 EGL 技术结合时,这些工具简化了使用 Java、J2EE、Web 服务、SOA,和门户技术的商业应用程序的创建、测试、部署,和维护的过程。
获得 EGL 的好处
对于许多公司面临在有限的时间内创建关键业务的应用程序的难题,EGL 提供了可以给所有级别的组织都带来好处的功能:
“EGL 及其之前版本能够交付的其中一个好处是消除每六到十二个月将一项新的技术投向开发人员时所引起的破坏”,Gondek 说。“随着每项新技术的引入,许多公司不得不将开发人员拉开他们的项目并且说‘好的,现在你们必须学习 SOAP,或者现在你们必须学习 Java 或其他等同的新技术。’许多公司喜欢用使开发人员专注于其高生产力的方式建立商业应用程序 —— EGL 明显地帮助它们解决了这些开发问题。”
利用 EGL,所有类型的开发人员可以共存于这样一个环境下,在这个环境中他们的贡献及他们带给公司的技能和经验受到认同。“近来的分析人员研究指出,让公司将它们的面向业务的开发人员再次培训成 Java 大师这样的事情将不会发生”,Gondek 说。“这并不意味着一些公司不会再次培训它们的开发人员,但是由于与此培训相关的花费和时间,许多公司不可能让面向业务的开发人员进行尝试。利用 EGL,您可以让熟悉 Java 的开发人员与那些从事于 COBOL 或其他传统语言开发的人一起工作。而他们都可以开发能够满足利用 IT 投资的最高优先级的 Java 应用程序 —— 从建立公司的面向服务的架构,到满足规章和行业遵从需求。”
捣毁开发竖井
EGL 被设计成平台无关的,这可以使公司捣毁开发竖井并利用需要运行应用程序的最为适合的平台。“EGL 生成的应用程序代码是适用于所有平台的,不论它是 zSeries® 或 iSeries 系统,或是一个运行在 Windows 或 UNIX 操作系统上的应用程序,”Gondek 解释说。“从历史观点上讲,在竖井的环境中,开发团队常常是分离的,以及工作在特定平台,甚至平台上的特定操作系统上的特定开发人员。利用 EGL,每个开发人员都可以生成运行在特定平台或跨多个平台上的应用程序 —— 无论如何,他们都工作于同样的集成开发环境中。这创造了许多开发长处、成本节约,和公司需要时能够接近的跨领域的专业技术。”
EGL 还使公司利用基于标准,如 SOA 的灵活的商业解决方案来满足市场需求。为了内部或外部的复用,可以通过许多方法来生成一个支持 SOA 的服务。EGL 也提供了构造、向导,和代码结构,通过他们能够自动化 SOA 环境中创造和使用许多服务所需的所有步骤。EGL 是第一个包含“服务”,并作为高等语言要素的语言。同时这又减少了开发 SOA 应用程序的学习曲线、减少了成本,及加快了商业应用程序交付。
结束
竞争压力和不断变更的客户需求正迫使公司开发并部署利用了新技术,如 J2EE 和 Web 服务的应用程序和系统。然而,许多现今的开发人员不具备开发 Java 代码的技能和知识。利用 EGL,开发人员可以很容易地生成 Java 或 COBOL 代码,不论他们有没有这方面的技能,从而帮助他们的公司快速且节省成本地变更业务需求。与此同时,EGL 通过使开发团队一次生成代码并在 IT 环境中任何位置进行部署来帮助开发团队实现最高级的生产力。