UML软件工程组织

OptimalJ----对企业Java开发的一次全面提速和优化
来源:康博软件中国公司

    针对J2EE平台所进行的商业应用开发虽然具备多种优势,但同时又是一次挑战。为可扩展的解决方案所建立的复杂和多层架构的应用程序需要来自原本就有限的高级Java编程人员的更多的支持。IT经理所真正需要的是对现有的IT资源的最大化利用,这里既包括了那些最有经验的体系结构设计者,同时还有最新入行的开发人员。而Compuware荣誉出品的OptimalJ使这一切都成为了可能。

    OptimalJ是专为那些采用了J2EE标准和由对象管理组织(OMG)所制定的模型驱动体系(MDA)的典型全球用户所设计的企业应用开发环境,可以帮助客户在应用程序的开发、集成和维护方面取得进一步的竞争优势。

    通过整体实施对象管理组织(OMG)制定的模型驱动体系(MDA),OptimalJ能够使用固定的模式将典型的商业模型自动转化成为实用的应用程序。

在它的帮助下,企业得以大幅度提高对动态环境的响应能力,优化开发工作的效率和显著降低维护的成本。

OptimalJ成功地为客户屏蔽了J2EE平台中复杂的一面,让客户端的体系构架人员、设计师、开发人员和IT经理真正致力于满足实际的商业需求。使用了OptimalJ,IT企业就能够:
提升针对商业变化的响应速度 ―― 缩短推出市场的时间
优化开发人员的工作效率 ―― "少投入,多产出"
从真正意义上应用各种最佳模式,实施各种标准和准则
站在技术发展的最前沿
充分利用现有的投入和资源
最大化应用产品的质量和可靠度 ―― 最小化风险

OptimalJ一共推出了两个版本,提供更多的选择和灵活性来满足您的Java开发需求。

OptimalJ专业版本(Professional)
为设计师和开发人员提供模型驱动和基于模式化的开发功能,来最大化开发效率和自动生成实施多层架构J2EE应用程序的代码,同时还提供了根据需要对应用程序进行定制的灵活性。

OptimalJ结构设计版本(Architecture)
为J2EE的体系结构设计师提供了模式设计的能力,能够对Compuware提供的各种实施模式进行编辑和功能延伸。在过去,专业体系结构设计师必须面对面地向其它开发人员传授他们的知识,这个过程本身是十分耗时和容易产生错误的,而现在他们可以利用自己在Java方面的专业知识来为整个IT企业定义开发标准,并将标准自动附诸实施。

OptimalJ和模型驱动体系(MDA)
   对象管理组织是全球最大的标准组织,拥有包括Compuware以及开发了Java和J2EE的Sun Microsystems在内的800个成员企业。而由对象管理组织(OMG)所创立的模型驱动体系(MDA)则提出了建立企业体系结构的创新模式。MDA全面利用了OMG旗下已经大获成功的标准建模语言(UML),并在此基础上致力于解决应用集成中所遇到的各种问题。

    MDA是完全建立在商业现实的基础上的:和基本的商业运作相比,软件基础架构正以更快的速度发生着变化。虽然在C、C++、C#、Java、J2EE、NET这类基础软件一个个浮出水面的同时,您不可能一次次重新开发您的订单输入系统,但是您并不希望错失这些更新、更快和更加强大的软件基础架构所带来的商业竞争优势。MDA给出了真正的解决方案:它在真正意义上将商业应用中的体系结构和底层的软件环境分离开来,这样您就可以同步享有基础软件更新所带来的优势,同时又可以确保商业模型的稳定性。

    MDA是从建立一个仅仅代表了商业功能和商业行为的独立于软件平台的模型开始的,该模型和底层的实现技术之间没有任何关联。之后,您再选择实施所应用的软件平台,例如J2EE。一个标准的对应流程会自动将原来平台独立模型(PIM)转化成为一个平台对应模型(PSM)。而在最后的步骤中平台对应模型(PSM)又会被进一步转化成为代码模型,即生成了组成实际应用程序的代码。

    OptimalJ全面采用了MDA的范例,并且在此基础上开发出了"转化模式",从而将MDA延伸成为了应用开发和集成领域中的实用解决方案。为了实现这次成功的延伸,OptimalJ主要引入了以下的模型:

领域模型(Domain Model)
    对应于MDA的平台独立模型(PIM)。该模型使用标准建模语言(UML)来将应用程序的功能和行为模型化而避免涉及任何的细节,并在此基础上对商业分类进行了定义。

应用模型(Application Model)
    对应于MDA的平台对应模型(PSM)。这个模型使用了特定的技术(在此是J2EE)来对应用程序进行了定义。同时提供了关于整个应用程序每层架构所包含的组成部分的一个逻辑总揽。使用OptimalJ的技术模式可以在领域模型基础上自动生成应用模型。

代码模型(Code Model)
    生成实现各个组件的代码,包括了Java classes、SQL脚本程序和其它的技术成分。使用OptimalJ的实施模式可以在应用模型基础上自动生成代码模型。


Business flexibility: 商业灵活性
Scalability: 可扩展性
Standards-based: 基于标准的
Ease of use: 使用方便性
Ability to integrate: 集成能力
Vendor Reputation: 供应商的声誉
Time to market: 推出市场的时间
Requirements for enterprise applications: 针对企业应用程序的各种要求
Source: CMP Media Survey of IT Executives
信息来源: CMP对IT高层人员的普查

模型驱动下的应用开发
    使用了模型化的工作方法而不是传统的编程方法使得设计人员可以以更快的速度完成应用程序的开发工作。OptimalJ很好地支持了继承功能,这使得设计人员相互之间的工作更加协调和透明,同时又确保了在整个应用开发过程中所有的模型定义可以保持严格的一致。这个功能让设计人员可以将所有的精力都集中到应用开发的功能上,而不是实施中的细枝末节。

在基于模型的环境中进行开发提供了以下的优势:
    使设计和开发人员形成了对应用开发的宏观和高层的认识,从而提高了他们在整个开发周期中的效率。
对各种对象和规则的重复使用节约了开发的时间,同时确保了开发中的协调一致性。
实施的独立性:无论在软件基础上作出什么改动,模型本身还是有效的。

OptimalJ基于以下的四个OMG关键标准:
标准建模语言(Unified Modeling Language, UML):针对模型化和表述方法的行业标准。
元对象设施标准(Meta-Object Facility, MOF):在一个分布式环境下对元信息的管理进行定义的标准。
公共仓库模型(Common Warehouse Model, CWM):由对象管理组织(OMG)提出的包含了UML和MOF的一个全面标准。
XML元资料交换机制(XML Metadata Interchange, XMI):使用XML对UML模型进行诠释的一种对应关系,在从分析、建模到应用开发的整个过程中,它使得相应的模型得以在企业内进行传播。

    使用了由OptimalJ提供的领域模型编辑器,设计人员可以建立相应的领域模型,从而拉开整个开发过程的序幕。高层和基于对象的领域模型和UML兼容,包含了应用所需要针对的商业交易行为和信息结构。在领域模型中包括了领域的层级、各个层级的特性、关联、商业模式和规则,但是并不涵盖真正的实施或代码方面的细节信息。在领域模型的基础上,OptimalJ利用转化模式生成了各种演示、商业逻辑和数据模型,来确保能够真正利用J2EE平台的各种功能和标准。

商业规则编辑器
    基于在OptimalJ中所定义的商业规则的基础上,设计人员可以十分方便地对应用程序进行定制。在商业规则编辑器的帮助下,他们可以在模型的层面上增加各种静态和动态的商业规则。由于动态的商业规则被储存在了一个规则库中,在实际应用的过程中可以进行实时的动态修改而无需对应用程序本身进行直接的修改。由于在模型中将商业规则作为独立和易于识别的要素进行了区分,设计人员就可以快速对各种商业需求的改变做出应对,而无需进行耗费财力的编程工作。

模式驱动的生成过程
    在OptimalJ的核心部分是一组转化和功能模式。OptimalJ使用模式来生成运行应用程序所需要的代码。而模式可以根据J2EE的特定技术要求对各种最佳的经验和成功的操作方法加以利用。

    在OptimalJ的支持下,设计人员无需深入了解J2EE的技术特性就可以充分利用其的全部组件,包括Session Bean、Entity Bean、Message-driven Bean、JSP和应用数据表格等。其结果是:一个由设计人员和开发人员组成的小组可以达成高质量和协调一致的应用开发结果。

    Optimalj中提供了一系列的预设模式。简单易用的向导工具帮助设计人员对各种预设模式进行应用,从而大幅度节约了时间和避免了繁重的实施工作。

    因为模式本身已经是知识和专业技能的结晶,所以对相同模式的连续多次使用可以帮助开发人员缩短学习的周期。又因为模式成功地将富有经验的Java开发人员从繁琐和容易产生错误的低层面编程工作中解放了出来,所以对模式的使用就可以帮助开发人员大幅度缩短开发的时间。使用了模式以后就可以在Java开发过程中释放出大量宝贵的Java开发人员资源,节约了时间和成本。

实时的同步
    因为OptimalJ在Java代码和应用模型之间建立了同步关系,所以模型总是可以准确地代表了所实施的应用程序的结果。这样一种同步的关系使得开发人员只需在模型的层面上修改要素就可以十分方便地达到修改应用程序的目的。OptimalJ可以将受到修改后模型影响的那部分代码重新生成,最小化了整个修改过程对应用程序本身的影响。和传统的编写新的代码的修改方式相比,这里的操作所花费的时间常常只有过去的几分之一。

    OptimalJ可以确保所有的修改都将和现有的应用架构保持一致。在整个开发周期中,开发人员无需在最初就急于建立对应用程序本身的深入了解来应对随时发生的修改需要。相反的是,他们可以在模型的层面上进行直接的修改,而由OptimalJ来保证实施代码和模型之间的完全同步。

  点击看大图
model graphically:图形化建模
Add business rules: 添加商业规则
Generate with patterns: 利用模式进行生成
Customize and synchronize: 定制和同步
Test rapidly: 快速测试
Deploy with confidence: 放心推广使用
Process of creating a J2EE Application using OptimalJ: 使用OptimalJ来创建一个J2EE应用程序的流程
Benefit:优势 OptimalJ Feature Employed: OptimalJ的特性
屏蔽复杂性,使开发变得更加容易和快速 领域模型
缩短了推出市场的时间,加快的对变化的响应 商业规则编辑器
高质量,提升客户满意度,缩短了推出市场的时间,节约开发时间和成本 模式驱动的生成过程
对变化的快速响应 实时同步
增加测试的选择,提升测试灵活性,准确的测试条件 生成环境的独立性
独立性
灵活性
节约时间和成本 生成环境的独立性

集成化的推广使用
    OptimalJ可以在众多的市场领先的J2EE工作服务器上进行部署和使用,例如IBM的WebSphere、BEA的Weblogic、Oracle的9iAS和Sun的SunOne AS。此外,您还可以选择由Compuware出品的集成化的Optimalserver。OptimalJ还包括了一个公开程序码的测试环境,该环境是由一台网络服务器、企业级JavaBeans (EJB)容器和一个物件关联资料库管理系统(RDBMS)所组成的。

    OptimalJ可以自动根据客户端的环境进行部署,让您可以直接进行测试而无需为生成复杂的Java档案和开发描述符而烦恼。OptimalJ还支持和自动化生成最新的Web服务,并和现有的Web服务实现完美的整合。

您的最佳捷径
    通过简化了原本十分复杂的基于J2EE的应用程序开发过程,OptimalJ赋予了开发团队提高开发效率和生成更加可靠的应用程序的一条捷径。在这个行业中最佳的快捷方式的帮助下,您可以完全根据商业的实际需要来开发应用程序,而无需再为实施和编程中的琐碎的细节而困扰。您所侧重的将只是应用程序应该做什么,而不是如果去做。

    由于采用了易于使用的可视化模型,还有模式、实时同步和易于定制的商业规则等功能,OptimalJ不仅帮助您以更快的速度生成J2EE应用程序,而且使开发工作紧紧扣住商业中最迫切的需求。所以,更好的J2EE应用程序,带来的必然是更加成功的商业运作。

    有关OptimalJ技术的主要内容在OptimalJ的社区论坛中进行了详细的讨论。如果需要了解这方面的更多信息,或者希望和OptimalJ分享您的使用经验,请访问网址http://javacentral.compuware.com来加入Java开发人员的网上社区-JavaCentral。

Compuware的产品+专业的服务――
    确保您得到的是高质量的应用程序
    Compuware是全球领先的软件产品和专业服务提供商,它的产品和服务正被全球诸多的IT企业用来开发、集成、测试和管理推动着这些企业的商业进步的各种应用程序。无论是针对基于网络、分布式的、还是基于主机的各种平台,我们的软件产品可以优化应用程序生命周期中的每一个步骤,包括从最初的需求定义到最后的生产服务支持。我们的专业服务人员在世界各地的客户端提供现场服务,利用他们丰富的经验和对实际情况的掌握来为客户推出集成和可靠的技术解决方案。

    请和我们取得进一步的联系,以便了解我们的产品和服务将如何帮助您的企业来提高效率、生成更高质量的应用程序和确保实际应用中的最佳效果。


版权所有:UML软件工程组织