(57)【要約】【課題】外部からアプリケーションの実行要求を受けることなく、データベース上のデータ更新を契機にアプリケーションの処理を実行するアプリケーションサーバを得る。【解決手段】データの更新を監視する対象となるデータベースの情報を記憶した監視対象データベース記憶部１１と、データベース上のデータ更新と起動するアプリケーションとを対応付けたアプリケーション起動条件記憶部１２とを有し、データベース更新検出部２１によって、監視対象データベース記憶部１１のデータベース情報に基づいて、データベース２００上のデータ更新を検出し、アプリケーション起動条件判定部２２に検出結果を渡すと、アプリケーション起動条件判定部２２は、アプリケーション起動条件記憶部１２に基づいて、データ更新に対応するアプリケーションを決定し、アプリケーション実行基盤部２３がそのアプリケーションを実行する。【選択図】図１
2014010790.tif 000002
【特許請求の範囲】
【請求項１】
データの更新を監視する対象となるデータベースの情報を記憶した監視対象データベース記憶部、
データベース上のデータ更新とこれに対応して起動させるアプリケーションとを対応付けたアプリケーション起動条件記憶部、
上記監視対象データベース記憶部のデータベースの情報を用いて、上記データベース上のデータ更新内容を検出するデータベース更新検出手段、
上記アプリケーション起動条件記憶部に基づき、上記データベース更新検出手段により検出されたデータ更新内容から起動させるアプリケーションを判定するアプリケーション起動条件判定手段、
及びこのアプリケーション起動条件判定手段により判定されたアプリケーションを実行するアプリケーション実行手段を備えたことを特徴とするアプリケーションサーバ。
【請求項２】
上記データベース更新検出手段は、
複数のデータベースにそれぞれ対応して設けられ、対応するデータベースからデータ更新内容を検出する複数のデータベース接続用アダプタと、
上記監視対象データベース記憶部に記憶されたデータベースの情報を取得し、この取得したデータベースに対応するデータベース接続用アダプタを呼び出すデータベース接続用アダプタ呼出手段とを有することを特徴とする請求項１記載のアプリケーションサーバ。
【請求項３】
請求項１または請求項２記載のアプリケーションサーバ、
及びこのアプリケーションサーバが利用するデータベース及び他のシステムが利用するデータベースに接続され、
上記他のシステムが利用するデータベースが更新された場合に、上記アプリケーションサーバが利用するデータベースに上記更新内容を複製するデータ連携手段を備えたことを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データベースを持つ情報処理システムのうち、データベース上のデータ更新を契機にアプリケーション処理を行うアプリケーションサーバ及びこれを用いた情報処理システムに関するものである。
【背景技術】
【０００２】
情報処理システムにおいては、アプリケーションを配備登録することで、アプリケーションを動作させることができる機能をもつ、アプリケーションサーバが利用されている。
従来のアプリケーションサーバにおいては、アプリケーションの実行要求をアプリケーションサーバが受け付けることを契機にアプリケーションを動作させ、その実行結果を実行要求元に返却している。
特許文献１には、データ更新に応じた処理を実現するため、トランザクション実行依頼データを受け付け、対応する変更同期トランザクションを実行し、実行依頼元に処理完了を通知する処理方式が示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２９７４２９号公報（第６〜１２頁、図１）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のアプリケーションサーバにおいては、アプリケーションの実行要求をアプリケーションサーバが受け付けることを契機にアプリケーションを動作させる仕組みとしているため、データベース上のデータ更新を契機にアプリケーションサーバ上のアプリケーションを実行するためには、特許文献１のように、アプリケーションサーバの外部からアプリケーションの実行要求を発行する必要があった。
そのため、データベース上のデータの変更を契機にアプリケーションを動作させたい場合、アプリケーションサーバ上のアプリケーションとは別に、データベース監視用のアプリケーションを個別開発する必要があり、また、このデータベース監視用のアプリケーションは、アプリケーションサーバ上に乗らないため、アプリケーションサーバの運用とは別に、データベース監視用アプリケーションの起動停止などの運用を行う必要があった。
【０００５】
この発明は、上述のような課題を解決するためになされたものであり、外部からアプリケーションの実行要求を受けることなく、データベース上のデータ更新を契機にアプリケーションの処理を実行するアプリケーションサーバ及びこれを用いた情報処理システムを得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係わるアプリケーションサーバにおいては、データの更新を監視する対象となるデータベースの情報を記憶した監視対象データベース記憶部、データベース上のデータ更新とこれに対応して起動させるアプリケーションとを対応付けたアプリケーション起動条件記憶部、監視対象データベース記憶部のデータベースの情報を用いて、データベース上のデータ更新内容を検出するデータベース更新検出手段、アプリケーション起動条件記憶部に基づき、データベース更新検出手段により検出されたデータ更新内容から起動させるアプリケーションを判定するアプリケーション起動条件判定手段、及びこのアプリケーション起動条件判定手段により判定されたアプリケーションを実行するアプリケーション実行手段を備えたものである。
【発明の効果】
【０００７】
この発明によれば、データの更新を監視する対象となるデータベースの情報を記憶した監視対象データベース記憶部、データベース上のデータ更新とこれに対応して起動させるアプリケーションとを対応付けたアプリケーション起動条件記憶部、監視対象データベース記憶部のデータベースの情報を用いて、データベース上のデータ更新内容を検出するデータベース更新検出手段、アプリケーション起動条件記憶部に基づき、データベース更新検出手段により検出されたデータ更新内容から起動させるアプリケーションを判定するアプリケーション起動条件判定手段、及びこのアプリケーション起動条件判定手段により判定されたアプリケーションを実行するアプリケーション実行手段を備えたので、外部からアプリケーションの実行要求を受けることなく、データベース上のデータ更新を契機にアプリケーションの処理を実行することができる。
【図面の簡単な説明】
【０００８】
【図１】この発明の実施の形態１によるアプリケーションサーバを示す構成図である。
【図２】この発明の実施の形態１によるアプリケーションサーバの監視対象データベース情報の設定例を示す図である。
【図３】この発明の実施の形態１によるアプリケーションサーバのアプリケーション起動条件情報の設定例を示す図である。
【図４】この発明の実施の形態１によるアプリケーションサーバのデータベース更新検出部の処理を示すフローチャートである。
【図５】この発明の実施の形態１によるアプリケーションサーバのアプリケーション起動条件判定部の処理を示すフローチャートである。
【図６】この発明の実施の形態２によるアプリケーションサーバのデータベース更新検出部を示す構成図である。
【図７】この発明の実施の形態２によるアプリケーションサーバのデータベース接続用アダプタ呼出部の処理を示すフローチャートである。
【図８】この発明の実施の形態２によるアプリケーションサーバのデータベース接続用アダプタの処理を示すフローチャートである。
【図９】この発明の実施の形態３によるアプリケーションサーバを用いたシステム構成例を示す図である。
【発明を実施するための形態】
【０００９】
実施の形態１．
以下、この発明の実施の形態１を図に基づいて説明する。
図１は、この発明の実施の形態１によるアプリケーションサーバを示す構成図である。
図１において、アプリケーションサーバ１００は、データベース２００を使用するとともに、データベース２００上のデータ更新を契機にアプリケーション処理を行うものであり、次のように構成されている。
監視対象データベース記憶部１１は、データの更新を監視する対象となるデータベースの情報を記憶する。アプリケーション起動条件記憶部１２は、データベース上のデータ更新と起動するアプリケーションの対応付けを記憶する。アプリケーション記憶部１３は、動作させるアプリケーションを記憶する。
アプリケーション配備インターフェイス部３０は、これら各記憶部に格納する情報を、ユーザによって登録・削除する手段であり、各記憶部と接続されている。
【００１０】
データベース更新検出部２１（データベース更新検出手段）は、監視対象データベース記憶部１１に格納された監視対象データベースの情報を元に、データベース２００に接続し、データベース２００上で発生したデータ更新を検出する。
アプリケーション起動条件判定部２２（アプリケーション起動条件判定手段）は、アプリケーション起動条件記憶部１２に格納されたデータベース上のデータ更新と起動するアプリケーションの対応付けの情報を元に、データベース更新検出部２１で検出したデータ更新の内容に応じて実行すべきアプリケーションを特定する。
アプリケーション実行基盤部２３（アプリケーション実行手段）は、アプリケーション記憶部１３に格納されたアプリケーションを展開し、アプリケーション起動条件判定部２２で実行すべきと特定されたアプリケーションを実際に実行する。
【００１１】
図２は、この発明の実施の形態１によるアプリケーションサーバの監視対象データベース情報の設定例を示す図である。
図２においては、監視対象データベース記憶部１１に登録される監視対象データベース情報の設定例を示している。
監視対象データベース情報には、監視対象となる「データベース種類」が含まれており、他の項目は、監視対象となる「データベース種類」に応じて設定する。監視対象データベース情報の「データベース種類」は、データベース更新検出部２１が動作対象としてサポートするデータベース種類の中から指定する。
【００１２】
ここでは、アプリケーションサーバ１００の監視対象となる「データベース種類」として「Ｏｒａｃｌｅ１１ｇ」が選択されており、そのデータベース種類に対応した情報として「データベースインスタンスの名称」、「データ更新の検出方法」、「データベースの文字コード」、「接続用のユーザ／パスワード」について、それぞれ「ｍｙｉｎｓｔａｎｃｅ」、「データベースの更新履歴ログ確認」、「ＳＪＩＳ」、「ｍｙｕｓｅｒ／ｍｙｐａｓｓｗｏｒｄ」である場合が示されている。
【００１３】
図３は、この発明の実施の形態１によるアプリケーションサーバのアプリケーション起動条件情報の設定例を示す図である。
図３においては、アプリケーション起動条件記憶部１２に登録される、データベース上のデータ更新と起動するアプリケーションの対応付けの情報（アプリケーション起動条件情報）の設定例を示している。
【００１４】
ここでは、データベースへの注文記録情報の記録を受けて「料金計算」アプリケーションと「ポイント計算」アプリケーションを、出荷記録情報の記録を受けて「在庫計算」アプリケーションを実行する場合を考える。
アプリケーション起動条件情報は、「注文記録テーブルへのレコード挿入」のときに「料金計算」と「ポイント計算」を、「出荷記録テーブルへのレコード挿入」のときに「在庫計算」のアプリケーションを実行する場合が示されている。このとき、「料金計算」、「ポイント計算」、「在庫計算」などのアプリケーションの実体は、アプリケーション記憶部１３に記憶される。
【００１５】
次に、動作について説明する。
図４を用いて、データベース更新検出部２１の処理について説明する。
データベース更新検出部２１は、アプリケーションサーバ１００の起動によって起動される。起動されると、監視対象データベース記憶部１１から、監視対象データベース情報を取得する（ステップＳ４１０）。
図３のように監視対象データベース情報が設定されている場合、データベース種類として「Ｏｒａｃｌｅ１１ｇ」、「データベースインスタンスの名称」、「データ更新の検出方法」、「データベースの文字コード」、「接続用のユーザ／パスワード」について、それぞれ「ｍｙｉｎｓｔａｎｃｅ」、「データベースの更新履歴ログ確認」、「ＳＪＩＳ」、「ｍｙｕｓｅｒ／ｍｙｐａｓｓｗｏｒｄ」が取得される。
【００１６】
次に、データベース更新検出部２１は、取得した監視対象データベース情報に基づき、データベース２００への接続を行い、データベース２００上のデータ更新内容を取得する（ステップＳ４２０）。
その後、データベース更新検出部２１は、データ更新があったかどうかの確認を行う（ステップＳ４３０）。データ更新が無かった場合は、ステップＳ４１０に戻る。
ステップＳ４３０において、データ更新があった場合は、データベース更新検出部２１は、データ更新内容をアプリケーション起動条件判定部２２に通知し（ステップＳ４４０）、ステップＳ４１０に戻る。
【００１７】
次に、図５を用いて、アプリケーション起動条件判定部２２の処理について説明する。
アプリケーション起動条件判定部２２は、データベース更新検出部２１からデータ更新内容の通知を受け取ることで起動され、アプリケーション起動条件記憶部１２に登録されたアプリケーション起動条件情報のリストを取得する（ステップＳ５１０）。
図３のようにアプリケーション起動条件情報が登録されている場合、３件のアプリケーション起動条件情報を含むリストを取得することになる。
【００１８】
次に、アプリケーション起動条件判定部２２は、取得したアプリケーション起動条件情報のリストのうち、未処理のものを確認する（ステップＳ５２０）。未処理のものがない場合、アプリケーション起動条件判定部２２は処理を終了する。
アプリケーション起動条件情報のリストに未処理のものがある場合、アプリケーション起動条件判定部２２は、アプリケーション起動条件情報のリストから、未処理のアプリケーション起動条件情報の１件を取り出す（ステップＳ５３０）。
【００１９】
次に、アプリケーション起動条件判定部２２は、取り出したアプリケーション起動条件情報の起動条件が、アプリケーション起動条件判定部２２の起動時に受け取ったデータ更新内容に合致するかどうかを確認する（ステップＳ５４０）。データ更新内容がアプリケーション起動条件に合致しない場合、ステップＳ５２０に戻る。
データ更新内容がアプリケーション起動条件に合致した場合、アプリケーション起動条件判定部２２は、更新データと起動するアプリケーションを、アプリケーション実行基盤部２３に通知し（ステップＳ５５０）、ステップＳ５２０に戻る。
【００２０】
例えば、図２、図３のような監視対象データベース情報及びアプリケーション起動条件情報が設定されている場合、「ｍｙｉｎｓｔａｎｃｅ」というデータベースインスタンス上で、「注文記録テーブルへのレコード挿入」が行われると、アプリケーションサーバ１００内のアプリケーション実行基盤部２３上で「料金計算」及び「ポイント計算」アプリケーションが起動する。
このとき、「料金計算」及び「ポイント計算」アプリケーションには起動時の引数または環境変数といったパラメータの形で、アプリケーションの起動契機となったデータベース上の更新データのキー情報を渡すことができ、更新データに対する処理が可能となる。
【００２１】
実施の形態１によれば、アプリケーションサーバ１００上に、監視対象データベース記憶部１１、アプリケーション起動条件記憶部１２、アプリケーション記憶部１３及び、それらを使用するデータベース更新検出部２１、アプリケーション起動条件判定部２２、アプリケーション実行基盤部２３を設けたため、ユーザからアプリケーション配備インターフェイス部３０を通じて指定された、特定のデータベース２００上の特定のデータ更新を契機に、指定されたアプリケーションをアプリケーションサーバ１００上で実行することができる。
【００２２】
また、アプリケーションサーバ１００以外に、データ更新を検出するためのアプリケーションを別個に用意する必要がなく、アプリケーションサーバ１００の運用だけで、データベース上のデータ更新を契機とするアプリケーション処理を実行することができる。
【００２３】
実施の形態２．
次に、この発明の実施の形態２について説明する。実施の形態２は、実施の形態１におけるデータベース更新検出部２１の詳細についてのものである。
図６は、この発明の実施の形態２によるアプリケーションサーバのデータベース更新検出部を示す構成図である。
図６において、データベース更新検出部２１は、アプリケーション起動条件判定部２２と接続し、データベース接続用アダプタを呼び出すデータベース接続用アダプタ呼出部２１０（データベース接続用アダプタ呼出手段）と、このデータベース接続用アダプタ呼出部２１０に接続され、データベース接続用アダプタ呼出部２１０によって呼び出されるデータベース接続用アダプタ２１１ａ〜２１１ｎから構成される。
【００２４】
データベース接続用アダプタ２１１ａ〜２１１ｎ（以下、データベース接続用アダプタ２１１）は、それぞれデータベース２００ａ〜２００ｎ（以下、データベース２００）と接続しており、それぞれのデータベース製品の種類に対応してデータベース上のデータ更新を検出する。
このデータベース接続用アダプタ２１１は、データベース更新検出部２１の更新検出対象とするデータベースの種類やデータベース上のデータ更新検出方法等に合わせて複数用意しても良いし、１種類であっても良い。
【００２５】
次に、動作について説明する。
図７を用いて、データベース更新検出部２１内のデータベース接続用アダプタ呼出部２１０の処理について説明する。
データベース接続用アダプタ呼出部２１０は、常駐の処理であり、起動されると、監視対象データベース記憶部１１から、監視対象データベースのデータベース種類を取得する（ステップＳ６１０）。図２のように監視対象データベース情報が設定されている場合、データベース種類として「Ｏｒａｃｌｅ１１ｇ」が取得される。
【００２６】
次に、データベース接続用アダプタ呼出部２１０は、取得したデータベース種類に応じたデータベース接続用アダプタ２１１を呼び出す（ステップＳ６２０）。データベース種類として「Ｏｒａｃｌｅ１１ｇ」が取得された場合、データベース接続用アダプタ２１１ａが呼び出される。
データベース接続用アダプタＳ２１１の処理については、後述する。
【００２７】
データベース接続用アダプタ呼出部２１０は、データベース接続用アダプタ２１１のデータベース上のデータ更新を検出する処理が完了すると、その結果を受け取る（ステップＳ６３０）。
その後、データベース接続用アダプタ呼出部２１０は、データ更新があったかどうかの確認を行う（ステップＳ６４０）。データ更新が無かった場合は、ステップＳ６１０に戻る。
ステップＳ６４０において、データ更新があった場合は、データベース接続用アダプタ呼出部２１０は、データ更新内容をアプリケーション起動条件判定部２２に通知し（ステップＳ６５０）、ステップＳ６１０に戻る。
【００２８】
次に、図８を用いて、データベース更新検出部２１内のデータベース接続用アダプタ呼出部２１０から呼び出されるデータベース接続用アダプタ２１１の処理について説明する。
データベース接続用アダプタ２１１は呼び出されると、監視対象データベース記憶部１１から、自身が動作対象とするデータベース種類に対応した監視対象データベース情報を取得する（ステップＳ６３１）。図３のように監視対象データベース情報が設定されている場合、「データベースインスタンスの名称」「データ更新の検出方法」「データベースの文字コード」「接続用のユーザ／パスワード」が取得される。
【００２９】
次に、データベース接続用アダプタ２１１は、取得した監視対象データベース情報を用いてデータベース２００に接続し、前回から更新されたデータベース２００上のデータ更新内容を取得して終了する（ステップＳ６３２）。
【００３０】
実施の形態２によれば、データベース更新検出部２１においては、データベース接続用アダプタ呼出部２１０とデータベース接続用アダプタ２１１を設け、データベース接続用アダプタ２１１を監視対象となるデータベースの種類に応じて用意したため、様々なデータベース種類に対応して、データベース２００上の特定のデータ更新を契機に、指定されたアプリケーションをアプリケーションサーバ１００上で実行することができる。
【００３１】
実施の形態３．
次に、この発明の実施の形態３について説明する。実施の形態３は、この発明のアプリケーションサーバ上に配備されたアプリケーションを、他の情報処理システムのアプリケーションと連携させて実行する場合を示している。
【００３２】
図９は、この発明の実施の形態３によるアプリケーションサーバを用いたシステム構成例を示す図である。
図９において、図１の構成に加えて、注文記録アプリケーション７１０、それと接続するデータベース２０１、データベース２０１とデータベース２００を接続するデータ連携システム７２０（データ連携手段）が追加された構成となっている。
注文処理アプリケーション７１０及びデータベース２０１は、情報提供側システム８００を構成する。
また、料金計算アプリケーション１１０及びポイント計算アプリケーション１２０が配備されたアプリケーションサーバ１００及びデータベース２００は、情報利用側システム８１０を構成している。
データ連携システム７２０は、データベース２０１上の注文記録テーブル２２１の更新情報を、データベース２００上の注文記録テーブル２２０に複製するように設定されている。
【００３３】
ここで、アプリケーションサーバ１００には、図２及び図３の情報が設定されている場合を考える。
顧客からの注文情報が注文記録アプリケーション７１０によって受け付けられ、データベース２０１の注文記録テーブル２２１に記録されると、データ連携システム７２０により連携され、データベース２００の注文記録テーブル２２０に対してレコード挿入が発生する。
すると、アプリケーションサーバ１００によって、挿入されたデータに対して料金計算アプリケーション１１０及びポイント計算アプリケーション１２０の処理が実行される。
【００３４】
実施の形態３によれば、アプリケーションサーバ１００で監視対象として登録したデータベースを、データ連携システム７２０を介して他のシステムと接続したため、データ連携システム７２０がアプリケーションサーバ１００上の料金計算やポイント計算のアプリケーションを起動することなく、他のシステム上のデータ更新と連動してアプリケーションサーバ１００上のアプリケーションを実行させることができる。
これにより、データ連携システム７２０の役割が減るため、システム同士を連携させる場合のデータ連携システム７２０の構築保守が容易になり、情報処理システム間の連携が容易に実現できる。
【００３５】
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。
【符号の説明】
【００３６】
１１  監視対象データベース記憶部
１２  アプリケーション起動条件記憶部
１３  アプリケーション記憶部
２１  データベース更新検出部
２２  アプリケーション起動条件判定部
２３  アプリケーション実行基盤部
１００  アプリケーションサーバ
１１０  料金計算アプリケーション
１２０  ポイント計算アプリケーション
２００  データベース
２０１  データベース
２１０  データベース接続用アダプタ呼出部
２１１  データベース接続用アダプタ
２２０  注文記録テーブル
２２１  注文記録テーブル
７１０  注文記録アプリケーション
７２０  データ連携システム
８００  情報提供側システム
８１０  情報利用側システム
【図１】
2014010790.tif 000003
【図２】
2014010790.tif 000004
【図３】
2014010790.tif 000005
【図４】
2014010790.tif 000006
【図５】
2014010790.tif 000007
【図６】
2014010790.tif 000008
【図７】
2014010790.tif 000009
【図８】
2014010790.tif 000010
【図９】
2014010790.tif 000011