9.3. IM-BIS で外部連携として利用できるJavaプログラムの仕様¶
IM-BIS の外部連携機能で使用できる「Javaプログラム」(クラス)の仕様について説明します。JAVA連携を行うプログラムは、この項の記載に基づいて開発してください。
Contents
9.3.1. JAVA連携の仕組み¶
外部連携(JAVA連携)の処理は以下の図の通りです。
- フォーム情報をデータマッパーに渡します。(フォーム情報 -> 外部連携リクエストデータの変換処理)
- マッピングされた外部連携リクエストデータを外部連携エンジンに渡します。(外部連携リクエストデータの型はjava.util.HashMap)
- データソース定義から呼び出すクラスを生成し、実行対象のメソッドに(2)で作成した外部連携リクエストデータを引数として実行します。
- プログラム実行後、外部連携レスポンスデータとしてオブジェクト(メソッドの戻り値)が返却されます。
- (4)で取得した外部連携レスポンスデータをデータマッパーに渡します。(外部連携レスポンスデータ-> フォーム情報の変換処理)
- マッピングされたデータはレスポンスデータとしてフォームに返却されます。
注意
外部連携ではレスポンス処理で大量のデータを扱うと、メモリを消費するためアプリケーションの性能に影響を及ぼす可能性があります。以下のような対処方法を行い、メモリの消費を抑えるようにしてください。
- 外部連携先で、少量のレスポンスデータでの連携を行う。
- バッチ処理で大量データを扱うような処理を、外部連携のようなオンライン処理で行わない。
9.3.2. JAVA連携で呼び出し可能なクラス¶
外部連携(JAVA連携)で呼び出すことのできるクラスは、以下の通りです。
クラスのデフォルトコンストラクタを呼び出すことができること。
呼び出し可能なメソッドを1つ以上用意してください。
メソッドの引数、および戻り値については、「 入出力オブジェクトの仕様 」を確認してください。
作成するJavaプログラム内で、intra-martのAPIやサードパーティライブラリを利用して、プログラムを実行することができます。
コラム
サードパーティライブラリを使用する場合は、事前にアプリケーションのクラスパスに設定してください。
クラス内に複数の呼び出し可能なメソッドを含める事ができます。
コラム
複数のメソッドを定義した場合、データソース定義画面で選択することが可能です。
Javaプログラムはjarファイル単位で管理するため、内部で使用するクラスを含める事ができます。
9.3.3. 入出力オブジェクトの仕様¶
外部連携(JAVA連携)で呼び出すことの出来るプログラム(メソッド)の引数、戻り値は以下の通りです。
引数は、1つであり、java.util.Mapインタフェースを実装した型(HashMap、LinkedHashMapなど)が利用できます。
戻り値は、java.util.Mapインタフェースを実装した型、またはjava.util.Listインタフェースを実装した型(ArrayList、LinkedListなど)を指定します。
Listの中身やMapのキーに対応する値については、以下のクラスを使用できます。また、データソース定義とJavaのクラスの対応関係については、以下の表を参照してください。
データソース定義のデータ型 Javaのクラス array java.util.List object java.util.Map date java.util.Date number java.math.BigDecimal boolean java.lang.Boolean string java.lang.String コラム
Java連携の外部連携としてエラーにしたい場合は、Exception を throw してください。例外メッセージは、throwするExceptionに設定します。上記の処理を行うことで、例外メッセージが以下に出力されます。
- %CONTEXT_PATH%/WEB-INF/log/product/bis/bis.log
9.3.4. 設定例¶
外部連携(JAVA)の設定例については、「 IM-BIS システム管理者操作ガイド 」「 外部連携サンプルプログラム(JAVA) 」を参照してください。