jBoss系统框架的一次探讨(orbat和lava的一次交流,Allen 整理) 你好,我是 huihoo 的 orbat,看到你在 huihoo 的帖子,很高兴认识你。 huihoo 的 hEJB 很需要向你这样有实际经验的朋友,如果你有时间,有热情,我们可以一起好好探讨,非常乐意向你学习。 如果你有什么经验或者文档,也很希望你能够与大家分享 orbat >From: "lava" >To: "杨 泳" >Subject: 答复: 探讨 JBoss >Date: Wed, 8 May 2002 16:06:22 +0800 > >orbat: >你好,我对JBoss的兴趣主要集中在它的实现上,对于JBoss上的J2EE开发,只是做了几个小例子。平时的工作主要还是用weblogic。 >JBoss的核心结构完全依赖于JMX,我当初看它的源码就是为了学习JMX.。接着随着性子阅读了JBoss的JNDI,EJB,configuration等模块,尤其是对于JBoss的container的设计,费了很大的力气,由于周围也没有朋友切磋,所以真是事倍功半。 >不过,我觉得如果我们自己来写Container的话,对于JBOss应该只是参考,JBoss的dynamic proxy结构的container有一些致命的弱点,比如只支持java客户端,效率要低于预编译结构的container,下面是一篇我翻译整理的关于JBoss性能的文章,本来贴在javaunion,不过好像这个网站上不去了 >祝你工作顺利,常联系,希望我们大家可以一起切磋,共同进步 ! >致 >>礼 > lava(李博) > 2002-5-8 你好,我对 JBoss 研究还只是刚刚起步,没有涉及到深入的实现问题。看了你的描述,有几个问题想要请教: 1、 JMX 只是一个 java 的管理规范,我并没有太多的研究,你可以详细说说 JBoss是怎么应用 JMX 的吗? 2、JBoss 的dynamic proxy 结构能说得具体点吗?为什么该结构只支持 java 客户端 谢谢! >From: "libo" >To: "杨 泳" >Subject: 答复: 答复: 探讨 JBoss >Date: Wed, 8 May 2002 16:47:47 +0800 > >你好! >JMX相当于JBoss的微内核,所有的服务,比如JNDI,JMS等等,都是作为一个MBean(Managed Bean)注册到JMX的 MBean Server上,对于服务的启动,关闭,重启都通过MBean Server调用的。在JBoss的在线文档上也有描述,见http://www.jboss.org/jboss-overview.jsp >关于JMX的一个简单描述,我曾在javaunion上贴过一篇文章,是讲述weblogic上的JMX应用,主要目的是想找人一起研究,不过几乎没有人回应,让我很郁闷,毕竟我还要谋生,没有太多的时间来解决所有问题,很希望有人一起来研究。我把这篇文章发给你,很粗糙,见笑了 >我觉得JMX是一个很好的管理平台,很适合作为应用服务器这类程序的管理器,或者JBoss的说法是微内核。sun的用意在于对于所有的管理程序的编写,有一个统一的规范,这就减少了不同应用服务器之间管理,移植的困难。比如现在,weblogic和JBOss都支持JMX,我们就完全可以做一个通用程序对他们进行监控。 > >关于dynamic proxy,是java语言reflection的一部分,一个proxy对象,可以代理对指定的接口的访问,比如在EJB中的home接口,JBoss中通过JNDI获得的home接口,就只是一个Proxy对象,由他来转发请求,在JDk1.3的文档里有详细的描述。proxy对象是运行时动态产生的,而其他应用服务器的做法是通过一个编译工具,编译产生客户端的stub,这个stub支持corba的IIOP协议。而JBoss的stub就是一个java对象proxy.它只支持java RMI专用的JRMP协议。可能我的理解有些偏差,不过JBoss的源码里确实没有支持IIOP协议。 > >另外,我刚刚去了huihoo.com,对于你所作的工作感到敬佩,也希望可以尽一份力,也热烈欢迎huihoo的所有朋友一起探讨。 > >致 > 礼! > > lava 经你这么一解释,我的疑云全部散开了,非常感谢你的答复。 这是我先前在论坛回复你的帖子的内容:“lava 说得很好,我有类似的想法,就是采用 CORBA 的设计思路,一个小的核心,然后其它的特性全部都通过附加服务挂接在上面,所以我准备设计一个具备插件功能的 server 核心,其它的服务如:container,jms,jts等等全部采用插件形式挂上去,获得扩展性” 这么说来,看来,我和 JBoss 的结构想到一块去了,只是先前我没有注意到 JMX 的重要性,那你说说看,如果新设计一个 AppServer,你觉得是不是也应该采用类似JBoss 的设计的方式才好,而且现在看来,当然基于 JMX 这个标准的规范是最好的了期待你的答复。 >From: "lava" >To: "杨 泳" >Subject: 答复: 答复: 答复: 探讨 JBoss >Date: Wed, 8 May 2002 17:27:07 +0800 > >就结构来讲,我觉得JBoss的结构挺好的,一个微内核,基于上面的各种服务,其实就是一种分层的体系结构,这样比较清晰,而且,如果我们把内核做的很好,经过认真的测试的话,整个系统的稳定性就很好了。而且,sun还提供了JMX的参考实现,并且公布了源代码。 >不过,JMX规范还处于发展阶段,有些地方还要等到下一版本才能实现。JBoss就是自己增加了一些扩充实现。 >另外有个建议: >我觉得在进行设计之前,是不是首先制订相关的标准,比如编码标准,文档模版等等? >致 > 礼!!! > >lava > 非常感谢你的答复。 希望以后的时间,一起参与到 hEJB 的设计和编码中来,你的加入,讲使整个团队的设计开发能力大大提高,我会把其他成员的名单公布出来。 你的建议很好,也是必须的一部分,如果你有既成的标准和模板可以拿出来,我们一起再改进一下,如何? 和你的交流让我受益非浅,非常感谢。 orbat |