技术开发 频道

使用EJB你考虑好了吗?



    不需要使用EJB的情况


    EJB是一个非常出色的技术,但并不是适合所有的解决方案。EJB提供了许多优良的特性(如安全,持久性,事务支持),但并不是每个应用程序都需要这个特性。

    另外,在有些非分布式的应用程序中,它们更多的关注是速度,而不是安全,事务,这时你就不需要使用EJB进行企业开发。由于EJB的分布式特性,数据必须在客户端和EJB组件(或者服务器)之间,先被marshalled,然后unmarshalled。这个特性引入了大量的损耗,导致性能降低,这既是为什么在同一个虚拟机上使用本地的类是一个更好的选择。

    关于EJB的一些欠妥的说法

    1 EJB是一项昂贵的技术:这个回答有点太片面。虽然现在发布了很多低价格或者免费的应用服务器,并且这些服务器拥有商业服务器的所有性能。但是,在一个大的企业应用程序项目里面,相比整个项目的成本,应用程序服务器的价格只是其中的一小部分而已。

    2 当使用CMP bean时,你需要了解SQL知识:这种说法也不正确。

    3 EJB应用程序在不同的容器之间很容易移植。这种说法部分正确。只有当EJB 代码以一种portable方式写的才行。Session beans 和BMP beans容易移植,但是移植CMP并不容易,很费劲。

    4 实体beans运行很慢:这句话大部分对。在大多数的情况下,实体bean运行很慢,最好将其换成session bean.

    结论
    在你决定是否在你的项目中使用EJB技术之前,你需要明白你应用程序的需求,以及应用程序发展的前景,同时还有知道使用EJB的主要目地和它的缺陷。
0
相关文章