什么是MDA?它和其他架構(gòu)有什么區(qū)別?
MDA是一種新的用于編寫規(guī)范(specifications)和開發(fā)應(yīng)用程序的途徑,它基于平臺(tái)無(wú)關(guān)的模型(PIM:platform-independent model)。
一個(gè)完整的MDA規(guī)范包含:
1、一個(gè)權(quán)威的基于UML的平臺(tái)無(wú)關(guān)模型PIM;
2、一個(gè)或者多個(gè)與特定平臺(tái)相關(guān)的模型PSM;
3、接口定義集合- 每個(gè)集合描述了基礎(chǔ)模型再不同中間件平臺(tái)上的實(shí)現(xiàn)。
一個(gè)完整的MDA應(yīng)用程序包含:
1、一個(gè)權(quán)威的PIM;
2、一個(gè)或者多個(gè)PSM;
3、一個(gè)或者多個(gè)完整的實(shí)現(xiàn)- 開發(fā)人員決定支持的所有平臺(tái)上的應(yīng)用程序?qū)崿F(xiàn)。
基于MDA的開發(fā)首先關(guān)注于分布式系統(tǒng)或者應(yīng)用程序的功能和行為,而不是它將采用哪種具體的技術(shù)來(lái)實(shí)現(xiàn)。MDA使得業(yè)務(wù)邏輯和實(shí)現(xiàn)細(xì)節(jié)相分離。因此,每當(dāng)一種新的技術(shù)(例如XML/SOAP)到來(lái)的時(shí)候,我們不必再重復(fù)對(duì)系統(tǒng)或者應(yīng)用進(jìn)行建模的過(guò)程,而其他架構(gòu)往往都和某種特定的技術(shù)或者平臺(tái)捆綁在一起,無(wú)法達(dá)到這一目的。使用MDA,我們對(duì)系統(tǒng)的功能和行為的建模只需一次,而且是僅需一次。將PIM映射到某個(gè)特定平臺(tái)的PSM的工作是由工具自動(dòng)完成的,當(dāng)我們需要支持新的技術(shù)的時(shí)候,這就簡(jiǎn)化了我們的工作。
為什么OMG朝著一個(gè)新的方向發(fā)展?是什么原因驅(qū)使的?
如果你重新審視OMG的發(fā)展歷史你會(huì)發(fā)現(xiàn),其實(shí)MDA并不算是一個(gè)新的方向。1997年,OMG將其工作范圍進(jìn)行了擴(kuò)展,接納了使用UML和MOF進(jìn)行建模的工作。雖然平臺(tái)無(wú)關(guān)的UML模型可以在任何平臺(tái)上實(shí)現(xiàn),但是問題在于,隨著項(xiàng)目的進(jìn)展,UML模型和實(shí)現(xiàn)往往會(huì)出現(xiàn)脫節(jié),不能很好地同步--樹樁仍然固定在地上,但是隨時(shí)間的推移,它周圍的組織結(jié)構(gòu)已經(jīng)發(fā)生了變化。MDA將OMG組織定義良好的建模標(biāo)準(zhǔn)(不僅僅指CORBA,還包括過(guò)去的、現(xiàn)在的、將來(lái)的其他所有的中間件技術(shù))結(jié)合起來(lái),來(lái)將你已經(jīng)創(chuàng)建的、正在創(chuàng)建的,或者將要?jiǎng)?chuàng)建的應(yīng)用程序集成起來(lái)。MDA提高了設(shè)計(jì)工作的門檻,它在建模這一層次上設(shè)計(jì)輕便的、可戶操作的應(yīng)用程序。
UML在MDA中扮演什么角色?
UML是使能MDA技術(shù)的一把鑰匙:使用MDA技術(shù)創(chuàng)建的所有應(yīng)用程序都基于標(biāo)準(zhǔn)化的、平*立的UML模型。通過(guò)將這一通用的、被普遍接受的建模標(biāo)準(zhǔn)作為杠桿,MDA使得開發(fā)人員可以創(chuàng)建能被輕便地訪問、天生具有良好的互操作性的應(yīng)用程序。而且這些應(yīng)用程序能被嵌入式系統(tǒng)、桌面應(yīng)用系統(tǒng)、服務(wù)器、大型機(jī)等廣闊領(lǐng)域的應(yīng)用程序所訪問,也能夠被跨Internet訪問,具有廣闊的應(yīng)用前景。
中間件平臺(tái)在MDA中扮演什么角色?
在MDA中,一個(gè)規(guī)范的PIM被用來(lái)定義一個(gè)或者多個(gè)PSM和接口定義集合。每種定義描述了基礎(chǔ)模型在不同的中間件平臺(tái)上是如何實(shí)現(xiàn)的。由于PIM、PSMs和接口定義集合都將被作為MDA規(guī)范的一部分,OMG將采用多種中間件平臺(tái)的規(guī)范。CORBA技術(shù)具有平臺(tái)和語(yǔ)言的獨(dú)立性、經(jīng)過(guò)檢驗(yàn)的事務(wù)和安全的天性。這使得它仍然是從嵌入式系統(tǒng)到桌面系統(tǒng),再到Internet應(yīng)用的選擇。MDA的方向是使得它與其他中間件平臺(tái)更容易交互,而且更加廉價(jià)。
CORBA將何去何從?
OMG將繼續(xù)開發(fā)CORBA并推動(dòng)其發(fā)展,CORBA的市場(chǎng)將會(huì)繼續(xù)擴(kuò)展,特別是在實(shí)時(shí)嵌入式、大型的任務(wù)緊急的、高容錯(cuò)性的企業(yè)計(jì)算環(huán)境中。由于CORBA是僅有的集成多平臺(tái)的、多語(yǔ)言的應(yīng)用程序的解決方案,許多企業(yè)將會(huì)使用CORBA去創(chuàng)建和集成由MDA定義的應(yīng)用程序。OMG和它的成員一直都認(rèn)可與其他標(biāo)準(zhǔn)(例如具有所有權(quán)的平臺(tái)和語(yǔ)言)具有互操作性的價(jià)值。OMG在1995年創(chuàng)建了COM/CORBA互操作標(biāo)準(zhǔn),并在1997年對(duì)它進(jìn)行了擴(kuò)展,同時(shí)也設(shè)計(jì)和建立了CORBA和Java、XML協(xié)同工作的方式。MDA將繼續(xù)定義跨中間件的互操作工作,而且將提供工具以加速和自動(dòng)化這一過(guò)程。這將會(huì)給用戶帶來(lái)好處,因?yàn)樗麜?huì)發(fā)現(xiàn)自己的應(yīng)用程序可以支持多種中間件平臺(tái)。
MDA如何使得跨平臺(tái)的互操作性成為可能?
每當(dāng)一個(gè)新的MDA規(guī)范或者應(yīng)用程序被創(chuàng)建,和其他規(guī)范以及服務(wù)的互操作性已經(jīng)包含在設(shè)計(jì)當(dāng)中。在MDA中,每個(gè)服務(wù)、工具和應(yīng)用程序的的基本描述都是一個(gè)平臺(tái)無(wú)關(guān)的模型。在平臺(tái)無(wú)關(guān)的模型環(huán)境中,架構(gòu)師可以指定應(yīng)用程序到需要的服務(wù)、工具以及其他應(yīng)用程序之間的連接,并且將其作為模型的一部分。根據(jù)這些模型,MDA工具自動(dòng)生成用于連接不同中間平臺(tái)的程序?qū)崿F(xiàn)。
MDA是一種新的用于編寫規(guī)范(specifications)和開發(fā)應(yīng)用程序的途徑,它基于平臺(tái)無(wú)關(guān)的模型(PIM:platform-independent model)。
一個(gè)完整的MDA規(guī)范包含:
1、一個(gè)權(quán)威的基于UML的平臺(tái)無(wú)關(guān)模型PIM;
2、一個(gè)或者多個(gè)與特定平臺(tái)相關(guān)的模型PSM;
3、接口定義集合- 每個(gè)集合描述了基礎(chǔ)模型再不同中間件平臺(tái)上的實(shí)現(xiàn)。
一個(gè)完整的MDA應(yīng)用程序包含:
1、一個(gè)權(quán)威的PIM;
2、一個(gè)或者多個(gè)PSM;
3、一個(gè)或者多個(gè)完整的實(shí)現(xiàn)- 開發(fā)人員決定支持的所有平臺(tái)上的應(yīng)用程序?qū)崿F(xiàn)。
基于MDA的開發(fā)首先關(guān)注于分布式系統(tǒng)或者應(yīng)用程序的功能和行為,而不是它將采用哪種具體的技術(shù)來(lái)實(shí)現(xiàn)。MDA使得業(yè)務(wù)邏輯和實(shí)現(xiàn)細(xì)節(jié)相分離。因此,每當(dāng)一種新的技術(shù)(例如XML/SOAP)到來(lái)的時(shí)候,我們不必再重復(fù)對(duì)系統(tǒng)或者應(yīng)用進(jìn)行建模的過(guò)程,而其他架構(gòu)往往都和某種特定的技術(shù)或者平臺(tái)捆綁在一起,無(wú)法達(dá)到這一目的。使用MDA,我們對(duì)系統(tǒng)的功能和行為的建模只需一次,而且是僅需一次。將PIM映射到某個(gè)特定平臺(tái)的PSM的工作是由工具自動(dòng)完成的,當(dāng)我們需要支持新的技術(shù)的時(shí)候,這就簡(jiǎn)化了我們的工作。
為什么OMG朝著一個(gè)新的方向發(fā)展?是什么原因驅(qū)使的?
如果你重新審視OMG的發(fā)展歷史你會(huì)發(fā)現(xiàn),其實(shí)MDA并不算是一個(gè)新的方向。1997年,OMG將其工作范圍進(jìn)行了擴(kuò)展,接納了使用UML和MOF進(jìn)行建模的工作。雖然平臺(tái)無(wú)關(guān)的UML模型可以在任何平臺(tái)上實(shí)現(xiàn),但是問題在于,隨著項(xiàng)目的進(jìn)展,UML模型和實(shí)現(xiàn)往往會(huì)出現(xiàn)脫節(jié),不能很好地同步--樹樁仍然固定在地上,但是隨時(shí)間的推移,它周圍的組織結(jié)構(gòu)已經(jīng)發(fā)生了變化。MDA將OMG組織定義良好的建模標(biāo)準(zhǔn)(不僅僅指CORBA,還包括過(guò)去的、現(xiàn)在的、將來(lái)的其他所有的中間件技術(shù))結(jié)合起來(lái),來(lái)將你已經(jīng)創(chuàng)建的、正在創(chuàng)建的,或者將要?jiǎng)?chuàng)建的應(yīng)用程序集成起來(lái)。MDA提高了設(shè)計(jì)工作的門檻,它在建模這一層次上設(shè)計(jì)輕便的、可戶操作的應(yīng)用程序。
UML在MDA中扮演什么角色?
UML是使能MDA技術(shù)的一把鑰匙:使用MDA技術(shù)創(chuàng)建的所有應(yīng)用程序都基于標(biāo)準(zhǔn)化的、平*立的UML模型。通過(guò)將這一通用的、被普遍接受的建模標(biāo)準(zhǔn)作為杠桿,MDA使得開發(fā)人員可以創(chuàng)建能被輕便地訪問、天生具有良好的互操作性的應(yīng)用程序。而且這些應(yīng)用程序能被嵌入式系統(tǒng)、桌面應(yīng)用系統(tǒng)、服務(wù)器、大型機(jī)等廣闊領(lǐng)域的應(yīng)用程序所訪問,也能夠被跨Internet訪問,具有廣闊的應(yīng)用前景。
中間件平臺(tái)在MDA中扮演什么角色?
在MDA中,一個(gè)規(guī)范的PIM被用來(lái)定義一個(gè)或者多個(gè)PSM和接口定義集合。每種定義描述了基礎(chǔ)模型在不同的中間件平臺(tái)上是如何實(shí)現(xiàn)的。由于PIM、PSMs和接口定義集合都將被作為MDA規(guī)范的一部分,OMG將采用多種中間件平臺(tái)的規(guī)范。CORBA技術(shù)具有平臺(tái)和語(yǔ)言的獨(dú)立性、經(jīng)過(guò)檢驗(yàn)的事務(wù)和安全的天性。這使得它仍然是從嵌入式系統(tǒng)到桌面系統(tǒng),再到Internet應(yīng)用的選擇。MDA的方向是使得它與其他中間件平臺(tái)更容易交互,而且更加廉價(jià)。
CORBA將何去何從?
OMG將繼續(xù)開發(fā)CORBA并推動(dòng)其發(fā)展,CORBA的市場(chǎng)將會(huì)繼續(xù)擴(kuò)展,特別是在實(shí)時(shí)嵌入式、大型的任務(wù)緊急的、高容錯(cuò)性的企業(yè)計(jì)算環(huán)境中。由于CORBA是僅有的集成多平臺(tái)的、多語(yǔ)言的應(yīng)用程序的解決方案,許多企業(yè)將會(huì)使用CORBA去創(chuàng)建和集成由MDA定義的應(yīng)用程序。OMG和它的成員一直都認(rèn)可與其他標(biāo)準(zhǔn)(例如具有所有權(quán)的平臺(tái)和語(yǔ)言)具有互操作性的價(jià)值。OMG在1995年創(chuàng)建了COM/CORBA互操作標(biāo)準(zhǔn),并在1997年對(duì)它進(jìn)行了擴(kuò)展,同時(shí)也設(shè)計(jì)和建立了CORBA和Java、XML協(xié)同工作的方式。MDA將繼續(xù)定義跨中間件的互操作工作,而且將提供工具以加速和自動(dòng)化這一過(guò)程。這將會(huì)給用戶帶來(lái)好處,因?yàn)樗麜?huì)發(fā)現(xiàn)自己的應(yīng)用程序可以支持多種中間件平臺(tái)。
MDA如何使得跨平臺(tái)的互操作性成為可能?
每當(dāng)一個(gè)新的MDA規(guī)范或者應(yīng)用程序被創(chuàng)建,和其他規(guī)范以及服務(wù)的互操作性已經(jīng)包含在設(shè)計(jì)當(dāng)中。在MDA中,每個(gè)服務(wù)、工具和應(yīng)用程序的的基本描述都是一個(gè)平臺(tái)無(wú)關(guān)的模型。在平臺(tái)無(wú)關(guān)的模型環(huán)境中,架構(gòu)師可以指定應(yīng)用程序到需要的服務(wù)、工具以及其他應(yīng)用程序之間的連接,并且將其作為模型的一部分。根據(jù)這些模型,MDA工具自動(dòng)生成用于連接不同中間平臺(tái)的程序?qū)崿F(xiàn)。

