(57)【特許請求の範囲】
【請求項１】
ＪＭＳを利用したメッセージによってウェブソケットゲートウェイ装置及びＪＭＳサーバ装置を介してＪＭＳクライアント装置と通信するＪａｖａ（登録商標）クライアントコンピュータであって、処理結果を含む前記メッセージを作成するための既存イベント処理メソッドを有する既存アダプタプログラムを記憶したメモリを備えた前記Ｊａｖａクライアントコンピュータに用いられる呼出アダプタプログラムであって、
前記Ｊａｖａクライアントコンピュータを、
前記処理結果をウェブソケットにより送信するためのイベントが発生した場合、第１イベント処理メソッドを呼び出し、前記第１イベント処理メソッドの実行により、前記ウェブソケットのイベントに応じて前記既存イベント処理メソッドに対応する第２イベント処理メソッドを呼び出し、前記第２イベント処理メソッドの実行により、前記イベントに応じて前記既存アダプタプログラムの既存イベント処理メソッドを呼び出す手段、
前記呼び出した既存イベント処理メソッドの実行により作成された前記処理結果を含むメッセージを前記第２イベント処理メソッドから前記第１イベント処理メソッドに返し、前記第１イベント処理メソッドの実行により、前記返されたメッセージを前記ウェブソケットの制限に対応して前記ＪＭＳクライアント装置に向けて送信する手段、
として機能させ、
前記呼び出す手段は、前記ウェブソケットのイベントに応じて、前記既存アダプタプログラムのクラスと、当該クラスの既存イベント処理メソッドとを指定するように予めプロパティが設定されており、
前記イベントは、送信イベント、受信イベント、要求イベント、再送イベント、又は再要求イベントである呼出アダプタプログラム。
【請求項２】
システムに用いられ、ＪＭＳに対応して通信を実行可能なＪＭＳクライアントコンピュータであって、第１の処理を実行して第１の処理結果を作成するための既存アダプタプログラムを記憶したメモリを備えた前記ＪＭＳクライアントコンピュータに用いられる呼出アダプタプログラムであって、
前記ＪＭＳクライアントコンピュータを、
前記第１の処理及び第２の処理を所定の制限に応じて実行するためのイベントが発生した場合、前記イベントに応じて前記既存アダプタプログラムを呼び出す手段、
前記呼び出した既存アダプタプログラムの実行により得られた前記第１の処理結果に基づき、前記第２の処理を前記制限に応じて実行する手段、
として機能させ、
前記所定の制限は、ウェブソケットの制限と、前記システムの制限とを含んでおり、
前記システムの制限は、漢字の利用不可、又はリソースの制限を含んでいる呼出アダプタプログラム。
【請求項３】
ＪＭＳを利用したメッセージによってウェブソケットゲートウェイ装置及びＪＭＳサーバ装置を介してＪＭＳクライアント装置と通信するＪａｖａ（登録商標）クライアントコンピュータであって、処理結果を含む前記メッセージを作成するための既存イベント処理メソッドを有する既存アダプタプログラムを記憶したメモリ及びプロセッサを備えた前記Ｊａｖａクライアントコンピュータに用いられる呼出方法であって、
前記プロセッサが、前記処理結果をウェブソケットにより送信するためのイベントが発生した場合、第１イベント処理メソッドを呼び出し、前記第１イベント処理メソッドの実行により、前記ウェブソケットのイベントに応じて前記既存イベント処理メソッドに対応する第２イベント処理メソッドを呼び出し、前記第２イベント処理メソッドの実行により、前記イベントに応じて前記既存アダプタプログラムの既存イベント処理メソッドを呼び出す工程と、
前記プロセッサが、前記呼び出した既存イベント処理メソッドの実行により作成された前記処理結果を含むメッセージを前記第２イベント処理メソッドから前記第１イベント処理メソッドに返し、前記第１イベント処理メソッドの実行により、前記返されたメッセージを前記ウェブソケットの制限に対応して前記ＪＭＳクライアント装置に向けて送信する工程と、
を備え、
前記呼び出す工程は、前記ウェブソケットのイベントに応じて、前記既存アダプタプログラムのクラスと、当該クラスの既存イベント処理メソッドとを指定するように予め設定されたプロパティを用いており、
前記イベントは、送信イベント、受信イベント、要求イベント、再送イベント、又は再要求イベントであることを特徴とする呼出方法。
【請求項４】
システムに用いられ、ＪＭＳに対応して通信を実行可能なＪＭＳクライアントコンピュータであって、第１の処理を実行して第１の処理結果を作成するための既存アダプタプログラムを記憶したメモリ及びプロセッサを備えた前記ＪＭＳクライアントコンピュータに用いられる呼出方法であって、
前記プロセッサが、前記第１の処理及び第２の処理を所定の制限に応じて実行するためのイベントが発生した場合、前記イベントに応じて前記既存アダプタプログラムを呼び出す工程と、
前記プロセッサが、前記呼び出した既存アダプタプログラムの実行により得られた前記第１の処理結果に基づき、前記第２の処理を前記制限に応じて実行する工程と、
を備え、
前記所定の制限は、ウェブソケットの制限と、前記システムの制限とを含んでおり、
前記システムの制限は、漢字の利用不可、又はリソースの制限を含んでいることを特徴とする呼出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、呼出アダプタプログラム及び呼出方法に関する。
【背景技術】
【０００２】
図１に示すように、ウェブソケット（WebSocket）ゲートウェイ装置１は、ブラウザ等のウェブ環境を用いるＪａｖａ（登録商標）クライアント装置２と、ＪＭＳ（Java Message Service）サーバ装置３との間のＪＭＳメッセージングに用いられている。ＪＭＳサーバ装置３は、ＪＭＳクライアント装置４との間のＪＭＳメッセージングにも用いられる。【０００３】
ウェブ環境では、ウェブソケット上（over WebSocket）のシンプル（又はストリーミング）テキスト指向（orientated）メッセージングプロトコル（以下、ＳＴＯＭＰという）を用いて通信が実行される。ウェブソケットゲートウェイ装置１では、通信メッセージをＪＭＳにマッピングする。ＳＴＯＭＰは、言語に依存しないテキストベースのメッセージングプロトコルである。各ＪＭＳサーバ装置３は、ＪＭＳと連携するためにＳＴＯＭＰをサポートしている。【０００４】
ウェブソケットは、ＪＭＳに対応したウェブソケットゲートウェイ装置１により、インターネット上のＪａｖａアプリケーションとバックエンドのＪＭＳアプリケーションとの間の通信に容易に適用可能となっている。【０００５】
例えば、携帯端末、ＰＣ又はタブレット等のＪａｖａクライアント装置１と、バックエンドのＪＭＳクライアント装置４との間で、ＪＭＳを利用したメッセージの送受信が可能となっている。【０００６】
図２に示すように、ウェブソケットゲートウェイ装置１が提供するＪａｖａクライアントライブラリのインターフェイスは、ＪＭＳのＡＰＩ（application programming interface）を基本としており、通常のＪＭＳクライアントと同様の作成方法で作成可能となっている。【０００７】
しかしながら、ウェブソケットの基本ルールと、ＪＭＳの基本ルールとは、完全には一致しておらず、例えば以下のような相違がある。この相違は、ＪＭＳに対応するウェブソケットゲートウェイ装置１を提供するベンダが提供するＪＭＳライブラリによって異なる。【０００８】
ウェブソケットでは、１コネクションに対して１セッションのみを用いる。【０００９】
ＪＭＳでは、１コネクションに対して複数セッションのみを用いる。【００１０】
ウェブソケットでは、メッセージ本体（MessageBody）のみをサポートする。【００１１】
ＪＭＳでは、メッセージヘッダ（MessageHeader）もサポートする。【００１２】
このような違いを吸収するため、以下の３通りの方式がとられている。【００１３】
第１の方式は、図３に示すように、ＪＭＳアプリケーション用のアダプタ４ａと、ウェブソケットアプリケーション用のアダプタ２ａとを別々に開発する方式である。【００１４】
第２の方式は、図４に示すように、アダプタ４ａをより制限の強いアプリケーション（例えばウェブソケットアプリケーション）にそろえる方式である。【００１５】
第３の方式は、図５に示すように、コアのクラス名を同一として、コアライブラリを切り替える方式である。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２０１３−２１１７６６号公報
【特許文献２】特表２００４−５１９７５６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１７】
しかしながら、以上のような第１乃至第３の方式は、以下のように不都合がある。【００１８】
例えば、第１の方式は、アプリケーション別にアダプタ２ａ，４ａを開発するため、手間がかかる。【００１９】
第２の方式は、ウェブソケット以外で利用する場合も機能が制限されるため、制限が強くなってしまう。【００２０】
第３の方式は、コアのクラス名が同一のため、コアライブラリを管理できない。【００２１】
従って、このような不都合を解消する観点から、アプリケーション別にアダプタを開発する必要がなく、アダプタをより制限の強いアプリケーションにそろえる必要がなく、コアライブラリを管理し得る方式が望ましい。【００２２】
本発明が解決しようとする課題は、アプリケーション別にアダプタを開発する必要がなく、アダプタをより制限の強いアプリケーションにそろえる必要がなく、コアライブラリを管理し得る呼出アダプタプログラム及び呼出方法を提供することである。
【課題を解決するための手段】
【００２３】
実施形態の呼出アダプタプログラムは、処理結果を作成するための既存アダプタプログラムを記憶したメモリを備えたコンピュータに用いられる。【００２４】
前記呼出アダプタプログラムは、前記処理結果をウェブソケットにより送信するためのイベントが発生した場合、前記イベントに応じて前記既存アダプタプログラムを呼び出す機能を前記コンピュータに実現させる。【００２５】
前記呼出アダプタプログラムは、前記呼び出した既存アダプタプログラムの実行により作成された前記処理結果を前記ウェブソケットにより送信する機能を前記コンピュータに実現させる。
【図面の簡単な説明】
【００２６】
【図１】図１は、ウェブソケットを利用したＪＭＳの通信方式を説明するための模式図である。
【図２】図２は、ウェブソケットを利用したＪＭＳアプリケーション通信方式を説明するための模式図である。
【図３】図３は、アダプタを個別開発する方式を説明するための模式図である。
【図４】図４は、アダプタを制限の強い方に合わせる方式を説明するための模式図である。
【図５】図５は、ライブラリの置き換えを行う方式を説明するための模式図である。
【図６】図６は、従来の方式を説明するための模式図である。
【図７】図７は、第１の実施形態の方式を説明するための模式図である。
【図８】図８は、第１の実施形態に係る呼出アダプタプログラムを適用したシステムの構成を示す模式図である。
【図９】図９は、呼出アダプタプログラムによるメソッド呼出処理の概念を示す模式図である。
【図１０】図１０は、同実施形態における動作を説明するための模式図である。
【図１１】図１１は、従来の方式の動作を説明するための模式図である。
【図１２】図１２は、第２の実施形態に係る呼出アダプタプログラムを適用したシステムの構成を示す模式図である。
【図１３】図１３は、同実施形態における動作を説明するための模式図である。
【図１４】図１４は、従来の方式の動作を説明するための模式図である。
【発明を実施するための形態】
【００２７】
以下、各実施形態について図面を用いて説明する。以下の各装置は、ハードウェア資源とソフトウェアとの組合せ構成で実施可能となっている。このソフトウェアとしては、例えば図８及び図１２に示すように、予めネットワーク又は非一時的なコンピュータ読取可能な記憶媒体（non-transitory computer-readable storage medium）Ｍ１，Ｍ２からコンピュータにインストールされ、当該コンピュータのプロセッサに実行されることにより、各装置の機能を当該コンピュータに実現させるためのプログラムが用いられる。
【００２８】
＜第１の実施形態＞
始めに、第１の実施形態の概要を述べる。
【００２９】
第１の実施形態は、ウェブソケット環境で、既存ＪＭＳアプリケーション（以下、既存アダプタ）を利用するアダプタ（以下、ウェブソケットアダプタ（WebSocketAdapter）））に関する。すなわち、第１の実施形態は、ＪＭＳアプリケーション及びウェブソケットアプリケーションの両者に共通のアダプタをＪＭＳ及びウェブソケットと接続するために、コア内部からアダプタを呼び出す方式に関する。
【００３０】
具体的には、第１の実施形態は、アダプタ２ｇがコアライブラリを呼び出す従来の方式（図６）とは異なり、コアライブラリ（２ｆ）がアダプタ２ｇを内部から呼び出す方式（図７）を用いている。補足すると、第１の実施形態は、個々のアダプタ２ｇ１〜２ｇ４がウェブソケットの制限を吸収する従来の方式（図６）とは異なり、コアライブラリ（２ｆ）がウェブソケットの制限を吸収する方式（図７）を用いている。
【００３１】
従って、第１の実施形態では、以下の効果（ａ）〜（ｃ）を得ることができる。
【００３２】
（ａ）ウェブソケットの制限を意識せずに、ＪＭＳの基本ルールに沿ってアダプタを開発できる。
【００３３】
（ｂ）ＪＭＳアプリケーション及びウェブソケットＪａｖａアプリケーションの両者に同じアダプタを利用できる。
【００３４】
（ｃ）重複するクラス名がなく、コアライブラリにウェブソケット用の拡張クラスを１つ追加した構成のため、コアライブラリを容易に管理できる。
【００３５】
以上が第１の実施形態の概要である。続いて、第１の実施形態を具体的に述べる。
【００３６】
図８は第１の実施形態に係る呼出アダプタプログラムを適用したシステムの構成を示す模式図であり、図９は呼出アダプタプログラムによるメソッド呼出処理の概念を示す模式図である。このシステムは、Ｊａｖａクライアント装置２が、ウェブソケットゲートウェイ装置１及びＪＭＳサーバ装置３を介してＪＭＳクライアント装置４に通信可能となっている。
【００３７】
ここで、ウェブソケットゲートウェイ装置１及びＪＭＳサーバ装置３は、前述同様の構成を有している。
【００３８】
Ｊａｖａクライアント装置２は、図示しないメモリ及びプロセッサを備えたコンピュータであり、ウェブソケット上のＳＴＯＭＰを用いて通信を実行可能となっている。
【００３９】
Ｊａｖａクライアント装置２内のプロセッサは、メモリ内のプログラムを実行可能となっている。
【００４０】
Ｊａｖａクライアント装置２のメモリは、例えば、ＳＴＯＭＰ用のプログラム２ｂ、ウェブソケットＪａｖａクライアントライブラリ２ｃ、ＳＩＢ（service integration bus）アダプタ２ｄ及び各種のアプリケーション（図示せず）等を記憶している。
【００４１】
プログラム２ｂ及びウェブソケットＪａｖａクライアントライブラリ２ｃは、既存の構成となっている。
【００４２】
ＳＩＢアダプタ２ｄは、処理結果を作成するための既存アダプタプログラムであり、例えば、ＳＩＢアダプタクラス２ｅ、ＳＩＢウェブソケットアダプタクラス２ｆ、既存ＳＩＢアダプタ２ｇ及びＳＩＢカスタムアダプタクラス２ｈを含んでいる。
【００４３】
ＳＩＢアダプタクラス２ｅは、既存ＳＩＢアダプタ２ｇの処理により呼び出される既存のコアライブラリの一部である。
【００４４】
ＳＩＢウェブソケットアダプタクラス（呼出アダプタプログラム）２ｆは、コアライブラリに追加されたウェブソケット用の拡張クラスであり、具体的には、コンピュータに、以下の各機能ｆ１〜ｆ２を実現させるためのプログラムである。
【００４５】
（ｆ１）既存アダプタ２ｇの実行による処理結果をウェブソケットにより送信するためのイベントが発生した場合、当該イベントに応じて既存アダプタ２ｇを呼び出す機能。なお、イベントは、例えば、タイマにより発生してもよく、メッセージの受信により発生してもよい。すなわち、イベントの発生としては、任意のトリガが使用可能となっている。
【００４６】
（ｆ２）当該呼び出した既存アダプタ２ｇの実行により作成された当該処理結果をウェブソケットにより送信する機能。
【００４７】
補足すると、ＳＩＢウェブソケットアダプタクラス２ｆは、図９に示すように、イベント毎に、呼び出す既存ＳＩＢアダプタ２ｇと、当該既存ＳＩＢアダプタ２ｇのイベント処理メソッドとを指定するように予めプロパティが設定されている。
【００４８】
例えば、起動するイベントに応じて、既存ＳＩＢアダプタ２ｇのクラスと、当該クラスの初期化イベント処理メソッド（onInitialize）とを指定するように予めプロパティが設定されている。
【００４９】
また、ウェブソケットのイベント（送信、受信、要求、再送、再要求）に応じて、既存ＳＩＢアダプタ２ｇのクラスと、当該クラスのイベント処理メソッドとを指定するように予めプロパティが設定されている。
【００５０】
例えば、ウェブソケットの送信イベントに応じて、既存ＳＩＢアダプタ２ｇのクラス“プロデューサ（Producer）”と、当該クラスの送信イベント処理メソッド（onSend）とを指定するように予めプロパティが設定されている。
【００５１】
また、ウェブソケットの受信イベントに応じて、既存ＳＩＢアダプタ２ｇのクラス“コンシューマ（Consumer）”と、当該クラスの受信イベント処理メソッド（onReceive）とを指定するように予めプロパティが設定されている。
【００５２】
また、ウェブソケットの要求イベントに応じて、既存ＳＩＢアダプタ２ｇのクラス“リクエスタ（Requestor）”と、当該クラスの要求イベント処理メソッド（onRequest）とを指定するように予めプロパティが設定されている。
【００５３】
また、ウェブソケットにおける再送イベントに応じて、既存ＳＩＢアダプタ２ｇのクラス“リクエスタ”と、当該クラスの再送イベント処理メソッド（onReply）とを指定するように予めプロパティが設定されている。
【００５４】
また、ウェブソケットの再要求イベントに応じて、既存ＳＩＢアダプタ２ｇのクラス“リプライヤ（Replier）”と、当該クラスの再要求イベント処理メソッド（onRequestReply）とを指定するように予めプロパティが設定されている。
【００５５】
同様に、停止するイベントに応じて、既存ＳＩＢアダプタ２ｇのクラスと、当該クラスの停止イベント処理メソッド（onTerminate）とを指定するように予めプロパティが設定されている。
【００５６】
このように、ＳＩＢウェブソケットアダプタクラス２ｆは、ウェブソケットにおけるイベント毎に、ウェブソケットの制限に対応しつつ、既存アダプタ２ｇを利用するためのプログラムである。ウェブソケットの制限は、前述したウェブソケットの基本ルールを守ることに相当する。
【００５７】
ここで、ＳＩＢアダプタクラス２ｅ及びＳＩＢウェブソケットアダプタクラス２ｆは、コアライブラリを構成している。
【００５８】
既存ＳＩＢアダプタ（既存アダプタプログラム）２ｇは、既存のアダプタプログラムであり、例えば、ＳＩＢファイルアダプタクラス２ｇ１、ＳＩＢ外部コマンドアダプタクラス２ｇ２、ＩＳＢ ＤＢアダプタクラス２ｇ３及びＳＩＢカスタムアダプタクラス２ｇ４を含んでいる。
【００５９】
ＳＩＢカスタムアダプタクラス２ｈは、新たなアダプタプログラムの一例であり、必須ではなく、省略可能なプログラムである。
【００６０】
ＪＭＳクライアント装置４は、図示しないメモリ及びプロセッサを備えたコンピュータであり、ＪＭＳに対応して通信を実行可能となっている。
【００６１】
ＪＭＳクライアント装置４のメモリは、例えば、ＪＭＳ用のプログラム４ｂ、ＪＭＳクライアントライブラリ４ｃ、ＳＩＢアダプタ４ｄ及び各種のアプリケーション（図示せず）等を記憶している。
【００６２】
プログラム４ｂ、ＪＭＳクライアントライブラリ４ｃ及びＳＩＢアダプタ４ｄは、既存の構成となっている。
【００６３】
ＳＩＢアダプタ４ｄは、ＳＩＢアダプタクラス４ｅ及び既存ＳＩＢアダプタ４ｇを含んでいる。
【００６４】
ＳＩＢアダプタクラス４ｅは、既存ＳＩＢアダプタ４ｇの処理により呼び出される既存のコアライブラリの一部である。
【００６５】
既存ＳＩＢアダプタ４ｇは、既存のアダプタプログラムであり、例えば、ＳＩＢファイルアダプタクラス４ｇ１、ＳＩＢ外部コマンドアダプタクラス４ｇ２、ＩＳＢ ＤＢアダプタクラス４ｇ３及びＳＩＢカスタムアダプタクラス４ｇ４を含んでいる。
【００６６】
次に、以上のように構成されたシステム内の呼出アダプタプログラムの実行による呼出方法について図１０及び図１１を用いて説明する。
【００６７】
いま、Ｊａｖａクライアント装置２では、図示しないプロセッサがメモリ内のプログラムを実行しているとする。これに伴い、Ｊａｖａクライアント装置２では、図１０に示すように、ＳＩＢウェブソケットアダプタ２ｆ’及びＳＩＢファイルアダプタプロデューサ２ｇ１’という機能ブロックが動作しているとする。ここで、ＳＩＢウェブソケットアダプタ２ｆ’は、プロセッサがＳＩＢウェブソケットアダプタクラス２ｆのプログラム（呼出アダプタプログラム）を実行して実現される機能ブロックである。ＳＩＢファイルアダプタプロデューサ２ｇ１’は、プロセッサがＳＩＢファイルアダプタクラス２ｇ１のプログラムを実行して実現される機能ブロックである。すなわち、Ｊａｖａクライアント装置２のプロセッサは、各プログラムの実行により、各機能ブロックとして動作している。
【００６８】
例えば、Ｊａｖａクライアント装置２において、既存アダプタ２ｇの実行による処理結果をウェブソケットにより送信するためのイベントが発生したとする（ＳＴ１）。
【００６９】
イベントが発生した場合、ＳＩＢウェブソケットアダプタ（WebSocketAdapter）２ｆ１’のイベント処理メソッド（onEvent）が呼び出される（ＳＴ２）。
【００７０】
ＳＩＢウェブソケットアダプタ２ｆ１’は、呼び出されたイベント処理メソッドの実行により、内部で送信イベント処理メソッド（onSend）を呼び出す（ＳＴ３）。
【００７１】
ＳＩＢウェブソケットアダプタ２ｆ１’は、ステップＳＴ３で呼び出された送信イベント処理メソッドの実行により、内部でＳＩＢファイルアダプタ（FileAdapter）（指定したクラス）２ｇ１’の送信イベント処理メソッド（onSend）を呼び出す（ＳＴ４）。
【００７２】
ＳＩＢファイルアダプタ２ｇ１’は、ステップＳＴ４で呼び出された送信イベント処理メソッドの実行により、指定されたファイル１１を読み出す（ＳＴ５）。
【００７３】
ＳＩＢファイルアダプタ２ｇ１’は、当該ファイル１１に基づいて、送信用のメッセージ１２を作成する（ＳＴ６）。なお、メッセージ１２のメッセージプロパティ“FileName”には、読み出したファイル名が記述される。メッセージ１２のメッセージボディには、読み出したファイルの内容が挿入される。
【００７４】
しかる後、ＳＩＢファイルアダプタ２ｇ１’は、当該メッセージ１２を呼び出し元のＳＩＢウェブソケットアダプタ２ｆ１’の送信イベント処理メソッドに返す（ＳＴ７）。
【００７５】
ＳＩＢウェブソケットアダプタ２ｆ１’の送信イベント処理メソッドは、ステップＳＴ７で返されたメッセージ１２を呼び出し元のイベント処理メソッド（onEvent）に返す（ＳＴ８）。
【００７６】
ＳＩＢウェブソケットアダプタ２ｆ１’のイベント処理メソッドは、ステップＳＴ８で返されたメッセージ１２をウェブソケットにより送信する（ＳＴ９）。
【００７７】
なお、ステップＳＴ９では、ＳＩＢウェブソケットアダプタ２ｆ’の内部でウェブソケットの制限に対応して、メッセージ１２を送信している。ウェブソケットの制限は、１コネクション１セッション、メッセージ本体（MessageBody）及びメッセージヘッダ（MessageHeader）に関するウェブソケットの基本ルールを守ることに相当する。
【００７８】
このような図１０に示した本実施形態の動作は、図７に示したように実行されている。
【００７９】
一方、従来の方式では、ウェブソケットの制限に対応するＳＩＢウェブソケットアダプタ２ｆ１’が存在しない。
【００８０】
このため、従来の方式では、図１１に示すように、ステップＳＴ１でイベントが発生した場合、ＳＩＢファイルアダプタ（FileAdapter）２ｇ１’のイベント処理メソッド（onEvent）が呼び出される（ＳＴ２’）。
【００８１】
ＳＩＢファイルアダプタ２ｇ１’は、呼び出されたイベント処理メソッドの実行により、内部で送信イベント処理メソッド（onSend）を呼び出す（ＳＴ３’）。
【００８２】
ＳＩＢファイルアダプタ２ｇ１’は、ステップＳＴ３’で呼び出された送信イベント処理メソッドの実行により、指定されたファイル１１を読み出す（ＳＴ５）。
【００８３】
ＳＩＢファイルアダプタ２ｇ１’は、当該ファイル１１に基づいて、送信用のメッセージ１２を作成する（ＳＴ６）。なお、メッセージ１２のメッセージプロパティ“FileName”には、読み出したファイル名が記述される。メッセージ１２のメッセージボディには、読み出したファイルの内容が挿入される。
【００８４】
しかる後、ＳＩＢファイルアダプタ２ｇ１’は、当該メッセージ１２を呼び出し元のイベント処理メソッド（onEvent）に返す（ＳＴ７’）。
【００８５】
ＳＩＢファイルアダプタ２ｇ１’のイベント処理メソッドは、ステップＳＴ８で返されたメッセージ１２をウェブソケットにより送信する（ＳＴ９’）。なお、ステップＳＴ９’では、ＳＩＢファイルアダプタ２ｇ１’の内部でウェブソケットの制限に対応して、メッセージ１２を送信している。ウェブソケットの制限は、前述した通りである。
【００８６】
このような図１１に示した従来の動作は、図６に示したように実行されている。すなわち、従来の方式によれば、図６に示すように、個々の既存アダプタ２ｇがウェブソケットの制限を吸収するので、従来の課題を解決することができない。
【００８７】
上述したように本実施形態によれば、イベントが発生した場合、イベントに応じて既存アダプタプログラムを呼び出し、当該呼び出した既存アダプタプログラムの実行により作成された処理結果をウェブソケットにより送信する。これにより、アプリケーション別にアダプタを開発する必要がなく、アダプタをより制限の強いアプリケーションにそろえる必要がなく、コアライブラリを管理することができる。
【００８８】
補足すると、本実施形態では、１つのウェブソケットアダプタがウェブソケットの制限を吸収し、内部から既存アダプタを呼び出し可能とすることで、ウェブソケットの制限に関わらず、既存アダプタを利用できる。
【００８９】
また、ウェブソケットでは、ゲートウェイ提供ベンダによって異なるが、ＪＭＳ標準機能に比べて機能制限がある。その場合でも、本実施形態では、既存アダプタの変更、制限を考慮したアダプタ開発、複数のライブラリ管理等を行わず、対応することが可能となる。
【００９０】
また、本実施形態は、２つのシステムをつなぐテーブルを用いず、同じシステム上の違いを吸収する構成により、テーブルによる変換処理の負荷を不要としつつ、実現することができる。このことは、以下の各実施形態でも同様である。
【００９１】
＜第２の実施形態＞
次に、第２の実施形態に係わる呼出アダプタプログラムについて説明する。
【００９２】
始めに、第２の実施形態の概要を述べる。
【００９３】
第２の実施形態は、各システムにおいて、ウェブソケットの制限以外にも、ローカルルールによる制限がある場合に対応している。
【００９４】
この種のローカルルールの例としては、漢字の利用不可、リソースの制限又はメッセージフォーマットの制限、などがある。リソースの制限としては、例えば、メッセージサイズによっては分割する、などの制限がある。メッセージフォーマットの制限としては、例えば、特定のメッセージヘッダを設定する必要がある、などの制限がある。
【００９５】
この場合、第１の実施形態と同様に、システムの制限（ローカルルール）に対応した呼出アダプタプログラムを作成し、その呼出アダプタプログラムを実行して既存アダプタを呼び出す構成により、システムの制限に関わらず、既存アダプタを利用できる。
【００９６】
すなわち、第２の実施形態は、第１の実施形態と同様に、呼出アダプタプログラムを利用することで、既存アダプタの変更、制限に対応した個々のアダプタ開発、及び複数のライブラリ管理等を行わずに、ローカルルールに対応することが可能となる。
【００９７】
以上が第２の実施形態の概要である。続いて、第２の実施形態を具体的に述べる。
【００９８】
図１２は第２の実施形態に係る呼出アダプタプログラムを適用したシステムの構成を示す模式図である。
【００９９】
ＪＭＳクライアント装置４’は、図示しないメモリ及びプロセッサを備えたコンピュータであり、システムＡに用いられ、ＪＭＳに対応して通信を実行可能となっている。
【０１００】
ＪＭＳクライアント装置４’内のプロセッサは、メモリ内のプログラムを実行可能となっている。
【０１０１】
ＪＭＳクライアント装置４のメモリは、例えば、システムＡ用のプログラム４ｉ、ＪＭＳ用のプログラム４ｂ、ＪＭＳクライアントライブラリ４ｃ、ＳＩＢアダプタ４ｄ’及び各種のアプリケーション（図示せず）等を記憶している。
【０１０２】
各プログラム４ｉ，４ｂ及びＪＭＳクライアントライブラリ４ｃは、既存の構成となっている。
【０１０３】
ＳＩＢアダプタ４ｄ’は、第１の処理を実行して第１の処理結果を作成するための既存アダプタプログラムであり、例えば、ＳＩＢアダプタクラス４ｅ、ＳＩＢシステムＡアダプタクラス４ｆ、既存ＳＩＢアダプタ４ｇ及びＳＩＢカスタムアダプタクラス４ｈを含んでいる。
【０１０４】
ＳＩＢアダプタクラス４ｅは、既存ＳＩＢアダプタ４ｇの処理により呼び出される既存のコアライブラリの一部である。
【０１０５】
ＳＩＢシステムＡアダプタクラス（呼出アダプタプログラム）４ｆは、コアライブラリに追加されたシステムＡ用の拡張クラスであり、具体的には、以下の各機能ｆ１’〜ｆ２’をコンピュータに実現させるためのプログラムである。
【０１０６】
（ｆ１’）第１の処理及び第２の処理を所定の制限に応じて実行するためのイベントが発生した場合、当該イベントに応じて既存アダプタ４ｇを呼び出す機能。
【０１０７】
（ｆ２’）当該呼び出した既存アダプタ４ｇの実行により得られた当該第１の処理結果に基づき、第２の処理を当該制限に応じて実行する機能。
【０１０８】
このように、ＳＩＢシステムＡアダプタクラス４ｆは、システムＡにおけるイベント毎に、システムＡの制限に対応しつつ、既存アダプタ４ｇを利用するためのプログラムである。システムＡの制限は、前述したローカルルールを守ることに相当する。
【０１０９】
ここで、ＳＩＢアダプタクラス４ｅ及びＳＩＢシステムＡアダプタクラス４ｆは、コアライブラリを構成している。
【０１１０】
既存ＳＩＢアダプタ（既存アダプタプログラム）４ｇは、既存のアダプタプログラムであり、例えば、ＳＩＢファイルアダプタクラス４ｇ１、ＳＩＢ外部コマンドアダプタクラス４ｇ２、ＩＳＢ ＤＢアダプタクラス４ｇ３及びＳＩＢカスタムアダプタクラス４ｇ４を含んでいる。
【０１１１】
ＳＩＢカスタムアダプタクラス４ｈは、新たなアダプタプログラムの一例であり、必須ではなく、省略可能なプログラムである。
【０１１２】
以上のような構成によれば、図１３に示すように、第１の処理及び第２の処理を所定の制限に応じて実行するためのイベントが発生した場合、ＳＩＢシステムＡアダプタクラス４ｆが起動され、図示しないプロセッサがＳＩＢシステムＡアダプタクラス４ｆのプログラムを実行することにより、当該イベントに応じて既存アダプタ４ｇを呼び出す。また、当該プロセッサは、当該呼び出した既存アダプタ４ｇの実行により得られた当該第１の処理結果に基づき、第２の処理を当該制限に応じて実行する。
【０１１３】
従って、本実施形態によれば、第１の実施形態と同様に、アプリケーション別にアダプタを開発する必要がなく、アダプタをより制限の強いアプリケーションにそろえる必要がなく、コアライブラリを管理することができる。
【０１１４】
補足すると、本実施形態では、１つのＳＩＢシステムＡアダプタがシステムＡの制限（ローカルルール）を吸収し、内部から既存アダプタを呼び出し可能とすることで、システムＡの制限に関わらず、既存アダプタを利用することができる。
【０１１５】
一方、従来の方式によれば、図１４に示すように、複数の既存アダプタ４ｇ１〜４ｇ４がシステムＡの制限を吸収するので、従来の課題を解決することができない。
【０１１６】
以上説明した少なくとも一つの実施形態によれば、イベントが発生した場合、当該イベントに応じて既存アダプタプログラムを呼び出し、当該既存アダプタプログラムの実行により得られた実行結果に基づいて、制限に応じた処理を実行する。これにより、アプリケーション別にアダプタを開発する必要がなく、アダプタをより制限の強いアプリケーションにそろえる必要がなく、コアライブラリを管理することができる。
【０１１７】
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【０１１８】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【０１１９】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が上記実施形態を実現するための各処理の一部を実行しても良い。
【０１２０】
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【０１２１】
また、記憶媒体は１つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【０１２２】
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【０１２３】
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【０１２４】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【要約】
実施形態の呼出アダプタプログラムは、処理結果を作成するための既存アダプタプログラムを記憶したメモリを備えたコンピュータに用いられる。前記呼出アダプタプログラムは、前記コンピュータに、前記処理結果をウェブソケットにより送信するためのイベントが発生した場合、前記イベントに応じて前記既存アダプタプログラムを呼び出す機能を実現させる。前記呼出アダプタプログラムは、前記コンピュータに、前記呼び出した既存アダプタプログラムの実行により作成された前記処理結果を前記ウェブソケットにより送信する機能を実現させる。【図１】
0005805312.tif 000002
【図２】
0005805312.tif 000003
【図３】
0005805312.tif 000004
【図４】
0005805312.tif 000005
【図５】
0005805312.tif 000006
【図６】
0005805312.tif 000007
【図７】
0005805312.tif 000008
【図８】
0005805312.tif 000009
【図９】
0005805312.tif 000010
【図１０】
0005805312.tif 000011
【図１１】
0005805312.tif 000012
【図１２】
0005805312.tif 000013
【図１３】
0005805312.tif 000014
【図１４】
0005805312.tif 000015