JBuilder 8开发EJB应用
作者:Tnk Luo
E_mail:worldheart@263.net
EJB开发现在已经成为一门炙手可热的方向。借助于JBuilder 8提供的便利,能高效的开发出EJB应用。
两次JDBC驱动:
如果需要开发Entity Bean,或者在EJB应用中要使用数据库,则必须配置JDBC驱动。在使用JBuilder开发EJB应用或者DataBase应用过程中,需要配置两次的JDBC驱动。其一,支持EJB开发过程,以供JBuilder使用;其二,为EJB的部署、运行、测试提供支持,以供应用服务器使用。很多人往往把这两者混淆。所以,这点希望能够引起大家的注意。
两个JVM:
在测试EJB过程中,运行EJB Client程序需要JVM的支持。大家知道,运行应用服务器也需要JVM,所以在运行EJB Client程序过程中,这两者的版本尽量要一致,否则有时候会出现一些问题。同时,运行EJB Client可以在JBuilder里面,也可以通过命令行的形式(这种情况下,必须告诉相应的类classpath)。
两种EJB,jar包:
对于熟悉WebLogic Server和JBoss的开发人员,都知道在使用JBuilder直接部署EJB Jar到目标服务器时,其时间是不相同的,即JBoss上EJB的部署会快一些。由于在部署EJB期间,JBoss本身会完成EJB中,比如stub、proxy等内容的生成,所以在使用JBuilder部署过程中,并没有像WebLogic使用ejbc来生成一大堆运动EJB所需的文件。另外,WebLogic本身和JBoss不同,这主要是两者对待EJB的处理模式的不同所导致的,即JBoss中大量运用类反射机制来实现EJB的动态编译。
EJB QL的限制:
由于在EJB 2.0中,EJB QL实现的SQL子集功能有限,比如SQL操作――order by,现有的EJB QL不支持。针对这种局限性,一般的应用服务器厂商都扩充了EJB 2.0规范定义的EJB QL。比如,WebLogic和JBoss都对EJB QL作了很多改进。
EJB调试技巧:
其一。由于需要和数据库通讯,通过EJB QL定义的”SQL”,最终将通过JDBC驱动和后台的Database通讯,但传递给Database的SQL命令不得而知。所以,借助于数据库提供的工具能查看当前Session传递给后台的SQL,比如SQL Server或Oracle都有这方面的工具。
其二。一旦EJB比较多的时候,可以通过将JNDI放置在XML文件中,便于EJB JNDI的维护。
其三。如果是通过采用Session Bean + JDBC开发模式,建议将SQL单独放置在Java文件中,以提高SQL的可维护性和可重用性。
其三。合理采用常见的EJB Design Patterns,尤其是DTO,DAO,Session Façade,。。。。
其实,在Together中,很多方面比JBuilder先进。了解Together的开发者会知道,其调试EJB很方便,这主要是Together的功劳,至于到底有多方便,您用了就知道了。
由于水平和时间原因,就写这么多。
资源介绍:
http://www.javaranch.com 其提供的newsletter、论坛很不错。