JBuilder 8开发EJB应用

类别:Java 点击:0 评论:0 推荐:
JBuilder 8开发EJB应用

作者:Tnk Luo

E_mail:[email protected]

 

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、论坛很不错。

本文地址:http://com.8s8s.com/it/it17907.htm