没有合适的资源?快使用搜索试试~ 我知道了~
通过JACOB实现Java与COM组件的互操作
需积分: 20 12 下载量 184 浏览量
2014-06-06
18:20:23
上传
评论 1
收藏 94KB DOCX 举报
温馨提示
试读
5页
软件的互操作性是一个我们经常面临的问题,如果 Java 可以自由的调用其他语言和平台的成熟代码,可以充分利用您的 Java 技能,大大提高您的生产力。现有的 Java COM 互操作技术有很多种实现,JACOB 开源项目提供了一个简单方便的通用调用框架,本文就结合一个实例来介绍 JACOB 项目的使用和优点
资源推荐
资源详情
资源评论
通过 JACOB 实现 Java 与 COM 组
件的互操作
软件的互操作性是一个我们经常面临的问题,如果 Java 可以自由的调用
其他语言和平台的成熟代码,可以充分利用您的 Java 技能,大大提高您
的生产力。现有的 Java COM 互操作技术有很多种实现,JACOB 开源项
目提供了一个简单方便的通用调用框架,本文就结合一个实例来介绍
JACOB 项目的使用和优点。
内容
我们在实现复杂软件或者进行集成环境的测试时,往往要与各种应用程序打交道。理
想情况下,如果能用一种编程语言实现所有功能是很令人憧憬的,但由于遗留代码、
语言的能力和厂商的互操作性的策略不同,这往往是一个不现实的目标。比如您可以
使用 C#,C++ 或 VB 等语言方便的操作 Outlook 邮箱,但是如果您是一个 Java
程序员,事情就不那么简单了。如果我们可以在 Java 中调用 COM 组件,就可以充分
利用您的 Java 技能和现有的成熟 COM 工具包,大大简化应用开发的过程。
COM 组件提供了一种与其他语言的互操作方式,叫做自动化(Automation)。现有
的 Java COM 互操作的解决方案有很多种,由于设计目的的不同,在性能、易用性等
方面都有很大的区别。本文介绍的 JACOB 开源项目,致力于简化 Java 操作 COM 组
件,提供了一个虚拟机独立的自动化服务器实现,由于其通用性设计,您可以非常简
单地完成对现有应用的集成。
JACOB 项目的由来
首先,我们将了解 JACOB 项目的基本情况,探讨在什么样的情况下选择它来完成您
的任务
有关自动化的更多细节,您可以参考相关文档和书籍,我们仅做简单介绍。调用 COM
中暴露出来的方法,主要有两种机制:早期绑定和晚期绑定。
早期绑定显式的声明对象、数据类型等,编译器获取了足够的信息在编译期进行链接
和优化,这样通常可以获得更好的性能,通过这种机制实现 Bridge 调用可以参考
IBM 的 RJCB 项目,它提供了一套高性能的解决方案。当然您需要了解更多 COM 组
件的细节,虽然框架为您完成了大部分的生成 Bridge 代码的工作,但是总体来说,
编码工作量还是偏大,编码难度也比较高,而且 RJCB 仅支持那些提供早期绑定的
vtable 接口的 COM API。
而晚期绑定方式是通过 IDispatch
接口来实现,类似 Java 的反射机制,您可以按照
名称或者 ID 进行方法调用,这种设计主要目的是支持脚本语言操作 COM,因为脚本
资源评论
csdn_hnhk
- 粉丝: 30
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功