《组件技术》课程教学课件 第3章 与JavaEE组件技术相关的知识.pptVIP

  • 2
  • 0
  • 约5.37万字
  • 约 324页
  • 2018-03-22 发布于福建
  • 举报

《组件技术》课程教学课件 第3章 与JavaEE组件技术相关的知识.ppt

桩与构架 (1)桩与构架是应用程序层与系统其他部分的接口. (2)当开发了服务器程序后,就要使用RMI的rmic编译器产   生桩与构架.它根据服务器程序的字节代码(即class文件)产生代理类(proxy) (3)桩与构架使用对象序列化传输数据,此层不处理任何特定的传输. (4)桩主要负责与客户端的交互,例如:初始化远程调用,序列化发送的参数,提示远程引用层将进行调用,反序列化返回值,提示远程传输层调用完成. (5)构架主要负责服务器:调用实际的远程对象实现,将返回值序列化为流,并传输给客户. 远程调用层 (1)远程调用层是桩/构架层与传输层的中间层,它负责为独立于客户桩与服务器构架的多种形式的远程引用和调用协议提供支持. 传输层 (1)传输层在不同的地址空间内传输序列化的流,负责建立到远程地址空间的连接,管理连接,监听外来调用,维护驻留于同一个地址空间的远程对象表,为外来的调用建立连接,以及根据远程调用的目的定位调度程序,并传递连接到该调度程序. RMI调用机制 RMI 采用stubs 和 skeletons 来进行远程对象(remote object)的通讯。stub 充当远程对象的客户端本地代表或代理人角色,有着和远程对象相同的远程接口,远程对象的调用实际是通过调用该对象的客户端代理对象stub来完成的。 调用程序将调用本地stub的方法,而本地stub将负责执行对远程对象的方法调用. stub 每个远程对象都包含一个代理对象stub,当运行在本地Java虚拟机上的程序调用运行在远程Java虚拟机上的对象方法时,它首先在本地创建该对象的代理对象stub, 然后调用代理对象上匹配的方法,代理对象会作如下工作: 与远程对象所在的虚拟机建立连接 打包(marshal)参数并发送到远程虚拟机 等待执行结果 解包(unmarshal)返回值或返回的错误 返回调用结果给调用程序 stub 对象负责调用参数和返回值的流化(serialization)、打包解包,以及网络层的通讯过程。 无论XML文档中描述的是什么类型的信息(可能是制表数据、项目列表、或一个文档),当利用基于DOM的XML分析器生成一个XML文档的文档对象模型时,该模型都是一棵节点树。 也就是说,DOM强制使用一个树模型来访问XML文档中的信息。 由于XML在本质上就是一种分层结构,所以这种描述方法是相当有效的,这也是DOM把所有的信息都放在了一棵树中(即使该信息实际上是制表符或一个简单链表)的原因。 3)什么是SAX SAX的全称是Simple APIs for XML(XML简单应用程序接口)。 SAX提供了一种对XML文档进行顺序访问的模式,这是一种快速读写XML数据的方式。 当使用SAX分析器对XML文档进行分析时,会触发一系列事件,并激活相应的事件处理函数,从而完成对XML文档的访问,所以SAX接口也称做事件驱动接口。 4)为什么DOM和SAX会并存 DOM和SAX这两个接口标准之所以能够并存,就是因为这两个接口所要实现的目标不同。 DOM和SAX分析器在接口实现过程中分别侧重于不同的方面,两者各有长短,分别满足了不同的应用需求。 DOM 分析器通过对XML文档的分析,把整个XML文档以一棵DOM树的形式存放在内存中,应用程序可以随时对DOM树中的任何一个部分进行访问与操作。 也就是说,通过DOM树,应用程序可以对XML文档进行随机访问。 这种访问方式给应用程序的开发带来了很大的灵活性,它可以任意地控制整个XML文档中的内容。 但是,由于DOM分析器把整个XML文档转化成DOM树放在了内存中,因此,当XML文档比较大或者文档结构比较复杂时,对内存的需求就比较高。而且,对于结构复杂的树的遍历也是一项比较耗时的操作。所以,DOM分析器对机器性能的要求比较高,实现效率不十分理想。 不过,由于DOM分析器的树结构的思想与XML文档的结构相吻合,而且,通过DOM树机制很容易实现随机访问,因此,DOM分析器还是有很广泛的使用价值的。 SAX 分析器在对XML文档的分析时,触发一系列的事件,应用程序通过事件处理函数实现对XML文档的访问。 由于事件触发本身是有时序性的,因此,SAX分析器提供的是一种对XML文档的顺序访问机制,对于已经分析过的部分,不能再倒回去重新处理。 SAX 之所以被称为“简单”应用程序接口,是因为SAX分析器只做了一些简单的工作,大部分工作还要由应用程序自己去做。 也就是说,SAX分析器在

文档评论(0)

1亿VIP精品文档

相关文档