機能紹介 : Java ゲートウェイ とインターシステムズ製品 Version 2019.1 2019-05-31 InterSystems Corporation 1 Memorial Drive Cambridge MA 02142 www.intersystems.com
機能紹介 : 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) Tel: +1-617-621-0700 Tel: +44 (0) 844 854 2917 Email: support@intersystems.com
目次 機能紹介 : 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; 機能紹介 : Java ゲートウェイとインターシステムズ製品 1
Java ゲートウェイについて 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 ゲートウェイについて // add the jar to the classpath set classpath = ##class(%listofdatatypes).%new() do classpath.insert("your FILEPATH HERE") set status = gwyconn.%addtocurrentclasspath(classpath) // create the proxy ObjectScript classes that correspond to the Java classes in the jar file set status = gwyconn.%import("person",,,,1) // close the connection to the Java gateway set status = gwyconn.%disconnect() 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") // 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() write!,"error:"_$system.obj.displayerror(status) 機能紹介 : 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 ゲートウェイとインターシステムズ製品