(57)【要約】【課題】複雑なＳＱＬ文が作成されてしまうことを回避し、パフォーマンスおよび保守性の高いデータベースシステムを作成可能なアプリケーションプログラム作成支援装置、アプリケーションプログラム作成支援方法およびそのプログラム、ならびにそれにより作成されたデータベースシステムを提供する。【解決手段】登録対象のＳＱＬ文４１１に文字列操作関数や型変換演算子や演算子などの特定のコードが含まれるか否かを判断し、特定のコードが含まれていないと判定されたＳＱＬ文４１１が作成対象のアプリケーションプログラムに組み込まれる適正なＳＱＬ文であるとして所定の記憶領域に保持されるように構成する。これにより、アプリケーションプログラム作成時に、適正なＳＱＬ文のみがデータベースシステムの論理アーキテクチャにおけるデータアクセス領域４００にデプロイされるように構成することが可能となる。【選択図】        図６
2009259141.tif 000002
【特許請求の範囲】
【請求項１】
ＳＱＬ文に特定のコードが含まれるか否かを判定する特定コード判定手段と、
前記特定コード判定手段によって前記特定のコードが含まれていないと判定された場合、前記特定のコードが含まれていないＳＱＬ文を作成対象のアプリケーションプログラムに組み込まれる適正なＳＱＬ文であるとして第１記憶領域に保持する適正ＳＱＬ文保持手段と、
を備えたことを特徴とするアプリケーションプログラム作成支援装置。
【請求項２】
ＳＱＬ文に特定のコードが含まれるか否かを判定する特定コード判定手段と、
前記特定コード判定手段によって前記特定のコードが含まれていると判定された場合、前記特定のコードが含まれているＳＱＬ文を作成対象のアプリケーションプログラムに組み込まれる適正なＳＱＬ文であるとして第１記憶領域に保持する適正ＳＱＬ文保持手段と、
を備えたことを特徴とするアプリケーションプログラム作成支援装置。
【請求項３】
前記特定のコードは、所定のカテゴリに属する処理を実現するためのコードであることを特徴とする請求項１または２記載のアプリケーションプログラム作成支援装置。
【請求項４】
前記特定のコードは、条件式、文字列操作関数、および型変換演算子を含む演算子のうち少なくともいずれか１つであることを特徴とする請求項１〜３のいずれか一つに記載のアプリケーションプログラム作成支援装置。
【請求項５】
あらかじめ前記ＳＱＬ文の第１作成者に割り当てられた第１識別情報と該第１作成者がＳＱＬ文の登録権限を有するか否かを表す第１登録権限とを管理する第１登録権限管理手段と、
前記第１作成者に前記ＳＱＬ文を入力させるＳＱＬ文入力手段と、
前記第１作成者に前記第１識別情報を入力させる第１識別情報入力手段と、
前記第１作成者が入力した前記第１識別情報を用いて前記第１登録権限を参照することで、前記第１作成者が前記ＳＱＬ文の登録権限を有するか否かを判定する第１登録権限判定手段と、
を備え、前記適正ＳＱＬ文保持手段は、前記第１登録権限判定手段によって前記第１作成者が前記ＳＱＬ文の登録権限を有すると判定された場合、前記適正なＳＱＬ文を前記第１記憶領域に保持することを特徴とする請求項１〜４のいずれか一つに記載のアプリケーションプログラム作成支援装置。
【請求項６】
前記ＳＱＬ文に対して第１鍵コードを生成する鍵生成手段と、
前記鍵生成手段で生成された第１鍵コードと前記適正なＳＱＬ文とを用いてデジタル署名を生成するデジタル署名生成手段と、
前記デジタル署名を前記適正なＳＱＬ文に添付するデジタル署名添付手段と、
を備えたことを特徴とする請求項５記載のアプリケーションプログラム作成支援装置。
【請求項７】
あらかじめビジネスロジックの第２作成者に割り当てられた第２識別情報と該第２作成者がビジネスロジックの登録権限を有するか否かを表す第２登録権限とを管理する第２登録権限管理手段と、
前記第２作成者にビジネスロジックを入力させるビジネスロジック入力手段と、
前記第２作成者に前記第２識別情報を入力させる第２識別情報入力手段と、
前記第２作成者が入力した前記第２識別情報を用いて前記第２登録権限を参照することで、前記第２作成者が前記ビジネスロジックの登録権限を有するか否かを判定する第２登録権限判定手段と、
前記第２登録権限判定手段によって前記第２作成者が前記ビジネスロジックの登録権限を有すると判定された場合、前記ビジネスロジックを前記アプリケーションプログラムに組み込まれる適正なビジネスロジックであるとして第２記憶領域に保持する適正ビジネスロジック保持手段と、
を備えたことを特徴とする請求項１〜６のいずれか一つに記載のアプリケーションプログラム作成支援装置。
【請求項８】
前記第１記憶領域に保持された適正なＳＱＬ文と前記第２記憶領域に保持された適正なビジネスロジックとを含むアプリケーションプログラムを生成するアプリケーションプログラム生成手段と、
前記生成したアプリケーションプログラムをデータベースシステムの論理アーキテクチャに組み込むアプリケーションプログラム組込み手段と、
を備えたことを特徴とする請求項１〜７のいずれか一つに記載のアプリケーションプログラム作成支援装置。
【請求項９】
前記アプリケーションプログラム組込み手段は、前記適正なＳＱＬ文を前記論理アーキテクチャにおけるデータアクセス領域に配置し、前記適正なビジネスロジックを前記論理アーキテクチャにおけるビジネスロジック領域に配置することを特徴とする請求項８記載のアプリケーションプログラム作成支援装置。
【請求項１０】
前記適正ＳＱＬ文保持手段は、前記適正なＳＱＬ文を圧縮したファイル形式で前記第１記憶領域に保持し、
前記適正ビジネスロジック保持手段は、前記適正なＳＱＬ文を圧縮したファイル形式で前記第２記憶領域に保持し、
前記アプリケーションプログラム生成手段は、前記圧縮された適正なＳＱＬ文と前記圧縮された適正なビジネスロジックとを統合して前記アプリケーションプログラムを生成することを特徴とする請求項８または９記載のアプリケーションプログラム作成支援装置。
【請求項１１】
前記アプリケーションプログラム生成手段は、あらかじめアーカイブされているフレームワークおよびライブラリのうち少なくとも１つを含めて統合することで前記アプリケーションプログラムを生成することを特徴とする請求項１０記載のアプリケーションプログラム作成支援装置。
【請求項１２】
前記適正ＳＱＬ文保持手段は、Ｊａｖａ（登録商標）開発環境を利用して前記ＳＱＬ文を前記第１記憶領域に保存することを特徴とする請求項１〜１１のいずれか一つに記載のアプリケーションプログラム作成支援装置。
【請求項１３】
請求項１〜１２のいずれか一つに記載のアプリケーションプログラム作成支援装置を用いて作成された前記ＳＱＬ文が組み込まれたアプリケーションプログラムを用いて作成されたことを特徴とするデータベースシステム。
【請求項１４】
請求項６記載のアプリケーションプログラム作成支援装置を用いて作成された前記ＳＱＬ文が組み込まれたアプリケーションプログラムを用いて作成されたことを特徴とするデータベースシステムであって、
前記鍵生成手段により前記第１鍵コードとペアになる鍵コードとして生成された第２鍵コードと、あらかじめ前記適正なＳＱＬ文から算出した所定値とを用いて前記デジタル署名が正規のものであるか否かを判定する署名検証手段と、
前記署名検証手段により前記デジタル署名が正規のものであると判定された場合、前記適正なＳＱＬ文を実行するＳＱＬ文実行手段と、
を備え、前記鍵生成手段は、前記第１鍵コードと共に前記第２鍵コードを生成することを特徴とするデータベースシステム。
【請求項１５】
ＳＱＬ文に特定のコードが含まれるか否かを判定する特定コード判定ステップと、
前記特定コード判定ステップによって前記特定のコードが含まれていないと判定された場合、前記特定のコードが含まれていないＳＱＬ文を作成対象のアプリケーションプログラムに組み込まれる適正なＳＱＬ文であるとして第１記憶領域に保持する適正ＳＱＬ文保持ステップと、
を含むことを特徴とするアプリケーションプログラム作成支援方法。
【請求項１６】
ＳＱＬ文に特定のコードが含まれるか否かを判定する特定コード判定ステップと、
前記特定コード判定ステップによって前記特定のコードが含まれていると判定された場合、前記特定のコードが含まれているＳＱＬ文を作成対象のアプリケーションプログラムに組み込まれる適正なＳＱＬ文であるとして第１記憶領域に保持する適正ＳＱＬ文保持ステップと、
を含むことを特徴とするアプリケーションプログラム作成支援方法。
【請求項１７】
所定のアプリケーションプログラム開発環境が組み込まれた情報処理装置において実行されるアプリケーションプログラム作成支援プログラムであって、
ＳＱＬ文に特定のコードが含まれるか否かを判定する特定コード判定処理と、
前記特定コード判定処理によって前記特定のコードが含まれていないと判定された場合、前記特定のコードが含まれていないＳＱＬ文を作成対象のアプリケーションプログラムに組み込まれる適正なＳＱＬ文であるとして第１記憶領域に保持する適正ＳＱＬ文保持処理と、
を前記情報処理装置に実行させることを特徴とするアプリケーションプログラム作成支援プログラム。
【請求項１８】
所定のアプリケーションプログラム開発環境が組み込まれた情報処理装置において実行されるアプリケーションプログラム作成支援プログラムであって、
ＳＱＬ文に特定のコードが含まれるか否かを判定する特定コード判定処理と、
前記特定コード判定処理によって前記特定のコードが含まれていると判定された場合、前記特定のコードが含まれているＳＱＬ文を作成対象のアプリケーションプログラムに組み込まれる適正なＳＱＬ文であるとして第１記憶領域に保持する適正ＳＱＬ文保持処理と、
を前記情報処理装置に実行させることを特徴とするアプリケーションプログラム作成支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションプログラム作成支援装置、データベースシステム、アプリケーションプログラム作成支援方法およびそのプログラムに関し、特にＪａｖａ（登録商標）開発環境を利用したデータベース管理システム（ＤａｔａＢａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ：ＤＢＭＳ）を使用したアプリケーションプログラムを作成するためのアプリケーションプログラム作成支援装置、データベースシステム、アプリケーションプログラム作成支援方法およびそのプログラムに関する。
【背景技術】
【０００２】
従来、Ｊａｖａ（登録商標）言語やＣＯＢＯＬ言語等の汎用プログラム言語を用いたソフトウエア開発では、Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ（以下、ＳＱＬという）文がアプリケーションプログラムにおけるビジネスロジックの中に組み込まれた、いわゆる埋め込みＳＱＬの形式でアプリケーションプログラムを作成することが一般的であった。また、作成されたアプリケーションプログラムは、通常、階層構造におけるビジネスロジック層（ビジネスロジック領域ともいう）に配置されていた。
【０００３】
しかしながら、上記のようなＩＴ（Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ）アーキテクチャの配置設計方法には、以下のような問題点が存在した。
【０００４】
まず１つ目は、ビジネスロジックの変更が直接データベースに影響するため、システムを再構成する際の柔軟性が確保できない点である。２つ目は、データベースの設計変更に伴ってＳＱＬ文を変更する際、ビジネスロジックへの影響範囲を特定することが困難であり、変更作業に時間を要する点である。そして３つ目は、悪化したレスポンスを改善するために行うパフォーマンスチューニングの際、チューニング対象のＳＱＬ文を特定することが困難であり、作業に時間を要する点である。
【０００５】
上記のような問題点の解決策として、従来では、以下のような方法が提案されている。
【０００６】
１つ目は、埋め込みＳＱＬの形式で作成されたアプリケーションプログラムにおけるＳＱＬ文を含むビジネスロジックを、ＳＱＬ文を含まないビジネスロジックとＳＱＬ文とに手作業で分割し、これらをビジネスロジック領域に再配置する方法である（例えば特許文献１参照）。
【０００７】
２つ目は、埋め込みＳＱＬの形式で作成されたアプリケーションプログラムにおけるＳＱＬ文を含むビジネスロジックを、ＳＱＬ文を含まないビジネスロジックとＳＱＬ文とに自動的に分割して管理する方法である（例えば特許文献２参照）。
【０００８】
３つ目は、本来ビジネスロジック領域である領域を新たなビジネスロジック領域とデータベース領域（データベース層ともいう）とに分割し、新たなビジネスロジック領域にＳＱＬ文を含まないビジネスロジックを配置し、データベース領域にＳＱＬ文を配置して管理する方法である（例えば非特許文献１参照）。
【０００９】
【特許文献１】特開２０００−３４７９１０号公報
【特許文献２】特開２００７−４５０３号公報
【非特許文献１】“Macromedia JRun  パフォーマンス管理ソリューション  Precise/Indepth for J2EE,  その他製品群の紹介”、日揮情報ソフトウエア株式会社個別カタログ、［online］、［平成２０年３月２５日検索］、インターネット＜URL:http://sirius.itfrontier.co.jp/jrun/pdf/jrw2/jrw_s5.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ここで、アプリケーションプログラムによる処理には、Ｊａｖａ（登録商標）言語やＣＯＢＯＬ言語等で作成されたビジネスロジックでしかできない処理と、ＳＱＬ文でしかできない処理と、これらの内いずれでもできる処理とが存在する。
【００１１】
上記処理のうち、いずれでもできる処理をいずれで処理するように構成するかは、アプリケーションプログラムを作成する者（以下、単に作成者という）の嗜好によって異なる。このため、往々にして構造が複雑なＳＱＬ文が作成され、保守性の低下やパフォーマンスの劣化などの問題がもたらされてしまう。
【００１２】
上記した特許文献１、２および非特許文献１は、ＳＱＬ文を含むビジネスロジックとＳＱＬ文とを分離する構成は開示しているものの、ＳＱＬ文の処理内容については触れられていない。したがって、いずれでもできる処理をいずれで処理するように構成するかは、未だに作成者の判断に依存したままであり、複雑なＳＱＬ文が作成されてしまうことに起因する保守性の低下やパフォーマンスの劣化などの問題はそのまま温存されてしまっている。
【００１３】
そこで本発明は、上記の問題に鑑みてなされたものであり、パフォーマンスおよび保守性の高いデータベースシステムを作成可能なアプリケーションプログラム作成支援装置、アプリケーションプログラム作成支援方法およびそのプログラム、ならびにそれにより作成されたデータベースシステムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
かかる目的を達成するために、本発明によるアプリケーションプログラム作成支援装置は、ＳＱＬ文に特定のコードが含まれるか否かを判定する特定コード判定手段と、前記特定コード判定手段によって前記特定のコードが含まれていないと判定された場合、前記特定のコードが含まれていないＳＱＬ文を作成対象のアプリケーションプログラムに組み込まれる適正なＳＱＬ文であるとして第１記憶領域に保持する適正ＳＱＬ文保持手段と、を備えたことを特徴とする。
【００１５】
また、本発明によるアプリケーションプログラム作成支援装置は、ＳＱＬ文に特定のコードが含まれるか否かを判定する特定コード判定手段と、前記特定コード判定手段によって前記特定のコードが含まれていると判定された場合、前記特定のコードが含まれているＳＱＬ文を作成対象のアプリケーションプログラムに組み込まれる適正なＳＱＬ文であるとして第１記憶領域に保持する適正ＳＱＬ文保持手段と、を備えたことを特徴とする。
【００１６】
上記発明において、前記特定のコードは、所定のカテゴリに属する処理を実現するためのコードであることを特徴とする。
【００１７】
上記発明において、前記特定のコードは、条件式、文字列操作関数、および型変換演算子を含む演算子のうち少なくともいずれか１つであることを特徴とする。
【００１８】
上記した本発明によるアプリケーションプログラム作成支援装置は、あらかじめ前記ＳＱＬ文の第１作成者に割り当てられた第１識別情報と該第１作成者がＳＱＬ文の登録権限を有するか否かを表す第１登録権限とを管理する第１登録権限管理手段と、前記第１作成者に前記ＳＱＬ文を入力させるＳＱＬ文入力手段と、前記第１作成者に前記第１識別情報を入力させる第１識別情報入力手段と、前記第１作成者が入力した前記第１識別情報を用いて前記第１登録権限を参照することで、前記第１作成者が前記ＳＱＬ文の登録権限を有するか否かを判定する第１登録権限判定手段と、を備え、前記適正ＳＱＬ文保持手段が、前記第１登録権限判定手段によって前記第１作成者が前記ＳＱＬ文の登録権限を有すると判定された場合、前記適正なＳＱＬ文を前記第１記憶領域に保持することを特徴とする。
【００１９】
上記した本発明によるアプリケーションプログラム作成支援装置は、前記ＳＱＬ文に対して第１鍵コードを生成する鍵生成手段と、前記鍵生成手段で生成された第１鍵コードと前記適正なＳＱＬ文とを用いてデジタル署名を生成するデジタル署名生成手段と、前記デジタル署名を前記適正なＳＱＬ文に添付するデジタル署名添付手段と、を備えたことを特徴とする。
【００２０】
上記した本発明によるアプリケーションプログラム作成支援装置は、あらかじめビジネスロジックの第２作成者に割り当てられた第２識別情報と該第２作成者がビジネスロジックの登録権限を有するか否かを表す第２登録権限とを管理する第２登録権限管理手段と、前記第２作成者にビジネスロジックを入力させるビジネスロジック入力手段と、前記第２作成者に前記第２識別情報を入力させる第２識別情報入力手段と、前記第２作成者が入力した前記第２識別情報を用いて前記第２登録権限を参照することで、前記第２作成者が前記ビジネスロジックの登録権限を有するか否かを判定する第２登録権限判定手段と、前記第２登録権限判定手段によって前記第２作成者が前記ビジネスロジックの登録権限を有すると判定された場合、前記ビジネスロジックを前記アプリケーションプログラムに組み込まれる適正なビジネスロジックであるとして第２記憶領域に保持する適正ビジネスロジック保持手段と、を備えたことを特徴とする。
【００２１】
上記した本発明によるアプリケーションプログラム作成支援装置は、前記第１記憶領域に保持された適正なＳＱＬ文と前記第２記憶領域に保持された適正なビジネスロジックとを含むアプリケーションプログラムを生成するアプリケーションプログラム生成手段と、前記生成したアプリケーションプログラムをデータベースシステムの論理アーキテクチャに組み込むアプリケーションプログラム組込み手段と、を有することを特徴とする。
【００２２】
上記発明において、前記アプリケーションプログラム組込み手段は、前記適正なＳＱＬ文を前記論理アーキテクチャにおけるデータアクセス領域に配置し、前記適正なビジネスロジックを前記論理アーキテクチャにおけるビジネスロジック領域に配置することを特徴とする。
【００２３】
上記発明において、前記適正ＳＱＬ文保持手段は、前記適正なＳＱＬ文を圧縮したファイル形式で前記第１記憶領域に保持し、前記適正ビジネスロジック保持手段は、前記適正なＳＱＬ文を圧縮したファイル形式で前記第２記憶領域に保持し、前記アプリケーションプログラム生成手段は、前記圧縮された適正なＳＱＬ文と前記圧縮された適正なビジネスロジックとを統合して前記アプリケーションプログラムを生成することを特徴とする。
【００２４】
上記発明において、前記アプリケーションプログラム生成手段は、あらかじめアーカイブされているフレームワークおよびライブラリのうち少なくとも１つを含めて統合することで前記アプリケーションプログラムを生成することを特徴とする。
【００２５】
上記発明において、前記適正ＳＱＬ文保持手段は、Ｊａｖａ（登録商標）開発環境を利用して前記ＳＱＬ文を前記第１記憶領域に保存することを特徴とする。
【００２６】
また、本発明によるデータベースシステムは、上記した本発明によるアプリケーションプログラム作成支援装置を用いて作成された前記ＳＱＬ文が組み込まれたアプリケーションプログラムを用いて作成されたことを特徴とする。
【００２７】
また、本発明によるデータベースシステムは、上記した本発明によるアプリケーションプログラム作成支援装置を用いて作成された前記ＳＱＬ文が組み込まれたアプリケーションプログラムを用いて作成されたことを特徴とするデータベースシステムであって、前記鍵生成手段により前記第１鍵コードとペアになる鍵コードとして生成された第２鍵コードと、あらかじめ前記適正なＳＱＬ文から算出した所定値とを用いて前記デジタル署名が正規のものであるか否かを判定する署名検証手段と、前記署名検証手段により前記デジタル署名が正規のものであると判定された場合、前記適正なＳＱＬ文を実行するＳＱＬ文実行手段と、を備え、前記鍵生成手段が、前記第１鍵コードと共に前記第２鍵コードを生成することを特徴とする。
【００２８】
また、本発明によるアプリケーションプログラム作成支援方法は、ＳＱＬ文に特定のコードが含まれるか否かを判定する特定コード判定ステップと、前記特定コード判定ステップによって前記特定のコードが含まれていないと判定された場合、前記特定のコードが含まれていないＳＱＬ文を作成対象のアプリケーションプログラムに組み込まれる適正なＳＱＬ文であるとして第１記憶領域に保持する適正ＳＱＬ文保持ステップと、を含むことを特徴とする。
【００２９】
また、本発明によるアプリケーションプログラム作成支援方法は、ＳＱＬ文に特定のコードが含まれるか否かを判定する特定コード判定ステップと、前記特定コード判定ステップによって前記特定のコードが含まれていると判定された場合、前記特定のコードが含まれているＳＱＬ文を作成対象のアプリケーションプログラムに組み込まれる適正なＳＱＬ文であるとして第１記憶領域に保持する適正ＳＱＬ文保持ステップと、を含むことを特徴とする。
【００３０】
また、本発明によるアプリケーションプログラム作成支援プログラムは、所定のアプリケーションプログラム開発環境が組み込まれた情報処理装置において実行されるアプリケーションプログラム作成支援プログラムであって、ＳＱＬ文に特定のコードが含まれるか否かを判定する特定コード判定処理と、前記特定コード判定処理によって前記特定のコードが含まれていないと判定された場合、前記特定のコードが含まれていないＳＱＬ文を作成対象のアプリケーションプログラムに組み込まれる適正なＳＱＬ文であるとして第１記憶領域に保持する適正ＳＱＬ文保持処理と、を前記情報処理装置に実行させることを特徴とする。
【００３１】
また、本発明によるアプリケーションプログラム作成支援プログラムは、所定のアプリケーションプログラム開発環境が組み込まれた情報処理装置において実行されるアプリケーションプログラム作成支援プログラムであって、ＳＱＬ文に特定のコードが含まれるか否かを判定する特定コード判定処理と、前記特定コード判定処理によって前記特定のコードが含まれていると判定された場合、前記特定のコードが含まれているＳＱＬ文を作成対象のアプリケーションプログラムに組み込まれる適正なＳＱＬ文であるとして第１記憶領域に保持する適正ＳＱＬ文保持処理と、を前記情報処理装置に実行させることを特徴とする。
【発明の効果】
【００３２】
本発明によれば、特定のコードが記述されたＳＱＬ文がアプリケーションプログラムに組み込まれることを回避すること、あるいは、特定のコードが記述されたＳＱＬ文を積極的にアプリケーションプログラムに組み込むことが可能となるため、例えば文字列操作関数や型変換演算子を含む各種演算子などを有するＳＱＬ文のような複雑なＳＱＬ文が作成されてしまうことで保守性が低下したりパフォーマンスが劣化したりなどの問題が発生することを回避でき、結果として、パフォーマンスおよび保守性の高いデータベースシステムを作成可能なアプリケーションプログラム作成支援装置、アプリケーションプログラム作成支援方法およびそのプログラム、ならびにそれにより作成されたデータベースシステムを実現することが可能となる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明を実施するための最良の形態を図面と共に詳細に説明する。
【００３４】
図１は、データベース管理システム（ＤａｔａＢａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ：ＤＢＭＳ）における各種処理をデータアクセスに着目して複数の処理区分に分類した場合の構成を示す概略模式図である。図１に示すように、各種処理は、『ａ．画面等との入出力』、『ｂ．処理の制御』、『ｃ．データの加工』、『ｄ．データの連携』、『ｅ．データの集計』、『ｆ．データの高速な取り出し』、および、『ｇ．データの入出力』に分類できる。各処理区分には、それぞれに１〜７の参照符号を付す。また、図面中、左側に配置されるほど汎用プログラム言語で書かれたビジネスロジックでの処理（以下、単にプログラム処理という）が得意とする区分であり、反対に右側に配置されるほどＳＱＬ文での処理（以下、単にＳＱＬ処理という）が得意とする区分である。したがって、図１上部に示すように、図面中、左側に配置された区分の処理であるほど、ＳＱＬ処理で実行しようとするとＳＱＬ文の構造が複雑化する。なお、ここでいう「得意」とは、処理速度の優位性や保守および管理の容易さなどを意味する。
【００３５】
上記分類後の処理区分において、ａ．画面等との入出力１には、画面への出力や帳票の出力や他システムとの情報のやり取り等の処理が含まれる。この処理区分ａに分類される処理は、ビジネスロジックでのプログラム処理でしか実現することができない。
【００３６】
ｂ．処理の制御２には、条件分岐などを伴う制御処理が含まれる。この処理区分に分類される処理は、プログラム処理で実現されることが一般的である。ただし、ＳＱＬ言語がサポートする外部結合（“outer join”）機能を駆使してデータの在る場合と無い場合との条件分岐を記述したり、条件文の述部に“LIKE”演算子を用いることで検索条件が入力されなかった際には条件文として成り立たない構造にしたりなど、ある程度はＳＱＬ処理でも実現することができる。
【００３７】
ｃ．データの加工３には、取り出したデータの演算処理が含まれる。この処理区分に分類される処理も、プログラム処理で実現されることが一般的である。ただし、ＳＱＬ言語も一般的な演算子をサポートしており、さらに、市販されている関係データベース管理システム（Ｒｅｌａｔｉｏｎａｌ  ＤＢＭＳ）、例えばＤＢ（ＤａｔａＢａｓｅ）２（登録商標）で言うところの“CASE”文やＯｒａｃｌｅ（登録商標）  Ｄａｔａｂａｓｅがサポートする“DECODE”関数などを使用することで条件分岐も含めたデータ加工処理が可能となるなど、ＳＱＬ処理でも実現することができる。
【００３８】
ｄ．データの連携４には、ＳＱＬ処理で言うところの表結合（“join”）が含まれる。表結合は、一般的にＳＱＬ処理で実現した方が効果的であるが、場合によってはプログラム処理で実現した方が高速性に優れることがある。また、“join”構文に頼りすぎて多くのテーブルを連携させるＳＱＬ文を記述してしまうと、パフォーマンス劣化の温床となり易く且つ可読性の悪いものになり易いという欠点もある。
【００３９】
ｅ．データの集計５には、“SUM”関数などを使用したデータの集計処理が含まれ、一般的にはセット型の関係データベース（ＲＤＢ）が得意とする分野である。この処理区分に分類される処理は、例えば１行（ｒｏｗ）ずつ値を読み込んで集計するようにプログラム言語で記述することも可能であるが、一般的にはＳＱＬ処理として実現した方が生産性、保守性、および高速性に優れたデータベースシステム（ＤａｔａＢａｓｅ  Ｓｙｓｔｅｍ：ＤＢＳ）を構築できる。
【００４０】
ｆ．データの高速な取り出し６には、蓄積したデータから目的のデータを取り出す検索処理が含まれる。この処理区分に分類される処理は、ＳＱＬ言語におけるインデックスを使用することで高速化が可能である。ただし、数件〜数百件程度のデータであれば、プログラム処理だけでも速度が気にならない程度に実現することが可能である。
【００４１】
ｇ．データの入出力７には、蓄積したデータに対する検索、挿入、変更、および削除などの処理が含まれる。この処理区分に分類される処理は、ＳＱＬ処理でしか実現することができない。
【００４２】
以上のように、ＤＢＭＳにおける各種処理には、プログラム処理でしか実現できないもの（図１における区分群Ａ１）、ＳＱＬ処理でしか実現できないもの（図１における区分群Ａ３）、および、いずれの処理でも実現できるもの（図１における区分群Ａ２）が存在する。
【００４３】
これらの内、区分群Ａ１およびＡ３に属する処理区分ａおよびｇは、役割分担が明確であるため、ＤＢＭＳを設計する際に特に問題とならない。また、区分群Ａ２に属する処理区分であっても、処理区分ｂおよびｆについては得意とする処理言語が概ね明確である。このため、処理区分ａおよびｂについてはプログラム処理で実現し、処理区分ｇおよびｆについてはＳＱＬ処理で実現することが好ましい。
【００４４】
また、上記した処理区分以外の処理区分ｃ、ｄおよびｅに関しては、プログラム処理とＳＱＬ処理とのいずれで処理するかが従来において明確に判断されていない。このため、往々にして構造が複雑なＳＱＬ文が作成されがちである。
【００４５】
ここで、ＳＱＬ文の構造は、上述したように、図１の図面中左側（プログラム処理側）に近づくほど複雑化する。ＳＱＬ文の構造が複雑化すると、以下のような欠点が生じる場合がある。
【００４６】
まず１つ目は、パフォーマンス劣化の原因になり易いことである。経験上、パフォーマンスに問題のあるＤＢＭＳは、データアクセスにその原因があることが多く、そのほとんどのケースで複雑なＳＱＬ処理が原因となっている。単純なＳＱＬ処理であればインデックスによる高速化が可能であるが、複雑なＳＱＬ処理ではチューニングに時間を要し、解決に至らない場合がある。
【００４７】
２つ目は、保守性が低下することである。複雑なＳＱＬ処理には多くの要件が含まれているため、処理速度を低下させるだけでなく、システム再構成時の柔軟性も損なわれてしまう。この結果、パフォーマンスだけでなく、保守性も低いＤＢＭＳとなってしまう。
【００４８】
３つ目は、設計書の作成が困難なことである。例えば“join”構文を多用しているなど、難解な表結合をしているＳＱＬ処理は可読性が悪い。このため、Ｅ−Ｒ図などの設計書を作成することが非常に困難となる。
【００４９】
４つ目は、テストコードの作成が困難なことである。プログラム処理では全処理を複数のステップに分割して記述しているため、各ステップでの処理に関してそれぞれテストコードを書くことは容易である。一方、ＳＱＬ処理では全処理を一つの処理として記述するため、想定されるケース分、テストコードを用意する必要がある。用意するテストコードの数は、ＳＱＬ処理が複雑であればあるほど増加する。このため、難解なＳＱＬ処理のテストコードを作成することは事実上不可能である。また、仮に用意できたとしても、このテストコードに不備が含まれていることが多く、本番稼働後に不具合や速度劣化などが生じ易いという欠点も存在する。
【００５０】
５つ目は、複雑なＳＱＬ処理が増殖してしまうことである。複雑なＳＱＬ処理を作成するには高いスキルが必要となるため、誰もが作成できるわけではない。このため、高いスキルを持つ者により記述されたＳＱＬ処理は他の者にコピーされて利用される傾向があるが、コピー元のＳＱＬ処理が複雑なものであると、結果的に複雑なＳＱＬ処理が増殖してしまうことになる。このように増殖した複雑なＳＱＬ処理は、コピー元のＳＱＬ処理に原因があると分かっていても、どこにコピーされたかを追跡することが現実的に不可能であるため、チューニング担当者によるインデックスの変更が事実上不可能である。また、チューニング担当者がコピー元のＳＱＬ処理を修正したとしても、コピー先の担当者がＳＱＬ処理の内容を理解していないことが多く、このために同様の修正をどのＳＱＬ処理に対して行えば良いかが判断できず、そのまま放置されてしまうケースも多い。
【００５１】
６つ目は、アクセスパスが不安定になることである。ＳＱＬ処理が複雑になるとアクセスパスも複雑になる。アクセスパスとは、オプティマイザがＳＱＬ処理を解釈して、一番速いと想定したデータアクセスの順番である。アクセスパスでは、どのテーブルを最初に参照するか、どのインデックスを使用するかがチューニングポイントとなる。しかしながら、多くのテーブルを表結合するような複雑なＳＱＬ処理では、オプティマイザが適切なアクセスパスを選択できず、使ってほしいインデックスを使わない場合がある。これは、アクセスパスの決定が、オプティマイザの性能と、オプティマイザの判断材料になるテーブルごとの統計情報の精度とに依存するためである。
【００５２】
以上のような欠点を生じさせないためには、複雑なＳＱＬ処理が組み込まれることを如何にして排除するかがポイントとなる。そこで本実施の形態では、得意とされる言語が明らかな処理区分ａ、ｂ、ｆおよびｇ以外の処理区分、すなわち、従来では得意とされる言語が明らかでなかった処理区分ｃ、ｄおよびｅに関し、以下のテスト計測に基づいて、いずれで処理するかを決定する。これにより、アプリケーションプログラム作成者の嗜好に依存して複雑なＳＱＬ文が作成されてしまうことを回避することが可能となり、結果的にパフォーマンスおよび保守性の高いデータベースシステムを作成可能なアプリケーションプログラム作成支援装置、アプリケーションプログラム作成支援方法およびそのプログラム、ならびにそれにより作成されたＤＢＭＳおよびＤＢＳを実現することが可能となる。
【００５３】
処理区分ｃ、ｄおよびｅのうち、まず、処理区分ｃ．データの加工３についてのテスト計測結果を説明する。図２は、本テスト計測の際に使用したプログラム処理の処理内容記述文ｐ０１およびＳＱＬ処理の処理内容記述文ｐ１１と、それぞれについての測定結果ｓ０１およびｓ１１とを示す図である。なお、測定結果は、ＳＱＬ処理での処理速度ｓ１１を‘１’とした相対値である。また、本テスト計測では、２万件のデータを用意し、これを無作為に全件検索した際の処理速度を計測した。
【００５４】
図２に示すように、ＳＱＬ処理の処理速度ｓ１１とプログラム処理の処理速度ｓ０１とは、概ね同じである。すなわち、処理速度の点では、プログラム処理とＳＱＬ処理とに差が無い。このことから、処理区分ｃ．データの加工１については、生産性と保守性の観点からプログラム処理を採用した方が良いことが導き出せる。これは、実際のアプリケーションで用いられるような複雑な計算式では、処理を複数のステップに分割して記述できるプログラム処理の方が、一つの処理で記述しなければならないＳＱＬ処理よりも可読性などに優れているためである。
【００５５】
次に、処理区分ｄ．データの連携４についてのテスト計測結果を説明する。図３は、本テスト計測の際に使用したプログラム処理（１）１０、プログラム処理（２）２０、およびＳＱＬ処理３０の処理内容を示す図である。また、図４は、プログラム処理（１）１０、プログラム処理（２）２０、およびＳＱＬ処理３０それぞれについて、データのヒット率ごとの測定結果をまとめた表である。なお、図４では、各ヒット率でのＳＱＬ処理３０の処理速度を‘１’とした相対値で、各プログラム処理（１）１０、（２）２０の処理速度を示す。
【００５６】
本テスト計測では、２万件の注文データと２００万件の注文明細データとを用意し、これに対する処理速度の計測を行なった。また、プログラム処理（１）１０では、これの処理内容記述文ｐ０２および参照符号１１で示す処理内容の概念図にあるように、まず注文データについて検索し、次いで注文明細データについて検索した。プログラム処理（２）２０では、これの処理内容記述文ｐ０３および参照符号２１で示す処理内容の概念図にあるように、まず注文明細データについて検索し、次いで注文データについて検索した。ＳＱＬ処理３０では、これの処理内容記述文ｐ１２および参照符号３１で示す処理内容の概念図にあるように、注文データと注文明細データとを表結合（“join”）して検索した。
【００５７】
図４に示すように、２５％程度までの比較的少ないヒット率である場合、「注文明細データ」→「注文データ」の順に処理するプログラム処理（２）２０が最も処理速度が速いという結果が得られた。しかし、ヒット率が２７％程度を超えると、この結果は逆転し、プログラム処理（１）１０やＳＱＬ処理３０の方が速いという結果が得られた。特に、ヒット率が１００％に近づけば近づくほど、ＳＱＬ処理３０の方が他のプログラム処理（１０、２０）よりも速く、その差が広がるという結果が得られた。
【００５８】
以上のことから、処理区分ｄ．データの連携４については、ヒット率や最初に参照するテーブルに依存してＳＱＬ処理とプログラム処理との処理速度が変化することが分かる。このため、一概にプログラム処理とＳＱＬ処理とのどちらが望ましいかを判断することはできない。よって、本実施の形態では、処理区分ｄ．データの連携４をどちらの処理として作成するかに自由度を持たせるように構成する。
【００５９】
次に、処理区分ｅ．データの集計５についてのテスト計測結果を説明する。図５は、本テスト計測の際に使用したプログラム処理の処理内容記述文ｐ０４およびＳＱＬ処理の処理内容記述文ｐ１４と、それぞれについて測定結果ｓ０４およびｓ１４を示す図である。なお、測定結果は、ＳＱＬ処理での処理速度ｓ１４を‘１’とした相対値である。また、本テスト計測では、平均レコード長が１，９５１バイトのデータを約１８０万件用意し、その中からインデックスが付いているカラム（Ｋｅｙ）を検索条件として１８万件ヒットさせ、得られたデータから‘部署’と‘年月’とのそれぞれについて合計金額を算出した際の処理速度を計測した。なお、集計された結果のデータ件数は約１７１万件になった。
【００６０】
図５に示すように、ＳＱＬ処理の処理速度ｓ１４とプログラム処理の処理速度ｓ０４との速度差は顕著であった。すなわち、ＳＱＬ処理の処理速度ｓ１４の方がプログラム処理の処理速度ｓ０４よりも非常に速いという結果が得られた。これは、レコード型であるプログラム処理で約１７１万件のデータを集計する場合、約１７１万回のＳＱＬが実行されることになるのに対し、セット型であるＳＱＬ処理では１回の処理で済むためである。
【００６１】
また、この処理区分ｅについては、プログラム処理として作成した方が保守性の低下に繋がる。これは、‘部署’と‘年月’とをループさせるためには、その値を求める際に前処理が必要となるが、この前処理の条件が変更された場合の保守範囲がＳＱＬ処理の保守範囲よりも広いためである。したがって、処理区分ｅ．データの集計５については、ＳＱＬ処理を採用した方が良いことが導き出せる。
【００６２】
以上で説明したように、本実施の形態による考察によって、処理区分ａ、ｂおよびｃについてはプログラム処理を採用することが望ましく、処理区分ｄ、ｆおよびｇについてはＳＱＬ処理を採用することが望ましいことが導き出せた。また、処理区分ｅについては、状況に応じて変更できるように自由度を持たせることが望ましいことが判明した。
【００６３】
なお、以下の説明では、処理区分『ｅ．データの集計処理５』に分類される処理をいずれの言語で作成するかを作成者の判断に委ねる構成とするが、本発明はこれに限定されず、ＳＱＬ処理またはプログラム処理で実現する場合の条件を設定し、この条件を満たすか否かを自動的に判定し、この判定結果に応じてＳＱＬ文の登録の可否を判断するように構成しても良い。
【００６４】
そこで本実施の形態では、処理区分ｂ．処理の制御２に分類される処理および処理区分ｃ．データの加工３に分類される処理がＳＱＬ文で作成されないように制限することを可能とするアプリケーションプログラム作成支援装置（以下、ＡＰＰ作成支援装置という）、アプリケーションプログラム作成支援方法（以下、ＡＰＰ作成支援方法という）およびそれを実現するためのプログラムを例に挙げて説明する。
【００６５】
次に、本実施の形態によるＡＰＰ作成支援装置、ＡＰＰ作成支援装置およびそのプログラムを説明するにあたり、まず、これらを用いて作成されたＤＢＳ（後述におけるＲＤＢＳ２０００（図７参照）に対応）の論理アプリケーション・アーキテクチャ（以下、単に論理アーキテクチャという）を説明する。図６は、本実施の形態により構築されるＤＢＳの論理アーキテクチャを示す模式図である。
【００６６】
図６に示すように、本実施の形態により構築されるＤＢＳの論理アーキテクチャは、クライアント領域１００とプレゼンテーション領域２００とビジネスロジック領域３００とデータアクセス領域４００とリソース領域５００とから構成された階層構造を有する。この階層構造において、本実施の形態によるＡＰＰ作成支援装置、ＡＰＰ作成支援方法またはそのプログラムで作成されたアプリケーションプログラムのうち、汎用プログラム言語で作成されたビジネスロジックはビジネスロジック領域３００に配置され、ＳＱＬ言語で作成されたＳＱＬ文はデータアクセス領域４００に配置される。本説明では、図６に示すように、アプリケーションプログラム（１）３１０とアプリケーションプログラム（２）３２０とを例示する。また、アプリケーションプログラム（１）３１０は、例えばビジネスロジック（１）３１１とＳＱＬ文（Ｘ）４１１および（Ｙ）４１２とを含んで構成され、アプリケーションプログラム（２）３２０は、例えばビジネスロジック（２）３２１とＳＱＬ文（Ｚ）４２１および（Ｘ）４２２とを含んで構成されている。
【００６７】
各アプリケーションプログラム（（１）３１０、（２）３２０）におけるビジネスロジック（１）３１１および（２）３２１は、上述したように汎用プログラム言語で記述されており、上記説明におけるプログラム処理に該当する。したがって本実施の形態においては、図６の記述内容３１１ａおよび３２１ａに示すように、図１で説明した処理区分ａ〜ｃおよびｅのいずれかに分類される処理が少なくとも１つ記述され、それぞれビジネスロジック領域３００に配置される。なお、本実施の形態では、ビジネスロジック（１）３１１および（２）３２１がＪａｖａ（登録商標）言語で記述されている場合を例に挙げる。
【００６８】
また、各アプリケーションプログラム（（１）３１０、（２）３２０）におけるＳＱＬ文（Ｘ）４１１および（Ｙ）４１２、ならびに、ＳＱＬ文（Ｚ）４２１および（Ｘ）４２２は、上述したようにＳＱＬ言語で記述されており、上記説明におけるＳＱＬ処理に該当する。したがって本実施の形態においては、図６の記述内容４１１ａおよび４１２ａ、ならびに、４２１ａおよび４２２ａに示すように、図１で説明した処理区分ｄ〜ｇのいずれかに分類される処理が記述され、それぞれデータアクセス領域４００に配置される。なお、図６に示す例では、ＳＱＬ文（Ｘ）がリソース領域５００に配置されたＲＤＢ５０１に対する処理を実行し、ＳＱＬ文（Ｙ）がリソース領域５００に配置されたＲＤＢ５０２に対する処理を実行し、ＳＱＬ文（Ｚ）がリソース領域５００に配置されたＲＤＢ５０３に対する処理を実行する。
【００６９】
この他、図６において、クライアント領域１００にはフロントエンドとしてのアプリケーションソフトウエア１０１などが配置され、リソース領域５００にはバックエンドとしての関係データベース（ＲＤＢ）５０１〜５０３などが配置され、プレゼンテーション領域２００にはクライアント領域１００とビジネスロジック領域３００とを結ぶ種々のインターフェース２０１が配置される。
【００７０】
次に、以上で説明した本実施の形態によるアプリケーションプログラムの開発環境および実行環境について図面を用いて詳細に説明する。なお、以下の説明では、アプリケーションプログラムの開発および実行環境としてＪａｖａ（登録商標）プラットフォームを採用した場合を例に挙げる。図７は、開発環境であるＡＰＰ作成支援装置（ＡＰＰ作成支援装置システムともいう）１０００および実行環境である関係データベースシステム（ＲＤＢＳ）２０００の構成を示すシステム概略図である。
【００７１】
まず、本実施の形態によるアプリケーションプログラムの開発環境を実現するＡＰＰ作成支援システム１０００について説明する。図７に示すように、ＡＰＰ作成支援システム１０００は、ＳＱＬ文作成用サーバ１０１０とビジネスロジック作成用サーバ（以下、ＢＬ作成用サーバという）１０２０とアプリケーションプログラム作成用サーバ（以下、ＡＰＰ作成用サーバという）１０３０とを有して構成される。
【００７２】
ＳＱＬ文作成用サーバ１０１０は、アプリケーションプログラムにおけるＳＱＬ文の作成を支援するサーバシステムであり、Ｊａｖａ（登録商標）  ＥＥのような少なくともＪａｖａ（登録商標）言語とＳＱＬ言語との両方をサポートする開発環境が組み込まれたサーバマシン１０１１より構成される。また、サーバマシン１０１１には、ＳＱＬ文のソースファイル１０１２とＳＱＬ文のｊａｒ（Ｊａｖａ（登録商標）  ＡＲｃｈｉｖｅ）ファイル１０１３と登録権限管理ファイル１０１４とを格納する記憶領域が内部もしくは外部に設けられている。なお、ＳＱＬ文のソースファイル１０１２およびｊａｒファイル１０１３と登録権限管理ファイル１０１４とについては、後述の本実施の形態によるＡＰＰ作成支援方法の説明において詳細に説明する。
【００７３】
また、ＳＱＬ文作成用サーバ１０１０には、所定のネットワークを介してＳＱＬ文作成者用端末１００１が接続される。アプリケーションプログラムにおけるＳＱＬ文の作成者（以下、ＳＱＬ文作成者という）は、ＳＱＬ文作成者用端末１００１を用いてＳＱＬ文作成用サーバ１０１０にログインしてＳＱＬ文を作成し、これをｊａｒファイルに変換する。なお、ｊａｒファイルとは、Ｊａｖａ（登録商標）のクラスファイル等をまとめた圧縮アーカイブファイルであり、Ｊａｖａ（登録商標）言語がサポートする“jar”コマンドで作成される。また、所定のネットワークとは、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やインターネットなどである。さらに、ＳＱＬ文作成者用端末１００１には、ディスクトップ型やノート型などの一般的なパーソナルコンピュータ（以下、ＰＣという）を用いることができる。
【００７４】
ＢＬ作成用サーバ１０２０は、アプリケーションプログラムにおけるビジネスロジックの作成を支援するサーバシステムであり、少なくともＪａｖａ（登録商標）開発環境が組み込まれたサーバマシン１０２１より構成される。また、サーバマシン１０２１には、ビジネスロジックのソースファイル１０２２とビジネスロジックのｊａｒファイル１０２３と登録権限管理ファイル１０２４とを格納する記憶領域が内部もしくは外部に設けられている。なお、ビジネスロジックのソースファイル１０２２およびｊａｒファイル１０２３と登録権限管理ファイル１０２４とについては、後述のＡＰＰ作成支援方法の説明において詳細に説明する。
【００７５】
また、ＢＬ作成用サーバ１０２０には、所定のネットワークを介してビジネスロジック作成者用端末（以下、ＢＬ作成者用端末という）１００２が接続される。アプリケーションプログラムにおけるビジネスロジックの作成者（以下、ＢＬ作成者という）は、ＢＬ作成者用端末１００２を用いてＢＬ作成用サーバ１０２０にログインしてビジネスロジックを作成し、これをｊａｒファイルに変換する。なお、上記と同様に、所定のネットワークとはＬＡＮやＷＡＮやインターネットなどであり、ＢＬ作成者用端末１００２には一般的なＰＣなどを用いることができる。
【００７６】
ＡＰＰ作成用サーバ１０３０は、上記２つのサーバ（１０１０および１０２０）で作成された各種ｊａｒファイル（１０１３および１０２３）と、アーカイブしておいたフレームワークや各種ライブラリなどとを用いて、アプリケーションプログラムのｅａｒ（Ｅｎｔｅｒｐｒｉｓｅ  ＡＲｃｈｉｖｅ）ファイルを生成するためのサーバシステムであり、少なくともＪａｖａ（登録商標）開発環境が組み込まれたサーバマシン１０３１より構成される。また、サーバマシン１０３１には、上記フレームワークや各種ライブラリなどのアーカイブファイル１０３２を格納する記憶領域が内部もしくは外部に設けられている。
【００７７】
また、ＡＰＰ作成用サーバ１０３０には、所定のネットワークを介してアプリケーションプログラム作成者用端末（以下、ＡＰＰ作成者用端末という）１００３が接続される。アプリケーションプログラムの作成者（以下、ＡＰＰ作成者という）は、ＡＰＰ作成者用端末１００３を用いてＡＰＰ作成用サーバ１０３０にログインし、目的のファイルを１つ以上指定してｅａｒファイルを作成する。なお、ｅａｒファイルとは、ｊａｒファイルとｗａｒ（Ｗｅｂ  ＡＲｃｈｉｖｅ）ファイルとが圧縮統合された、いわゆるエンタープライズアプリケーションの圧縮統合アーカイブファイルであり、同じくＪａｖａ（登録商標）言語がサポートする“jar”コマンドで作成される。また、上記と同様に、所定のネットワークとは、ＬＡＮやＷＡＮやインターネットなどであり、ＡＰＰ作成者用端末１００３には一般的なＰＣなどを用いることができる。
【００７８】
次に、上記のＡＰＰ作成支援システム１０００で実現される本実施の形態によるＡＰＰ作成支援方法について図面を用いて詳細に説明する。図８から図１１は、本実施の形態によるＡＰＰ作成支援方法を示すフローチャートである。
【００７９】
本実施の形態によるＡＰＰ作成支援方法は、図８に示すように、アプリケーションプログラムにおけるＳＱＬ文の作成を支援するＳＱＬ文作成支援ステップＳ１０１と、アプリケーションプログラムにおけるビジネスロジックの作成を支援するビジネスロジック作成支援ステップＳ１０２と、上記各ステップで作成したＳＱＬ文のｊａｒファイルおよびビジネスロジックのｊａｒファイルとアーカイブしておいたフレームワークや各種ライブラリとを用いてアプリケーションプログラムを生成するアプリケーションプログラム生成支援ステップＳ１０３とを含む。以下に、各ステップの詳細な動作を、図面を用いて説明する。なお、図８では、ＳＱＬ文作成支援ステップＳ１０１の後にビジネスロジック作成支援ステップＳ１０２を行なうように構成しているが、本発明はこれに限定されず、ステップＳ１０１とステップＳ１０２との順序は適宜入れ替わるものである。
【００８０】
図９に示すように、本実施の形態によるＳＱＬ文作成支援ステップＳ１０１（図８参照）では、まず、アプリケーションプログラムにおけるＳＱＬ文作成者（第１作成者）が、ＳＱＬ文作成者用端末１００１（図７参照）を用いてＳＱＬ文作成用サーバ１０１０へログインし、ＳＱＬ文作成用サーバ１０１０が提供するＳＱＬ開発環境を利用してＳＱＬ文のソースファイルを作成する（ステップＳ１１１：ＳＱＬ文入力手段／ステップ／処理）。続いて、ＳＱＬ文作成者は、ＳＱＬ文作成者用端末１００１よりＳＱＬ文作成用サーバ１０１０へ、作成したＳＱＬ文の登録指示を入力する（ステップＳ１１２）。
【００８１】
以上のようにＳＱＬ文の登録指示が入力されると、ＳＱＬ文作成用サーバ１０１０は、まず、登録対象のＳＱＬ文に、処理区分ｂ（図１参照：所定のカテゴリ）に分類される処理の条件式（特定のコード）が含まれているか否かを判定する（ステップＳ１１３：特定コード判定手段／ステップ／処理）。なお、処理区分『ｂ．処理の制御』２に分類される処理の条件式としては、例えば“DECODE”関数や“CASE”式などが挙げられる。
【００８２】
ステップＳ１１３の判定の結果、処理区分ｂに分類される処理の条件式が含まれている場合（ステップＳ１１３のＹｅｓ）、ＳＱＬ文作成用サーバ１０１０は、登録要求のあったＳＱＬ文を登録せずに処理を終了する。
【００８３】
一方、ステップＳ１１３の判定の結果、処理区分ｂに分類される処理の条件式が含まれていない場合（ステップＳ１１３のＮｏ）、ＳＱＬ文作成用サーバ１０１０は、次に、処理区分ｃ（図１参照：所定のカテゴリ）に分類される処理の文字列操作関数または型変換演算子を含む演算子（特定のコード）が含まれているか否かを判定する（ステップＳ１１４：特定コード判定手段／ステップ／処理）。なお、処理区分『ｃ．データの加工』３に分類される処理のうち、文字列操作関数としては例えば“SUBSTR”関数や“LEFT”関数や“RIGHT”関数や“ABS（絶対値）”関数などが挙げられ、型変換演算子としては例えばキャスト演算子などが挙げられ、その他の演算子としては“＋”演算子や“−”演算子や“×”演算子や“÷”演算子などが挙げられる。
【００８４】
ステップＳ１１４の判定の結果、処理区分ｃに分類される処理の文字列操作関数または型変換演算子を含む演算子が含まれている場合（ステップＳ１１４のＹｅｓ）、ＳＱＬ文作成用サーバ１０１０は、登録要求のあったＳＱＬ文を登録せずに処理を終了する。
【００８５】
一方、ステップＳ１１４の判定の結果、処理区分ｃに分類される処理の文字列操作関数および型変換演算子を含む演算子のいずれも含まれていない場合（ステップＳ１１４のＮｏ）、ＳＱＬ文作成用サーバ１０１０は、ＳＱＬ文作成者に対し、当該ＳＱＬ文作成者の識別用に配布しておいたＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｄａｔａ）およびパスワード（第１識別情報）を要求する（ステップＳ１１５）。
【００８６】
ステップＳ１１５の要求に対し、ＳＱＬ文作成者用端末１００１よりＳＱＬ文作成者のＩＤおよびパスワードが入力されると（ステップＳ１１６：第１識別情報入力手段／ステップ／処理）、ＳＱＬ文作成用サーバ１０１０は、入力されたＩＤおよびパスワードを用いてあらかじめ登録権限管理ファイル１０１４（第１登録権限管理手段／ステップ／処理）に登録しておいた登録権限（第１登録権限）を参照し、当該ＳＱＬ文作成者がＳＱＬ文を登録する権限を持っているか否かを判定する（ステップＳ１１７：第１登録権限判定手段／ステップ／処理）。この判定の結果、ＳＱＬ文作成者が登録権限を有していない場合（ステップＳ１１７のＮｏ）、ＳＱＬ文作成用サーバ１０１０は、登録要求のあったＳＱＬ文を登録せずに処理を終了する。
【００８７】
一方、ステップＳ１１７の判定の結果、ＳＱＬ文作成者が登録権限を有している場合（ステップＳ１１７のＹｅｓ）、ＳＱＬ文作成用サーバ１０１０は、例えばＪａｖａ（登録商標）  ＥＥ開発環境においてサポートされている機能を用いてデジタル署名を生成する（ステップＳ１１８：デジタル署名生成手段／ステップ／処理）。このステップＳ１１８には、例えば、一般的なデジタル署名体系を構成する３つのアルゴリズムのうち、公開鍵ＰＫ（Ｐｕｂｌｉｃ  Ｋｅｙ：第２鍵コード）と秘密鍵ＳＫ（Ｓｅｃｒｅｔ  Ｋｅｙ：第１鍵コード）との鍵ペアをランダム生成する鍵生成アルゴリズムＧ（鍵生成手段／ステップ／処理）と、あらかじめ所定のハッシュ関数を用いて算出しておいた登録対象ＳＱＬ文のハッシュ値（プログラムハッシュ値）と鍵生成アルゴリズムＶで生成した秘密鍵ＳＫとを用いてデジタル署名を生成する署名アルゴリズムＳとが組み込まれる。なお、登録対象ＳＱＬ文のプログラムハッシュ値と、生成した鍵ペアのうち公開鍵ＰＫとは、実行環境に置かれた運用サーバ２０１０に組み込まれた検査モジュール（図１２の参照符号２０１３）に内蔵され、当該デジタル署名が付されたアプリケーションプログラム（図１２の参照符号２０１２）を実行する際の署名検証アルゴリズムＶにおいて使用される。
【００８８】
次に、ステップＳ１１８で生成したデジタル署名とステップＳ１１１で入力されたＳＱＬ文のソースファイルとを用いてデジタル署名付きのｊａｒファイル１０１３（図７参照）を生成する（ステップＳ１１９：デジタル署名添付手段／ステップ／処理）。その後、ＳＱＬ文作成用サーバ１０１０は、生成したｊａｒファイル１０１３をサーバマシン１０１１の内部もしくは外部に接続された記憶領域（第１記憶領域）に格納する（ステップＳ１２０：適正ＳＱＬ文保持手段／ステップ／処理）。
【００８９】
以上のように、本実施の形態によるＳＱＬ文作成支援ステップＳ１０１（図８参照）は、図９のステップＳ１１３およびＳ１１４において処理区分ｂに分類される処理の条件式や処理区分ｃに分類される処理の文字列操作関数や型変換演算子を含む各種演算子などを処理区分判定のための指標として利用し、これらのうちいずれかを含むＳＱＬ文が作成された場合（ステップＳ１１３のＹｅｓ、および、ステップＳ１１４のＹｅｓ）、当該ＳＱＬ文がアプリケーションプログラムに組み込まれるｊａｒファイルとして登録されないように構成されている。これにより、ＳＱＬ文作成者の嗜好によって処理区分ｄ、ｆまたはｇに分類される処理が複雑なＳＱＬ処理として作成されてしまうことを回避できる。この結果、複雑なＳＱＬ文が作成されてしまうことに起因する保守性の低下やパフォーマンスの劣化などの問題の発生を回避でき、パフォーマンスおよび保守性の高いデータベースシステムを作成可能なアプリケーションプログラム作成支援装置、アプリケーションプログラム作成支援方法およびそのプログラム、ならびにそれにより作成されたデータベースシステムを実現することができる。
【００９０】
また、本実施の形態によるＳＱＬ文作成支援ステップＳ１０１（図８参照）で作成されたＳＱＬ文にはデジタル署名が添付されているため、実行環境において不適切なＳＱＬ文が実行されることを、デジタル署名を利用して回避するように構成することが可能となる。
【００９１】
次に、本実施の形態によるビジネスロジック作成支援ステップＳ１０２（図８参照）では、図１０に示すように、まず、アプリケーションプログラムにおけるビジネスロジック作成者（第２作成者）がＢＬ作成者用端末１００２（図７参照）を用いてＢＬ作成用サーバ１０２０へログインし、ＢＬ作成用サーバ１０２０が提供するＪａｖａ（登録商標）開発環境を利用してビジネスロジックのソースファイルを作成する（ステップＳ１３１：ビジネスロジック入力手段／ステップ／処理）。続いて、ビジネスロジック作成者は、ＢＬ作成者用端末１００２よりＢＬ作成用サーバ１０２０へ、作成したビジネスロジックの登録指示を入力する（ステップＳ１３２）。
【００９２】
以上のようにビジネスロジックの登録指示が入力されると、ＢＬ作成用サーバ１０２０は、ビジネスロジック作成者に対し、当該ビジネスロジック作成者の識別用に配布しておいたＩＤおよびパスワード（第２識別情報）を要求する（ステップＳ１３３）。
【００９３】
ステップＳ１３３の要求に対し、ＢＬ作成者用端末１００２よりビジネスロジック作成者のＩＤおよびパスワードが入力されると（ステップＳ１３４：第２識別情報入力手段／ステップ／処理）、ＢＬ作成用サーバ１０２０は、入力されたＩＤおよびパスワードを用いてあらかじめ登録権限管理ファイル１０２４（第２登録権限管理手段／ステップ／処理）に登録しておいた登録権限（第２登録権限）を参照し、当該ビジネスロジック作成者がビジネスロジックを登録する権限を持っているか否かを判定する（ステップＳ１３５：第２登録権限判定手段／ステップ／処理）。この判定の結果、ビジネスロジック作成者が登録権限を有していない場合（ステップＳ１３５のＮｏ）、ＢＬ作成用サーバ１０２０は、登録要求のあったビジネスロジックを登録せずに処理を終了する。
【００９４】
一方、ステップＳ１３５の判定の結果、ビジネスロジック作成者が登録権限を有している場合（ステップＳ１３５のＹｅｓ）、ＢＬ作成用サーバ１０２０は、ステップＳ１３１で入力されたビジネスロジックを用いてｊａｒファイル１０２３（図７参照）を生成する（ステップＳ１３６）。その後、ＢＬ作成用サーバ１０２０は、生成したｊａｒファイル１０２３をサーバマシン１０２１の内部もしくは外部に接続された記憶領域（第２記憶領域）に格納する（ステップＳ１３７：適正ビジネスロジック保持手段／ステップ／処理）。
【００９５】
以上のように、本実施の形態によるビジネスロジック作成支援ステップＳ１０２（図８参照）は、ビジネスロジック作成者にあらかじめ割り当てておいたＩＤおよびパスワードを入力させ（図１０のステップＳ１３３〜Ｓ１３４）、これを用いて当該ビジネスロジックを登録できる作成者を制限している（図１０のステップＳ１３５）。この構成により、不特定の作成者がＢＬ作成用サーバ１０２０（図７参照）を用いて無闇にＳＱＬ文を作成して登録することを防止することが可能となる。また、上記のＳＱＬ文作成支援ステップＳ１０１（図８参照）においても、ＳＱＬ文作成者にあらかじめ割り当てておいたＩＤおよびパスワードを入力させ（図９のステップＳ１１４〜Ｓ１１５）、これを用いて当該ＳＱＬ文を登録できる作成者を制限している（図９のステップＳ１１７）ことから、これらを用いてＳＱＬ文作成者とビジネスロジック作成者とを一元管理することも可能である。この結果、ＳＱＬ文作成者とビジネスロジック作成者とを的確に制限することが可能となるため、より確実に複雑なＳＱＬ文がアプリケーションプログラムに組み込まれてしまうことを回避することが可能となる。
【００９６】
次に、本実施の形態によるアプリケーションプログラム生成支援ステップＳ１０３（図８参照）では、図１１に示すように、まず、アプリケーションプログラム作成者がＡＰＰ作成者用端末１００３（図７参照）を用いてＡＰＰ作成用サーバ１０３０へログインし、アプリケーションプログラムに組み込むＳＱＬ文のｊａｒファイルおよびビジネスロジックのｊａｒファイルと、同じくアプリケーションプログラムに組み込むその他のフレームワークや各種ライブラリなどのファイルとを指定する（ステップＳ１５１〜Ｓ１５３）。続いて、アプリケーションプログラム作成者は、ＡＰＰ作成者用端末１００３よりＡＰＰ作成用サーバ１０３０が提供するＪａｖａ（登録商標）開発環境を利用して、指定したファイルよりｅａｒファイルを作成する指示を入力する（ステップＳ１５４）。これに対し、ＡＰＰ作成用サーバ１０３０は、指定されたファイルを用いてｅａｒファイルを作成し（ステップＳ１５５：アプリケーションプログラム生成手段／ステップ／処理）、これを実行環境である運用サーバ２０１０（図７参照）へデプロイする（ステップＳ１５６：アプリケーションプログラム組込み手段／ステップ／処理）。なお、運用サーバ２０１０は、ＡＰＰ作成用サーバ１０３０から受け取ったアプリケーションプログラムのうち、ビジネスロジックのｊａｒファイル１０２３をビジネスロジック領域３００（図６参照）に配置し、ＳＱＬ文のｊａｒファイル１０１３をデータアクセス領域４００（図６参照）に配置する。
【００９７】
以上の動作により、上記したＳＱＬ文作成支援ステップＳ１０１（図８参照）により作成されたＳＱＬ文が実行環境の論理アーキテクチャにおけるデータアクセス領域４００（図６参照）に配置され、ビジネスロジック作成支援ステップＳ１０２（図８参照）により作成されたビジネスロジックが同じく実行環境の論理アーキテクチャにおけるビジネスロジック領域３００（図６参照）に配置される。
【００９８】
次に、上記で作成されたアプリケーションプログラムの実行環境であるＲＤＢＳ２０００について説明する。図７に示すように、ＲＤＢＳ２０００は、運用サーバ２０１０と関係データベース（ＲＤＢ）２０２０とを有して構成される。
【００９９】
運用サーバ２０１０は、上記ＡＰＰ作成支援システム１０００により作成されたアプリケーションプログラムを用いて構築されたＤＢＭＳを実現するアプリケーションサーバであり、ユーザに対して実際に運用されるものである。この運用サーバ２０１０は、上記で作成されたｅａｒファイルを実行するためのＪａｖａ（登録商標）  ＶＭ（Ｊａｖａ（登録商標）  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）が組み込まれたサーバマシン２０１１より構成される。また、サーバマシン２０１１には、ＡＰＰ作成支援システム１０００で作成されたｅａｒファイル２０１２を格納する記憶領域が内部もしくは外部に設けられている。
【０１００】
また、運用サーバ２０１０には、所定のネットワークを介してユーザ端末２００１とＲＤＢ２０２０とが接続されており、ユーザはユーザ端末２００１より運用サーバ２０１０へアクセスし、運用サーバ２０１０が提供するサービスを用いてＲＤＢ２０２０より必要な情報を取得する。なお、上記と同様に、所定のネットワークとはＬＡＮやＷＡＮやインターネットであり、ユーザ端末２００１は例えば一般的なＰＣなどで構成できる。また、本実施の形態では、ＲＤＢ２０２０を適用するが、本発明はこれに限定されず、種々のデータベースを適用することができる。
【０１０１】
次に、上記のＲＤＢＳ２０００における本実施の形態によるアプリケーションプログラムの実行制御方法（以下、ＡＰＰ実行制御方法という）について図面を用いて詳細に説明する。図１２は、本実施の形態によるＡＰＰ実行制御方法の概要とデータフローとを説明するための概略図である。なお、このＡＰＰ実行制御方法は、試験運用としても使用できるものである。
【０１０２】
本実施の形態によるＡＰＰ実行制御方法では、まず、運用サーバ２０１０のサーバマシン２０１１に組み込まれたＪａｖａ（登録商標）  ＶＭを用いて、ｅａｒファイル２０１２を、サーバマシン２０１１のプラットフォームに固有の形式であるネイティブコードに変換し、図示しないメモリ上における所定の作業領域に展開する。図１２に、展開されたｅａｒファイル２０１２Ａのデータ構造を示す。図１２に示すように、展開されたｅａｒファイル２０１２Ａは、デジタル署名２０１２ａとアプリケーションプログラム２０１２ｂとより構成される。また、アプリケーションプログラム２０１２ｂは、ビジネスロジック領域（図６における参照符号３００）に配置されるビジネスロジック２０１２ｃと、データアクセス領域（図６における参照符号４００）に配置されるＳＱＬ文２０１２ｄとを含む。
【０１０３】
ＲＤＢ２０２０に蓄積されているデータに対して例えば処理区分ｄ、ｆまたはｇのいずれかに分類されるＳＱＬ処理を実行したいユーザは、ユーザ端末２００１より運用サーバ２０１０へログインし、所定の操作画面より上記ＳＱＬ処理の実行を要求する。この要求に対し、運用サーバ２０１０におけるサーバマシン２０１１は、上記アプリケーションプログラム２０１２ｂからＳＱＬ文２０１２ｄを読み出し、これを自身に組み込まれた検査モジュール２０１３へ発行する（図１２におけるＳＱＬ発行Ｓ１参照）。
【０１０４】
ＳＱＬ文２０１２ｄが入力された検査モジュール２０１３は、ｅａｒファイル２０１２Ａに付されたデジタル署名２０１２ａを参照し、あらかじめ内蔵されている公開鍵ＰＫ（第２鍵コード）および登録対象ＳＱＬ文２０１２ｄのプログラムハッシュ値（所定値）と参照したデジタル署名２０１２ａとを用いた署名検証アルゴリズムＶ（署名検証手段）により、発行されたＳＱＬ文２０１２ｄが正規のものであるか否かを判定する（デジタル署名チェックＳ２）。
【０１０５】
なお、本実施の形態による検査モジュール２０１３は、デジタル署名生成の際（図９のステップＳ１１８参照）に生成された公開鍵ＰＫと、あらかじめ算出しておいた処理対象ＳＱＬ文のプログラムハッシュ値とを用いて、ＲＤＢＳ２０００の設計者により作成されたものであり、あらかじめサーバマシン２０１１に組み込まれている。また、本実施の形態では、ＳＱＬ文２０１２ｄを作成した者のみが検査モジュール２０１３を変更することができるように構成される。これは、第３者により検査モジュール２０１３が改竄されることで、不適切なＳＱＬ文が実行されることを回避するためである。検査モジュール２０１３の更新者を制限する構成は、例えば検査モジュール２０１３およびＳＱＬ文２０１２ｄを作成した者のＩＤおよびパスワードを用いて検査モジュール２０１３の変更者を管理することで実現することができる。
【０１０６】
図１２に戻り説明する。上記デジタル署名チェックＳ２の結果、ＳＱＬ文２０１２ｄが正規のプログラムでない場合、検査モジュール２０１３は、ＳＱＬ文２０１２ｄの発行をせずに、処理を終了する。これにより、正当な権限を有しない者により作成されたＳＱＬ文や、正当な権限を有する者により作成されたがその後正当な権限を有しない者に改竄されたＳＱＬ文が実行されることを排除することが可能となり、ＲＤＢＳ２０００のパフォーマンスが低下したり保守性が劣化したりなどの問題が発生することを回避できる。
【０１０７】
また、上記デジタル署名チェックＳ２の結果、ＳＱＬ文２０１２ｄが正規のプログラムである場合、検査モジュール２０１３は、ＳＱＬ文２０１２ｄをＪａｖａ（登録商標）実行環境である運用サーバ２０１０とＲＤＢ２０２０とを接続するＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）であるＪＤＢＣドライバ２０１４へ発行する（図１２におけるＳＱＬ発行Ｓ３参照：ＳＱＬ文実行手段）。
【０１０８】
ＳＱＬ文２０１２ｄが入力されたＪＤＢＣドライバ２０１４は、ＲＤＢ２０２０へアクセスする（図１２におけるＤＢ接続Ｓ４−１参照：ＳＱＬ文実行手段）と共に、ＳＱＬ文２０１２ｄを実行し（図１２におけるＳＱ実行Ｓ４−２参照：ＳＱＬ文実行手段）、ＲＤＢ２０２０から対象のデータを抽出する（図１２におけるデータ抽出Ｓ５参照：ＳＱＬ文実行手段）。
【０１０９】
上記のように抽出されたデータは、ＪＤＢＣドライバ２０１４を介してアプリケーションプログラム２０１２ｂに入力され（図１２におけるデータ抽出Ｓ６参照：ＳＱＬ文実行手段）、当該アプリケーションプログラム２０１２ｂにより所定の処理に用いられる。
【０１１０】
以上の動作により、不適切なＳＱＬ文が実行されることを防止できるＲＤＢＳ２０００が構築されるため、保守性の低下やパフォーマンスの劣化などの問題の発生を回避することができ、結果として、パフォーマンスおよび保守性の高いデータベースシステムを作成することが達成される。
【０１１１】
なお、上記において図８〜図１１を用いて説明した本実施の形態によるＡＰＰ作成支援方法における各ステップは、所定のプログラミング言語で記述されたプログラムを、図７に示す各サーバマシン１０１１、１０２１および１０３１が読み出して所定メモリ上における作業領域に展開することで実現される。また、当該プログラムでは、例えば上記各ステップが１つ又は複数の処理として記述されている。
【０１１２】
また、上記実施の形態は本発明を実施するための例にすぎず、本発明はこれらに限定されるものではなく、仕様等に応じて種々変形することは本発明の範囲内であり、更に本発明の範囲内において、他の様々な実施の形態が可能であることは上記記載から自明である。
【０１１３】
例えば、上記した実施の形態では、図１の処理区分ｂまたはｃに分類される処理を実行するための特定のコード（条件式、文字列操作関数、および型変換演算子を含む各種演算子）が含まれていないＳＱＬ文を、作成対象のアプリケーションプログラムに組み込むための適正なＳＱＬ文であると判定して図９のステップＳ１１５以降の処理を実行するように構成したが、本発明はこれに限定されず、例えば図１の処理区分ｄまたはｆに分類される処理を実行するための特定のコードが含まれているＳＱＬを、作成対象のアプリケーションプログラムに組み込むための適正なＳＱＬ文であるとして図９のステップＳ１１５以降の処理を実行するように構成しても良い。
【図面の簡単な説明】
【０１１４】
【図１】データベース管理システムにおける各種処理をデータアクセスに着目して複数の処理区分に分類した場合の構成を示す概略模式図である。
【図２】本発明の実施の形態において処理区分ｃ．データの加工に分類される処理のテスト計測の際に使用したプログラム処理の処理内容記述文およびＳＱＬ処理の処理内容記述文とそれぞれについての測定結果とを示す図である。
【図３】本発明の実施の形態において処理区分ｄ．データの連携に分類される処理のテスト計測の際に使用したプログラム処理の処理内容およびＳＱＬ処理の処理内容を示す図である。
【図４】本発明の実施の形態において処理区分ｄ．データの連携に分類される処理のテスト計測の測定結果を示す図である。
【図５】本発明の実施の形態において処理区分ｅ．データの集計に分類される処理のテスト計測の際に使用したプログラム処理の処理内容記述文およびＳＱＬ処理の処理内容記述文とそれぞれについての測定結果とを示す図である。
【図６】本発明の実施の形態により構築されるデータベースシステムの論理アーキテクチャを示す模式図である。
【図７】本発明の実施の形態による開発環境であるアプリケーションプログラム作成支援システム１０００および実行環境である関係データベースシステム２０００の構成を示すシステム概略図である。
【図８】本発明の実施の形態によるアプリケーションプログラム作成支援方法を示すフローチャートである。
【図９】本発明の実施の形態によるアプリケーションプログラム作成支援方法におけるＳＱＬ文作成支援ステップを示すフローチャートである。
【図１０】本発明の実施の形態によるアプリケーションプログラム作成支援方法におけるビジネスロジック作成支援ステップを示すフローチャートである。
【図１１】本発明の実施の形態によるアプリケーションプログラム作成支援方法におけるアプリケーションプログラム生成支援ステップを示すフローチャートである。
【図１２】本発明の実施の形態によるアプリケーションプログラム実行制御方法の概要とデータフローとを説明するための概略図である。
【符号の説明】
【０１１５】
１  ａ．画面等との入出力
２  ｂ．処理の制御
３  ｃ．データの加工
４  ｄ．データの連携
５  ｅ．データの集計
６  ｆ．データの高速な取り出し
７  ｇ．データの入出力
１０、２０  プログラム処理
１１、２１  プログラム処理の処理内容
３０  ＳＱＬ処理
３１  ＳＱＬ処理の処理内容
１００  クライアント領域
１０１  アプリケーションソフトウエア
２００  プレゼンテーション領域
２０１  インターフェース
３００  ビジネスロジック領域
３１０  アプリケーションプログラム（１）
３１１  ビジネスロジック（１）
３１１ａ  ビジネスロジック（１）の記述内容
３２０  アプリケーションプログラム（２）
３２１  ビジネスロジック（２）
３２１ａ  ビジネスロジック（２）の記述内容
４００  データアクセス領域
４１１、４２２  ＳＱＬ文（Ｘ）
４１１ａ、４２２ａ  ＳＱＬ文（Ｘ）の記述内容
４１２  ＳＱＬ文（Ｙ）
４１２ａ  ＳＱＬ文（Ｙ）の記述内容
４２１  ＳＱＬ文（Ｚ）
４２１ａ  ＳＱＬ文（Ｚ）の記述内容
５００  リソース領域
５０１、５０２、５０３、２０２０  関係データベース
１０００  ＡＰＰ作成支援システム
１００１  ＳＱＬ文作成者用端末
１００２  ＢＬ作成者用端末
１００３  ＡＰＰ作成者用端末
１０１０  ＳＱＬ文作成用サーバ
１０１１  サーバマシン
１０１２  ＳＱＬ文のソースファイル
１０１３  ＳＱＬ文のｊａｒファイル
１０１４  登録権限管理ファイル
１０２０  ＢＬ作成用サーバ
１０２１  サーバマシン
１０２２  ビジネスロジックのソースファイル
１０２３  ビジジネスロジックのｊａｒファイル
１０２４  登録権限管理ファイル
１０３０  ＡＰＰ作成用サーバ
１０３１  サーバマシン
１０３２  アーカイブファイル
２０００  関係データベースシステム
２００１  ユーザ端末
２０１０  運用サーバ
２０１１  サーバマシン
２０１２  ｅａｒファイル
２０１２Ａ  展開されたｅａｒファイル
２０１２ａ  デジタル署名
２０１２ｂ  アプリケーションプログラム
２０１２ｃ  ビジネスロジック
２０１２ｄ  ＳＱＬ文
２０１３  検査モジュール
２０１４  ＪＤＢＣドライバ
Ａ１、Ａ２、Ａ３  区分群
ｐ０１、ｐ０２、ｐ０３、ｐ０４  プログラム処理の処理内容記述文
ｐ１１、ｐ１２、ｐ１４  ＳＱＬ処理の処理内容記述文
ｓ０１、ｓ０４  プログラム処理の処理速度
ｓ１１、ｓ１４  ＳＱＬ処理の処理速度
【図１】
2009259141.tif 000003
【図２】
2009259141.tif 000004
【図３】
2009259141.tif 000005
【図４】
2009259141.tif 000006
【図５】
2009259141.tif 000007
【図６】
2009259141.tif 000008
【図７】
2009259141.tif 000009
【図８】
2009259141.tif 000010
【図９】
2009259141.tif 000011
【図１０】
2009259141.tif 000012
【図１１】
2009259141.tif 000013
【図１２】
2009259141.tif 000014