MDA常见问题解答

2024-02-27 02:32
文章标签 常见 问题解答 mda

本文主要是介绍MDA常见问题解答,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

什么是MDA?它和其他架构有什么区别?
MDA
是一种新的用于编写规范(specifications)和开发应用程序的途径,它基于平台无关的模型(PIMplatform-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将其
工作范围进行了扩展,接纳了使用UMLMOF进行建模的工作。虽然平台无关的UML模型可以在任何平台上实现,但是问题在于,随着项目的进展,UML模型和实现往往会出现脱节,不能很好地同步--树桩仍然固定在地上,但是随时间的推移,它周围的组织结构已经发生了变化。MDAOMG组织定义良好的建模标准(不仅仅指CORBA,还包括过去的、现在的、将来的其他所有的中间件技术)结合起来,来将你已经创建的、正在创建的,或者将要创建的应用程序集成起来。MDA提高了设计工作的门槛,它在建模这一层次上设计轻便的、可户操作的应用程序。

UMLMDA中扮演什么角色?
UML是使能MDA技术的一把钥匙:使用MDA技术创建的所有应用程序都基于标准化的、平台独立
UML模型。通过将这一通用的、被普遍接受的建模标准作为杠杆,MDA使得开发人员可以创建能被轻便地访问、天生具有良好的互操作性的应用程序。而且这些应用程序能被嵌入式系统、桌面应用系统、服务器、大型机等广阔领域的应用程序所访问,也能够被跨Internet访问,具有广阔的应用前景。
中间件平台在MDA中扮演什么角色?
MDA中,一个规范的PIM被用来定义一个或者多个PSM和接口定义集合。每种定义描述了基础
模型在不同的中间件平台上是如何实现的。由于PIMPSMs和接口定义集合都将被作为MDA规范的一部分,OMG将采用多种中间件平台的规范。CORBA技术具有平台和语言的独立性、经过检验的事务和安全的天性。这使得它仍然是从嵌入式系统到桌面系统,再到Internet应用的最佳选择。MDA的方向是使得它与其他中间件平台更容易交互,而且更加廉价。
CORBA
将何去何从?
OMG将继续开发CORBA并推动其发展,CORBA的市场将会继续扩展,特别是在实时嵌入式、大型的任务紧急的、高容错性的企业计算环境中。由于CORBA是仅有的集成多平台的、多语言的应用程序的解决方案,许多企业将会使用CORBA去创建和集成由MDA定义的应用程序。OMG和它的成员一直都认可与其他标准(例如具有所有权的平台和语言)具有互操作性的价值。OMG1995年创建了COM/CORBA互操作标准,并在1997年对它进行了扩展,同时也设计和建立了CORBAJavaXML协同工作的方式。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工作在与.NETONE不同的层次上。.NETONE是被个体所拥有的平台,瞄准的是特定的应用程序领域。而MDA是模型驱动的软件架构,工作在包括.NETONE的任何中间件平台层次之上。中间件平台被合入MDA中,作为一个platform-specific profile.NETONE瞄准了相同的市场,OMG 成员将为他们定义platform-specific profile,以允许他们和其他平台(例如Java/EJBXML)、协议以及工业标准平台(例如SOAPXP)协同工作。

对于试图处理企业计算的企业来说,MDA能够带来的最大的三个好处是什么?
使用MDA方式能够带来很多的好处,最重要的三个是:基于MDA的架构总是能够随时应付昨天的、今天的和未来的下一个主流技术。MDA将会使得应用程序和工具能够跨越中间件的边界,从而变得更容易集成。OMG Domain Task Forces小组负责在MDA中定义领域相关的工具,它将会提供更广阔的互操作性。因为这些工具将会在特定领域的首选平台上可以使用,而且如果需要,也可以在多种平台上被使用。
MDA
将在什么时间、什么类型的工具中、以什么样的方式被分发?
MDA的一些关键部分已经被标准化了,这不仅包括UMLMOFXMICWM,还包括第一个中间
件的映射(针对OMG组织的CORBA平台)。一些其他的主要的MDA基础规范正迅速地成形,例如为企业系统设计的中间件无关的映射(称为UML for Enterprise Distributed Object Computing)。作为产品,MDA将被一些工具所实现。这些工具可是是单独的,也可以是一整套的,他们将建模功能和开发功能集成到一个独立的环境中,将会带领一个应用程序从最初的PIM转换为平台相关的PSM,最终针对一系列的语言和配置文件生成实现接口、连接服务以及工具的代码;如果可能,也会生成部分业务逻辑代码。一些软件生产商已经可以提供实现在这一层面上实现集成功能的工具,其包含了代码自动生成功能。由于这些工具开发时,MDA规范并未完成,所以这些工具并不是完全符合OMGMDA规范。即使这样,我们仍然很高兴地看到这些开发环境已经开始支持MDA。我们希望第一代工具能够在今年后期产生。其他厂商的产品也会加入进来,因此大多数的OMG厂商成员将会在未来的18个月中在市场中推出其代表性的产品。MDA最大的好处就是可以从MDA模型中自动或者半自动地产生应用程序代码。
OMG
如何工作?
OMG比以前更大壮大,且发展良好。拥有数百个公司成员,OMG继续保持最大的软件标准组织的
地位。现在有越来越多的系统使用OMG的标准部署,新的成功的故事正在不断上演。新近的一些故事包括了赢得一个大型的航空预定系统和两个世界上最大的跨国汽车制造厂商的系统的主要设计。OMG目前采纳的正在进行的工作是OMG标准化组织的12年历史中最多的。OMG组织的会议会吸引数百名成员和客户的注意力。
MDA
会反过来影响我已经安装的或者计划安装的基于CORBA的产品嘛?

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

这篇关于MDA常见问题解答的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/750951

相关文章

Java 方法重载Overload常见误区及注意事项

《Java方法重载Overload常见误区及注意事项》Java方法重载允许同一类中同名方法通过参数类型、数量、顺序差异实现功能扩展,提升代码灵活性,核心条件为参数列表不同,不涉及返回类型、访问修饰符... 目录Java 方法重载(Overload)详解一、方法重载的核心条件二、构成方法重载的具体情况三、不构

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python中反转字符串的常见方法小结

《Python中反转字符串的常见方法小结》在Python中,字符串对象没有内置的反转方法,然而,在实际开发中,我们经常会遇到需要反转字符串的场景,比如处理回文字符串、文本加密等,因此,掌握如何在Pyt... 目录python中反转字符串的方法技术背景实现步骤1. 使用切片2. 使用 reversed() 函

MySQL 中的 CAST 函数详解及常见用法

《MySQL中的CAST函数详解及常见用法》CAST函数是MySQL中用于数据类型转换的重要函数,它允许你将一个值从一种数据类型转换为另一种数据类型,本文给大家介绍MySQL中的CAST... 目录mysql 中的 CAST 函数详解一、基本语法二、支持的数据类型三、常见用法示例1. 字符串转数字2. 数字

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

ModelMapper基本使用和常见场景示例详解

《ModelMapper基本使用和常见场景示例详解》ModelMapper是Java对象映射库,支持自动映射、自定义规则、集合转换及高级配置(如匹配策略、转换器),可集成SpringBoot,减少样板... 目录1. 添加依赖2. 基本用法示例:简单对象映射3. 自定义映射规则4. 集合映射5. 高级配置匹

深度解析Python装饰器常见用法与进阶技巧

《深度解析Python装饰器常见用法与进阶技巧》Python装饰器(Decorator)是提升代码可读性与复用性的强大工具,本文将深入解析Python装饰器的原理,常见用法,进阶技巧与最佳实践,希望可... 目录装饰器的基本原理函数装饰器的常见用法带参数的装饰器类装饰器与方法装饰器装饰器的嵌套与组合进阶技巧

Mysql常见的SQL语句格式及实用技巧

《Mysql常见的SQL语句格式及实用技巧》本文系统梳理MySQL常见SQL语句格式,涵盖数据库与表的创建、删除、修改、查询操作,以及记录增删改查和多表关联等高级查询,同时提供索引优化、事务处理、临时... 目录一、常用语法汇总二、示例1.数据库操作2.表操作3.记录操作 4.高级查询三、实用技巧一、常用语

python 常见数学公式函数使用详解(最新推荐)

《python常见数学公式函数使用详解(最新推荐)》文章介绍了Python的数学计算工具,涵盖内置函数、math/cmath标准库及numpy/scipy/sympy第三方库,支持从基础算术到复杂数... 目录python 数学公式与函数大全1. 基本数学运算1.1 算术运算1.2 分数与小数2. 数学函数

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加