什么是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工具自动生成用于连接不同中间平台的程序实现。

  MDA环境下有哪些服务可用?

  OMG组织成员深知具有可扩展性的服务对于企业或者跨Internet的分布式计算的必要性。对于CORBA,OMG对同样的问题的回答是CORBAservices,这些服务已经被定义且可用。在MDA中,已经给其赋予了一个新的名称-普遍深入的服务(Pervasive Services)。因为每个服务的实现都忽略它所运行的平台, 通过MDA生成的跨平台的一座桥可以为任何需要其能力的应用程序和客户端程序服务。在MDA中,OMG将会迅速定义4个服务:

  ◆目录服务(Directory Services) *
  ◆事务服务(Transaction Services) *
  ◆安全服务(Security Services) *
  ◆分布式事件通知服务(Distributed Event and Notification Services)

  其他一些服务,如CORBA services列表中被建议的服务等,将会在需要的时候被加入,以使得MDA环境具备完整性。

  领域相关的软件和标准将如何从MDA中获益?

  MDA对于工业软件来说具有许多优点,以至于OMG的一些Domain Task Forces已经开始使用MDA来书写他们的标准,即使MDA还并未成为一个官方的标准。为了能使一个工业获益,一个标准必须被一大批的公司所使用。跟特定技术绑定的标准由于平台的不兼容性会给大面积推广工作带来麻烦。有时候问题可能比这个还要严重:在某些工业中,有些架构上非常优秀,且被正式采纳的标准却没有获得应用,就使因为它只是为特定平台所编写的, 而这个平台只有为数很少的公司使用。MDA彻底扫清了这种障碍。在MDA中,每种标准的功能性描述都使与实现技术无关的,而且它的架构也是能够在多种平台上产生可互操作的代码实现。这就允许一个工业来将他们的业务逻辑功能和行为定义为一个PIM,然后生成PSMs和多种平台的实现。

  MDA和微软.NET以及Sun ONE如何比较?如何竞争?

  MDA工作在与.NET和ONE不同的层次上。.NET和ONE是被个体所拥有的平台,瞄准的是特定的应用程序领域。而MDA是模型驱动的软件架构,工作在包括.NET和ONE的任何中间件平台层次之上。中间件平台被合入MDA中,作为一个platform-specific profile,.NET和ONE瞄准了相同的市场,OMG 成员将为他们定义platform-specific profile,以允许他们和其他平台(例如Java/EJB、XML)、协议以及工业标准平台(例如SOAP、XP)协同工作。

  对于试图处理企业计算的企业来说,MDA能够带来的最大的三个好处是什么?

  使用MDA方式能够带来很多的好处,最重要的三个是:基于MDA的架构总是能够随时应付昨天的、今天的和未来的下一个主流技术。MDA将会使得应用程序和工具能够跨越中间件的边界,从而变得更容易集成。OMG Domain Task Forces小组负责在MDA中定义领域相关的工具,它将会提供更广阔的互操作性。因为这些工具将会在特定领域的首选平台上可以使用,而且如果需要,也可以在多种平台上被使用。

  MDA将在什么时间、什么类型的工具中、以什么样的方式被分发?

  MDA的一些关键部分已经被标准化了,这不仅包括UML、MOF、XMI和CWM,还包括第一个中间件的映射(针对OMG组织的CORBA平台)。一些其他的主要的MDA基础规范正迅速地成形,例如为企业系统设计的中间件无关的映射(称为UML for Enterprise Distributed Object Computing)。作为产品,MDA将被一些工具所实现。这些工具可是是单独的,也可以是一整套的,他们将建模功能和开发功能集成到一个独立的环境中,将会带领一个应用程序从最初的PIM转换为平台相关的PSM,最终针对一系列的语言和配置文件生成实现接口、连接服务以及工具的代码;如果可能,也会生成部分业务逻辑代码。一些软件生产商已经可以提供实现在这一层面上实现集成功能的工具,其包含了代码自动生成功能。由于这些工具开发时,MDA规范并未完成,所以这些工具并不是完全符合OMG的MDA规范。即使这样,我们仍然很高兴地看到这些开发环境已经开始支持MDA。我们希望第一代工具能够在今年后期产生。其他厂商的产品也会加入进来,因此大多数的OMG厂商成员将会在未来的18个月中在市场中推出其代表性的产品。MDA最大的好处就是可以从MDA模型中自动或者半自动地产生应用程序代码。

  OMG如何工作?

  OMG比以前更大壮大,且发展良好。拥有数百个公司成员,OMG继续保持最大的软件标准组织的地位。现在有越来越多的系统使用OMG的标准部署,新的成功的故事正在不断上演。新近的一些故事包括了赢得一个大型的航空预定系统和两个世界上最大的跨国汽车制造厂商的系统的主要设计。OMG目前采纳的正在进行的工作是OMG标准化组织的12年历史中最多的。OMG组织的会议会吸引数百名成员和客户的注意力。

  MDA会反过来影响我已经安装的或者计划安装的基于CORBA的产品嘛?

  绝对不会。首先,OMG计划至少会继续在当前的层面上对CORBA提供支持;实时的、嵌入式的、容错的系统和企业系统的CORBA用户所提出的需求将会加快CORBA的标准化速度。CORBA也将会成为MDA中一个最卓越的平台相关的模型。是完全保持现有CORBA应用程序,还是利用MDA桥接到其他平台,这取决于商业因素,而非技术的压力。

MDA及其同其他构架的区别相关推荐

  1. 如何构建自己的网游基本构架

    很多想做游戏策划的人不知道一款游戏的搭建到底应该从哪里开始着手,没关系,这是很多资深游戏策划人都会遇到的问题,因为一个创意要想成为一款作品,需要大量的思考与工作,为了便于大家理解,我们选择现在国内比较 ...

  2. JAVA面试题最全集

    分享一下我老师大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow 一.Java基础知 ...

  3. 怎样使用GPT案例:使用GPT获得OPPO终止ZEKU芯片业务需要的背景知识

    使用GPT获得OPPO终止ZEKU芯片业务需要的背景知识 引子:微博上对OPPO关停ZEKU芯片业务的分析 Q: Nuvia 公司主要生产的是什么? Q: Nuvia芯片和Arm芯片之间有什么关联? ...

  4. Linux--Ubuntu Tweak

    Ubuntu Tweak是一款专门为Ubuntu(GNOME桌面)准备的配置.调整工具.主要面向新手级的普通用户.它可以设置很多并不能在系统首选项中设置的隐藏选项,以满足用户自定义的乐趣.即使是新手, ...

  5. 2018福大软工实践第十次作业

    目录 第一部分 调研,评测 福大助手的bug IOS端 Android端 福大助手结构体系的思维导图 为什么开发人员没有发现这个bug 假设团队开发这款app,应注意哪些方面(架构.部署运维.微服务等 ...

  6. H3C安全技术高级工程师H3CSE Security GB0-530

    H3CSE Security(H3C Certified Senior Engineer for Security,H3C认证网络安全高级工程师)定位于大中型企业网络安全的规划.设计.配置.维护,通过 ...

  7. 404 Note Found队 福大助手项目测评

    目录 第一部分 调研,评测 福大助手的bug IOS端 Android端 福大助手结构体系的思维导图 为什么开发人员没有发现这个bug 假设团队开发这款app,应注意哪些方面(架构.部署运维.微服务等 ...

  8. ×××(虚拟专用网络)

    ×××(Virtual Private Network) 简介:虚拟专用网(***)被定义为通过一个公用网络(通常是因特网)建立一个临时的.安全的连接,是一条穿过混乱的公用网络的安全.稳定的隧道.使用 ...

  9. Java的五个基础面试题

    还在找java的面试题目吗,下面小编为大家搜集的一篇"java的五个基础面试题",供大家参考借鉴,希望可以帮助到有需要的朋友! 1.将一个float或double类型转换为整型时, ...

最新文章

  1. 2022-2028年中国防水橡胶布行业市场发展模式及投资前景分析报告
  2. 太TM难看了,我自己都看不下去了
  3. 8 场 5 胜,微服务 VS 单体架构
  4. 移动端重构系列5——等分,居中等
  5. 怎么把ide改成ahci_如何将硬盘由IDE模式修改为AHCI模式,我的主板是华硕P8Z68-VLX,请高手帮帮忙。...
  6. android中bitmap压缩的几种方法的解读
  7. DDR3 IP设计说明
  8. linux系统管理命令使用,Linux系统管理使用之基本命令(1)
  9. 猎豹浏览器怎么设置双击关闭网页 双击关闭网页设置方法
  10. javascript鼠标拖拽的那些事情
  11. Illustrator 教程,如何在 Illustrator 中沿路径添加文本?
  12. centOS之jre安装
  13. php emoji 乱码,微信emoji昵称展示乱码问题
  14. html种颜色的三种不同表示方法,html网页背景颜色的代码是什么?颜色有几种表示方法?...
  15. 触发器详解——(三)T触发器
  16. CSS W3C 统一验证工具
  17. 保利威视后台编辑FLASH播放器
  18. 舌尖上的职场(三)我来买单!
  19. 陈艾盐:《春燕》百集访谈节目第六十三集
  20. 开发者选项在哪?4.2及以上系统呼出教程

热门文章

  1. 地球历上5次生物大灭绝
  2. 20221121 秩相同,值域不一定相同
  3. 三星安卓5.0设备WifiCredService 远程代码执行
  4. C盘扩展卷是灰色的扩容方法
  5. matlab rbf可调参数,RBF神经网络参数Spread参数问题求解
  6. WOL远程开机——通过ESP8266+blinker(点灯)平台实现
  7. matlab中 meshgrid 函数的用法
  8. 二级域名解析及证书获取
  9. 经典卷积网络学习----FCN(图像分割)
  10. 滚动图片,滚动文字,滚动任何东西