请大家对软件开发的MDA发表点意见
研究MDA已一段时间。哪些朋友对此有研究的请和我联系,可以一起探讨。同时欢迎任何对MDA的负面意见。;);)$欢迎$[ Last edited by 米果粑 on 2005-6-11 at 05:16 ] 楼主说说MDA是什么?科普一下? http://www.omg.org/mda/ mda是个很有趣的东西,但是从模型转化成语言还有很长的路要走。不知道楼主是不是也是用JAVA做引导的? Originally posted by corba at 2005-6-11 14:55
mda是个很有趣的东西,但是从模型转化成语言还有很长的路要走。不知道楼主是不是也是用JAVA做引导的?
对,我是以java为基础。因为java天生和uml model合拍。而且我主要是在看eclipse的GMT。你说的没有错,MDA的路是很长还,但在software engineering中mda的魅力已经初见端倪。例如,androMDA。只要有model的XMI,c++,java很多语言都可以转。效率不只是成倍的提升。另一方面,AOP越来越成为编成的下个理念,MDA对此也极有助益。
我在找朋友合作做中文的mda网站但是没有多少人响应。苦恼。不要到时候,西方有了一定的突破,又跑到中国来招摇撞骗的时候,大家又跟风去了,但始终在啃别人的骨头。
:( 原来是 OMG的Model Driven Architecture.建议楼主去www.umlchina.com 看看, 是否能找到志同道合者。 Originally posted by xiaobailong at 2005-6-11 17:10
原来是 OMG的Model Driven Architecture.建议楼主去www.umlchina.com 看看, 是否能找到志同道合者。
谢谢你的连接。不过里面讲的多是pattern.uml profile对SOA,EAI等方面还是少。我看得MDA方向主要讲得多的是MOF,QVT,OCL,ATL。工具和平台还在开发研究中。中国的网站很务实,不实用的不多讲。
[ Last edited by 米果粑 on 2005-6-11 at 17:38 ] 那么楼主在这里开一个讲台吧,我们大家伙做听众,还可以开一个blog, 把讲的内容和网友们提的问题整理出来发表在blog上,等有足够多内容的时候再建独立的网站也来得及。
还可以和java,特别是j2ee结合起来讲(做例子?), 我最近正好对java也比较有兴趣。
$支持$$支持$$支持$$瞧瞧$$瞧瞧$$瞧瞧$
[ Last edited by xiaobailong on 2005-6-11 at 17:51 ] Originally posted by xiaobailong at 2005-6-11 17:45
那么楼主在这里开一个讲台吧,我们大家伙做听众,还可以开一个blog, 把讲的内容和网友们提的问题整理出来发表在blog上,等有足够多内容的时候再建独立的网站也来得及。
还可以和java,特别是j2ee结合起来讲( ...
说实话,我开讲台也不够格。我只想找几个朋友一起研究一下,看能做些什么。如果大家对这个有兴趣,我会很开心一起交流一下心得。其实我也在做MDA在J2EE上的课题。特别是uml profile在ejb3上可能的应用趋势。开网站,以我个人水平和能力,还有精力都不够。所以我想和人合作。最好的打算是,能和志同道合的朋友作些什么东西来。如果大家有什么想法和问题,可以在这里讨论。 其实无所谓,随便发表一点心得体会,只要引起大家的兴趣,每个人说一点,七嘴八舌,说不定能得到很好的主意呢。 反正现在这个领域也没有规定好的套路,大家自由发挥,有可能会得到比较好的效果呢。
要不,楼主先给澄清一下pattern, model,和framework之间的区别?
:-) Originally posted by xiaobailong at 2005-6-11 18:14
其实无所谓,随便发表一点心得体会,只要引起大家的兴趣,每个人说一点,七嘴八舌,说不定能得到很好的主意呢。 反正现在这个领域也没有规定好的套路,大家自由发挥,有可能会得到比较好的效果呢。
要不,楼主 ...
嘿嘿i,好啊,我学识浅薄,先抛砖引玉。不对之处请指正。
pattern只不过是一些经验累积出的uml编成模式,每个模式解决特定的逻辑问题。最早最有名的就是四人帮的pattern了,后来又出了很多很多pattern,让编程方便,向together后来提供的功能一样,在画uml的时候,就直接套pattern了。
model,这个概念很模糊,譬如用uml画出的图,都算模型。但是um本身只是原形模式把。omg定了一套规约来制定模型的模型,就是所谓的meta model。这是另外回事了。
framwork,框架平台,支持某种开发的目的。譬如spring,支持IOC,aop的编程目的。现在七七八八各式各样的framwork都有,每个都有自己一套编程规范。 也就是说pattern比较小, 几个十几个 class的样子吧,解决特定的逻辑问题。一般是局部性的。也就是说一个设计里面可以包含好多好多个patterns.
framework比较大,有一整套的东东, 开发的时候可以把整个的思路往里面套。所以一般一个软件项目之用一个。(对不对?)例如j2ee, .net这些都算framework, 对吗?
model本身概念包含的范围比较广, 原本pattern和framework都应该可以算在model里面的,但是就像你说的一样,OMG制订了一套规范出来,把model的规则具体化了。
这样理解对不对? 其实UML引导EJB代码不算什么新技术了,Freiburg的一家软件公司开发相应的产品两三年了,已经有相当成熟的Produkt,因为EJB本身也是有特定规范,很容易用MDA实现。
楼上的理解有问题,Pattern是理论里的东西,跟class无关,是解决某类逻辑问题的特定设计模式,具体用多少class实现,随心所欲。而Framework主要是用来定义软件结构和控制模型的,也不存在思路的问题,只是简化了设计,提高了软件结构的复用性。 corba说得对。
但是我说的是,EJB3还没有最后出台的那个。而且不只是uml引导,完全要可执行化的uml 好吧,那么谁再给讲讲EJB的现状, EJB3是怎么回事? Originally posted by xiaobailong at 2005-6-12 13:57
好吧,那么谁再给讲讲EJB的现状, EJB3是怎么回事?
你要泛泛的了解ejb,看有个叫罗德强生的人在2002和去年出版两本很出名的书,expert ono to one系列。尤其后一本,他把EJB2骂得体无完肤。简直是无可救药了。其中,骂得最多的是,繁琐的ejb编程规范,remot,home interface拉,DD拉等,他主张POJO的编程风格,把让人头大的复杂的EJB写成简单的Bean,即所谓的venilla bean.另一个他抨击ejb2的方面是它的资源分布。ejb通过JNDI来定位资源,而且这种定位都写在代码里,ejb所说的复用性移植性都是在吹牛。他在书里大肆鼓吹DJ,也就是现在的IOC风格的资源配置,同时发展java自省的理念,站出来支持AOP,由此开始他着手领导spring framwork准备和ejb工业界抗衡。他之所以这么大胆还有个原因,轻量级的ORM象hibernate,jdo等开始流行起来。CMP和他们相比起来简直是堆烂屎,他的spring象个浆糊,可以把这么些open source的东西都撵在一起,变成了个稀奇古怪但很有效率的 container.用他自己的话来说是轻量级container.这么一来大伙都开始反对ejb2了,虽然ejb2已经是工业化的东西,但想想真有点鸡肋。制定ejb的专家开始不服气了。在去年的java one大会上,借机jdk1.5的新功能所幸也推出了个新的ejb3制定方案。这个ejb3说实在也就是强生的pojo概念。同时邀请了各路open source的英雄好汉包括jboss,hibernate等的专家们一起制定这个ejb3。ejb3要重建威信,一个是改进所有的强生提出的不足,同时大力应用java tiger的annotation,这个东东,不只想xdolect那样的实现面向属性的编程。它把java的编程能力一气拉到c++同一个水平去了,可见其决心。你要玩ejb,现在不要去碰ejb2了,你可以去jboss那里当个ejb3 container下来玩玩,ejb3虽然还没有成型,jboss的东西方向不会错了。
如果你要我所提的两本书,短信我,我又电子版可以给你。
希望我所知道的对你有所帮助,不足之处,请各位兄弟补充和纠正 说起Java One, 今年的JavaOne 马上又要召开了。 而且今年九月在北京有一个JavaOne的中国版,JavaChina.
Originally posted by 米果粑 at 2005-6-12 15:23
它把java的编程能力一气拉到c++同一个水平去了,
这句话怎么解释?
还有,我其实没用过EJB,一下子看这么高深的书恐怕不行。 另外,JBoss 是open source的吗?
[ Last edited by xiaobailong on 2005-6-12 at 16:18 ] c++还是老道,java开始也模仿它来的,不能同日而语,你会发现,java tiger里的很多新玩样象模版之类的几乎和c++一个样了。
如果你没有用过ejb,可以到java.sun那里当个j2ee的文档,你跳过xml和一些东西直接看ejb那块,session bean,bmp,cmp,mdbean。很详细,但是可能是2.0的。
jboss是open source
www.jboss.org 刚才google了一下spring framework 和java application framework, 才意识到原来framework是有程序和源代码的,并不仅仅是设计框架。 faint。
:-) Originally posted by xiaobailong at 2005-6-12 16:27
刚才google了一下spring framework 和java application framework, 才意识到原来framework是有程序和源代码的,并不仅仅是设计框架。 faint。
:-)
framework也是java作起来的东西。也就是说你要用framework必须先看明白怎么在里面用framework的功能,和一些规范。 刚才在jboss 网站看到Jboss application server介绍中有这么一句话:
Clustering. JBoss offers full clustering of any Java object (EJB, HTTP, POJO)
哈哈, 这个其实是我最感兴趣的部分: Java & clustering Originally posted by xiaobailong at 2005-6-12 17:03
刚才在jboss 网站看到Jboss application server介绍中有这么一句话:
Clustering. JBoss offers full clustering of any Java object (EJB, HTTP, POJO)
哈哈, 这个其实是我最感兴趣的部分: Java & clus ...
哦?你感兴趣clustering?transaction 还是类grid computing?
jboss的cluster其实也是用一个open source的cluster方案,jakata的jgroup.还有很多cluster方案,但是你注意这个指EJB cluster。EJB cluster也是这些heavy container如webspear,weblogic,jboss等能击败轻型container的地方。ejb2.0的远程交互能力,现在还没有东西能取代。 这么说现在还没有什么成熟的轻型container的application server?现有的那些都是heavy container了?
对于java clustering 我还没有什么认识, 只是刚刚开始感兴趣.
[ Last edited by xiaobailong on 2005-6-14 at 15:05 ] 应该这么说,我所知道的,如果网站小没有什么cluster涉及的话,轻型的container适合,不管是开发,还是维护,如果网站庞大,数据库又分布,还是应该选择重型的container. 现在所有的ejb2.0container都是重型的。轻型的就像你说的还在完善中,像spring的的安全机制,远程交互机制,现在都有,但是未必稳定和完全。
厉害,我对grid computing知之甚少,那是复杂的庞大的概念,要丰富的分布式理论。 其实我也知道的不多.只是现在工作中用到sun cluster.所以开始对j2ee clustering感兴趣. 具体内容还不太清楚呢. Originally posted by xiaobailong at 2005-6-12 17:49
其实我也知道的不多.只是现在工作中用到sun cluster.所以开始对j2ee clustering感兴趣. 具体内容还不太清楚呢.
啥工作呢:lol::lol: Originally posted by leotao at 2005-6-13 05:05
啥工作呢:lol::lol:
嗯,是一个需要用到Solaris, Sun Cluster, 以及Java 和 Linux的工作。
其实是个大杂烩 :P$瞧瞧$ 刚才在网上看到有人对 spring提出批评,楼主看了不要伤心,有批评才会有进步:
“Spring宣称它自己侵入性很少,所以,用反义词来说:就是它什么都不做,或者说,它没有什么东西,只有Ioc/AOP模式。”
http://www.jdon.com/jive/thread.jsp?forum=121&thread=18249
:-) Originally posted by xiaobailong at 2005-6-14 15:08
刚才在网上看到有人对 spring提出批评,楼主看了不要伤心,有批评才会有进步:
“Spring宣称它自己侵入性很少,所以,用反义词来说:就是它什么都不做,或者说,它没有什么东西,只有Ioc/AOP模式。”
给的连接好像就是讲spring的集从问题。就像我在上面说过的,碰到集从的,分布数据的轻型的绝对不够的。J道是国内很有名的论坛,自己也做application server好坏我不知道,因为很少去,太慢了。:(
“Spring宣称它自己侵入性很少,所以,用反义词来说:就是它什么都不做,或者说,它没有什么东西,只有Ioc/AOP模式。”这话其实也不是在贬sping,这样说spirng是很客观的,我好像在贴里也说过,spring其实只是提供一个ico,aop的编程可能,就像个浆糊,东粘粘西粘粘的,粘来的东西都不是他自己的。再说像spring这样的东西也不只一个,avalon什么的还有呢。所以我也不是sping的什么扇子,对app server也是看看而已,不是我的方向。说他们好说他们不好我才不伤心呢.嘿嘿。 也不是很了解,正巧我们学校有这方面的项目。
给大家推荐几个Link和Literatur吧。
http://www.codegeneration.net
http://www.omg.org/mda
http://www.openarchitectureware.org
http://www.templatec.net/scripter
Jack Herrington: Code Generation in Action
Krysztof Czarnecki, Ulrich W. Eisenecker: Generative Programming
Craig J. Cleaveland: Program Generators with XML & Java
Thomas Stahl, Markus V¨olter: Modellgetriebene Softwareentwicklung
页:
[1]