设为首页 收藏本站
查看: 662|回复: 0

[经验分享] WebLogic RMI 编程(四)

[复制链接]

尚未签到

发表于 2017-2-14 11:00:26 | 显示全部楼层 |阅读模式
使用 IIOP 上的 RMI
以下部分提供 IIOP 上的 RMI 的高级视图:

  • 什么是 IIOP 上的 RMI?
  • WebLogic RMI-IIOP 概述
  • 协议兼容性

什么是 IIOP 上的RMI?
IIOP 上的 RMI 将 RMI 扩展为可在 IIOP 协议中工作。这样带来了两个可以利用的好处。在 Java 到 Java 模式中,这使您能够按照标准化的互联网内部对象请求代理协议(Internet Interop-Orb-Protocol,简称 IIOP)编程。如果您不是在纯 Java 环境下工作,则使用它可以使 Java 程序与通用对象请求代理体系结构(Common Object Request Broker Architecture,简称 CORBA)客户端交互,并执行 CORBA 对象。CORBA 客户端可使用各种语言(包括 C++)编写,并使用接口定义语言(Interface Definition Language,简称 IDL)与远程对象交互。
WebLogic RMI-IIOP 概述
WebLogic Server 提供了自己的 ORB 实现,默认情况下,它在程序调用 ORB.init() 时或在 JNDI 中查找 "java:comp/ORB" 时进行实例化。有关 WebLogic Server 如何符合 J2SE 1.4 中有关 CORBA 支持的规范的信息,请参阅 CORBA 对 WebLogic Server 的支持。
RMI-IIOP 的 WebLogic Server 实现使您能够:

  • 使用标准化的 IIOP 协议将 Java RMI 客户端连接到 WebLogic Server
  • 将 CORBA/IDL 客户端(包括用 C++ 编写的客户端)连接到 WebLogic Server
  • 在 WebLogic Server 和 Tuxedo 客户端之间进行互操作
  • 将各种客户端连接到 WebLogic Server 上承载的 EJB

RMI-IIOP 应用程序的开发方式取决于要集成的服务和客户端。有关如何为使用 RMI 和 RMI-IIOP 的各种客户端类型创建应用程序的详细信息,请参阅独立客户端编程。
图7-1 显示了使用 IIOP 的对象的 RMI 对象关系。
图 7-1 RMI 对象关系




对 RMI (Java) 客户端上使用 RMI-IIOP 的支持
可对 Java/RMI 客户端使用 RMI-IIOP,充分利用标准 IIOP 协议。WebLogic Server 为在 Java 到 Java 的环境中使用 RMI-IIOP 提供了多种选择,其中包括新的 J2EE 应用程序客户端(瘦客户端,基于占用较小空间的新客户端 JAR)。要使用这个新的瘦客户端,需要在客户端的 CLASSPATH 中包含 wlclient.jar(位于 WL_HOME/server/lib 中)。有关 RMI-IIOP 客户端选项的详细信息,请参阅独立客户端编程。
对 Tuxedo 客户端上使用 RMI-IIOP 的支持
WebLogic Server 包含了 WebLogic Tuxedo Connector 的实现,这是一种使您能够与 Tuxedo 服务器进行互操作的底层技术。使用 WebLogic Tuxedo Connector,可以将 Tuxedo 作为 ORB 利用,或者将旧版 Tuxedo 系统与在 WebLogic Server 上开发的应用程序集成。有关详细信息,请参阅 WebLogic Tuxedo Connector 编程人员指南。
对 CORBA/IDL 客户端上使用 RMI-IIOP 的支持
开发人员社区要求能够从 CORBA/IDL 客户端访问 J2EE 服务。但是,Java 和 CORBA 所基于的对象模型有很大不同。因此,直到现在,在用两种编程模式创建的对象间共享数据仍然仅限于 Remote 和 CORBA 基元数据类型。在异构对象间,不论是 CORBA 结构还是 Java 对象,都不能及时传递。为解决这方面的限制,Object Management Group (OMG) 创建了 Objects-by-Value 规范。此规范定义了将 Java 对象模型导出到 CORBA/IDL 编程模型中的实现技术,它允许在两种模型间互换复杂数据类型。通过正确实现规范的任意 CORBA ORB,WebLogic Server 能够支持 Objects-by-Value。
协议兼容性
在下列场景中,支持 WebLogic Server 9.x 与 WebLogic Server 7.0 及 8.1 之间的互操作性:

  • 服务器与服务器之间的互操作性
  • 客户端与服务器之间的互操作性

服务器与服务器之间的互操作性
下表标识了所支持的用于在两个 WebLogic Server 实例之间进行互操作的选项。

表 7-1 WebLogic Server 之间的互操作性 目标服务器

源服务器
WebLogic Server 7.0
WebLogic Server 8.1
WebLogic Server 9.x
WebLogic Server 7.0
RMI/T3
RMI/IIOP1
HTTP
Web Service
RMI/T3
RMI/IIOP2
HTTP
Web Service3
RMI/T3
RMI/IIOP4
HTTP
Web Service5
WebLogic Server 8.1
RMI/T3
RMI/IIOP6
HTTP
Web Service7
RMI/T3
RMI/IIOP
HTTP
Web Service
RMI/T3
RMI/IIOP
HTTP
Web Service
WebLogic Server 9.x
RMI/T3
RMI/IIOP8
HTTP
Web Service9
RMI/T3
RMI/IIOP
HTTP
Web Service
RMI/T3
RMI/IIOP
HTTP
Web Service
Sun JDK ORB 客户端 10
RMI/IIOP11
RMI/IIOP12
RMI/IIOP13
1 不支持群集 URL
2 不支持群集 URL
3 必须使用从“目标服务器”版本生成的可移植的客户端存根控件
4 不支持群集 URL
5 必须使用从“目标服务器”版本生成的可移植的客户端存根控件
6 不支持群集 URL 并且无事务传播
7 必须使用从“目标服务器”版本生成的可移植的客户端存根控件
8 不支持群集 URL 并且无事务传播
9 必须使用从“目标服务器”版本生成的可移植的客户端存根控件
10 此选项涉及从 WebLogic Server 上承载的应用程序直接调用 JDK ORB
11 JDK 1.3.x 或 1.4.1。无群集。无事务传播
12 JDK 1.3.x 或 1.4.1。无群集。无事务传播
13 JDK 5.0。无群集。无事务传播


客户端与服务器之间的互操作性
下表标识了所支持的用于在独立 Java 客户端应用程序和 WebLogic Server 实例间进行互操作的选项。

表 7-2 客户端与服务器之间的互操作性 目标服务器

独立客户端
WebLogic Server 7.0
WebLogic Server 8.1
WebLogic Server 9.x
WebLogic Server 7.0
RMI/T3
RMI/IIOP1
HTTP
Web Service
RMI/T3
RMI/IIOP2
HTTP
Web Service3
RMI/T3
RMI/IIOP4
HTTP
Web Service5
WebLogic Server 8.1
RMI/T3
RMI/IIOP6
HTTP
Web Service7
RMI/T3
RMI/IIOP
HTTP
Web Service
RMI/T3
RMI/IIOP
HTTP
Web Service
WebLogic Server 9.x
RMI/T3
RMI/IIOP8
HTTP
Web Service9
RMI/T3
RMI/IIOP
HTTP
Web Service
RMI/T3
RMI/IIOP
HTTP
Web Service
Sun JDK ORB 客户端 10
RMI/IIOP11
RMI/IIOP12
RMI/IIOP13
1 不支持群集或故障转移
2 不支持群集或故障转移
3 必须使用从“目标服务器”版本生成的可移植的客户端存根控件
4 不支持群集或故障转移
5 必须使用从“目标服务器”版本生成的可移植的客户端存根控件
6 不支持群集或故障转移,并且无事务传播。已知存在异常编组问题
7 必须使用从“目标服务器”版本生成的可移植的客户端存根控件
8 不支持群集或故障转移,并且无事务传播。已知存在异常编组问题
9 必须使用从“目标服务器”版本生成的可移植的客户端存根控件
10 此选项涉及从客户端应用程序直接调用 JDK ORB
11 JDK 1.3.x 或 1.4.1。无群集。无事务传播
12 JDK 1.3.x 或 1.4.1。无群集。无事务传播
13 JDK 5.0。无群集。无事务传播

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-342006-1-1.html 上篇帖子: 部署webLogic之使用WebService 下篇帖子: spring配置weblogic的jndi
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表