EJB3.0理论知识

Enterprise JavaBean(企业Bean)理论(分布式技术)
[color=brown][b]一.什么情况下需要企业Bean?[/b][/color]
企业Bean运行在EJB容器中。企业Bean实际上是一个封装了业务逻辑的Java类
Reason:1.最重要的理由:分布式!分布式对象之间互相写作,完成特定的业务功能。分布式对象之间实现分布透明性(或位置透明性)。即在客户端代码中无需指定分布式对象的位置。
2.分布式对象之间的事务支持(rmi不支持事务)。
3.应用程序支持不同的客户端,只要需少量的代码,就可以让远程客户端访问到企业Bean。
4.如果你的应该需要进行分布式部署,如果你的分布式对象需要支持事务,如果你的关键业务逻辑需要能够支持不同类型的客户端,那么EJB将会是一个很好的选择。


[color=brown][b]二.EJB的基本分类[/b][/color]
1.SessionBean:可以执行业务逻辑操作,比如注册用户,订单登记,数据库操作
2. Entity Bean:实体Bean(Hibernate的持久类)
3.Message Driven Bean(MDB):消息驱动Bean,基于JMS


[color=brown][b]三.定义客户端访问接口[/b][/color]
客户端仅通过业务逻辑Bean所定义的接口来访问业务逻辑(跟具体实现无关)。
当在开发企业Bean之前,首先要做的第一个决定:EJB要支持什么样的客户端?因为不同的客户端,其访问方式也将不同。
[b]3.1远程客户端(Remote Client)——[/b]客户端与其调用的EJB对象不在同一个JVM进程中
它可以运行在跟企业Bean不同的机器或不同的JVM进程中
它可以Web组件,应用客户端,火气它的企业Bean
对于远程客户端来说,企业bean的位置是透明的
为了创建一个能够被远程客户端访问的企业bean,你必须用@Remote注释来定义这些企业Bean

[b]3.2本地客户端(Local Client)——[/b]客户端与其调用的EJB对象在同一个JVM进程中
它必须与企业Bean运行在同一个JVM中
它可能是一个web组件或别的企业Bean
为了创建一个能够被本地访问的企业Bean,你必须用@Local注解来定义这些企业Bean
一个企业Bean接口可以同时被定义为@Remote和@Local

[b]3.3Web service 客户端[/b]
可以访问无状态会话Bean的接口,只有在业务逻辑方法被标识为@WebMethod的时候,web service客户端才可以访问到!


[color=brown][b]四.方法的参数与访问方式[/b][/color]
不同的访问方式(remote,local,webservice),会影响到Bean方法的参数以及其返回值。
[color=red][b]独立性[/b][/color]
如果是远程调用,客户端操纵的Bean的参数,其实是一份参数值的拷贝。因此,对参数的修改,不会影响到Bean。但是对于本地调用来说,客户端操纵的Bean的参数,就是一个引用,它对参数的修改,将会影响到Bean。所以,不管在哪种情况下,请避免修改参数的值!
[b][color=red]粗粒度的数据访问[/color][/b]
以为远程调用的速度比较慢,所以在设计的时候,请尽量使用粗粒度的接口设计。即尽量减少方法的调用,并尽可能在一次方法调用中传输完毕所需要的数据!


[color=brown][b]五.EJB的好处[/b][/color]
EJB为我们提供了很多在企业开发中需要使用到的服务,如事务管理/安全/持久化/分布式等,因为这些服务由容器提供,无需我们自行开发,这样大大减少了我们的开发工作量。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值