MDA及其同其他构架的区别
什么是MDA?它和其他架构有什么区别?
MDA是一种新的用于编写规范(specifications)和开发应用程序的途径,它基于平台无关的模型(PIM:platform-independent model)。
一个完整的MDA规范包含:
1、一个权威的基于UML的平台无关模型PIM;
2、一个或者多个与特定平台相关的模型PSM;
3、接口定义集合- 每个集合描述了基础模型再不同中间件平台上的实现。
一个完整的MDA应用程序包含:
1、一个权威的PIM;
2、一个或者多个PSM;
3、一个或者多个完整的实现- 开发人员决定支持的所有平台上的应用程序实现。
基于MDA的开发首先关注于分布式系统或者应用程序的功能和行为,而不是它将采用哪种具体的技术来实现。MDA使得业务逻辑和实现细节相分离。因此,每当一种新的技术(例如XML/SOAP)到来的时候,我们不必再重复对系统或者应用进行建模的过程,而其他架构往往都和某种特定的技术或者平台捆绑在一起,无法达到这一目的。使用MDA,我们对系统的功能和行为的建模只需一次,而且是仅需一次。将PIM映射到某个特定平台的PSM的工作是由工具自动完成的,当我们需要支持新的技术的时候,这就简化了我们的工作。
为什么OMG朝着一个新的方向发展?是什么原因驱使的?
如果你重新审视OMG的发展历史你会发现,其实MDA并不算是一个新的方向。1997年,OMG将其工作范围进行了扩展,接纳了使用UML和MOF进行建模的工作。虽然平台无关的UML模型可以在任何平台上实现,但是问题在于,随着项目的进展,UML模型和实现往往会出现脱节,不能很好地同步--树桩仍然固定在地上,但是随时间的推移,它周围的组织结构已经发生了变化。MDA将OMG组织定义良好的建模标准(不仅仅指CORBA,还包括过去的、现在的、将来的其他所有的中间件技术)结合起来,来将你已经创建的、正在创建的,或者将要创建的应用程序集成起来。MDA提高了设计工作的门槛,它在建模这一层次上设计轻便的、可户操作的应用程序。
UML在MDA中扮演什么角色?
UML是使能MDA技术的一把钥匙:使用MDA技术创建的所有应用程序都基于标准化的、平*立的UML模型。通过将这一通用的、被普遍接受的建模标准作为杠杆,MDA使得开发人员可以创建能被轻便地访问、天生具有良好的互操作性的应用程序。而且这些应用程序能被嵌入式系统、桌面应用系统、服务器、大型机等广阔领域的应用程序所访问,也能够被跨Internet访问,具有广阔的应用前景。
中间件平台在MDA中扮演什么角色?
在MDA中,一个规范的PIM被用来定义一个或者多个PSM和接口定义集合。每种定义描述了基础模型在不同的中间件平台上是如何实现的。由于PIM、PSMs和接口定义集合都将被作为MDA规范的一部分,OMG将采用多种中间件平台的规范。CORBA技术具有平台和语言的独立性、经过检验的事务和安全的天性。这使得它仍然是从嵌入式系统到桌面系统,再到Internet应用的选择。MDA的方向是使得它与其他中间件平台更容易交互,而且更加廉价。
CORBA将何去何从?
OMG将继续开发CORBA并推动其发展,CORBA的市场将会继续扩展,特别是在实时嵌入式、大型的任务紧急的、高容错性的企业计算环境中。由于CORBA是仅有的集成多平台的、多语言的应用程序的解决方案,许多企业将会使用CORBA去创建和集成由MDA定义的应用程序。OMG和它的成员一直都认可与其他标准(例如具有所有权的平台和语言)具有互操作性的价值。OMG在1995年创建了COM/CORBA互操作标准,并在1997年对它进行了扩展,同时也设计和建立了CORBA和Java、XML协同工作的方式。MDA将继续定义跨中间件的互操作工作,而且将提供工具以加速和自动化这一过程。这将会给用户带来好处,因为他会发现自己的应用程序可以支持多种中间件平台。
MDA如何使得跨平台的互操作性成为可能?
每当一个新的MDA规范或者应用程序被创建,和其他规范以及服务的互操作性已经包含在设计当中。在MDA中,每个服务、工具和应用程序的的基本描述都是一个平台无关的模型。在平台无关的模型环境中,架构师可以指定应用程序到需要的服务、工具以及其他应用程序之间的连接,并且将其作为模型的一部分。根据这些模型,MDA工具自动生成用于连接不同中间平台的程序实现。
0条评论