以上两张图来自于http://www.omg.org/mda/
翻译下来大概是这个意思:面对业务和技术的挑战,OMG的模型驱动架构提供了一个开放的独立于开发商的方法。基于OMG已经建立的标准,MDA将业务和应用逻辑和底层的平台技术相分离,同时使得UML和其他相关的OMG模型标准建立的应用和集成系统功能和行为的平台独立模型,可以通过MDA在几乎所有开放或专利的平台上实现,比如Web Services, .NET, CORBA, J2EE等等。这些平台独立的模型记录一个应用的业务功能和行为,并且这种记录独立于实现它的技术代码。应用和集成系统的业务和集成系统不再纠缠在一起,可以在它们各自的空间进化--------业务逻辑对业务需要进行回应,技术根据业务的需要利用新的技术发展。
MDA的核心思想:
Platform Independent Model ----------> Platform Specific Model ------->Code
MDA的目的是分离业务逻辑和底层平台技术,以保护建模的成果不受技术变迁的影响。
下图是基于MDA开发的过程。
在基于MDA的开发过程中,对应于传统开发过程中的需求阶段,需求人员建模得到PIM,在分析中对PIM进行精化,在传统开发的设计阶段,完成开发的设计阶段,完成PIM到PSM的转化。PSM到Application的转化即相当于传统的开发阶段。
根据[1]文,在实际开发中,MDA有狭义的MDA和广义的MDA之分。狭义的MDA希望用一套基于语义基础的统一的元数据/模型框架将模型管理起来,并应用此语义基础的各个标准实现对模型的建模、元建模、转换等各个操作。像微软的VSTS,IBN的Rational等,实现了MDA的功能,但并没有严格遵循OMG的标准,它们就是在广义的MDA这个范畴。基本上可以理解,一个属于学院派,理想主义的存在;一个属于工业派,现实主义的存在。
其实我觉得IBM的Web Sphere这套东西,感觉只有RSA比较像一点,WID大概都不能算吧。WebSphere Modeler这套东西可以对业务进行建模,但ms不能直接转化为代码吧。
随便谢谢。拍砖吧-_-
[1] http://www.yuanma.org/data/2007/1130/article_2900.htm