MDA,开创大时代

2008-04-09 04:02:47来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  C语言花费了二十年从蛮荒之中杀出一条血路,Java苦心耕耘了近十年方成大气,C#在Beta版本推出两年前就开始通过各种途径营造气氛,砸下了数不清的美金,直到现在还未被主流应用所完全接受。而MDA(Model Driven Architecture 模型驱动架构)自从2002年被OMG(Object Management Group 国际对象管理集团)提出以后,"随风潜入夜,润物细无声",未见轰轰烈烈宣传,各大厂商却惊人一致地争相跟进,关于MDA的话题转眼之间在网络上也如火如荼地繁荣起来了。

  然而MDA是什么?究竟是什么带来了MDA?究竟MDA为IT业带来了什么?MDA又揭开了一个怎样激动人心的大时代的序幕呢?

  挑灯看剑
 
  Michael Guttman,CORBA的创始人,他在为《应用MDA》(国内第一本关于MDA技术的译著)写的序言中说道:

   "是什么使得MDA同其它无数泛滥于软件社区的三字母缩写相比显得如此与众不同?第一个理由,MDA是由OMG推动的,OMG是软件产业界最大的联盟,OMG拥有令人羡慕的光辉的过去--它发布并维护了业界一些最成功的标准,比如CORBA和UML。"

  OMG是一个独立于各厂商的非盈利性组织,其主要宗旨是要统一不同的商业产品和标准之间的数据交换及相互操作,从而改善各厂商的软件产品之间不兼容的情况。CORBA是OMG在中间件层次上一个显著的工作成果,然而,这个技术上的成功的作品在商业应用上却称不上成功,数年之间,J2EE和DotNet相继在中间件的层面上异军突起。OMG的工程师们开始把眼光放到更远的地方,他们希望在更高的层面上一统这兵荒马乱的局面,因此,基于OMG另外一个非常成功的作品--UML,他们提出了MDA的概念。

  OMG的构想是将目前的开发行为提升到更高的抽象层级--分析模型级,把针对特定计算平台的编码工作交由机器自动完成,这样的情况下,业务逻辑与实现技术被成功地解耦,二者相对独立变化,因此模型的价值在包容已有技术的条件下被最大化。这种目的根源于软件开发的现状,在传统的软件开发方法中,随着项目的进展,设计阶段产生的UML模型和代码之间的同步变得越来越困难--代码为了应付新增加的需求和新产生的想法而不断变化,模型却一直停留在原地不动,这是的模型在一段时间之后就失去了它的价值。OMG提出了一个最根本的解决方案--在MDA中,模型不再是一种辅助工具,而是开发过程的产品。一个完整的MDA应用程序包含:

  一个权威的PIM;
  一个或者多个PSM;
  一个或者多个完整的实现 - 开发人员决定支持的所有平台上的应用程序实现。

  MDA在目前技术的基础上,分离出了两个抽象级别的模型:PIM(Platform Independent Model 平台无关模型)和(Platform Specialize Mode 平台相关模型),PIM是一个纯粹的不考虑实现技术的分析模型,而PSM可以视为一个基于特定实现技术,比如J2EE的设计模型。工程师们只需要建立表达业务逻辑的PIM,剩下的工作都将由MDA引擎自动完成。描述业务逻辑的PIM将具有长久的价值,而针对特定平台的PSM则可能会随着平台技术的进步而快速地迁移。在MDA开发过程中,系统的开发工作的最终产品是PIM,从PIM到PSM及至代码实现都是由第三方的自动化工具来完成的。

  为了实现MDA这一宏大构想,OMG制定了一系列的标准:

   UML:UML被MDA用来描述各种模型。它并不是为MDA而生,但是作为目前最为风行的建模语言,UML已经占据了全球建模语言领域90%的市场份额,成为了建模语言事实上的标准,因此OMG将它作为MDA技术的基础是自然而然的明智选择。它是MDA的基础,也是MDA最有力的武器。

   MOF:MOF(Meta Object Facility 元对象机制)是比UML更高层次的抽象,它的目的是为了描述UML的扩展或者其它未来可能出现的类UML的建模语言。由此我们可以看到OMG的"野心",虽然MOF也不是为MDA而生的,但是我们可以体味到OMG的工程师们良苦的用心和长远的目光。

   XMI:XMI(XML-based metadata Interchange)是基于XML的元数据交换。它通过标准化的XML文档格式和DTDs(Document Type Definitions)为各种模型定义了一种基于XML的数据交换格式。这使得作为最终产品的模型可以在各种不同的工具中传递,这一点是非常重要的,它保证了MDA不会在打破了一种束缚之后再被加上一层新的束缚。

   CWM:CWM(Common Warehouse Metamodel 公共仓库元模型)提供了一种数据格式变换的手段,在任意级别的模型上都可以使用CWM来描述两种数据模型之间的映射规则,比如将数据实体从关系数据库变换为XML格式。在MOF的框架下,CWM使得通用的数据模型变换引擎成为可能。

  在OMG的蓝图中,UML、MOF、XMI、CWM等一系列标准分别解决了MDA的模型建立、模型扩展、模型交换、模型变换这几个方面的问题。OMG试图通过标准化的定义,扩大MDA的应用范围。同时通过这样一个可扩展的建模语言环境,IT厂商可以自由实现自己的建模语言,以及语言到可执行代码的映射,然而不管怎么样,都必须处于OMG的标准化框架之下。   烽烟再起

  "中间件战争已经结束,下一个战场是模型转换!"
    --来自于中国第一个MDA研究组织MDAChina.net的这条标语明确地阐释了软件开发的下一个重心。

  嗅觉灵敏的IT巨头们比谁都先看到这一点,OMG的MDA思想推出不久,IBM、Oracle、IONA等等都急忙宣称将在自己的企业级软件解决方案中融入MDA的思想,两大建模工具厂商Rotional和Together也声明自己的产品开始加入对MDA的支持,甚至连国内ERP软件领袖企业之一的金蝶软件也不甘寂寞,在其BOS基础平台的发布会上说BOS系统成功实现了MDA。且不管各位巧舌如簧的发言人是如何滔滔不绝的,单从MDA这个词越来越频繁地从他们口中出现这一点,就可以看出MDA已经成为了引发下一轮竞争的导火线,下一个战场的制高点。

  对于计算市场的商业个体来说,技术领域的竞争就是没有硝烟的战场,从计算机被发明IT产业兴起以来就从来没有停止过激烈的竞争,时至今日,人们已经在计算的战场上征战了五十多年。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:网络游戏通讯模型初探

下一篇:“再用式”软件开发方法