OptimalJ----对企业Java开发的一次全面提速和优化(2)
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模型进行诠释的一种对应关系,在从分析、建模到应用开发的整个过程中,它使得相应的模型得以在企业内进行传播。