MDA 常見問題解答
blueski推薦 [2005-1-25]
出處:來自網上
作者:不詳
什么是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繼續保持最大的軟件標準組織的
地位,F在有越來越多的系統使用OMG的標準部署,新的成功的故事正在不斷上演。新近的一些故事包括了贏得一個大型的航空預定系統和兩個世界上最大的跨國汽車制造廠商的系統的主要設計。OMG目前采納的正在進行的工作是OMG標準化組織的12年歷史中最多的。OMG組織的會議會吸引數百名成員和客戶的注意力。
MDA會反過來影響我已經安裝的或者計劃安裝的基于CORBA的產品嘛?
絕對不會。首先,OMG計劃至少會繼續在當前的層面上對CORBA提供支持;實時的、嵌入式的、容錯的系統和企業系統的CORBA用戶所提出的需求將會加快CORBA的標準化速度。CORBA也將會成為MDA中一個最卓越的平臺相關的模型。是完全保持現有CORBA應用程序,還是利用MDA橋接到其他平臺,這取決于商業因素,而非技術的壓力。
文章來源于領測軟件測試網 http://www.kjueaiud.com/