機能紹介 : Java ゲートウェイ
とインターシステムズ製品
Version 2019.1
2019-05-31
機能紹介 : Java ゲートウェイとインターシステムズ製品 InterSystems IRIS Data Platform Version 2019.1 2019-05-31 Copyright © 2019 InterSystems Corporation
All rights reserved.
InterSystems, InterSystems Caché, InterSystems Ensemble, InterSystems HealthShare, HealthShare, InterSystems TrakCare, TrakCare, InterSystems DeepSee, および DeepSee は InterSystems Corporation の登録商標です。
InterSystems IRIS Data Platform, InterSystems IRIS, InterSystems iKnow, Zen, および Caché Server Pages は InterSystems Corporation の登録 商標です。
ここで使われている他の全てのブランドまたは製品名は、各社および各組織の商標または登録商標です。
このドキュメントは、インターシステムズ社(住所:One Memorial Drive, Cambridge, MA 02142)あるいはその子会社が所有する企業秘密および秘密 情報を含んでおり、インターシステムズ社の製品を稼動および維持するためにのみ提供される。この発行物のいかなる部分も他の目的のために使 用してはならない。また、インターシステムズ社の書面による事前の同意がない限り、本発行物を、いかなる形式、いかなる手段で、その全てまたは 一部を、再発行、複製、開示、送付、検索可能なシステムへの保存、あるいは人またはコンピュータ言語への翻訳はしてはならない。 かかるプログラムと関連ドキュメントについて書かれているインターシステムズ社の標準ライセンス契約に記載されている範囲を除き、ここに記載さ れた本ドキュメントとソフトウェアプログラムの複製、使用、廃棄は禁じられている。インターシステムズ社は、ソフトウェアライセンス契約に記載され ている事項以外にかかるソフトウェアプログラムに関する説明と保証をするものではない。さらに、かかるソフトウェアに関する、あるいはかかるソフ トウェアの使用から起こるいかなる損失、損害に対するインターシステムズ社の責任は、ソフトウェアライセンス契約にある事項に制限される。 前述は、そのコンピュータソフトウェアの使用およびそれによって起こるインターシステムズ社の責任の範囲、制限に関する一般的な概略である。完 全な参照情報は、インターシステムズ社の標準ライセンス契約に記され、そのコピーは要望によって入手することができる。 インターシステムズ社は、本ドキュメントにある誤りに対する責任を放棄する。また、インターシステムズ社は、独自の裁量にて事前通知なしに、本ド キュメントに記載された製品および実行に対する代替と変更を行う権利を有する。 インターシステムズ社の製品に関するサポートやご質問は、以下にお問い合わせください: InterSystems Worldwide Response Center (WRC)
+1-617-621-0700 Tel: +44 (0) 844 854 2917 Tel: support@InterSystems.com Email:
目次
機能紹介 : Java ゲートウェイとインターシステムズ製品... 1 1 Java ゲートウェイが重要な理由 ... 1 2 Java ゲートウェイについて... 1 2.1 開始の前に... 1 2.2 JAR ファイルの作成... 1 2.3 Java ゲートウェイの起動... 2 2.4 プロキシ・クラスの生成 ... 2 2.5 ObjectScript での Java オブジェクトの操作... 3 3 Java ゲートウェイの詳細... 4 機能紹介 : Java ゲートウェイとインターシステムズ製品 iii機能紹介 : Java ゲートウェイとインターシステ
ムズ製品
この機能紹介ガイドでは、InterSystems IRIS™ で Java ゲートウェイを使用して Java コンポーネントとの相互運用を実現 する方法を説明します。ここでは、まずサンプルの JAR ファイルを作成します。次に、InterSystems IRIS 管理ポータル で Java ゲートウェイを作成して起動します。作成したサンプルの JAR ファイルをプログラムによってインポートします。最 後に、ObjectScript でいくつかのプロキシ・クラスおよびオブジェクトを作成して操作します。 詳細にとらわれずに Java ゲートウェイの基本機能を体験していただくため、以下の操作例はシンプルなものにしてあり ます。これらのアクティビティは、既定の設定と機能のみを使用する設計になっているため、ユーザはトピック外または過 度に複雑な詳細を扱うことなく、機能の基本部分を十分に理解することができます。Java ゲートウェイをプロダクション・ システムで使用する際には、異なる処理が必要になることがあります。したがって、ここに示す Java ゲートウェイの操作 例と本番での操作を混同しないようにしてください。このドキュメントの最後に示すソースでは、Java ゲートウェイをプロダ クション環境で使用するために必要な良策が提供されています。
1 Java ゲートウェイが重要な理由
Java ゲートウェイを使用すると、InterSystems IRIS と Java コンポーネント間の相互運用が簡単に実現します。Java ゲー トウェイを使用して JAR ファイルをインポートしたら、外部の Java オブジェクトをインスタンス化し、InterSystems IRIS 内 のネイティブ・オブジェクトのようにその Java オブジェクトを操作できます。InterSystems IRIS および ObjectScript 内か ら Java クラスおよびメソッドにアクセスできるようになります。
内部的には、Java ゲートウェイによって、Java クラスごとに 1 対 1 の ObjectScript プロキシが生成されます。一般に、 Java ゲートウェイを活用するには、必要な機能のみを公開する小型の Java ラッパ・クラスを構築し、このラッパのプロキ シを作成します。
2 Java ゲートウェイについて
Java ゲートウェイと InterSystems IRIS の操作方法を示す簡単なデモが開発されています。
2.1 開始の前に
デモを実行するには、InterSystems IRIS のライセンス付与された稼働中インスタンスとバージョン 1.8 の JDK がある 1 台の Windows 10 マシンが必要です。
InterSystems IRIS の開発インスタンスをインストールしてライセンスを取得する方法は、"クイックスタート : InterSystems IRIS インストール" を参照してください。
2.2 JAR ファイルの作成
任意の IDE を使用して、Java でPerson クラスを作成します。次のサンプル・コードを使用してください。
public class Person { public int age;
public String name; //constructor
public Person (int startAge, String Name) { age = startAge;
name = Name; }
public void setAge(int newAge) { age = newAge;
}
public String getName() { return name;
}
public int getAge() { return age; }
public static void main(String []args) { Person myPerson = new Person (5, "Tom"); System.out.println(myPerson.getName()); System.out.println(myPerson.getAge()); } } Person クラスをコンパイルします。次に、コマンド・プロンプト・ウィンドウを開き、Person.class ファイルが含まれるディレ クトリに移動します。次のコマンドを使用して、Person.jar ファイルを生成します。
jar cf Person.jar Person.class
Person.jar ファイルの場所をメモします。
2.3 Java ゲートウェイの起動
Java ゲートウェイを起動するには、以下の手順を実行します。 1. InterSystems IRIS システム管理ポータルで、[オブジェクトゲートウェイ]ページに移動します ([システム管理]→[構 成]→[接続性]→[オブジェクトゲートウェイ])。 2. [新規ゲートウェイ作成]を選択します。 3. [Java]ラジオ・ボタンを選択します。 4. [ゲートウェイ名]に「JavaGatewayTest」、[ポート]に「55555」と入力します。 5. [保存]をクリックします。 6. 新しい Java ゲートウェイの行で、[開始]をクリックします。2.4 プロキシ・クラスの生成
USERネームスペースで、CreateProxyClasses.cls という新しい ObjectScript クラスを作成し、JavaGatewayTestとい
うパッケージ名を付けます。次のコードを貼り付けます。
Class JavaGatewayTest.CreateProxyClasses Extends %Persistent {
ClassMethod run() {
// get a connection to the Java Gateway
set gwyConn = ##class(%Net.Remote.Gateway).%New()
set status = gwyConn.%Connect("127.0.0.1", 55555, "USER")
2 機能紹介 : Java ゲートウェイとインターシステムズ製品 Java ゲートウェイについて
if $$$ISERR(status) {
write !,"error: "_$system.OBJ.DisplayError(status) quit
}
// add the jar to the classpath
set classpath = ##class(%ListOfDataTypes).%New() do classpath.Insert("YOUR FILEPATH HERE")
set status = gwyConn.%AddToCurrentClassPath(classpath) if $$$ISERR(status) {
write !,"error: "_$system.OBJ.DisplayError(status) quit
}
// create the proxy ObjectScript classes that correspond to the Java classes in the jar file set status = gwyConn.%Import("Person",,,,1)
if $$$ISERR(status) {
write !,"error: "_$system.OBJ.DisplayError(status) quit
}
// close the connection to the Java gateway set status = gwyConn.%Disconnect()
if $$$ISERR(status) {
write !,"error: "_$system.OBJ.DisplayError(status) quit
} } }
YOUR FILEPATH HEREを、Person.jar ファイルの完全なファイル・パスに置き換えて、二重引用符で囲みます。
クラスをコンパイルおよび構築します。
InterSystems IRIS ターミナルを開き、USERネームスペースに移動します。run() メソッドを、以下のコマンドで実行しま す。
do ##class(JavaGatewayTest.CreateProxyClasses).run()
2.5 ObjectScript での Java オブジェクトの操作
USERネームスペースで、ManipulateObjects.cls という新しい ObjectScript クラスを作成し、JavaGatewayTestという
パッケージ名を付けます。次のコードを貼り付けます。
Class JavaGatewayTest.ManipulateObjects Extends %Persistent {
ClassMethod run() {
// get a connection to the Java Gateway
set gwyConn = ##class(%Net.Remote.Gateway).%New()
set status = gwyConn.%Connect("127.0.0.1", 55555, "USER") if $$$ISERR(status) {
write !,"error: "_$system.OBJ.DisplayError(status) quit
}
// manipulate some proxy objects
set person = ##class(User.Person).%New(gwyConn,5,"Tom") write !,"Name: "_person.getName()
write !,"Age: "_person.getAge() write !,"setting age to 100" do person.setAge(100)
write !,"Age: "_person.getAge()
// close the connection to the Java Gateway set status = gwyConn.%Disconnect()
if $$$ISERR(status) { write !,"error:"_$system.OBJ.DisplayError(status) quit } } } 機能紹介 : Java ゲートウェイとインターシステムズ製品 3 Java ゲートウェイについて
クラスをコンパイルおよび構築します。
InterSystems IRIS ターミナルを開き、USERネームスペースに移動します。run() メソッドを、以下のコマンドで実行しま す。 do ##class(JavaGatewayTest.ManipulateObjects).run() 以下のような出力が表示されます。 Name: Tom Age: 5 setting age to 100 Age: 100 これで演習は正常に完了したので、作成した Java ゲートウェイを停止します。管理ポータルの[オブジェクトゲートウェ イ]ページに戻り、JavaGatewayTestゲートウェイを見つけて、[停止]を選択します。
3 Java ゲートウェイの詳細
Java ゲートウェイおよび InterSystems IRIS の詳細は、以下を参照してください。 Java ゲートウェイの使用法
Java ビジネス・ホストを使用したシステムの接続
4 機能紹介 : Java ゲートウェイとインターシステムズ製品 Java ゲートウェイの詳細