| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
J2EE常见术语一句话解释 RMI Rmote Method Invocation(远程方法调用) 用于Java平台中的远程方法调用。它具有分布式垃圾收集、可自动下载类文件等功能。位于java.rmi包中。 注意:RMI只能在Java平台中使用。通过RMI传输的参数必须可以序列化 CORBA Common Object Request Broker Architecture(公共对象请求代理体系结构) 用于实现独立于平台及编程语言的分布式应用 ORB Object Request Broker(对象请求代理) 负责具体的网络通信,是构建分布式应用的基础。 STUB与SKELETON 存根与骨架 无论是RMI还是ORB,其实现本质都是采用了代理模式。其中存根为客户端使用的代理,拥有通过网络访问远程对象的能力;骨架为远程对象的代理,用来接受存根的调用,并返回结果。 附:在CORBA和JAVA 5中也支持动态调用,即存根不是必须存在的。 RMI-IIOP Remote Method Invocation over the Internet-ORB Protocol(基于互联网的对象请求代理协议实现的远程方法调用) J2EE和EJB事实上的网络通信标准,基于RMI,同时又兼容CORBA,使得EJB组件可以被Java之外的客户端调用。位于javax.rmi包中。 话题1:为何J2EE要兼容CORBA CORBA是OMG(对象管理组织)推出的成功的分布式对象通信标准,为了占领企业级市场,EJB必须考虑和遗留系统的集成,以及为异构系统提供服务,这都需要采用更加通用的CORBA,而不是只能在Java平台下使用的RMI。 话题2:引入CORBA之后面临的问题 1,分布式垃圾收集:并非所有支持CORBA的语言都有垃圾收集机制。 2,窄化(Narrowing):当通过RMI或RMI-IIOP获取一远程对象时,实际上获取的是其存根(Stub)。在RMI中,会自动下载此存根;而CORBA没有这个机制,必须用额外的方法解决(其实是通过javax.rmi.PortableRemoteObject的narrow方法解决的)。 JNDI Java Naming and Directory Interface(Java命名和目录接口) 通过统一的方式,根据资源名称查找资源,而不用关心资源的具体位置。比如通过JNDI查找EJB组件,Jdbc数据源。 接下来用一组图展示Java客户端调用EJB组件的过程 获取Home接口对象 1,客户端通过JNDI查找Home接口 2,得到Home接口存根后将其窄化 获取远程对象 1,客户端通过Home接口调用create方法 2,应用服务器返回EJB对象(的存根) (因为缓存机制,未必会得到新的对象) 通过远程对象存根进行交互 1,客户端调用远程对象存根中的方法 2,远程对象存根委派给真正的远程对象 3,并接口远程对象的返回值给客户端 最后说明一点,既然是“一句话解释”,很多概念自然说的不精确,只是说明了它的主题应用。如果想要详细了解可以在网上搜索相关资料(比如在百度的“知道”搜索这些名词,《精通EJB》书后的附录也有不错的解释) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
J2EE常见术语一句话解释
最新推荐文章于 2024-11-04 22:26:34 发布