最近研究了一段时间的MDA,了解了一下OMG MDA规范的内容。大体总结如下:
MDA的目标:通过规范可跨平台的建模标准,利用一定的工具,实现多层平台无关模型到平台相关模型(PIM到PSM)的自动转换,从而实现模型驱动的体系架构。
MDA关心两个事,一个是模型,别一个是过程。MDA的建模规范的目标是通过建立一种模型自描述的标准语言来实现模型的跨平台。则过程也就是PIM到PSM的转换过程,这个过程可能并不是一步完成的,因为平台大的方面可以划分为.Net、J2EE、Corba等等,而具体实现的技术,应该再进一步明确到具体可以所采用的各种技术,如J2EE中的Struts、Spring、Hibernate、JSF等等。
MDA的实现:有很多MDA的开源实现,每一种都实现了从UML2(MDA采用的建模标准)到特定的技术实现的转换。
如AndroMDA,可以实现UML2到基于Spring、Struts、Hibernate的平台相关模型的转换。
TaylorMDA,实现UML2到EJB3、SEAM等的实现。
从这些MDA实现来看,MDA规范本身并不排斥现在流行的各种技术框架,当前流行的各种框架从各个方面为优化了应用系统的架构,而MDA要做的是继承这些优秀的技术框架,并且为各种技术框架的结合实现提供相关转化的标准,从而提高系统实现自动化的程度,当然也就在某些场合下提高了系统响应变化的能力。
从这个意义上来说,MDA似乎更多的是一种方法而非一种架构,那么MDA中的这个A怎么理解?看来还得进一步学习!