atitit.提升開發效率---mda 軟體開發方式的革命--(2)

來源:互聯網
上載者:User

標籤:style   blog   http   java   使用   檔案   

 

atitit.提升開發效率---mda 軟體開發方式的革命--(2) 

 

1. 一個完整的MDA規範包含: 1

2. 一個完整的MDA應用程式套件組合含: 1

3. MDA能夠帶來的最大的三個好處是什嗎? 2

4. 三大MDA工具 2

5. 代碼補充 3

6. Mda的問題 3

7. EMF與MDA 4

8. MDA跟代碼自動產生的區別 4

9. openMDX-開源MDA平台 5

10. openMDX 的開發過程 5

11. MDA的兩種實現 5

12. 參考 6

 

1.  一個完整的MDA規範包含:

  1、一個權威的基於UML的平台無關模型PIM;
  2、一個或者多個與特定平台相關的模型PSM;
  3、介面定義集合- 每個集合描述了基本模型再不同中介軟體平台上的實現。

2.   一個完整的MDA應用程式套件組合含:

  1、一個權威的PIM;
  2、一個或者多個PSM;
  3、一個或者多個完整的實現- 開發人員決定支援的所有平台上的應用程式實現。

將PIM映射到某個特定平台的PSM的工作是由工具自動完成的,當我們需要支援新的技術的時候,這就簡化了我們的工作。

 

作者:: 老哇的爪子 Attilax 艾龍,  EMAIL:[email protected]

轉載請註明來源: http://blog.csdn.net/attilax

 

 

 

3. MDA能夠帶來的最大的三個好處是什嗎?

  使用MDA方式能夠帶來很多的好處,最重要的三個是:基於MDA的架構總是能夠隨時應付昨天的、今天的和未來的下一 個主流技術。MDA將會使得應用程式和工具能夠跨越中介軟體的邊界,從而變得更容易整合。OMG Domain Task Forces小組負責在MDA中定義領域相關的工具,它將會提供更廣闊的互通性。因為這些工具將會在特定領域的首選平台上可以使用,而且如果需要,也可 以在多種平台上被使用。

4. 三大MDA工具

 

   ArcStyler簡介

 

ArcStyler是德國Interactive Objects Software GmbH公司開發的MDA開發軟體,它遵循OMG的MDA 規範,純JAVA 開發,跨平台。是當前最流行的三大MDA工具之一,支援J2EE和.NET平台,支援橋接器的動態載入。

 

4.3        建立PIM模型

 

如同使用一些通用的UML工具一樣,可以在UML工具區建立系統的PIM模型,包括以下工作:

?         建立一個名為iBank的包;

?         在iBank包中建立一個名為iBankDiagram的類圖;

?         在iBankDiagram圖中建立Account,Bank,Transfer三個組件;

?         為上面三個組件添加相應的方法和屬性;

完成之後得到的模型如:

建立PSM模型

 

其實在ArcStyler中並沒有區分PIM和PSM,因為ArcStyler並沒有提供從PIM到PSM的自動轉換工具,它是選擇了通過標註的方式來體現PSM的思想。

為了清晰起見,筆者將建模環節區分為建立PIM和建立PSM兩個部分,那麼建立PSM其實只是給上面的PIM作出一些技術相關的標註,包括以下內容:

?         將Bank和Account組件標註為Entity Bean;

?         將Bank和Account組件的永久儲存管理員模式標註為容器管理;

?         將Transfer組件標註為Session Bean;

5. 代碼補充

 

代碼產生之後,我們需要進行代碼的補充工作,這是使用ArcStyler的唯一的代碼工作,補充的代碼主要是Bean方法實現以及測試類別中的方法,需要進行代碼補充的原始碼檔案如下:

?         AccountBean.java

?         TransferBean.java

?         BankBean.java

?         iBankTestClient.java

補充的內容參看說明文檔Tutorial.pdf第47頁Component Code Customization這一節。

ArcStyler可以自動產生Jbuilder工程,當我們進行代碼的補充工作的時候,可以直接開啟產生的JBuilder工程,其中包含所有產生的原始碼,也可以直接使用其他代碼編輯工具修改。注意:代碼的添加和修改都在安全區中,進行反覆的代碼產生工作並不會被覆蓋。

6. Mda的問題

由於目前流行的建模語言(例如UML)在語義方面的功能還很弱,所以目前的MDA工具幾乎只支援結構型的系統,但是我相信隨著建模語言的進一步強化,MDA技術會越來越豐富,工具也將越來越好。

 

 

7.  EMF與MDA

EMF這個名字,EMF是Eclipse Modeling Framework的縮寫,它是Eclipse的一個重要的子項目,如果翻譯成中文就是“Eclipse建模架構”。其實只從這個名字還真是難以確定它的作用是什麼,我認為要完全掌握EMF應該對模型驅動開發(MDA)有一定的瞭解,而EMF可以看作是Eclipse上的MDA一個實現(代碼產生是MDA 的重要組成部分之一),它能夠產生在Eclipse上執行的代碼。

MDA講究的是把模型和應用系統實現分開,模型是最重要的部分,可以說有了清楚的模型,就完成了一半的工作

用EMF構造一個應用的步驟很簡單:1、構造模型,2、產生代碼,前者可以通過UML類圖、Java介面、 XML Schema等多種方式定義,後者可以選擇只產生模型部分的代碼,也可以同時產生編輯器部分的代碼,對這個編輯器做一些定製就可以得到符合需求的應用程式。

 

 

8.  MDA跟代碼自動產生的區別

1) MDA不是代碼自動產生的規範,相反它的目標是盡量減少自動產生的程式碼。

2) MDA不是代替RUP,XP等軟體工程的傳統開發過程,而是對這些開發過程一個有益的補充,特別是直接將分析設計階段所產生的模型應用於編寫程式,並最終影響部署後的系統行為方式。

3) 你所說的這種MDA實現還沒有達到開發企業級應用的階段,換句話說,根本不實際。其實,現在不僅僅有商業化的實現,也有很優秀的開源MDA平台,例如,openMDX

 

9. openMDX-開源MDA平台

 

 

基於openMDX的應用可以很輕鬆的移植到多個不同平台,採用了MOF,JMI,XRI,XML等標準和協議,不用過多考慮會被綁定於某一平台。

快速開發、部署和彈性配置

建立了成熟模型之後,開發測試的工作量降低到了難以想象的地步,舉例來說,openCRX總共兩百天的開發過程中,建模佔了100天,介面設計定製用了70天,10天用於實現,20天用於測試部署。

極強的系統互通性

openMDX平台上發布的功能模組,對於資料的匯入匯出都是基於Schema-XML,而且可以方便的發布為Webservice,跟其他異種系統的互動達到了輕鬆自如的地步。

 

缺點

penMDX也沒有提供一個IDE來支援整個開發測試和配置應用。

10. openMDX 的開發過程

不象大多數商業工具,openMDX 沒有實現PIM到PSM映射的方法。 而是提供了一個普通的,分布式的對象引擎(作為PIM 平台)。商業邏輯(模型的匯出屬性和方法)是作為外掛程式添加進去的

 

自動產生代碼和手工編寫的代碼是分放在兩個不同的目錄中,而對於匯出屬性和操作則是通過delegate(委託)的方式去執行手工編寫代碼的

 

11.  MDA的兩種實現

I)使用模型驅動應用開發過程;II)直接利用模型驅動運行時應用系統的行為方式。前一種實現,大部分支援從UML模型轉換的代碼產生工具都可以歸入此類,例如AndroMDA,而後一種實現就比較少,例如openMDX。

這兩種方式沒有優劣之分,只是取決於你的應用目的而有不同的側重。

 

12. 參考

ArcStyler實戰-網上銀行系統 - MDA之路 - BlogJava.htm

eclipse EMF介紹系列(EMF與MDA) - Linyda工作室 - 愛好者博墅 《電腦愛好者》雜誌官方網站 - 電腦世界旗下網站! - powered by X-Space.txt

openMDX-開源MDA平台(1).htm

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.