Posted on 2005-01-24 22:39
wxb_nudt 閱讀(1085)
評論(3) 編輯 收藏 所屬分類:
技術雜談
其實我最初的目的只是研究一下MDA,看看能否找個一個技術的縫隙可以讓我畢業而已。可是,我遭遇了那么多躲不開的技術,不過它們最終也躲不開MDA。
MDA之路始于和師兄的一次談話,在Corba、Component和MDA之中我要選一條路走。由于Corba和Component都是那么成熟的技術,所以MDA稚嫩的面孔讓我覺得還是大有可為的。
最初的資料當然來自于OMG網站上的那篇著名的MDA GUIDE,現在覺得,看了其實和沒看一樣,不過當時還是頗為興奮的,PIM和PSM這些新名詞的出現讓我覺得似乎那條縫隙就展現在我面前,兩年之后我才發現其實我當時連門在哪兒都沒有找到。
倉促上路的我徘徊在OMG的縮寫語洪水之中,有些我曾經見過,有些則完全是新的面孔。MDA之下是由MOF,UML,XMI,CWM等等技術支撐的,每一個標準都有了若干個版本了,每個版本的規范可以把最有耐心的學生看得發瘋,更別說我的母語還不是英語。至今為止,我也只看過UML和XMI的規范,UML還沒有完全看完。不過很快我就知道死看規范的話等于自殺,馬上琢磨著去體驗一下MDA的工具,接著就體驗了ArcStyler,不過對于一個不懂Web Application,不懂J2EE和不懂XML的人來說,很快就難有寸進了。只好從底子打起了。
UML的底子還算不錯,畢竟Java還是用了好久的,寫了幾個從Rose到java的例子,翻來覆去的從模型到代碼,從代碼到模型也有點體會了,可是沒有做過大型工程的人還是很難體會的UML真正的好處的。XMI我開始死活琢磨不懂這個東西到底用來干什么的,因為對XML就不熟,更別提DTD和XML Schema了,學習XML系列技術又花去了幾個月的時間,從XML->DTD->XML Schema->XSLT->DOM/SAX,還拋棄了和MDA關系不大的XPath,XLink和XQuery等技術。XML的工具一直使用的是XMLSPY,真的很好用,其實XML真是一門簡潔有用的技術,學起來用起來一點也不難。現在再來看XMI,覺得終于有所領悟了。
在學習XML的期間接觸了Eclipse,從此放棄了JBuilder,因為MDA的幾大技術都能在Eclipse上得到很好的支持,因此從頭開始學用Eclipse。它的總體架構,它的插件體系結構,插件的開發等等。在建模領域,它有Omondo可以代替Rose,在代碼生成方面,有EMF,它比Rose的生成能力更強,在代碼開發環境方面,有集成的JDT環境,這只是我當時接觸到的幾個少數的Eclipse插件,當然還有后話了。
技術永遠都是無限的,而精力是有限的,SWT這個很好的java界面庫我就只能匆匆一覽,做完一個例子后就沒有怎么碰了。MDA不僅僅是從模型到代碼就完了,沒有網絡功能,沒有數據庫那簡直就不是二十一世紀的程序。研究MDA,Web和數據庫你必須至少選一樣,不過往往是同時都要選。既然已經跟隨了J2EE,Servlet/JSP也就隨之而來。隨之而來的不僅僅是這些理論啊,Web容器也是技術,也要花時間啊,幸好Tomcat在Eclipse上也有相關插件。有了Web容器似乎一定要搭上一個J2EE容器JBoss,隨之而來的就是javabean和EJB,當然還有Eclipse上的開發插件Lomboz。
MDA是一個自頂向下的技術,高屋建瓴,順流而下,應該是一個讓人心曠神怡的旅程。可惜,我不得不說這個技術的門檻太高,不是屬于我們這種還沒有出茅廬的人做的。研究MDA的人,應該是有深厚的軟件工程理論背景和長期大量的工程經驗的人。可惜我還不是那樣的人,最近急著提高自己的工程經驗恨不得白幫人做項目,只是時不我待,時不我待。