一、EJB的好处:
EJB 组件使编写应用程序更为简单。尽管 EJB 体系结构复杂,但应用程序开发人员一般都不必再编写用于访问系统服务的代码。一种称为 EJB 容器的系统组件使系统服务可用于 EJB 组件的任务。
服务器端商务逻辑可以移植。除了 Java 语言固有的可移植性外,EJB 体系结构还在 bean 和支持该 bean 的容器之间提供了一套标准化的应用程序编程接口。这使开发人员能够将 bean 从一种操作环境移植到另一种操作环境,而无须重新编写其源代码。
可以从现有的软件组件装配出服务器端应用程序,这与从现有的 Java bean 可以装配出客户端应用程序一样,从而使软件能够重用。
EJB 体系结构内置了对典型企业级系统服务的支持,包括分布式对象、事务处理、数据库、安全和全局命名。
多家 IT 供应商都采纳 EJB 体系结构,这是由于有这样的承诺:客户将能够 从选定的供应商那里选购软件组件,如 EJB 组件、容器及 EJB 服务器;也由于承诺了不同供应商的产品,只要符合 EJB 体系结构,就都是可互操作的。
用 EJB 组件构建的应用程序可以从一个服务器移植到另一个服务器,从而支持可伸缩性,这是因为在 EJB 模型中,各个软件组件都是严格分离的。
EJB 体系结构能保障原有的 IT 投资,这是通过允许将现有的信息系统和资产“包裹”在这些应用程序中,而不要求客户更换现有技术。事实上,在关系数据库中存储数据的企业已经有了一套已有雏形的实体 bean,正等着通过 EJB 外壳去访问。
二、About session beans 和Entity beans:
Session beans代表在一个会话中的一个客户端执行的特定的业务任务。它们可以是有状态的,也可以是无状态的,但不是持久的。当客户端完成了一个session beans的调用时,该bean就消失了。
Entity beans表示一个数据存储(通常是关系型数据库)中的业务对象。对象的持久性--载入和保存对象--可以是bean管理的,也可以是容器管理的。Entity beans不仅仅是长驻内存的数据对象,它还拥有其代表业务对象行为的方法。Entity beans可以被多个客户端调用。按照定义,Entity beans是持久的。
其实,我的理解如同COM或DCOM一样,有定义好的接口,你的任务就是实现这些接口。
三、问题对照:
1、使用Entity beans可以使对于数据库的管理交给容器去管理,我们不需要直接参与。对于一个大型的系统这一点是很重要的,分工明细是关键的。
2、按照定义是这样的,Entity Beans是会存在那么多。
3、如果你正在写EJB的东西,那么我建议,对于单表的Inert、Update、Delete请使用Entity beans.如果涉及到多表的查询,请在你的体系中加入Dao,使用JOdbc来连接数据库,进行查询。
4、规则就是规则,有了就要遵守,被什么好讲的。 OK!说了这么多,希望对你有帮助。
EJB 组件使编写应用程序更为简单。尽管 EJB 体系结构复杂,但应用程序开发人员一般都不必再编写用于访问系统服务的代码。一种称为 EJB 容器的系统组件使系统服务可用于 EJB 组件的任务。
服务器端商务逻辑可以移植。除了 Java 语言固有的可移植性外,EJB 体系结构还在 bean 和支持该 bean 的容器之间提供了一套标准化的应用程序编程接口。这使开发人员能够将 bean 从一种操作环境移植到另一种操作环境,而无须重新编写其源代码。
可以从现有的软件组件装配出服务器端应用程序,这与从现有的 Java bean 可以装配出客户端应用程序一样,从而使软件能够重用。
EJB 体系结构内置了对典型企业级系统服务的支持,包括分布式对象、事务处理、数据库、安全和全局命名。
多家 IT 供应商都采纳 EJB 体系结构,这是由于有这样的承诺:客户将能够 从选定的供应商那里选购软件组件,如 EJB 组件、容器及 EJB 服务器;也由于承诺了不同供应商的产品,只要符合 EJB 体系结构,就都是可互操作的。
用 EJB 组件构建的应用程序可以从一个服务器移植到另一个服务器,从而支持可伸缩性,这是因为在 EJB 模型中,各个软件组件都是严格分离的。
EJB 体系结构能保障原有的 IT 投资,这是通过允许将现有的信息系统和资产“包裹”在这些应用程序中,而不要求客户更换现有技术。事实上,在关系数据库中存储数据的企业已经有了一套已有雏形的实体 bean,正等着通过 EJB 外壳去访问。
二、About session beans 和Entity beans:
Session beans代表在一个会话中的一个客户端执行的特定的业务任务。它们可以是有状态的,也可以是无状态的,但不是持久的。当客户端完成了一个session beans的调用时,该bean就消失了。
Entity beans表示一个数据存储(通常是关系型数据库)中的业务对象。对象的持久性--载入和保存对象--可以是bean管理的,也可以是容器管理的。Entity beans不仅仅是长驻内存的数据对象,它还拥有其代表业务对象行为的方法。Entity beans可以被多个客户端调用。按照定义,Entity beans是持久的。
其实,我的理解如同COM或DCOM一样,有定义好的接口,你的任务就是实现这些接口。
三、问题对照:
1、使用Entity beans可以使对于数据库的管理交给容器去管理,我们不需要直接参与。对于一个大型的系统这一点是很重要的,分工明细是关键的。
2、按照定义是这样的,Entity Beans是会存在那么多。
3、如果你正在写EJB的东西,那么我建议,对于单表的Inert、Update、Delete请使用Entity beans.如果涉及到多表的查询,请在你的体系中加入Dao,使用JOdbc来连接数据库,进行查询。
4、规则就是规则,有了就要遵守,被什么好讲的。 OK!说了这么多,希望对你有帮助。
Entity beans代表底层数据库的一个表,则其实例和数据库记录间就是一对一的关系。因为多个客户端必须访问底层记录,而且Entity beans是可以被共享的,所以一个大型项目这样做会给系统节省很多的资源。一万人访问一个表,如果用JODBC会有10000个连接而用Entity beans则只有一个“连接”。你觉得如何?Entity beans是分布式的,涉及到数据库还有很多麻烦的事,比如是那种连接(thin or fat),各种连接有各种不同的优缺点,相对于Entity beans来说就都是缺点了。