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工具自動生成用于連接不同中間平臺的程序實現。
延伸閱讀
文章來源于領測軟件測試網 http://www.k11sc111.com/