- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
J2EE教程第3章 Session Bean知识讲稿.ppt
声明;内容提要;3.1 SOCKET;;;优势:
功能强大
挑战:
过于底层,涉及一套复杂的流程,要求每个应用的客户端和服务器端都参与到一套复杂的应用层协议中;
程序代码量多,容易出错且难以调试。
;3.2 RPC;RPC的基本想法
目的是允许程序(Client)调用驻留在其他机器上的过程(Server)
并且使远程的过程调用看起来和本地的过程调用没有区别
RPC的做法是引入存根(Stub)的概念;若服务端有某个函数fn(),为了能够被远程调用,需要通过编译器生成两个stub:
客户端的一个stub:c_fn()
服务器端的一个stub:s_fn() ;RPC比LPC复杂;;Stub的对要发送的参数进行marshal(可理解成一种打包操作)和对接受到的参数(或返回值)进行unmarshal(解包)。
Marshal操作将要发送的数据制成一种标准的格式(在DCE RPC系统中,此格式称做Network Data Representation(NDR)格式)
unmarshal再从NDR格式数据包中读出所需数据
该标准格式屏蔽了计算机体系结构和数据表示格式的差异;Client stub的功能:
收集调用远程函数需要的参数
将这些参数marshal成消息,即把消息转化成标准的网络数据表示(network data representation , NDR) 格式,用于在网络上传递
调用客户端的运行时系统(Client runtime system)将此消息发送给服务器端。
当服务器端将结果消息返回后,将结果消息unmarshal,把结果返回给应用进程。
Server stub的功能:
对发送给它的参数消息unmarshal,收集参数
调用位于本机上的过程
将此过程执行的结果marshal成消息,然后调用服务器端的运行时系统将结果消息发送给客户端
;;客户端的运行系统
将客户端stub产生的消息可靠的传送给server
利用TCP/UDP等协议,将消息发送到Server
服务端的运行时系统
侦听某个众所周知的socket端口,接受请求
调用Server Stub,处理接收到的消息
运行系统提供了可靠的数据传输;;Interface definition file 是一个接口文件,它应该由用户利用IDL(interface definition language)语言编辑而成。
IDL是一种用来说明操作(过程或函数),操作的参数以及数据类型的语言,它在语法上继承于C语言,但形式上和C语言有很多不同。
IDL屏蔽了编程语言的差异;;3.3 RMI;从RPC到RMI;Stub Object;3.4 Session Bean;Session Bean:
让remote service(即Session Bean)实现javax.ejb.SessionBean接口
由EJB容器利用SessionBean接口管理Session Bean的生命周期(初始化、销毁、钝化等)
EJB容器截获远程调用请求,将请求转发给Session Bean
EJB容器在这个过程中插入/实现安全、事务和持久化等处理;Session Bean and RMI;EJB容器;在部署EJB时,容器会为每个EJB:
根据Home接口产生Home Object
生成stub和skeleton
根据部署描述符设置安全环境、事务环境
在JNDI名称空间中注册EJB—包括Home接口、资源引用等;客户端在访问EJB时:
通过JNDI查找到Home Object的引用
通过Home Interface上的create方法创建一个Remote Object
Home Object会创建并返回一个Remote Object
调用Remote Interface上的商业方法
Remote Object截取调用进行处理,然后委托Bean Class完成商业方法
Remote Object截取Bean Class的返回进行处理,然后将结果返回给客户端;Bean Class在执行商业方法时可以访问容器:
可以通过EJBContext对象(它是对容器的直接引用)请求关于环境的信息:如Client的身份、事务的状态以及自身的引用。
可以通过JNDI访问资源,如JDBC连接、其它的EJB等。;容器在管理EJB生命周期过程中,通过回调方法通知EJB状态的变化:
Bean Class实现并响应这些回调方法,进行相应的处理。
不同类型的EJB回调方法各不相同,如Session Bean包括:ejbCreate;ejbRemove;ejbPassivate;ejbActivate 。;参考文献;The End!;Copyright ?1997 Alex Chaffee;Copyright ?1997 Alex C
您可能关注的文档
- FORD电费节约6SIGMA项目培训教材.ppt
- FOR英语教学培训教材.ppt
- foueier optics课件c4 fresnel and fraunhofer diffraction讲义教材.ppt
- foueier optics课件cx coherence of optical waves讲义教材.ppt
- FOXHIS酒店集团管理信息系统方案培训教材.ppt
- freeroi 在功能磁共振roi分析中的应用()复习课程.ppt
- Freescale HCS12 微控制器MC9S12DP256知识讲稿.ppt
- From Vulnerability to Risk从脆弱性到风险风险评估方法学介绍知识讲稿.ppt
- FrontPage2018网页设计工具培训教材.ppt
- Frontpage工具简介培训教材.ppt
文档评论(0)