纳金网
标题:
Session Bean服务封装对实体EJB访问的实现
[打印本页]
作者:
Mr.cai
时间:
2011-8-1 17:17
标题:
Session Bean服务封装对实体EJB访问的实现
【赛迪网讯】在早期的J2EE (遵循EJB1.X规范)应用中,访问EJB是`通过RMI使用远程接口实现的。随着EJB2.0的出现,可以通过本地接口访问EJB,不再使用RMI, 在同一个JVM中使用远程方法已经少多了。但是现在还是有一些使用EJB1.X实现的应用和不知道使用本地接口的一些EJB新手。为说明这点,我们作个比 较:
1、客户端应用调用本地Stub
2、该Stub装配参数
3、该Stub传到skeleton
4、该skeleton分解参数
5、该skeleton调用EJB对象
6、EJB对象执行容器服务
7、EJB对象调用企业BEAN实例
8、企业BEA执行操作
9、执行组装/分解步骤然后返回
与远程接口处理相比较,本地接口的EJB方法是:
1、客户端调用本地对象
2、本地对象执行容器服务
3、本地对象调用企业Bean实例
4、企业Bean实例执行操作
5、没有其他返回步骤!
如果你不需要从远程的客户端访问一个特殊EJB,就应该使用本地方法。
在实现Session Bean的服务中封装对实体EJB的访问
从Servlet访问实体EJB不但效率低而且难于维护。使用Session Facade(会话外观)模式可把对实体EJB的访问封装在会话EJB中,在该会话EJB中通过使用本地接口访问实体EJB而避免过多的远程调用。
这项技术会有额外的性能和扩展方面的好处,这是因为会话和实体EJB可以使用缓存和资源池技术来进行改进。另外,由于负载的需要,会话和实体EJB 可被扩展部署到其他硬件设备上,这比将Servlet层复制扩展到其他硬件设备上要简单的多。
尽量粗粒度访问远程EJB
当访问远程EJB时,调用set/get方法将产生过多的网络请求,同时也导致远程接口处理的过载。为避免这种情况,可考虑将数据属性集中在一个对 象中,这样通过一次对远程EJB的调用就可以传递所有数据。这项技术就是数据传输对象(Data Transfer Object)模式。
作者:
晃晃
时间:
2011-8-1 21:36
看下
作者:
彬彬
时间:
2011-8-9 15:03
作者:
奇
时间:
2012-1-22 23:20
年末来了,事情也多了!总结一年的经验,续写明年的计划!亲爱的朋友们,要注意身体,要开开心心的工作,健健康康的生活,舒舒服服的过年!
作者:
菜刀吻电线
时间:
2012-3-6 23:18
百度的叫度娘,网易的叫易娘,新浪内部还在为是叫新娘还是浪娘而争论不休!……不管你们是企鹅的额娘,豆瓣的伴娘,还是华为的伪娘,都要记得,淘宝才是你们的亲娘啊!亲!!
作者:
晃晃
时间:
2012-5-5 23:20
提醒猪猪,千万不能让你看见
作者:
奇
时间:
2012-6-28 23:26
路过、路过、快到鸟,列位请继续...ing
作者:
tc
时间:
2012-7-9 23:22
谢谢楼主,真是太实用了
作者:
奇
时间:
2013-2-18 23:27
凡系斑竹滴话要听;凡系朋友滴帖要顶!
作者:
晃晃
时间:
2013-3-3 00:03
心中有爱,爱咋咋地
作者:
晃晃
时间:
2013-3-16 23:21
路过、路过、快到鸟,列位请继续...ing
欢迎光临 纳金网 (http://go.narkii.com/club/)
Powered by Discuz! X2.5