JCom(Java-COMブリッジ)


Japanese | English

はじめに

あなたはマイクロソフトが好きですか?
答えがどうであれ、大半の人々がWindowsやOffice製品を 使っているのは事実です。 これらはCOM(component object model)アーキテクチャに 基づいて作られています。もしJavaからCOMが使えれば、 マイクロソフトの大半の製品がJavaから使えるようになるでしょう。 VBAで扱うように・・・。
4コマまんが

JComとは

JComとはJavaからWindowsのCOMを利用することのできる Java-COMブリッジです。ExcelやWordなど、既存のCOMの 機能をJavaから利用することができます。

Windowsにはマイクロソフト社が作った大量のCOMが用意 されています。これらはVisual-BASICやVB-Scriptなどから 利用でき、マイクロソフト社が目指す、新しいプログラ ミングスタイルの鍵となっています。

一方、Javaはサーバアプリケーション、アプレット、 組み込みなどの分野を中心に広がっています。 しかし、クライアントアプリケーションの分野では、 まだまだ遅れています。Javaで作られたアプリケーション はほとんどありません。

ならば、すでにあるアプリケーションを利用しない手は ありません。COMはそのアプリケーションを外部から 利用するための共通のインターフェースです。COMを Javaから利用できるようにすれば、それに対応した アプリケーションはすべてJavaから利用できるように なります。

例えば、サーバアプリケーションで、DBの情報を集計し、 用意されたExcelのフォーマットにまとめ、印刷する、 ということができるでしょう。あるいは、クライアント のアプリケーションでも、Excelを帳票出力のための ミドルウェアとして使うこともできるでしょう。 ひょっとしたら、認証済みアプレットでも使えるかも しれません。JavaからOffice製品、およびWindows自身 の機能を利用できるようになります。

一部の熱狂的なJava信者には、この方法は邪道と思わ れるかもしれません。本来なら、Java-Beansを作り、 それを利用すべきですから。しかし、Beansを作り、 今のMS-Officeのレベルまで達するのには、いくらかの 歳月が必要です。現実問題として、ユーザの多くは、 Windowsを使っており、MS-Officeを使っているのです。 私が懸念しているのは、100%PureJavaにこだわるあまり、 Javaの採用が断念されることです。これらに対抗するの ではなく、それを包み込む形でJavaの利用範囲を広げ たいのです。これがこのJComの目的です。

サンプル

こちら

ダウンロード

jcom220.jar(454,456 byte)
ライブラリ(jcom.jar+jcom.dll)、ソース、ドキュメント、サンプル付きです。


インストール方法、技術情報

guide.html


ライセンス

GNU LGPLとします。
http://www.gnu.org/copyleft/lesser.html原文
http://www.vector.co.jp/soft/data/prog/se086178.html邦訳(参考)


サポート

ホームページ: http://www11.u-page.so-net.ne.jp/ga2/no-ji/jcom/index.htm
メール:mailto:no-ji@ga2.so-net.ne.jp

ご利用していただいた(または、ご利用予定の)ソフト

Xi (XML埋め込み言語)
http://www.baykit.org/
XML MAGAZINE 02号に記事が載っています。162ページに、JComを紹介して頂きました。 ありがとうございます。

Pnuts (Javaによるスクリプト言語)
http://www.etale.com/~tomatsu/pnuts/pnuts-com-ja.html
JAVA PRESS Vol.9 等に記事があります。

現在開発中の次期バージョンの内容について

こちら

注意!

英語版のページを泣きながら作りました。(T_T)
もともと私は英語が苦手なので、おかしい箇所が絶対にあります。

変更履歴

2000/10/16 Ver2.20
  • サポートしている型を増やした。(guide.html参照)
  • 引数を間違えたとき、エラーとして検出するようにした。
  • 引数の並びを逆にしなければならなかった不具合を修正。
  • 参照渡しのときに値が反映されない不具合を修正。
  • String[]の変換が失敗していた不具合を修正。
  • VBで作られたCOMを呼ぶサンプルを追加。

    2000/09/04
  • 想定事例3:ExcelからXMLを作成
  • サンプルの英語化
  • Cautionを校正。Takahiroさんありがとうございます。感謝感激です。
    2000/08/29
  • 呼び出し方法をVC++のCOleDispatchDriver::InvokeHelperV()に合わせる。
  • 対応するVARIANT型を追加。VT_UI1,VT_BYREF等
  • 開発中のITypeInfo,ITypeLib,Comを安定版に昇格。
  • インストール方法を提示
  • 英語用ページを開設
    2000/08/06
  • 想定事例1。Excelによる見積書作成のサンプルを作成。→jcom201.lzh
  • #01 ExcelWorkbooks.Open()メソッドの戻り値の間違いを修正。→同上
  • ライセンス形態について悩む・・・(@_@)?


    戻る