MDA驱动应用设计

原创 2003年12月30日 10:15:00

Richard Soley,OMG的主席及CEO,回顾了为服务新型分布式软件系统(包括Web services)的关键架构平台的规范化所做的标准上的努力。OMG提出了诸如CORBA、MDA 和UML等系列标准,下面是eWeek的首席撰稿人Darryl K. Taft在上个月和Soley的对话。

eWeek: Web services 现在情况如何?

Soley: Web services现在的情况就象1991年的CORBA 以及1994年的COM [Microsoft 公司的组件对象模型 Component Object Model] :它还是一项很新的技术,目前还缺少一些重要的服务,例如性能和事务。但一个重要的不同之处在于:所有的人都已经接受了Web services,这一点相当不同。这意味着将会有很好的实现出现,然后就可以在此之上构建你所要的服务。Web services当然不是一个全新的技术,这也是不可能的。Web services只是一个名词而已。看到整个行业对其如此认可,我当然非常高兴,但作为一个开发者,我更感兴趣的是怎么开发一个应用并轻松地将其部署到不同时期的不同架构上。
这就是为什么我们要讨论MDA(模型驱动架构)的原因,因为如果我可以为应用建模系统自动生成和底层架构、数据格式以及数据传输之间的连接……而只需要关心程序的业务逻辑,那多好。如果要赶赶时髦,可以生成for Web services的;如果公司需要,可以生成for CORBA,或者for COM架构的。更重要的是,当新的事物出现的时候,我也可以生成相应的应用。

eWeek: MDA [模型驱动架构] 的接受程度如何?

Soley:MDA在小公司中接受得要慢一些,但在大公司中被迅速采用,原因很简单:它确实改变了软件开发的方式-即使你已经有做建模工作。
已经开展了建模工作的公司工作一般是这样的:首先是有一个建模团队,他们找出业务的实现方式,设计一个模型,然后将它写下来,涂上各种颜色,装订起来,分发给开发人员,放到每个人的工作台上。开发人员召开关于模型的热烈讨论会,然后回到工作台,继续前面的工作,又把模型抛到了一边。出现这种情况的原因在于:模型和实现没有直接的关系。
MDA要作的就是把模型本身也作为一个开发的工件。使用编译器来自动生成和实现架构如J2EE、.Net、CORBA、COM相关联的数据转换、持久存储、转换完整性、数据格式等,甚至得到Web services,我们有从UML到SOAP(简单对象访问协议)和WSDL的映射。因此,采取基于模型的方法,你不需要创建开发人员不需要的东西,实际上,你的工作成果将自动生成出代码。

eWeek: 开源对MDA的意义何在?

Soley:开放的标准使我们的规范保持中立,所有人都可以接受,而不受某一个开发商的控制,而开源可以使我们得到大家都接受的一个实现,而不受某个开发商的控制,这两者的结合非常有力。这个实现你可以不使用它,但至少有这么一个实现,不受控于任何一个公司,需要的时候你就可以使用它。你也知道,OMG在最终接纳一个规范之前要求要有相应的实现,OMG已经采纳了不少开源实现的规范,这一点我们非常满意。

eWeek: 有人认为OMG可以在Web services领域发挥更大的作用,您的观点呢?
Soley: 这是我们必须要做的。现在的情况是我们需要专注于我们最擅长的领域。我可以告诉你我们正在努力的两个主要领域。首先,我们要确保MDA对Web services的完全支持。我们刚刚结束了一个标准的制定,实际上它已经发布在我们的网站上了,并且已经有了6个实现。现在你可以由一个UML模型自动生成相应的WSDL定义和SOAP文件头,也就是说,你再也不用去看那些烦人的协议细节了。
另外,还有对应CORBA的映射。因此,如果你已经有了一个CORBA架构,现在希望用它来实现你的Web service—bim、 bam、boom,这已经不是问题了。另外,我所考虑的是更激动人心的长远的打算,而不是现在已经取得的成绩,就是大家在讨论的Web service缺少的东西-事务、安全、持久性,甚至管理、名字服务、目录等等。我们已经在CORBA 和COM上为这些事情操心十年了,现在我们要做的是把这些都抽象成UML模型,生成对应的Web service实现。这就是我们目前的工作,当然,现在还没有完成。

Java与模型驱动架构(MDA)

在软件开发中,过去我们经常看到开发人员犯同样的错误。其中意义比较重大,并且长期以来存在着很大分歧的错误,就是应用架构是在特定平台和操作系统上写成的。这个错误在大型分布式应用中尤其显著。这种情况在最初时...
  • u013800147
  • u013800147
  • 2014年03月17日 14:19
  • 1648

全模型驱动架构(f-MDA)的数据架构

统一数据模型的缘由   我们知道,MDA架构的源起于数据库应用系统的开发,在这类系统中有大量的类似功能和类似界面,可以通过比较简单的配置自动生成最终系统所需的常规代码;总而言之,MDA架构的目的之...
  • xc_c
  • xc_c
  • 2017年03月21日 10:24
  • 220

全模型驱动架构(f-MDA)的基本思想

传统MDA实现方案的共同缺陷         模型驱动架构(ModelDriven Architecture, MDA)的核心思想是抽象出与实现技术无关、完整描述业务功能的核心平台无关模型( P...
  • xc_c
  • xc_c
  • 2017年03月12日 15:00
  • 375

MDA 模式驱动开发

http://www.ibm.com/developerworks/cn/rational/r-mda/ 1. 什么是MDA MDA(Model Driven Archit...
  • legend_x
  • legend_x
  • 2013年09月02日 10:50
  • 690

stm32的MDA应用设置

DMA,全称为:Direct Memory Access,即直接存储器访问。DMA传输方式无需CPU 直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM 与I/O设备开...
  • u014186096
  • u014186096
  • 2015年07月22日 10:51
  • 532

第七章 virtual模块解析

经过了smtp模块的smtp会话解析和qmgr模块调度后,由MDA将邮件发往目的服务器。   有如下几种常见的MDA: local:发送发往本域的邮件。 smtp:向外域发送邮件。     ...
  • wk2056991
  • wk2056991
  • 2016年04月07日 15:43
  • 270

Re:从零开始的领域驱动设计

博客搬家了,最新文章可以在新博客中查看:www.cnkirito.moe,届时CSDN将不再继续更新。...
  • u013815546
  • u013815546
  • 2017年07月28日 13:15
  • 1012

我眼中的领域驱动设计

有幸参与了一些领域驱动的项目,读了一些文章,也见识了一些不伦不类的架构,感觉对领域驱动有了更进一步的认识。所以今天跟大伙探讨一下领域驱动设计,同时也对一些想要实践领域驱动设计却又无处下手,或者一些正在...
  • cnlht
  • cnlht
  • 2017年02月18日 01:43
  • 703

读《领域驱动设计模式、原理与实践》

美国,Scott Millett, Nick Tune 代码示例用的是 C# 我喜欢本书的原理部分就是前部分。 不喜欢的点是: 纸太溥了,南方潮不好翻,这下更不好翻了。书的油味太不好闻了。...
  • wide288
  • wide288
  • 2017年04月17日 10:08
  • 725

EntityFramework之领域驱动设计实践(八)

仓储的实现:基本篇 我们先从技术角度考虑仓储的问题。实体框架(EntityFramework)中,操作数据库是非常简单的:在ObjectContext中使用LINQ to Entitie...
  • a7618317
  • a7618317
  • 2014年01月17日 13:42
  • 618
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MDA驱动应用设计
举报原因:
原因补充:

(最多只允许输入30个字)