(57)【要約】【課題】  データベースに対する操作を隠蔽し、ユーザは予め決められた書式に従って要求を記述するだけでデータベースを使用することを可能にすることで、データベースを使用したアプリケーションの開発を容易化する。【解決手段】  ユーザ認証によりデータベースを操作可能なユーザを限定し、データベースの操作を指定することができる汎用記法による記述仕様と、その仕様に沿って記述された操作要求を実行する、安全性の高いＷｅｂ上で公開可能なシステムサーバを提供する。【選択図】図１
2006085527.tif 000002
【特許請求の範囲】
【請求項１】
データベースを制御するためのシステムサーバにおいて、
汎用記法によるデータベース操作要求を解析する解析手段と、
前記データベース操作要求をＳＱＬ文に変換するＳＱＬ変換手段と、
前記ＳＱＬ文によりデータベースを操作するデータベース操作手段と、
操作結果を汎用記法に変換するＸＭＬ変換手段と、
を備えることを特徴とするシステムサーバ。
【請求項２】
ネットワークを介してデータベース操作要求を受信する受信手段と、
ネットワークを介して操作結果を送信する送信手段と、
を備えることを特徴とする請求項１のシステムサーバ。
【請求項３】
ユーザ認証を行うユーザ認証手段を備えることを特徴とする請求項１又は請求項２のシステムサーバ。
【請求項４】
複数のデータベース操作要求を一括受信する受信手段を備えることを特徴とする請求項１又は請求項２又は請求項３のシステムサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースの構築、管理、及びそれらを用いたサービスを行なうアプリケーションの開発に関するものである。
【背景技術】
【０００２】
特許文献１によると、データベースに対するアクセス要求をデータベースの機構及び構造に依存しない汎用記法から、対象とするデータベースの機構及び構造に合わせた問合せ文に変換して問合せを実行する問合せ変換実行部と、その問合せ実行結果を再びデータベースの機構及び構造に依存しない汎用記法で出力する問合せ結果変換部と、を備えることにより、データベースへのアクセス要求を汎用記法で出力することを特徴とする汎用データベースアクセス装置が提案されている。
【０００３】
特許文献１の発明では、データベースに蓄積されているデータを取得して出力するのみであり、登録、更新、削除等データ自体を操作する機能や、Ｗｅｂで公開する機能がない。更にユーザ認証機能がないため、誰でもデータベースから情報を取得できてしまう等、セキュリティ面で問題がある。
【０００４】
【特許文献１】特開２００１−３４４１４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
データベースを用いたアプリケーションを開発するユーザは、アプリケーションの開発知識だけでなく、データベースのデータ構築知識やデータを入力・出力する知識、更にその際に発生する問題に対応しなければならないという負荷があった。それらのデータベースに対する操作を隠蔽し、ユーザは予め決められた書式に従って要求を記述するだけでデータベースを使用することを可能にすることで、データベースを使用したアプリケーションの開発を容易化する。よって、本発明はデータベースを使用したアプリケーションを容易かつ安全に開発することを目的とする。
【課題を解決するための手段】
【０００６】
ユーザ認証によりデータベースを操作可能なユーザを限定し、データベースの操作を指定することができるＸＭＬ形式による記述仕様と、その仕様に沿って記述された操作要求を実行する、安全性の高いＷｅｂ上で公開可能なシステムサーバを提供する。
データベース操作要求を予め定められた定義に従ってＸＭＬ言語により記述し、前記システムサーバに送信することで、データベースで管理するデータの定義、データベースへのデータの登録、取得、出力等のデータベース操作を行なう。更にデータベースの操作結果をＸＭＬ形式のデータとして送信する。
【発明の効果】
【０００７】
直接データベースを操作する手段を、それ以外の処理を行う部等と分離させることにより、またユーザ認証によりユーザを限定することでセキュリティを強化する効果がある。
【０００８】
また、全ての情報を汎用記法、なかでもＸＭＬ形式のデータで扱うことにより、Ｗｅｂアプリケーションの開発が容易になる。つまり、一般に使用され、解析ツールも多く公開されているＸＭＬ形式で全てのデータが表現されるため、アプリケーション側でのデータの扱いが容易となる。例えばＷｅｂアプリケーションとしてネットワーク上に公開可能であるため、アクセスの方法が容易であり、クライアントアプリケーションの開発言語を選ばない等の利点がある。これにより、ユーザはデータベースに関する知識をあまり有していなくてもデータベースを使用したアプリケーションを開発することができる。すなわち、ユーザは本システムを使用することにより、バックエンドのデータベースのソフトウェアの違いを意識することなくデータを扱うことが可能となる。
更には、ユーザは一度のアクセスで複数のデータベース操作要求を指定することが可能であるため、全体の処理速度が速くなる。
【発明を実施するための最良の形態】
【０００９】
発明を実施するための最良の形態について説明する。まず、利用するＸＭＬ文は予め定義されている。次に、本発明におけるシステムサーバの構成を説明する。図１に示すように、システムサーバ１は、システムサーバ管理手段１１、要求実行手段１２、データベース操作手段１３、受信手段１０１、送信手段１０２を備える。
【００１０】
請求項１に記載のデータベース操作要求を解析する解析手段は、本実施の形態においてはシステムサーバ管理手段１１及び要求実行手段１２によって構成されている。但し、請求項１に記載の解析手段の形態はこの限りではなく、例えば前記システムサーバ管理手段１１又は要求実行手段１２のいずれか一方のみによる構成も可能である。
【００１１】
システムサーバ管理手段１１は、ユーザ認証手段１１１及び解析手段として要求照合手段１１２、要求抽出手段１１３を備える。要求実行手段１２は請求項１記載の解析手段であるＸＭＬ書式照合手段１２１、及びデータベース操作指示手段１２２、データ照合手段１２３、ＸＭＬ変換手段１２４を備える。要求実行手段１２は、ＸＭＬ文において定義されたデータベース操作要求の種類あるいは数等に対応して存在する。
【００１２】
データベース操作手段１３はデータ処理手段１３１、データベース確認手段１３２、ＳＱＬ変換手段１３３を備える。データベース操作手段１３は、直接接続先のデータベースを操作する手段であり、各要求実行手段１２が必要とするデータベース操作の種類あるいは数等に対応して存在する。ＳＱＬ変換手段１３３はシステムサーバ１に接続可能なデータベースの数に対応して存在する。データベース確認手段１３２により操作対象となるデータベース１４を確認し、ＳＱＬ変換手段１３３を前記データベースに対応するＳＱＬ変換手段１３３に切替えて、データベース操作要求を前記データベースの操作が可能なＳＱＬ文書に変換することを可能とする。
【００１３】
受信手段１０１はユーザがデータベースに対する操作要求を行なうにあたりシステムサーバ１に送信したデータベース操作要求２３を含むＸＭＬ文２を受信する手段である。送信手段１０２はユーザが送信した操作要求の実行結果をＸＭＬ形式で送信する手段である。
【００１４】
次に、図２を参照して、前記システムサーバ１に送信するＸＭＬ文２について説明する。ＸＭＬ文２には、ユーザデータ２１、及びデータベース操作要求２３からなるデータベース操作要求データ群２２が含まれる。ユーザデータ２１はユーザＩＤ、パスワード等のユーザを特定するデータを含む。その他、ユーザ名、ログイン名、メールアドレス（複数可）、その他所属部署、電話番号、住所等、詳細な定義も可能である。また、操作時の設定データを含めると一層良い。例えば使用言語データを例にとると、使用言語データを入力することにより、操作に使用する言語（日本語、英語等）の確認を行うことが可能となる。
【００１５】
データベース操作要求２３について説明すると、操作対象のデータ、操作の種類、操作終了後の状態をデータベースに反映するかどうかについての指定その他の操作データが含まれる。また、データベース操作要求データ群２２として、ＸＭＬ文２に複数のデータベース操作要求２３を含めることが可能であり、実行順序を指定し、その実行順序に従って操作を行うことができる。
【００１６】
次に、本発明におけるシステムサーバ１を用いたデータベースの操作手順について、図３及び図４を主に参照して説明する。最初に、ユーザは直接又はアプリケーションを用いて、図２のように予め決められた定義（以下定義という）に従い、ユーザデータ２１及び少なくとも１つ以上のデータベース操作要求２３を記述してＸＭＬ文２を作成する。
【００１７】
図３の各過程では次のような処理を行う。まず、ステップＳ３０１において、前記ＸＭＬ文２が、システムサーバ１の受信手段１０１により受信される。システムサーバ１がＷｅｂサービスとして起動している場合において、システムサーバ１はネットワーク上のサーバマシンを経てＸＭＬ文２を受信する。システムサーバ１は、ステップＳ３０２において、ユーザ認証手段１１１により、ＸＭＬ文２に記述されたユーザデータ２１に含まれるユーザＩＤとパスワードを照合し、ユーザ認証を行なう。ユーザ認証に失敗した場合はエラーメッセージを作成してステップＳ３０７に移行する。
【００１８】
ユーザ認証に成功した場合は、ステップＳ３０３において、要求照合手段１１２がＸＭＬ文２に含まれるデータベース操作要求２３を各操作対象のデータまたは機能毎に分けられている要求実行手段１２と照合する。データベース操作要求２３が複数ある場合は、実行順序に基づいて照合される。実行順序が記載されていない場合は、上に記載されたものから順に照合が行われる。照合の結果、いずれの要求実行手段１２にも適合しなければエラーメッセージを作成する。いずれかの要求実行手段１２に適合した場合は、ステップＳ３０４において、要求抽出手段１１３が前記要求照合手段１１２による照合の結果適合した要求実行手段１２を抽出する。
【００１９】
続いてステップＳ３０５を実行する。すなわち、図４の過程に移行する。ステップＳ４０１において、抽出した前記要求実行手段１２を実行する。ステップＳ４０２において、要求実行手段１２はＸＭＬ書式照合手段１２１により、データベース操作要求２３の書式を定義と照合する。適合しなければエラーメッセージを作成してステップＳ４０７に移行する。適合した場合には、ステップＳ４０３において、データベース操作指示手段１２２がデータベース操作要求２３に対応するデータベース操作手段１３にデータベース操作を指示する。データベース操作手段１３は前記データベース操作指示手段１２２による指示に基づき、データ処理手段１３１を抽出する。
【００２０】
ステップＳ４０４でデータベース確認手段１３２は操作の対象となるデータベース１４がシステムサーバ１と接続していることを確認する。それに基づき、ＳＱＬ変換手段１３３が操作の対象となるデータベースに合わせて切り替わり、ステップ４０５においてデータベース操作要求２３からＳＱＬ文を作成する。  データベース操作手段１３は、前記ＳＱＬ文により、データベース１４にアクセスし、必要なデータベース操作を行う。
【００２１】
ステップＳ４０６において、前記データベース操作の結果がデータ照合手段１２３により照合される。もしデータが存在しなかった場合、あるいは適合しなかった場合には、エラーメッセージを作成してステップＳ４０７に移行する。データが適合した場合には、そのままステップＳ４０７に移行する。ステップＳ４０７では、ＸＭＬ変換手段１２４により、前記データベース操作の結果をＸＭＬ形式に変換する。これにより、要求実行完了（ステップＳ４０８）となり、図３の過程に戻る。
【００２２】
ステップＳ３０６では、まだ実行されていないデータベース操作要求２３が存在するかどうかを照合する。存在する場合には、ステップＳ３０３に移行し、以降同様の処理を行う。また、次の実行順序に指定されたデータベース操作要求２３があれば、優先的に実行される。存在しない場合はステップＳ３０８に移行し、前述の処理過程によりＸＭＬ形式に変換されたデータベース操作の結果を、送信手段１０２により送信する。システムサーバ１がＷｅｂサービスとして起動している場合においては、ネットワークを介してユーザに前記データベース操作の結果が送信される。
【実施例】
【００２３】
データベースの操作例について説明する。商品カタログのデータベースを操作対象のデータベースとし、ユーザのデータベースへのアクセスを管理する機能に関する操作を例に挙げる。前記データベースに含まれるデータには、例えばユーザ、スペック、オブジェクト等がある。
【００２４】
ＸＭＬにおいて定義されている、ユーザの商品カタログデータベースへのアクセスを管理する機能に関するデータベース操作要求は、ユーザ登録、ユーザ取得、ユーザ変更、パスワード変更、ユーザ削除、ユーザ一覧取得、ユーザ認証である。
【００２５】
次に、商品カタログデータベースにアクセス可能なユーザを1名登録した後、登録したユーザデータを取得する場合の手順を説明する。
ユーザはまずＸＭＬ文書２を作成する。ユーザデータ２１にユーザＩＤとパスワードを記述し、操作に使用する言語を指定する。本実施例では操作に使用する言語を日本語に設定する。次に、データベース操作要求２３において、実行順序を“１”、操作データ名を“ユーザ管理”、操作要求を“ユーザ登録”、反映を“反映する”と記述する。更に登録するユーザに関するデータ（ユーザ名、ユーザＩＤ、パスワード、その他適宜所属やメールアドレス等の個人情報）を記述する。また、新たなデータベース操作要求において、実行順序を“２”、操作データ名を“ユーザ管理”、操作要求を“ユーザ取得”と記述する。
【００２６】
次にネットワーク等を介して作成したＸＭＬ文２を送信する。受信手段１０１は前記ＸＭＬ文２を受信する。
システムサーバ１では、まずＸＭＬ文２のユーザデータ２１を抽出し、ユーザ認証手段１１１でユーザＩＤ及びパスワードを照合し、ユーザ認証を行う。ユーザ認証を行った結果、認証されなければエラーメッセージを作成し、ＸＭＬ形式で送信手段１０２により送信し、処理を終了する。認証された場合はアクセスが許可され、要求照合手段１１２で実行順序“１”のデータベース操作要求２３に対応する要求実行手段１２が存在するかどうかを照合する。前記データベース操作要求２３に対応する要求実行手段１２が存在しなかった場合はエラーメッセージを作成してＸＭＬ形式で送信手段１０２により送信し、処理を終了する。本実施例では、ユーザ管理に関するデータを対象にユーザ登録を行うという要求実行手段１２が存在するので、要求抽出手段１１３により、データベース操作要求２３に対応した要求実行手段１２を抽出する。
【００２７】
抽出された要求実行手段１２では、ＸＭＬ書式照合手段１２１がデータベース操作要求２３を定義と照合する。適合しなければエラーメッセージを作成し、システムサーバ管理手段１１に戻り、他に未実行のデータベース操作要求があるかどうかを確認する。適合した場合は、データベース操作指示手段１２２が対応するデータベース操作手段１３にデータベース操作の指示を出す。
【００２８】
データベース操作手段１３では、データベース操作の指示に基づき、データ処理手段１３１により、データ処理を行う。データベース確認手段１３２により操作対象となるデータベース１４を確認し、ＳＱＬ変換手段１３３をデータベース１４に対応するものに切り替える。ＳＱＬ変換手段１３３は、データ処理に必要なデータをデータベース１４から抽出したり、データ処理の結果をデータベースに反映させる等、データベースにアクセスする際に、データベース操作要求２３をＸＭＬ形式からアクセスするデータベースに対応したＳＱＬ形式に変換する。
【００２９】
データベース操作手段１３によるデータベース操作の結果は、要求実行手段１２に送られ、データ照合手段１２３により照合される。照合の結果、適合しなかった場合にはエラーメッセージを作成し、ＸＭＬ変換手段１２４によりＸＭＬ形式に変換する。適合した場合には、データベース操作の結果をＸＭＬ変換手段１２４によりＸＭＬ形式に変換する。
【００３０】
実行順序“１”のデータベース操作要求２３の実行を終えると、システムサーバ管理手段１１に戻り、他に未実行のデータベース操作要求があるかどうかを確認する。未実行のデータベース操作要求が存在しない場合は、データベース操作の結果あるいはエラーメッセージを送信手段１０２により送信し、操作を終了する。本実施例では実行順序“２”のデータベース操作要求２３が存在するため、要求照合手段１１２に戻って処理を行う。
【００３１】
要求照合手段１１２で実行順序“２”のデータベース操作要求２３に対応する要求実行手段１２が存在するかどうかを照合する。照合の結果、ユーザ管理に関するデータを対象にユーザ取得を行うという要求実行手段１２が存在するので、要求抽出手段１１３により、データベース操作要求２３に対応した要求実行手段１２を抽出する。
【００３２】
抽出された要求実行手段１２では、ＸＭＬ書式照合手段１２１がデータベース操作要求２３を定義と照合する。適合しなければエラーメッセージを作成し、システムサーバ管理手段１１に戻り、他に未実行のデータベース操作要求があるかどうかを確認する。適合した場合は、データベース操作指示手段１２２が対応するデータベース操作手段１３にユーザ管理に関するデータからユーザデータを取得するよう指示を出す。
【００３３】
データベース操作手段１３では、前記指示に基づき、データ処理手段１３１により、ユーザデータの取得処理を行う。ここで、ＳＱＬ変換手段１３２は、実行順序“２”のデータベース操作要求２３をＸＭＬ形式からＳＱＬ形式に変換する。ユーザデータは、ＳＱＬ形式に変換されたデータベース操作要求に基づき、データベースから取得され、データ照合手段１２３により照合される。その後ＸＭＬ変換手段１２４により、ＸＭＬ形式に変換される。
【００３４】
実行順序“２”のデータベース操作要求２３の実行を終えると、システムサーバ管理手段１１に戻り、他に未実行のデータベース操作要求があるかどうかを確認する。本実施例では未実行のデータベース操作要求が存在しないため、データベース操作の結果を送信手段１０２により送信し、操作を終了する。
ユーザには、データベース操作要求の実行結果、すなわちユーザデータが送信される。この間、ユーザとシステムサーバ１との間のやりとりは、ＸＭＬ文２で設定した日本語で行われる。
【００３５】
ユーザはデータベースの操作や実行結果の表示をＷｅｂを用いて行うことも可能である。また、直接データベースにアクセスする部分がデータベース操作手段１３のみとなっていることで、システムサーバ１のセキュリティを向上させることが可能となる。
本発明により、予め決められた定義にしたがってＸＭＬ文を記述するだけでデータベースを使用することが可能であり、更に結果もＸＭＬ形式で送信されるため、データベースを使用したアプリケーションの開発が容易になる。
本実施例ではユーザ登録及びユーザ一覧取得を例に挙げたが、商品情報の登録、画像情報の登録、商品と画像のリレーションを登録、登録したデータの取得、等のデータベース操作要求をユーザは一度のアクセスで行うことが可能であるため、全体の処理スピードが上がる。
【図面の簡単な説明】
【００３６】
【図１】本発明におけるデータベース操作のサーバ装置の構成を示す図である。
【図２】ＸＭＬ文の構成例を示す図である。
【図３】本システムサーバを用いて行なわれる処理の流れを示す図である。
【図４】データ処理の流れを示す図である。
【符号の説明】
【００３７】
１        システムサーバ
１０１    受信手段
１０２    送信手段
１１      システムサーバ管理手段
１１１    ユーザ認証手段
１１２    要求照合手段
１１３    要求抽出手段
１２      要求実行手段
１２１    ＸＭＬ書式照合手段
１２２    データベース操作指示手段
１２３    データ照合手段
１２４    ＸＭＬ変換手段
１３      データベース操作手段
１３１    データ処理手段
１３２    ＳＱＬ変換手段
１４      データベース
２        ＸＭＬ文
２１      ユーザデータ
２２      データベース操作要求データ群
２３      データベース操作要求
Ｓ３０１  ＸＭＬ文受信
Ｓ３０２  ユーザ認証
Ｓ３０３  要求照合
Ｓ３０４  要求実行手段取得
Ｓ３０５  要求実行
Ｓ３０６  次の要求の有無
Ｓ３０７  結果送信
Ｓ４０１  要求実行開始
Ｓ４０２  ＸＭＬ文書式照合
Ｓ４０３  データベース操作指示
Ｓ４０４  ＳＱＬ変換及びデータベース操作
Ｓ４０５  要求実行結果照合
Ｓ４０６  ＸＭＬ変換
Ｓ４０７  要求実行完了
【図１】
2006085527.tif 000003
【図２】
2006085527.tif 000004
【図３】
2006085527.tif 000005
【図４】
2006085527.tif 000006