MDA及其同其他構(gòu)架的區(qū)別

字號:

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