Last Modified: 2003.01.20 12:00 AM 讨论总结: 。详细讨论了JNDI、EJB等部件的具体实现问题 。讨论了基于JFoxMX的策略服务的实现问题,这个问题比较复杂,会后将继续通过E-mail进行交流和讨论 。与Polo.Tsui商量好,准备一次与Apusic公司的朋友进行一次J2EE实现的讨论 。JFox 的整个结构体现了面向服务编程的思想(Service Oriented Programming),一个服务或者一个功能通常作为一个服务用 MBean 来封装,这是JFox的一大特色 。将CVS环境建立好 ... ----------------------------------- 讨论内容: Allen Long 说: 大家好,我们开始JFox的项目讨论 Young Yang 说: 上星期把 jndi 和 jnp 再看了一遍,终于搞透了 Young Yang 说: 这个星期把 jndi 写好并发布 mep 说: nice #JASPER 说: 好,jndi的關鍵在於甚麼 mep 说: JNDI如何与CORBA 的CosNaming兼容? #JASPER 说: 兼容是後話了,關鍵的東西先上來 #JASPER 说: jndi的關鍵是跨vm的通訊 #JASPER 说: api部分還是比較簡單的 Young Yang 说: jndi 难点 1、是 使用UnicastRemoteObject.exportObject 来使对象 remote 2、是一个名字解析上的问题 Young Yang 说: 比如:用户以 java://localhost:1099/test , test /test 不同的名字来索引一个对象的时候 Young Yang 说: 对,还有就是跨 jvm Young Yang 说: 不过因为采用了 rmi 来实现服务,跨 jvm 就好办了 czy@nlsde.buaa.edu.cn (电子邮件地址未验证) 说: hi,大家好,我是cinsia #JASPER 说: 我當時寫jndi時jvm通信用的是registry,但缺點很明顯,只支持flat對象 Wang Ting 说: 诸位,你好,我是wang ting. Young Yang 说: 上次写的 jndi 基本上是重写,这次的 jndi 将是比较成熟的,可以应用在 jfox 后续的开发之中 Young Yang 说: hi, Wang Ting Allen Long 说: JNDI为COS registry,RMI registry提供了一个统一接口,SPI允许用户自己创建JNDI的实现。CORBA的兼容不知是不是这样解决? Young Yang 说: to mep, 可以用过 URLContext 来支持 COSNaming #JASPER 说: young yang準備如何實現跨jvm的通信呢 mep 说: 应该可以。只要在按照JNDI抽象出SPI接口层就可以了 Wang Ting 说: jndi可能也是支持层次对象目录? Young Yang 说: 这里面一个设计问题就是: Context 只是一个前端,是一个 Face,真正的服务由一个 RMI Server 来提供,当通过一个 context.lookup 另外一个地址的对象时,如: context.lookup(java://other.com:1099/test) ,context 首先会连接 other.com,获得 NamingServer, 然后调用该 NamingServer.lookup Wang Ting 说: 如果大家考虑JNDI和CORBA Naming Service的兼容,不知道做个Bridge是否可以? Young Yang 说: to WT: 当然支持 Wang Ting 说: 不知道JFOX的JNDI现在开发的状况? Young Yang 说: to WT: 用 URLContext 来支持,提供 Cosnaming 协议转换 Ray_Linn 说: 能不能和UDDI 注册中心通讯呢? mep 说: 还有一个问题,关系到EJB与CORBA的互操作:JNDI在lookup时使用了传值(by value),而如果是CORBA的客户端,会使用传引用,一般会出问题,怎么解决? Wang Ting 说: 这是实质问题: 1)CORBA IOR和RMI java remote orbject reference. Young Yang 说: to mep: 也可以使用引用传递,通过 MarshelledObject 包装即可 Wang Ting 说: 可能,我从用户角度看,从NS拿到的是一个IOR,而JNDI拿到的是一个远程refernce.结构不一样。这需要统一。 mep 说: 但是一般CORBA的客户端会使用CosNaming接口来查找放在JNDI中的EJB Home对象。好像JNDI要适应两种情况 Allen Long 说: 要与UDDI通信应该事先提供对SOAP的支持,通过SOAP完成通信。 Ray_Linn 说: 这些应该是由Service provider 来完成的吧 #JASPER 说: ejb部分:要支持corba,必須將EJB Home的實現繼承自PortableRemoteObject,而不是UnicastRemoteObject Allen Long 说: 我们的JFox也会在将来提供对SOAP,WSDL,UDDI的支持。 Young Yang 说: to mep: jndi 的 name ,可以是一个 test/xxx 这样的一般的,也可以是 IOR:1245513415 这样的 Young Yang 说: thank JASPER Young Yang 说: 是不是要支持 rmi-iiop 的话,都必须这样做 #JASPER 说: 客戶端需要使用narrow(...)方法 Ray_Linn 说: 恩,我们打算实现多少个provider呢? Young Yang 说: 这样做,他们的通信协议是否成为了 rmi-iiop? #JASPER 说: 我的kylin中就是這麼做的,理論上支持iiop了,但jndi部分沒做 Young Yang 说: 哦,那就好,那我就全部都这样子做了,可否? Young Yang 说: 还有,rmic 的时候需要使用 -iiop 参数吧 #JASPER 说: 我覺得rmi-iiop部分的內容應該比我們討論的要多得多 Allen Long 说: 打算是,但要看计划的进展情况。谈J2EE实现的同时,我们也谈谈基于JFoxMX的网络管理平台创建的问题,WT可多提提意见,今天需求方的朋友也过来啦 Young Yang 说: 我也是这么觉得 #JASPER 说: 那自然需要了,不過不前ejb部分使用jrmp協議,可能有點麻煩 Allen Long 说: czy说说你的情况,让大家也谈谈他们的看法。Wang Ting你也多给些意见 #JASPER 说: 因為jrmp沒有通過rmic編譯,不能封裝成corba需要的對象 czy@nlsde.buaa.edu.cn 说: 是这样,我想jmx的agent是一种开放的结构,我们可否利用标准的agent的服务来开发一种针对业务策略管理特殊需求的服务,比如说策略服务 czy@nlsde.buaa.edu.cn 说: 大家有没有看到adventnet的一个开发工具jmx studio,它就提供了一个rule editor的功能,主要用途是开发mbean,以及生成agent的 czy@nlsde.buaa.edu.cn 说: 但是advent net主要的方向是提供网管应用的开发工具,不是MBeanServer Young Yang 说: adventnet 的那个东西,我用过 Young Yang 说: 不过他是一套开发环境,比较庞大 czy@nlsde.buaa.edu.cn 说: 类似策略定义、MBean生成和执行,我想实际上是网管应用里一个普遍的需求,而jmx的设计完全可以通过中间层服务的重用来简化网管应用的开发难度。 czy@nlsde.buaa.edu.cn 说: 呵呵,youngyang你看adventnet的那个东西可以通过web方式来使用吗?能不能和http console结合起来用? Young Yang 说: 那时 IDE 啊,虽然原则上可以搬到 web 上来,但是实施上可能行不通 mep 说: 对。可以首先按照普通的对象建模的方法来对策略管理进行建模,在映射到JMX的体协结构的agent上来,因为agent与对象在某些方面是类似的 czy@nlsde.buaa.edu.cn 说: 为什么 czy@nlsde.buaa.edu.cn 说: 不是要通过web方式来做一个大而全的ide,我现在就想在中间层作一个通用的策略服务 czy@nlsde.buaa.edu.cn 说: 不是开发环境,是一个应用环境,对象不同,后者是针对最终的网管用户,前者是针对网管应用开发商 mep 说: 没错,通过首先不考虑JMX直接按照对象的方式来考虑如何做通用的的策略服务,在将考虑好的模型映射到JMX的agent上。 Young Yang 说: 哦,可以尝试一下 czy@nlsde.buaa.edu.cn 说: 我觉得jmx的开发结构agent层设计比较有意思,和以前网管概念里的单个被管对象单个agent来提供管理接口不太一样, mep 说: agent不一定是一个被管理对象,也可以是其他的东西 czy@nlsde.buaa.edu.cn 说: 怎么开始呢?呵呵,需要huihoo来组织核心设计人员和开发人员哦^_^ Allen Long 说: 我现在正在组织几个朋友完成这个工作,需要大家的支持。 mep 说: 首先要了解策略服务,抛开JMX进行建模,在结合JMX考虑如何实现 czy@nlsde.buaa.edu.cn 说: agent和被管资源不是一一对应的关系,策略服务就是可以通过中间层提供的控制台来定义一个复合的agent,它代表着复合的管理逻辑。。。 Allen Long 说: 与czy的这种横向合作有很大难度,需要大家更多支持。 czy@nlsde.buaa.edu.cn 说: 我现在已经作了的工作是:业务管理建模 Young Yang 说: 你的这个东西要是给了图解,就好懂一些 yanzi 说: 大家好 czy@nlsde.buaa.edu.cn 说: 也就是说业务管理的model,策略管理对象的类图 czy@nlsde.buaa.edu.cn 说: 有阿,有了初稿了,还有需求文档,在allen那里阿 Young Yang 说: 哦,那就好 zhaochenxi13@hotmail.com 说: 大家好,刚才网络断了很多消息没收到真遗憾 czy@nlsde.buaa.edu.cn 说: 一会儿会有会议记录的,不要担心 Allen Long 说: czy你的问题可能太复杂,大家还不太明白,我们下来再谈。讨论信息我都会整理后发布到网上 Allen Long 说: tisom谈谈你的EJB的进展和存在的困难和问题 tai_1219@yahoo.com 说: 正在做jta/jts czy@nlsde.buaa.edu.cn 说: 我现在想到的工作首先是:1,熟悉adventnet JMX studio rule editor的设计和实现,2,我们的agent策略服务的设计和实现 czy@nlsde.buaa.edu.cn 说: 好的 czy@nlsde.buaa.edu.cn 说: 谢谢大家的关注^_^ tai_1219@yahoo.com 说: 上周出差,昨回。刚看完jta spec Allen Long 说: 我帮上什么忙,很抱歉 tai_1219@yahoo.com 说: 呵呵 #JASPER 说: tisom的程序基本看了,寫的很複雜 Young Yang 说: JASPER 详细说说 #JASPER 说: tisom實現了所有需要的東西,有jndi(namning service),有transactionmanager,感覺jrmp實現起來很複雜 tai_1219@yahoo.com 说: jrmp实际上就是rmi/jrmp #JASPER 说: 而且以後如果跟corba通訊會比較麻煩 mep 说: JRMP也是自己做的吗? tai_1219@yahoo.com 说: 和corba采用rmi/iiop tai_1219@yahoo.com 说: 是的 Allen Long 说: tisom你说ejb2.0除message bean之外的所有规范都实现了,是EJB1.1和EJB2.0吗? #JASPER 说: 我覺得用rmi就足夠了,你的代碼量很到(600多個java),效率卻不高 tai_1219@yahoo.com 说: to allen: 是ejb2.0 #JASPER 说: ejb2.0是ejb1.1的後續版本,有1.1的實現 tai_1219@yahoo.com 说: 我修改了entity container的一些东西。等allen的cvs搞好后,就上传 tai_1219@yahoo.com 说: to jasper: 是的. Allen Long 说: ejb2.0能很好兼容ejb1.1吗?那就是说也已实现EJB1.1? tai_1219@yahoo.com 说: to allen:是的 Allen Long 说: ok,very good #JASPER 说: tisom,你還準備繼續用jrmp來實現ejb部分嗎,那需要你提供文檔嘍 tai_1219@yahoo.com 说: mdb是2.0比1.1多的一大快东西。不过,需要等YY的jms Allen Long 说: tisom说说你的JDBC POOL,因为entity bean需要jdbc pool Young Yang 说: jms 还在规范阅读中,先用其它的 jms 实现可以吗? tai_1219@yahoo.com 说: rmi/jrmp就是远程调用的ejb beans的方法。 Young Yang 说: ejb Young Yang 说: 没想到 ejb 这块这么快就被 tisom 搞定,佩服啊 tai_1219@yahoo.com 说: jdbc pool我用的是tomcat的集成的一个jdbc pool. tai_1219@yahoo.com 说: 哪里 tai_1219@yahoo.com 说: 过奖了 #JASPER 说: tisom在哪裡 tai_1219@yahoo.com 说: jboss的jdbc pool不好用 tai_1219@yahoo.com 说: 长沙 tai_1219@yahoo.com 说: 我准备写一个jfox jta/jts自己实现dtp tai_1219@yahoo.com 说: ejb实际上就是应用服务器的思想。而应用服务器的两个最重要的东西是消息服务和事务服务 mep 说: JTA/JTS完成的话,把它集成到EJB mep 说: Container中就比较容易了 tai_1219@yahoo.com 说: 是的 mep 说: JTS的关键在于2PC和异常/错误处理 tai_1219@yahoo.com 说: tuxedo的就是目前很好的应用服务器。他的核心的两块就是transaction和message queue tai_1219@yahoo.com 说: 对啊 tai_1219@yahoo.com 说: 在这里,我要衷心感谢mep给我的帮助 mep 说: 太客气了,我还没有帮上什么忙 tai_1219@yahoo.com 说: to mep:这周,有空,打电话给我。 mep 说: 好啊,我目前在调试CCM Container的与Transaction和perisistence的集成,刚好可以交流 tai_1219@yahoo.com 说: 太好了 Young Yang 说: 你们两个火热了,呵呵 tai_1219@yahoo.com 说: to allen: cvs建好了没有。 Allen Long 说: 对不起,我的帐号说无效,我也感到奇怪。这两天再弄弄 tai_1219@yahoo.com 说: OK tai_1219@yahoo.com 说: 我只能add/update.没有权限delete Allen Long 说: 你用什么SSH? tai_1219@yahoo.com 说: to allen:你需要ssh tai_1219@yahoo.com 说: 网上找的 tai_1219@yahoo.com 说: 你需要的话,我可以发给你 tai_1219@yahoo.com 说: 很难找的 Allen Long 说: 发给我吧。我用的SSH Secure Shell有些问题 tai_1219@yahoo.com 说: 散会后,我发给你 Allen Long 说: 好。orbat谈谈你的JFox核心基于面向服务编程的思想(Service Oriented Programming)非常棒。 Young Yang 说: 呵呵 czy@nlsde.buaa.edu.cn 说: 呵呵,策略服务策略服务阿 Young Yang 说: 采用 jmx 开发的话肯定具备了 SOP 的条件,关键是大家在封装和发布的时候尽量保持一个服务的封闭性和开放性 Allen Long 说: 欢迎Polo.Tsui Polo.Tsui 说: 谢谢Allen! czy@nlsde.buaa.edu.cn 说: 那谁来负责这个SOP的设计和统一阿 Wang Ting 说: 刚刚回来,不好意思.... Young Yang 说: 我已经设计到抽象类和接口 Allen Long 说: Polo能否给大家说说Apusic的一些情况 czy@nlsde.buaa.edu.cn 说: UML设计?能看看图吗? tai_1219@yahoo.com 说: to allen:mail to U. Polo.Tsui 说: Apusic的情况我也不熟悉,我一直在做BI和DW,不过都是同行,我看改天安排一个Apusic的同事一起聊天。今天就不谈啦,怕影响你们的讨论。 Allen Long 说: Thanks Young Yang 说: 没有, Sorry Young Yang 说: czy 你在哪里? Allen Long 说: 好的,谢谢Polo的支持,你肯能否下周我们组织一次与Apusic开发人员的技术讨论。我们这边核心成员都参加。 tai_1219@yahoo.com 说: BI和DW ?请问 Polo.Tsui 说: 我来安排。BI:Business intelligence,DW ata warehouse。你们继续谈吧,不要管我。 tai_1219@yahoo.com 说: thanks a lot Allen Long 说: 好的,继续我们的话题。tisom你EJB的完整版本什么时候发布? czy@nlsde.buaa.edu.cn说: 在这里,不好意思 tai_1219@yahoo.com 说: 已经可以发布了 Allen Long 说: orbat你的JMS三月底能发布吗? Allen Long 说: 请将文档更多补充,不要让大家一头雾水。 tai_1219@yahoo.com 说: Except mdb depend on jms Young Yang 说: 估计可以出一个beta版本 Allen Long 说: 先用其他的JMS实现 tai_1219@yahoo.com 说: 我试试 Wang Ting 说: 大家进度都很快啊。 czy@nlsde.buaa.edu.cn说: toYY,那你的设计是指?和JMX现有的timer、monitor、relation这种服务相似吗?要不回头email? Wang Ting 说: 可以参考openjms,不过最近的它问题很多 Allen Long 说: 今年我们的目标是做一个很不错的应用服务器产品JFox1.0,基本能解决大家的一些应用需求。 Young Yang 说: cyz, 没明白你的意思? Allen Long 说: 也请大家多多关注JFox项目,一起推动它的快速发展。 Allen Long 说: 今天大家就先聊到这,我们继续努力 czy@nlsde.buaa.edu.cn说: 好的 Allen Long 说: CZY,你的项目我们继续通过E-mail交流。