MDA及其同其他構架的區別
MDA是一種新的用於編寫規範(specifications)和開發應用程式的途徑,它基於平臺無關的模型(PIM:platform-independent model)。
一個完整的MDA規範包含:
1、一個權威的基於UML的平臺無關模型PIM;
2、一個或者多個與特定平臺相關的模型PSM;
3、介面定義集合- 每個集合描述了基礎模型再不同中介軟體平臺上的實現。
一個完整的MDA應用程式包含:
1、一個權威的PIM;
2、一個或者多個PSM;
3、一個或者多個完整的實現- 開發人員決定支援的所有平臺上的應用程式實現。
基於MDA的開發首先關注於
為什麼OMG朝著一個新的方向發展?是什麼原因驅使的?
如果你重新審視OMG的發展歷史你會發現,其實MDA並不算是一個新的方向。1997年,OMG將其工作範圍進行了擴充套件,接納了使用UML和MOF進行建模的工作。雖然
UML在MDA中扮演什麼角色?
UML是使能MDA技術的一把鑰匙:使用MDA技術建立的所有應用程式都基於標準化的、平臺獨立的UML模型。通過將這一通用的、被普遍接受的建模
中介軟體平臺在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和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繼續保持最大的軟體標準組織的地位。現在有越來越多的系統使用OMG的標準部署,新的成功的故事正在不斷上演。新近的一些故事包括了贏得一個大型的航空預定系統和兩個世界上最大的跨國汽車製造廠商的系統的主要設計。OMG目前採納的正在進行的工作是OMG標準化組織的12年曆史中最多的。OMG組織的會議會吸引數百名成員和客戶的注意力。
MDA會反過來影響我已經安裝的或者計劃安裝的基於CORBA的產品嘛?
絕對不會。首先,OMG計劃至少會繼續在當前的層面上對CORBA提供支援;實時的、嵌入式的、容錯的系統和企業系統的CORBA使用者所提出的需求將會加快CORBA的標準化速度。CORBA也將會成為MDA中一個最卓越的平臺相關的模型。是完全保持現有CORBA應用程式,還是利用MDA橋接到其他平臺,這取決於商業因素,而非技術的壓力。