Posted on 2005-01-24 22:39
wxb_nudt 阅读(1078)
评论(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的人,应该是有深厚的软件工程理论背景和长期大量的工程经验的人。可惜我还不是那样的人,最近急着提高自己的工程经验恨不得白帮人做项目,只是时不我待,时不我待。