1.0 ejb3.0开篇

本文介绍了EJB(Enterprise JavaBeans)的主要用途及应用场景,重点解释了其在分布式系统中的优势,包括事务支持、多客户端访问支持等。同时,还详细划分了EJB的基本类型,并阐述了客户端如何访问EJB。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

★  为什么要使用ejb,以及在什么时候使用ejb?

     ●  最重要的理由:分布式!分布式对象的协作,完成特定的业务功能,分布式对象之间应实现分布式透明性(或位置透明性),即在客户端无需指定分布式对象的位置(通过配置来解决)。

     ●  分布式对象之间的事务支持(RMI不支持事务)。

     ●  应用程序需要支持不同的客户端,只需要少量代码,就可以让远程客户端访问到企业bean。

     ●  如果应用程序需要进行分布式部署,如果分布式对象需要业务支持事务,如果关键业务逻辑需要能够支持多种不同的客户端,那么ejb将是很好的选择。

 

★  ejb的基本分类

     ●  Enterprise Bean(企业Bean)

        ◆  Session Bean(会话Bean)

             ◇  Stateless Session Bean(无状态会话Bean)

             ◇  Stateful Session Bean(有状态会话Bean)

        ◆  Message Driven Bean(MDB 消息驱动Bean,基于JMS)

     ●  Persistent(持久化)

        ◆  Entity Bean(实体Bean) 

 

★  Session Bean(会话Bean)

     ●  会话Bean可以执行业务逻辑操作,比如用户注册,订单登记,数据库操作等。

     ●  什么叫会话Bean?

         ◆  即从客户端开始获得EJB对象开始,然后调用EJB方法(可以多次),直到客户端生命周期结束,或客户端释放EJB对象为止,称为一次会话。

         ◆  随着会话的终止,EJB对象也有可能被EJB容器销毁。

 

★  定义客户端的访问接口

    ●  客户端仅通过业务逻辑Bean所定义的接口来访问业务逻辑(与具体实现无关)

    ●  当开发企业Bean之前,首先要做的第一个决定是:EJB支持什么样的客户端。因为不同的客户端访问方式不同:

       ◆  远程客户端——客户端与其调用的EJB对象不在同一个JVM进程中

       ◆  本地客户端——客户端与其调用的EJB对象在同一个JVM进程中

       ◆  WebService客户端——只能访问无状态会话Bean

       注:关于JVM进程数的问题:假设在一台机器上安装了一个JVM,一个JBOSS应用服务器。启动JBOSS应用服务器,当然要用到JVM;另外编写一个main方法的java类,并编译执行,也要用到JVM,这里就相当于有2个JVM进程了

★  方法的参数和访问方式

     ●  不同的访问方式(Remote、Local、Webservice)会影响到Bean方法的参数和返回值。

     ●  独立性: 如果是远程调用,客户端操纵的Bean的参数,其实是一份参数值的拷贝,因此对参数的修改,不会影响到Bean;但是对于本地调用来说,客户端操纵Bean的参数,就是一个引用,它对参数值的修改,将会影响到Bean。因此,不管在那和情况下,请避免修改参数的值!

     ●  粗粒度和数据访问: 因为远程调用的速度比较慢,所以在设计的时候,请尽量使用粗粒度的接口设计,即尽量减少方法的调用,并尽可能地在一次方法调用中传输完毕所需要的数据!

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值