(57)【要約】【課題】アプリケーションの開発効率を高めると共に、アプリケーションシステムが複数の異なるデータベースを統一的に使用できる。【解決手段】データベース定義部２Ｃにデータベース接続情報を登録保持し、データベース操作サービス部２Ｂはアプリケーション１1〜１Nが使用しようとするデータベース名からデータベース定義部に登録する接続情報を得、当該データベース３1〜３KにＪＤＢＣで接続し、コマンドに従ってデータベース操作を実行し、ＸＭＬ変換した操作結果をＷｅｂサーバインタフェース２Ａを介してアプリケーション側に返す方式とする。【選択図】  図１
2006302159.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションによるデータベースへのアクセスを支援するデータベースアクセス支援システムであって、
アプリケーションが使用しようとするデータベース名、アプリケーション側ユーザ名およびデータベースの実行コマンドを受け付けるＷｅｂサーバインタフェースと、
データベース接続情報をＵＲＬ，ＪＤＢＣドライバのクラス名などをもつデータベース定義ファイルとして登録保持するデータベース定義部と、
前記Ｗｅｂサーバインタフェースから取得するデータベース名から、前記データベース定義部から対応する接続情報を得、当該データベースにＪＤＢＣで接続し、前記コマンドに従ってデータベース操作を実行し、ＸＭＬ変換した操作結果を前記Ｗｅｂサーバインタフェースを介して前記アプリケーション側に返すデータベース操作サービス部とを備えたことを特徴とするデータベースアクセス支援システム。
【請求項２】
前記アプリケーションからデータベースへのアクセス手段として、
ＷｅｂサーバインタフェースがＳｅｒｖｌｅｔパラメータとして受付け、データベース操作サービス部のクラスにアクセスする構成、
ＷｅｂサーバインタフェースがＳＯＡＰ公開クラスへのアクセスとして受付け、データベース操作サービス部のクラスにアクセスする構成、
ＷｅｂサーバインタフェースがＲＭＩ公開クラスへのアクセスとして受付け、データベース操作サービス部のクラスにアクセスする構成、
アプリケーションから直接にデータベース操作サービス部の公開クラスにアクセスさせる構成、
の少なくとも１つを備えたことを特徴とする請求項１に記載のデータベースアクセス支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースにアクセスを必要とするアプリケーションシステムにおいて、アプリケーションによるデータベースへのアクセスを支援するデータベースアクセス支援システムに関する。
【背景技術】
【０００２】
データベースを使用するアプリケーションシステムにおいて、データベースと接続する部分のプログラムは、図６に示すように、アプリケーション毎、データベース毎に、データベース操作部をアクセス手段として付属させている。
【０００３】
このデータベース操作部としては、以下のようなものがある。
【０００４】
・ＡＤＯ（ActiveX Data Objects：言語非依存のオブジェクトベースデータアクセスＡＰＩ（Application Programming Interface：アプリケーションを開発する際に利用できる機能関数を提供するライブラリ））。
【０００５】
・ＪＤＢＣ（Java Data Base Connectivity：Ｊａｖａ（登録商標）からリレーショナルデータベースにアクセスするためのＡＰＩ）などのＡＰＩ。
【０００６】
・Ｊ２ＥＥ（Java 2 Enterprise Edition：大規模なアプリケーションシステムで使用される機能をサーバとしてまとめたもの）などのフレームワーク（システムを構築するための標準的なモジュール構成を提供するもの）を用いて個別に作成したもの。
【０００７】
さらに、データベースを提供するＤＢＭＳ（Data Base Management System：ＯｒａｃｌｅやＤＢ２，ＳＱＬ  Ｓｅｖｅｒなどの、データベースを管理しアクセス要求に応答するソフトウェア）によっては、データベースにＷｅｂを通してアクセスし、結果をＸＭＬで返すものもある。
【０００８】
また、異なるベンダーから提供される複数のデータベースを１つの共有データとしてネットワーク上で管理するデータベース管理システムも提案されている（例えば、特許文献１参照）。
【特許文献１】特開２００２−１４９６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従来、アプリケーションシステムを開発する際にデータベースの接続を行うプログラムは、データベース名、ＵＲＬ（Uniform Resource Locator：ネットワーク上に存在する情報資源の場所を示す記述方式で、この場合はデータベースの接続先を表す）、ユーザ名などが異なるだけで手続きとしては同じような所が多いが、現状はアプリケーション毎に同じようなプログラムを毎回書いており、開発効率が悪い。
【００１０】
また、アプリケーションシステムがＷｅｂを通してデータベースにアクセスする方式は、ＤＢＭＳ毎に要求方式や表現形式が異なっており、アプリケーションシステムが複数の異なるＤＢＭＳと接続しようとした際に統一的に扱えないためプログラムが煩雑になる。特許文献１では、データコネクションサーバによって複数のデータベースへの接続を集中管理しているが、サーバ自体が煩雑になる。
【００１１】
本発明の目的は、アプリケーションの開発効率を高めると共に、アプリケーションシステムが複数の異なるデータベースを統一的に使用できるデータベースアクセス支援システムを提供することにある。
【課題を解決するための手段】
【００１２】
前記の課題を解決する本発明は、以下のシステム構成を特徴とする。
【００１３】
（１）アプリケーションによるデータベースへのアクセスを支援するデータベースアクセス支援システムであって、
アプリケーションが使用しようとするデータベース名、アプリケーション側ユーザ名およびデータベースの実行コマンドを受け付けるＷｅｂサーバインタフェースと、
データベース接続情報をＵＲＬ，ＪＤＢＣドライバのクラス名などをもつデータベース定義ファイルとして登録保持するデータベース定義部と、
前記Ｗｅｂサーバインタフェースから取得するデータベース名から、前記データベース定義部から対応する接続情報を得、当該データベースにＪＤＢＣで接続し、前記コマンドに従ってデータベース操作を実行し、ＸＭＬ変換した操作結果を前記Ｗｅｂサーバインタフェースを介して前記アプリケーション側に返すデータベース操作サービス部とを備えたことを特徴とする。
【００１４】
（２）前記アプリケーションからデータベースへのアクセス手段として、
ＷｅｂサーバインタフェースがＳｅｒｖｌｅｔパラメータとして受付け、データベース操作サービス部のクラスにアクセスする構成、
ＷｅｂサーバインタフェースがＳＯＡＰ公開クラスへのアクセスとして受付け、データベース操作サービス部のクラスにアクセスする構成、
ＷｅｂサーバインタフェースがＲＭＩ公開クラスへのアクセスとして受付け、データベース操作サービス部のクラスにアクセスする構成、
アプリケーションから直接にデータベース操作サービス部の公開クラスにアクセスさせる構成、
の少なくとも１つを備えたことを特徴とする。
【発明の効果】
【００１５】
以上のとおり、本発明によれば、データベース定義部にデータベース接続情報を登録保持し、データベース操作サービス部はアプリケーションが使用しようとするデータベース名からデータベース定義部に登録する接続情報を得、当該データベースにＪＤＢＣで接続し、コマンドに従ってデータベース操作を実行し、ＸＭＬ変換した操作結果をＷｅｂサーバインタフェースを介してアプリケーション側に返す方式とするため、以下の効果がある。
【００１６】
（１）アプリケーションシステムの開発時に個別にデータベース接続部分のプログラムを書くことなく、各種のデータベースを統一的に扱うことができる。
【００１７】
（２）データベースの接続情報をファイルとして独立して保持するため、使用する度に全ての接続情報を指定する必要が無く、設定したデータベース名を指定するだけで接続でき、ユーザに全ての接続情報を開示しなくても良くなる。
【００１８】
（３）データベースの接続情報をパラメータとして与えることもできるため、システム開発の試験時など自由にデータベース接続を設定することができる。
【００１９】
（４）Ｗｅｂサーバインタフェースとデータベース操作サービス部を分けたことにより、インタフェースを変えるだけで種々のＡＰＩに切り替えることができる。
【００２０】
（５）ＷｅｂサーバやＸＭＬを使用することにより、標準的なＡＰＩを使用して簡単にデータベースを扱うアプリケーションシステムのプログラムを開発することができる。
【００２１】
（６）データベースへのアクセス手段として、Ｓｅｒｖｌｅｔを用いた場合は、ＳＯＡＰなどの特別なコンポーネントを介すことなく、手軽に接続させることができ、Ｗｅｂブラウザからも簡単に利用することができる。
【００２２】
（７）データベースへのアクセス手段として、Ｗｅｂサービスを用いた場合は、アプリケーションシステムがＷｅｂサービスに対応した環境で構築されている場合は、簡単に利用することができる。
【００２３】
（８）データベースへのアクセス手段として、ＲＭＩを用いた場合は、アプリケーションがＲＭＩに対応した環境で構築されている場合は、簡単にアクセスすることができる。また、Ｗｅｂサービスに比べて速度はあまり遅くならない。
【００２４】
（９）データベース操作サービス部を直接呼ぶ場合は、余分なデータ通信経路を経由しないため、速度をあまり落とさずにアクセスすることができる。
【００２５】
（１０）ＤＢＭＳと独立した方法で、ＸＭＬとして結果を得ることができる。
【００２６】
（１１）ＤＢＭＳと独立し、統一されたＸＭＬスキーマで結果を得ることができる。
【００２７】
（１２）データベース操作機能のみを提供するため、軽量（メモリやディスクスペースを大量に消費しない）であり、アプリケーションシステムと組み合わせて使用した場合に、アプリケーションシステムの動作に影響を与えない。
【００２８】
（１３）ソフトウェア部品として利用できるため、様々なアプリケーションシステムの開発に利用することができる。特に、Ｗｅｂサービスを使用したデータ連携システムの機能部品として利用できるため、簡単にデータベースを使用したアプリケーションシステムを構築させることができる。
【発明を実施するための最良の形態】
【００２９】
本実施形態になる、データベースアクセス支援システムは、データベースを操作するＡＰＩをプログラム環境毎、アプリケーション毎に用意するのではなく、共通に利用できるＳｅｒｖｌｅｔやＳＯＡＰ（ＸＭＬとＨＴＴＰなどを使用してネットワーク上のサービスを利用するためのプロトコル）等のインタフェースを持ったソフトウェア部品として提供するものである。
【００３０】
本実施形態のシステム構成を図１に示し、Ｗｅｂサーバインタフェース２Ａとデータベース操作サービス部２Ｂと、データベース定義部２Ｃで構成され、アプリケーションはＷｅｂサーバの標準的なＡＰＩを用いて統一的にデータベースにアクセス可能にする。
【００３１】
データの流れは、図２に示す。アプリケーション１1〜１Nは、データベース操作を行う際に、データベース名、ユーザ名、パスワード、コマンド（ＳＱＬ（Structured Query Language：データベース操作言語）文など）を本システム２に送る。本システム２側のデータベース操作サービス部２Ｂは、アプリケーションが使用しようとするデータベース名に対して、そのデータベース３1〜３KのＵＲＬ，ＪＤＢＣドライバのクラス名などの接続情報をデータベース定義ファイルとしてデータベース定義部２Ｃに登録保持しておき、これを用いてデータベース名から対応する接続情報を得て、実際にデータベースにＪＤＢＣで接続し、操作結果をアプリケーション側に返す。接続情報はパラメータで与えることもできる。
【００３２】
データベース定義の保持形式は問わないが、通常ＸＭＬなどのテキストファイルで保持する。ＸＭＬスキーマの例を図３に示し、図示ではデータタイプ、ドライバクラス名，接続ＵＲＬ、ユーザ名、パスワードの項目としている。
【００３３】
データベースの操作結果はＸＭＬ形式で返す。これにより、アプリケーションシステムは結果をＤＯＭ（Document Object Model：ＨＴＭＬやＸＭＬをオブジェクトとして扱う方式）やＸＳＬＴ（ＸＭＬ  Stylesheet Language Transform：ＸＭＬを他のＸＭＬに変換するための言語）などの標準的なＡＰＩを使用して結果を処理することができる。ＸＭＬスキーマの例を図４に示す。レコードの各フィールドを表すタグ名は任意の固定文字列を指定できる他、データベース内のフィールド名を使用することもできる。
【００３４】
本システムのデータベース操作サービス部２Ｂが行う処理フローを図５に示す。メソッドはデータベースの操作内容によっていくつか用意しておき、Ｓｅｒｖｌｅｔの場合はパラメータにより選択し（Ｓ１）、他のインタフェースの場合は直接使用するメソッドにより選択する。メソッドは基本的なデータベースの操作である、テーブル作成、フィールド作成、テーブル更新、テーブル削除、フィールド削除、レコード登録、レコード検索、レコード更新、レコード削除、検索ＳＱＬ文実行、更新ＳＱＬ文実行、テーブル情報取得、データベース情報取得などと、これらを組み合わせてできるテーブルコピー、テーブルマージ、テーブル結合を用意する。各メソッド処理では、データベース定義部２Ｃから接続情報を取得し（Ｓ２）、データベースへの接続を行い（Ｓ３）、必要なＳＱＬを生成して実行し（Ｓ４，Ｓ５）、結果をＸＭＬにまとめ（Ｓ６）、データベース切断後に結果ＸＭＬをインタフェース２Ａを介して出力する（Ｓ７，Ｓ８）。
【００３５】
以上のように、本実施形態のシステムは、アプリケーションシステムの構築に際してデータベース操作の部分を提供するソフトウェア部品であり、必要最小限の機能としてまとめられているため、簡単に設置・利用ができる。また、出力形式としてＸＭＬを使用するため、アプリケーションシステムではＤＯＭ等を用いて比較的簡単に処理プログラムを作成することができる。ただし、多くのＤＢＭＳに対して使用できるようにするため、ＤＢＭＳに依存するような高度な機能は提供せず基本的な機能のみ提供する。以下、具体例を説明する。
【００３６】
（例１）
Ｗｅｂサーバインタフェース２Ａとして、Ｓｅｒｖｌｅｔを用いる。Ｓｅｒｖｌｅｔから本システムのデータベース操作サービス部２Ｂのクラスにアクセスする形となる。アプリケーション１はＵＲＬ接続として本システムを呼び出すが、その際に各パラメータはＳｅｒｖｌｅｔパラメータ（ＧＥＴ，ＰＯＳＴパラメータ）として送る。結果ＸＭＬは文字列としてＳｅｒｖｌｅｔ  Ｒｅｓｐｏｎｓｅで返す。
【００３７】
この例では、Ｗｅｂブラウザなどから簡単に使用できるため、データベース操作の結果を手軽に確認できる。アプリケーションシステムから使用した場合は、結果ＸＭＬ文字列をパース（ＸＭＬとして認識させる）する必要がある。
【００３８】
（例２）
Ｗｅｂサーバインタフェース２ＡとしてＷｅｂサービス（ＳＯＡＰ）を用いる。ＳＯＡＰとして公開するクラスが本システムのクラスにアクセスし、アプリケーションはＳＯＡＰ公開クラスにアクセスする形となる。アプリケーションはＳＯＡＰサーバとして本システムを呼び出す。パラメータはメソッドの引数として渡される。結果ＸＭＬはそのままＳＯＡＰで返され、ＳＯＲＰクライアントでメソッドの返り値としてオブジェクトやＤＯＭとなる。
【００３９】
本システムがＷｅｂサービスとして提供されることで、多くのアプリケーションシステムから標準的に利用できる。
【００４０】
（例３）
Ｗｅｂサーバインタフェース２ＢとしてＲＭＩ（Remote Method Invocation：分散オブジェクト環境を実現する環境）を用いる。ＲＭＩとして公開するクラスが本システムのクラスにアクセスし、アプリケーションはＲＭＩサーバ上でＲＭＩ公開クラスにアクセスする形となる。アプリケーションはＲＭＩサーバとして本システムを呼び出す。パラメータはメソッドの引数として渡される。結果ＸＭＬはオブジェクトで返され、ＲＭＩクライアントでメソッドの返り値としてオブジェクトやＤＯＭとなる。
【００４１】
この例ではＳＯＡＰに比べてオーバヘッドが少ないため、比較的高速にイントラネットワーク上で利用できる。
【００４２】
（例４）
Ｗｅｂサーバを使用せず、直接にデータベース操作サービス部２Ｂを呼ぶ。アプリケーションから直接にデータベース操作サービス部２Ｂのクラスにアクセスする形となる。本システムは結果ＸＭＬを文字列あるいはＤＯＭでアプリケーションに返す。
【００４３】
この例では、クラスライブラリとして使用することになり、同一マシン内で高速に利用できる。
【図面の簡単な説明】
【００４４】
【図１】本発明の実施形態を示すシステム構成図。
【図２】実施形態におけるデータの流れ。
【図３】実施形態におけるデータベース定義ＸＭＬスキーマの例。
【図４】実施形態における結果ＸＭＬスキーマの例。
【図５】実施形態におけるデータベース操作処理フロー。
【図６】従来のシステム構成図。
【符号の説明】
【００４５】
１1〜１N  アプリケーション
２  データベースアクセス支援システム
２Ａ  Ｗｅｂサーバインタフェース
２Ｂ  データベース操作サービス
２Ｃ  データベース定義部
３1〜３K  データベース
【図１】
2006302159.tif 000003
【図２】
2006302159.tif 000004
【図３】
2006302159.tif 000005
【図４】
2006302159.tif 000006
【図５】
2006302159.tif 000007
【図６】
2006302159.tif 000008