【IT168 专稿】编者按:EJB是J2EE平台最为复杂的技术之一,是一些开发者在部署配置他们的项目十分棘手的问题,在你使用Ejb做为企业开发时,一定要考虑清楚。
这篇文章主要针对将要打算把EJB应用的到自已的技术项目中,。那么在使用EJB之前我们先来盘点一下Ejb的优缺点,然后概括一下什么时候你该用EJB,什么时不该用EJB。
EJB的优点 1 规范详细性:EJB是一种基于规范性的技术。(这同时构成了EJB的主要优点和主要的缺点)。EJB规范说明书中描述了应用程序执行的各个方面,包括数据类型,组件声明周期,角色分布以及其它的东西。。
2 和J2EE紧密整合:有许多
服务器技术以J2EE为中心构建,其中包括EJB和其它一些相关技术,如:servlets、JavaServer Pages、Java Message Service、J2EE 连接器架构、Java 数据库连接、Java Authentication、Authorization Service, Java Transaction API、JavaMail技术等等。这些技术使J2EE 和 EJB是有机的结合构成一个非常吸引人的解决方案。
3 很好的伸缩性:只要你的应用程序
服务器通过了大多数的资源管理功能,开发商就可以应用更为复杂的可伸缩算法。
4 有权使用资源管理系统:连同EJB容器一起,你可以获得上千行的代码来访问管理资源,包括事务管理系统、
安全管理系统、目录服务。因为有了EJB我们可省去亲手实现的这一部分。
EJB的缺点 EJB优点表现固然卓著,但是缺点和优点同样显著:
1 巨大而复杂的规格说明:对于一个复杂的分布式系统,有一个文档进行说明是一件很合理的事情。但是,并不是所有的文档信息都是真正必需的,EJB的文档反而成了一个非常不便利的工具。
2 庞大的文件:在你开发一个项目之前,你通常需要阅读1000多页的文档。这是部署EJB时非常痛苦的事情。
3 增加程序调试时间:制定EJB解决方案比远比使用普通的Java代码所需的时间长,调试EJB程序也比调试普通的Java代码所需要的时间也长。主要原因是我们不知道bug是出在代码本身还是出在容器上。
4 EJB代码更加复杂:举个例子,为了实现一个session bean,你必须写三个类,为了实现一个实体bean,你需写四个类。增加几个部署描述语句,比如说最简单的"Hello world"程序需要10个文件,而不是一个文件。
5 重复设计的危险:导致这种结果的原因是复杂的文档所致。。如果你没有完全理解EJB的概念,你就不会很好的驾奴它,让它你所用,反之为你所累。
6 维护困难:EJB是一个不断更新的技术,在新技术不断推出的时候,代码需要升级,这就就需要额外的努力和成本来使你的程序和新的EJB容器兼容。