选择显示字体大小

mda,开创大时代


  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和do.net相继在中间件的层面上异军突起。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的标准化框架之下。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons