(57)【要約】【課題】データベースを処理するプログラムの開発を効率化するとともに、柔軟なカスタマイズを容易に実現できるプログラム部品および、その部品を再利用しながらシステム開発する方法の枠組みを提供すること。【解決手段】データベース情報の定義と画面形成に関する定義とを含む電子文書を準備するに際して、既存の電子文書の定義の継承情報と、既存の電子文書の定義との差分の定義の入力を受け付ける。データベース情報、画面形成について、ユーザがプログラムを実行するときにユーザごとのカスタマイズを可能にし、次回実行時にはユーザごとにカスタマイズした状態でプログラムを利用できるように、ユーザごとにカスタマイズした情報を保存する。【選択図】図２
2006085325.tif 000002
【特許請求の範囲】
【請求項１】
データベース情報の定義と画面形成に関する定義とを含む電子文書を準備するステップと、
前記電子文書の定義を参照して画面形成するとともに前記電子文書で定義したデータベースに接続して検索した結果を元に画面出力する主要処理プログラムを作成するステップとを含む、データベース処理プログラム作成方法であって、
前記電子文書を準備するステップは、新たな前記電子文書の作成に際して、既存の前記電子文書の定義の継承情報と、前記既存の前記電子文書の定義との差分の定義の入力を受け付けるステップを含んでいることを特徴とするデータベース処理プログラム作成方法。
【請求項２】
前記電子文書を準備するステップは、前記電子文書の定義に含まれる項目情報を用いたデータ加工情報を定義し、前記電子文書に保存するステップを含むことを特徴とする請求項１に記載のデータベース処理プログラム作成方法。
【請求項３】
前記主要プログラムを作成するステップは、前記データベース処理プログラムのユーザごとに、
（１）検索条件の設定情報
（２）検索結果の取得方法の設定情報
（３）画面出力方法の設定情報
のうち１個以上をユーザ設定文書に保存する機能を作成するステップを含み、前記主要処理プログラムを作成するステップにおいて、前記主要処理プログラムが前記電子文書と前記ユーザ設定文書とを参照してユーザごとの画面を形成するとともに、前記電子文書で定義したデータベースに接続して検索した結果を元に画面出力するように前記主要処理プログラムを構成することを特徴とする請求項１または２に記載のデータベース処理プログラム作成方法。
【請求項４】
データベース情報の定義と画面形成に関する定義とを含む電子文書を読み込む電子文書読み込み処理部と、前記電子文書の定義を参照して前記データベースにおける検索を行うデータ処理部と、前記電子文書の定義を参照して表示画面を形成する画面入出力部と、を含む主要処理プログラムを備えたデータベース処理プログラムであって、
前記電子文書読み込み処理部は、前記電子文書として、他の前記電子文書の定義の継承情報と、他の前記電子文書の定義との差分とを定義したものを読み込むものであることを特徴とするデータベース処理プログラム。
【請求項５】
前記電子文書読み込み処理部は、前記電子文書として、当該電子文書の定義に含まれる項目情報を用いたデータ加工情報の定義を保存したものを読み込むものであり、前記主要処理プログラムにおける前記データ処理部は、前記データ加工情報に基づいたデータ加工を行うものであることを特徴とする請求項４に記載のデータベース処理プログラム。
【請求項６】
前記画面入出力部は、前記データベース処理プログラムのユーザごとに、
（１）検索条件の設定情報
（２）検索結果の取得方法の設定情報
（３）画面出力方法の設定情報
のうち１個以上を保存したユーザ設定文書と前記電子文書とを参照してユーザごとの画面を形成するとともに、前記電子文書で定義したデータベースに接続して検索した結果を元に画面出力することを特徴とする請求項４または５に記載のデータベース処理プログラム。
【請求項７】
前記データ加工部は、前記データベースを検索した結果に所定の第１の上限件数より多い件数のレコードがヒットした旨の情報が含まれる場合には、前記レコードに含まれる情報にかわって検索条件の再設定を促す情報を画面に表示するものであり、かつ、前記検索結果に前記第１の上限件数よりも少なく、かつ所定の第２の上限件数よりも多い件数のレコードがヒットした旨の情報が含まれる場合には、ヒット件数が前記第２の上限件数を超えた旨の情報とともにヒットした前記レコードの一部に含まれる情報を画面に表示するものであることを特徴とする請求項４から６のいずれかに記載のデータベース処理プログラム。
【請求項８】
コンピュータに、請求項１から３のいずれかのデータベース処理プログラムの作成方法の各ステップを実行させるためのプログラム。
【請求項９】
請求項４から請求項８のいずれかのプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項１０】
データベースサーバに接続され、前記データベースサーバに対して検索処理を実行し、前記データベースサーバから検索結果に関するデータを受信してデータ加工を実行するデータ処理部と、クライアントに接続され、前記クライアントからのデータ処理要求を受け付けるとともに前記データ処理部が処理したデータを受け取り、前記データを用いて画面出力を行う画面入出力部と、前記画面入出力部が出力する画面と前記データ処理部が実行する処理の関係を制御する処理制御部と、を備えたアプリケーションサーバであって、
前記処理制御部は、前記検索結果に所定の第１の上限件数より多い件数のレコードがヒットした旨の情報が含まれる場合には、前記レコードに含まれる情報にかわって検索条件の再設定を促す情報を前記画面入出力部に出力させるものであり、かつ、前記検索結果に前記第１の上限件数よりも少なく、かつ所定の第２の上限件数よりも多い件数のレコードがヒットした旨の情報が含まれる場合には、ヒット件数が前記第２の上限件数を超えた旨の情報とともにヒットした前記レコードの一部に含まれる情報を前記画面入出力部に出力させるものであることを特徴としたアプリケーションサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
データベース処理プログラム作成方法、データベース処理プログラム、データベース処理プログラムを記録した記憶媒体およびアプリケーションサーバに関する。
【背景技術】
【０００２】
従来から、企業のシステム開発において、開発コストの削減、納期の短縮、品質向上、運用保守容易性の向上が重要な目標となっている。企業のシステムでは、アプリケーションサーバを採用してシステムを構築するのが一般的であるが、そのプラットフォームに、インターネットのウェブ技術を適用したイントラネットを採用することができる。このとき、ネットワーク上のアプリケーションサーバから、クライアントに対し、ＨＴＭＬ（Hyper Text Markup Language）で記述されたウェブページを開示することにより、クライアントでは一般的なブラウザを搭載するのみで、クライアント画面への多種多様な表示を実現でき、開発コストの削減、運用保守容易性の向上に効果的である。
【０００３】
イントラネットにおけるデータベース処理プログラムの開発の方法として、いくつかの技術が知られている。第１の技術は、パッケージ製品の採用である。この方法は、パッケージ製品に準備された機能の範囲で、企業の業務で使用する機能を、パラメータで指定したり、予めパッケージ製品に備わったカスタマイズ可能な部分をカスタマイズすることで、アプリケーションシステムを構築する方法である。
【０００４】
第２の技術は、プログラム雛形の利用である。この方法は標準的な機能を部品化し、体系的に整理することで、次回のシステム構築時には、それを雛形として利用することにより、プログラム作成に要する工数を引き下げ、その結果、全体のシステム開発期間の短縮と、開発コストの削減とに貢献する。また十分に信頼性のおけるプログラムを再利用することで、システムの品質向上にも貢献できる。これに関連して、例えば、データベースを処理する部分のプログラム部品化を工夫する方法（特許文献１参照）、アプリケーションプログラムを複数種類の基本機能部、および電子文書で構成し、電子文書に規定された基本機能部を逐次呼び出して実行する方法（特許文献２参照）が、アプリケーションシステム開発の効率化に貢献できることが知られている。
【０００５】
また、データベースの処理に関連する第３の技術として、データベースを検索して結果を表示するアプリケーションにおいて、検索条件を指定して検索した結果が、所定の件数を超える場合に、ネットワークまたはサーバの負荷が高くなること、または画面表示のレスポンスが悪化することを防ぐために、あらかじめ検索可能な上限件数を設定しておき、検索条件に合った件数が上限件数を超えた場合には、再度、検索条件を設定しなおすように表示して処理を中断する方法が知られている。
【特許文献１】特開２００１−３２５０９８号公報  第００１６段落
【特許文献２】特開２００３−２１６４２７号公報  第００１１段落
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、本発明者らの知見によると、第１の技術については、予め製品に備わったカスタマイズの範囲を越えるカスタマイズを要求された場合には、十分対処することができなかった。また、第２の技術については、依然として、電子文書に定義をする作業に工数がかかり、また、四則演算や、データベースの生データの文字列操作の処理変更などの簡単な改変でも、プログラムのソースコードの変更が必要であった。
【０００７】
本発明者らの知見によると、また第３の技術については、業務の種類や利用者によっては、一律に検索が中断されるよりも、検索結果のすべてが表示されなくても、一部の情報が表示されれば十分な場合、または、一部の表示された内容を確認してから、さらに検索条件の絞り込みを行うほうが都合がよい場合があり、逆に、所定の上限件数より少ない場合でも、画面表示のレスポンスや操作性にを高めたい利用者が、さらに少ない上限件数を設定したい場合がある。
【０００８】
本発明は、上述の問題点に鑑みてなされたもので、その第１の目的は、データベースの各項目を処理するためのプログラムの部品化および、その再利用を効率的に行うことができるとともに、柔軟なカスタマイズが容易に実現するデータベース処理プログラムの作成方法、データベース処理プログラム、データベース処理プログラムを記録した記憶媒体を提供することにある。
【０００９】
本発明の第２の目的は、データベース検索業務を効率化でき、かつ、ユーザの目的に応じた情報の表示が可能なアプリケーションサーバおよびデータベース処理プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明は、以下の構成を採用する。
（１）データベース情報の定義と画面形成に関する定義とを含む電子文書を準備するステップと、
前記電子文書の定義を参照して画面形成するとともに前記電子文書で定義したデータベースに接続して検索した結果を元に画面出力する主要処理プログラム、を作成するステップとを含む、データベース処理プログラム作成方法であって、
前記電子文書を準備するステップは、新たな前記電子文書の作成に際して、既存の前記電子文書の定義の継承情報と、前記既存の前記電子文書の定義との差分の定義の入力を受け付けるステップを含んでいることを特徴とするデータベース処理プログラム作成方法。
（２）前記電子文書を準備するステップは、前記電子文書の定義に含まれる項目情報を用いたデータ加工情報を定義し、前記電子文書に保存するステップを含むことを特徴とするデータベース処理プログラム作成方法。
（３）前記主要プログラムを作成するステップは、前記データベース処理プログラムのユーザごとに、
・検索条件の設定情報
・検索結果の取得方法の設定情報
・画面出力方法の設定情報
のうち１個以上をユーザ設定文書に保存する機能を作成するステップを含み、前記主要処理プログラムを作成するステップにおいて、前記主要処理プログラムが前記電子文書と前記ユーザ設定文書とを参照してユーザごとの画面を形成するとともに、前記電子文書で定義したデータベースに接続して検索した結果を元に画面出力するように前記主要処理プログラムを構成することを特徴とするデータベース処理プログラム作成方法。
（４）データベース情報の定義と画面形成に関する定義とを含む電子文書を読み込む電子文書読み込み処理部と、
前記電子文書の定義を参照して前記データベースにおける検索を行うデータベース処理部と、前記電子文書の定義を参照して表示画面を形成する画面入出力部と、を含む主要処理プログラムを備えたデータベース処理プログラムであって、
前記電子文書読み込み処理部は、前記電子文書として、他の前記電子文書の定義の継承情報と、他の前記電子文書の定義との差分とを定義したものを読み込むものであることを特徴とするデータベース処理プログラム。
（５）前記電子文書読み込み処理部は、前記電子文書として、当該電子文書の定義に含まれる項目情報を用いたデータ加工情報の定義を保存したものを読み込むものであり、前記主要処理プログラムにおける前記データ処理部は、前記データ加工情報に基づいたデータ加工を行うものであるを含むことを特徴とするデータベース処理プログラム。
（６）前記画面入出力部は、前記データベース処理プログラムのユーザごとに、
・検索条件の設定情報
・検索結果の取得方法の設定情報
・画面出力方法の設定情報
のうち１個以上を保存したユーザ設定文書と前記電子文書とを参照してユーザごとの画面を形成するとともに、前記電子文書で定義したデータベースに接続して検索した結果を元に画面出力することを特徴とするデータベース処理プログラム。
（７）前記データ加工部は、前記データベースを検索した結果に所定の第１の上限件数より多い件数のレコードがヒットした旨の情報が含まれる場合には、前記レコードに含まれる情報にかわって検索条件の再設定を促す情報を画面に表示するものであり、かつ、前記検索結果に前記第１の上限件数よりも少なく、かつ所定の第２の上限件数よりも多い件数のレコードがヒットした旨の情報が含まれる場合には、ヒット件数が前記第２の上限件数を超えた旨の情報とともにヒットした前記レコードの一部に含まれる情報を画面に表示するものであることを特徴とするデータベース処理プログラム。
（８）コンピュータに、上記いずれかのデータベース処理プログラムの作成方法の各ステップを実行させるためのプログラム。
（９）上記いずれかのプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
（１０）データベースサーバに接続され、前記データベースサーバに対して検索処理を実行し、前記データベースサーバから検索結果に関するデータを受信してデータ加工を実行するデータ加工部と、クライアントに接続され、前記クライアントからのデータ処理要求を受け付けるとともに前記データ加工部が処理したデータを受け取り、前記データを用いて画面出力を行う画面入出力部と、前記画面入出力部が出力する画面と前記データ加工部が実行する処理の関係を制御する処理制御部と、を備えたアプリケーションサーバであって、
前記処理制御部は、前記検索結果に所定の第１の上限件数より多い件数のレコードがヒットした旨の情報が含まれる場合には、前記レコードに含まれる情報にかわって検索条件の再設定を促す情報を前記画面入出力部に出力させるものであり、かつ、前記検索結果に前記第１の上限件数よりも少なく、かつ所定の第２の上限件数よりも多い件数のレコードがヒットした旨の情報が含まれる場合には、ヒット件数が前記第２の上限件数を超えた旨の情報とともにヒットした前記レコードの一部に含まれる情報を前記画面入出力部に出力させるものであることを特徴としたアプリケーションサーバ。
【００１１】
本発明において、「プログラム」とは、コンピュータに対して処理を一括して行うために所定の書式で構成した指示の一群をいい、通常は、コンピュータの主記憶装置、補助記憶装置その他のコンピュータ読み出し可能な記憶媒体に保持されるものである。
【００１２】
また、本発明において、「主要処理プログラム」は、所定のデータベース処理を実現するために、その処理の動きの制御やデータベースから取得したデータの加工をコンピュータに実行させるプログラムをいい、必要に応じて、画面入出力やファイル入出力についても実行させるように構成されているものである。したがって、基本的にオペレーションシステムやミドルウェアのＡＰＩ（Application Program Interface）のように実行環境を制御する部分からなるソフトウェアと区別されるものであるが、必要に応じて、これらの機能を併せ持つものであってもよい。
【００１３】
「電子文書」とは、主要処理プログラムの動作内容や動作条件などを記述したコンピュータ読み取り可能な一群のデータであって、主要処理プログラムとは独立に構成されているものをいう。これは、たとえば、ハードウェアやデータベースを含む主要処理プログラムの周辺環境に変化があったときに、変更が発生する情報を主要処理プログラムから独立させて記述した文書である。
【００１４】
「データベースの項目情報」とは、データベースに保存された行列（テーブル）の名称、およびそのテーブルの属性（カラム）に関する情報である。
【００１５】
「画面の形成」とは、データベース項目と画面に表示されるデータ項目を対応づけること、および項目の表示位置や並び順などの表示方法を設定することである。
【００１６】
「画面の出力」とは、画面にデータを表示するために出力することをいうが、ウェブ技術などのネットワーク技術を利用した場合では、クライアント等のコンピュータ画面に表示するデータのまとまりを、アプリケーションサーバのなかに出力することやクライアントコンピュータへ画面に関する情報を出力することを含む。。
【００１７】
「データ加工情報」とは、データに対し、テーブル間の結合や、数値の四則演算や、文字列操作を行うなどのデータの加工処理を行うことを定義したものである。
【００１８】
電子文書の定義の「継承」とは、電子文書に事前に定義した情報から定義内容を引き継いで使用することであり、引き継いだ先では、事前に定義した情報の所在に関する記述と、拡張や変更部分を定義するのみで、新たな電子文書定義として使用できる。なお、事前に定義した情報は、所在が明らかであれば、同一電子文書に記述しても、別の電子文書内に記述してもよい。
【００１９】
「レコード」とは、データを区分した単位の１つであり、所定の定義に従うデータ項目のそれぞれについて、値（値なしの場合を含む）を有する１まとまりの情報の単位をいう。
【００２０】
レコードの「ヒット」とは、指定した検索条件に合致する情報がレコードのなかに含まれることである。
【発明の効果】
【００２１】
本発明の第１の発明によれば、一度電子文書で定義したデータベース情報を継承して再利用できるので、次回に類似のデータベース情報を定義するときには、そのすべてを記述する必要がなく、煩雑なデータベース情報定義の作業を軽減できる。また、電子文書の可読性が向上し、データベース定義時の、入力ミスを軽減できる。これにより、データベース処理プログラムの構築が容易となり、専門的な知識を有していない開発者でもアプリケーションを構築できる。
【００２２】
また、本発明の第２の発明によれば、電子文書のなかにデータ加工処理を記述できるので、データ加工内容に変更があった場合でも、プログラムの改変を伴わずに、電子文書の変更のみで、データ加工内容の変更に対応できる。
【００２３】
また、本発明の第３の発明によれば、利用者ごとに検索条件、検索結果の表示をカスタマイズできるので、各利用者ごとのニーズに合った画面を提供できる。
【００２４】
また、本発明の第４の発明によれば、表示件数の上限を２段階に設け、所定の第２の上限件数を越える場合に検索結果の表示と処理の中断を選択できるようにしたことにより、システム全体の能力を超える負荷が発生することを回避しながら、ユーザごとの検索要求にあったデータベース検索プログラムを提供できる。すなわち、従来は、内容が複雑なデータを検索するときに最適な検索条件を設定するのは手間のかかる作業であったが、予め、あいまいな検索条件しか分かっていなくても、検索結果を見ながら、徐々に最適な検索条件を設定していくことができる。さらに、上記第３の発明により、様々なデータベース検索を容易に行えるようになった結果、おびただしい件数のレコードがヒットするような検索が頻繁に行われるようになっても、第１の上限件数により、システム全体の能力を超える負荷が発生することを回避できる。また、ユーザや利用状況によっては、検索処理の待ち時間を多少かけても、第１の上限件数の範囲内で、なるべく多くの件数のレコードを参照したい場合や、参照できる件数を少なくして、早く検索結果を参照したい場合があるが、第２の上限件数を設け、第２の上限件数をユーザごとに変更できるようにしておくことで、これに対応できる。
【発明を実施するための最良の形態】
【００２５】
以下に図面を参照して本発明の実施形態を説明する。図１は実施例の一つとして本発明のデータベース処理プログラムの実施形態を含んだシステムの全体構成を示す図である。クライアント２００はネットワーク４００を介してアプリケーションサーバ１００に接続されている。アプリケーションサーバ１００はネットワーク４００を介してデータベースサーバ３００に接続されている。ここで、クライアント２００は、ウェブブラウザ２０１を備えている情報端末であり、一般的なパーソナルコンピュータで実現してもよい。クライアント２００とアプリケーションサーバ１００を接続しているネットワーク４００は、インターネットなど広域なネットワークでもよいし、ＬＡＮ（Local Area Network）など限定的なネットワークとしてもよい。アプリケーションサーバ１００は、パーソナルコンピュータ、ワークステーションコンピュータ、その他のコンピュータを用いて実現してもよい。アプリケーションサーバ１００は、データベースサーバ３００とネットワークを介して接続している。図１では、アプリケーションサーバ２００とデータベースサーバ３００がネットワーク４００に接続された別々のコンピュータで構成しているが、アプリケーションサーバ１００とデータベースサーバ３００を、１つのコンピュータで構成してもよい。
【００２６】
アプリケーションサーバ１００には、データベース処理プログラム１１０とウェブサーバ１２０とデータベース接続ＡＰＩ１３０を配置する。データベースサーバ３００にはデータベース３０１を配置する。クライアント２００は、一般的なウェブブラウザ２０１を備え、ウェブブラウザから、ウェブサーバ１２０を介して、データベース処理プログラム１１０にアクセスする。データベース処理プログラム１１０は、データベース接続ＡＰＩ１３０を介してデータベース３０１に接続しデータの処理を行う。  
【００２７】
図２に、データベース処理プログラム１１０のブロック図を示す。本実施形態においては、データベース処理プログラム１１０は、主要処理プログラム１１１と電子文書１１２から構成される。主要処理プログラム１１１は、プログラムの機能が大きく３つに分割され、データ処理部１１１−Ａと画面入出力部１１１−Ｂと処理制御部１１１−Ｃから構成される。データ処理部１１１−Ａは、データベース検索、データ加工処理を行い、画面入出力部は、画面形成の処理およびウェブサーバ１２０を介した入出力の受け渡しを行う。処理制御部は１１１−Ｃは、画面と実行する処理の連携を行い、画面入出力部１１１−Ｂから受け取る要求に必要な処理をデータ処理部１１１−Ａへの依頼、データ処理部１１１−Ａが処理した結果の表示を画面入出力部１１１−Ｂへの依頼を行う。
【００２８】
データ処理部１１１−Ａは、電子文書１１２の情報を読み込む電子文書読み込み部１１１−Ａ１、データベースに接続して情報を取得するデータベース接続部１１１−Ａ３、前記２つの情報をもとにデータ加工を行うデータ加工部１１１−Ａ２から構成される。
【００２９】
電子文書読み込み部１１１−Ａ１、およびデータ加工部１１１−Ａ２が前記処理制御部１１１−Ｃと接続され、処理制御部１１１−Ｃを介して、電子文書１１２から読み込んだ画面形成の情報、データベース３０１から取得して加工した結果を画面入出力部１１１−Ｂに渡している。
【００３０】
本実施形態では、主要処理プログラム１１１には、プラットフォームに依存せず動作するＪａｖａ（登録商標）を使用し。ウェブサーバ１２０にはＪａｖａ（登録商標）サーブレットエンジンを備えたものを使用する。電子文書１１２は、種々の形式をとることが可能であるが、好ましくは、ＸＭＬ（Extensible Markup Language）で記述した文書を用いる。ＸＭＬは、情報の始まりと終わりを示す記号であるタグを、任意に設定することができるマークアップ言語であり、タグを使用してデータの構造を記述できる。電子文書１１２は、アプリケーションサーバ１１０のなかに保存するものでもよいし、ネットワークを介した他のコンピュータに保存するものでもよい。
【００３１】
図３は、データベース検索処理を行うときの処理の流れを示したものである。電子文書１１２の読み込みは、データベース検索処理のレスポンスを向上するため、望ましくは、実行にさきがけてあらかじめアプリケーションサーバのメモリ上に保持しておくのがよい。電子文書112は、後述のように、画面と処理の連携情報１１２−Ａ、画面形成情報１１２−Ｂおよびデータベース情報１１２−Ｃを含んでいる。電子文書１１２の読み込みは電子文書読み込み部１１１−Ａ１が行い、メモリ上に保持した情報のうち、データベース情報１１２−Ｃについては、データベース検索処理を組み立てるとき、およびデータベース検索結果を用いてデータ加工するときに、データ加工部１１１−Ａ２で使用する。画面形成情報１１２−Ｂについては、画面を形成するときに処理制御部１１２−Ｃを介して、画面入出力部１１１−Ｂで使用する。処理制御部１１１−Ｃは、電子文書に記述された画面と処理の連携情報１１２−Ａを元に、画面とそれに応じた処理を連携する。
【００３２】
クライアント２００のウェブブラウザ２０１から、データベースの検索要求をすると、その要求は画面入出力部１１３から処理制御部１１４に渡される。処理制御部１１４は要求に応じたデータ加工処理を、データ加工部１１１−Ａ２に依頼する。データ加工部１１１−Ａ２は、データベースの検索処理を組み立てて、データベース接続部１１１−Ａ３にデータベース検索要求を渡し、データベース接続部１１１−Ａ３が管理しているデータベース接続経路を用いて、データベースサーバ３００のデータベース３０１の検索を行う。データベース検索結果が、データベース接続部１１１−Ａ３からデータ加工部１１１−Ａ２に渡され、ここでデータ加工を行った結果が、処理制御部１１４を経由して画面入出力部１１３に渡され、ウェブブラウザ２０１に表示する画面を出力する。
【００３３】
次に、電子文書１１２に記述する内容を説明する。本実施形態では、電子文書１１２をＸＭＬで記述したが、他の形式で記述してもよい。ＸＭＬで記述した場合には、電子文書をプログラムが読み込むときに、インターネットで標準的に使用されるドキュメントシステムであるWorld Wide Web（WWW）の技術標準化を進める団体であるWWW Consortium（W3C）が定めた仕様に基くＡＰＩであるDocument Object Model（DOM）や、世界中の開発者達がXML-DEVメーリングリストで論議を重ねて開発したＡＰＩであるSimple API for XML（ＳＡＸ）などを利用できる。
【００３４】
電子文書１１２に定義する情報の一例を図４に示す。本実施形態では、データベース処理プログラム１１０が動作するときに使用する各種情報を以下のグループに分けて定義した。
・画面と処理の連携情報１１２−Ａ
・画面形成情報１１２−Ｂ
・データベース情報１１２−Ｃ
各定義を１つの電子文書に記述してもよいし、タグの開始記号に対する終了記号が同一文書内に存在する、というルールが守られている範囲で、任意の数の電子文書に分割してもよい。
【００３５】
画面と処理の連携情報１１２−Ａは、処理制御部１１１−Ｃが画面の遷移とそれに伴う処理の実行に関する制御を行うための情報を定義する部分であり、条件分岐、ループを含むフロー制御を記述してもよい。
【００３６】
本実施形態では、画面形成情報１１２−Ｂに記述する内容を、共通的な画面情報の設定を行う画面基本設定情報１１２−Ｂ１、検索条件画面についての設定をする検索条件設定情報１１２−Ｂ２、検索結果の表示方法についての設定を行う検索結果の取得方法情報１１２−Ｂ３に分類した。画面基本設定情報１１２−Ｂ１には、検索条件として画面から入力した文字が小文字だった場合に大文字に変換する処理、空白文字があった場合に空白を除去する処理を含む共通処理を定義する条件値入力共通処理情報１１２−Ｂ１１、画面に配置するプルダウンメニューや、ラジオボックスを含む各種部品の詳細な定義情報を記述する画面部品の詳細情報１１２−Ｂ１２、文字間隔や１ページ当たりの表示行数を含む画面表示の方法を設定する画面表示方法情報１１２−Ｂ１３が含まれる。検索条件情報１１２−Ｂ２では、検索条件として使用できる項目を定義する検索条件の項目情報１１２−Ｂ２１、検索条件項目ごとに適切な条件式を設定しておく検索条件式情報１１２−Ｂ２２を記述する。なお、検索条件情報１１２−Ｂ２１で使用できる項目は、後述するデータベースの項目情報１１２−Ｃ１において定義した項目のみである。
【００３７】
検索結果の表示方法情報１１２−Ｂ３では、データベースを検索し、どの項目をどのような並び順で表示するか（項目の表示位置情報１１２−Ｂ３１）、検索条件にヒットしたレコードをどのようなソート順で表示するか（レコードのソート順情報１１２−Ｂ３２）、検索結果した結果を最大何件まで表示するか（画面表示件数情報１１２−Ｂ３３）を記述する。
【００３８】
データベース処理情報１１２−Ｃには、データベースの項目情報１１２−Ｃ１のみでなく、データ加工情報１１２−Ｃ２を記述できるようにしている。通常、複数のテーブルに含まれる情報を合わせて表示する場合には、データベースでテーブルの結合定義をするか、プログラムのなかにテーブル結合処理を記述することが多いが、本実施形態では、電子文書のなかに、テーブル結合情報１１２−Ｃ２１を記述できるようにした。これにより、利用者の要望が変わり、新たにテーブルを結合して情報を表示する必要が発生した場合に、データベースやプログラムの変更をすることなしに、電子文書の記述のみで、対応することができる。また、データベース項目を使用した四則演算や文字列操作は、プログラムに記述することが多いが、これをデータの値の加工情報１１２−Ｃ２２として電子文書に記述することで、プログラムの変更なしに、これらのデータ加工処理を実現することができる。
【００３９】
さらに、数値項目については、どのような単位でデータを集計して合計行を出力するかを、データの集計情報１１２−Ｃ２３に記述する。
【００４０】
図５−１は、２つの画面（画面１、画面２）のデータベース項目を定義した事例である。画面１は、データベースのテーブルＡとテーブルＢの情報を含んだものであり、画面２はテーブルＡとテーブルＣの情報を含んだものである。一般的に、図５−１のように、各画面で使用するデータベース項目を、それぞれ画面ごとに定義することが多い。また、プログラムの中で、それら２つのテーブルの関係（結合情報）を定義することが多い。しかし、業務システムで使用するデータベース項目は非常に多く、その数が数千になることも珍しくない。これらすべての定義情報を入力するのは労力がかかる。また、プログラムの中に結合情報を記述すると、テーブルの定義が変わったときに、プログラムを修正する必要がある。本実施形態では、事前にＸＭＬ文書で定義した内容を継承し、その継承元の定義内容との差分で、新たな定義ができるようにしている。図５−２は、２つの画面（画面１、画面２）を定義した例である。テーブルＡの情報をあらかじめ定義しておき、これを画面１、画面２のなかで継承して利用することで、全体の記述量を減らすことができる。
【００４１】
さらに図５−２の例では、データベース項目の加工情報として、例えば、画面１で、テーブルＡとテーブルＢの結合というデータ加工を電子文書のなかに記述した。このように、データ加工を電子文書に記述することにより、データ加工のロジックが変更になったときに、プログラムソースを修正しなくても電子文書の変更でロジックの変更に対応できることも多くなる。
【００４２】
図６は、画面表示をユーザごとにカスタマイズの、処理の流れを示した図である。データベース検索処理の流れは、図３で説明したとおりであるが、データ検索処理の要求の事前処理として、検索条件の指定をする。検索条件にどのデータ項目を使用できるかは、電子文書に記述し、検索条件に使用する具体的な値は、本実施形態ではデータベース３０１にカスタマイズ情報３０１−Ａとして保存する。一度、データベース３０１に保存したカスタマイズ情報３０１−Ａは、次回の検索で、カスタマイズの情報を取得するときに、データベース３０１から読み込んで再利用することができる。なお、カスタマイズ情報の再利用について、利用権限を、該当の検索条件を作成したユーザをもとに、該当の検索条件を作成したユーザのみ使用できるもの、該当の検索条件を作成したユーザの所属部署のユーザが使用できるもの、すべてのユーザが使用できるもの、を使い分けてもよい。また、同一のユーザが複数種類のカスタマイズ情報を持っていて、これを選択して使い分けすることができるようになっていてもよい。また、カスタマイズ情報は、データベース３０１以外の格納場所(たとえば、アプリケーションサーバ１００など)に格納されていてもよい。
【００４３】
図７−１に、検索条件を指定する画面の例を示す。検索条件にどの項目を使用できるかは、検索条件の項目情報１１２−Ｂ２１として電子文書に設定するものであり、使用できる検索条件式は、検索条件式１１２−Ｂ２２として電子文書に設定する。検索条件式に設定した具体的な値を含めて、各ユーザごとにデータベースのカスタマイズ情報３０１−Ａに、保存する。
【００４４】
図７−２は、検索結果の表示をカスタマイズするための画面である。検索結果は、レコード単位で一覧表示されるが、画面に表示するデータ項目は、電子文書のデータベースの項目情報１１２−Ｃ１で定めたなかから選択できる。このなかには、データの値の加工１１２−Ｃ２２（図４参照）で定義したデータ項目を含む。例えば、データベースに、「単価」と「契約数量」があり、データの値の加工１１２−Ｃ２２で「金額」を「単価ｘ 契約数量」で定義しておけば、金額を表示するデータ項目に選択できる。各レコードは、複数行表示が可能であり、どの行のどの列に表示するかを、項目の表示位置１１２−Ｂ３１で設定する。さらに、レコードのソート順１１２−Ｂ３２、画面表示件数１１２−Ｂ３３をユーザごとに設定して、データベースのカスタマイズ情報３０１−Ａに、保存する。
【００４５】
図７−３は、検索結果の表示画面の例である。図７−２で設定した項目の表示位置１１２−Ｂ３１、レコードのソート順１１２−Ｂ３２に従って、データベースの検索結果が表示されている。合計行は、電子文書のデータの集計１１２−Ｃ２３において、どのデータ項目を合計するかをあらかじめ定義しておくことにより、画面表示される。
【００４６】
データベース検索処理では、検索条件にヒットした件数が多くなった場合に、ネットワークに対する負荷、またはアプリケーションサーバ１００の処理の負荷を考慮して、検索可能な上限件数をシステムに予め設定することがある。このとき、検索条件にヒットした件数が上限件数を越えた場合には、検索結果の件数とシステムの上限件数を表示し、再度、検索条件を設定して検索を行う旨を通知して、検索を中断する場合が多い。
【００４７】
図８−１に上記のような場合の使用方法における処理の流れを示す。アプリケーションサーバ１００は、ブラウザ２０１から検索要求を受け取ると、まず、対象レコード件数取得処理の組み立てＳ１１０において、検索条件にヒットするレコード件数を取得する処理を行い、データベースから取得した取得件数と、あらかじめ上限件数として設定した所定件数を比較する（所定件数と取得件数の比較Ｓ１２０）。所定件数よりも取得件数が大きい場合には、検索不可の通知を行い、検索条件にヒットした対象レコードの取得を行わない。所定件数よりも取得件数が少ない場合には、次の処理である対象レコードの取得処理の組み立てＳ１３０の処理に進む。アプリケーションサーバ１００は、データベース３０１から対象レコードを取得すると、データをメモリに保持（データをメモリに保持Ｓ１４０）し、レコードの並べ替え、集計処理Ｓ１５０により、検索要求に当てはまるようにデータを加工し、これをユーザが画面で見える形式へとページ単位の画面出力する（ページ単位の画面出力Ｓ１６０）。
【００４８】
本実施形態の好ましい使用方法では、前述の上限件数（第１の上限件数）に加え、第１の上限件数を超えない範囲で、第２の上限件数をユーザごとに設定できるようにしてある。
【００４９】
図８−２において、第２の上限件数と取得件数の比較Ｓ１２５の処理を、図８−１から加えている。第１の上限件数は、ネットワーク、アプリケーションサーバの負荷に関わるものであり、取得した対象レコードの件数が第１の上限件数を越える場合には、データの取得を行わないが、第１の上限件数を超えない場合は、取得件数と第２の上限件数を比較して、取得件数が第２の上限件数を超えた場合には、第２の上限件数を越えたことをユーザに通知したうえで、データ検索処理を続行して対象レコードを取得するか、再度検索条件を設定して検索を行うかを選択させる。ユーザが検索を継続しないことを選択した場合は、データベースからレコードの取得を行わずに、検索条件にヒットした件数、および第２の上限件数を画面表示し、検索条件の再設定を促すメッセージを通知する。ユーザが検索を継続することを選択した場合には、検索にヒットしたレコードのうち、第２の上限件数までのレコードを取得して、画面出力する。
【００５０】
図９に、第１の上限件数が２０００件、第２の上限件数が２００件で、検索条件にヒットしたデータ件数が、３０００件、１０００件、１００件の場合に、どのような通知画面が出力されるかを示した。ヒットした件数が３０００件の場合は、第１の上限件数を超えているので、画面２０１−Ａのとおり、検索条件の再設定を促して検索処理を中断する。ヒットした件数が１０００件の場合は、第１の上限件数を超えないが、第２の上限件数を超えているので、画面２０１−Ｂのとおり、検索処理を継続して第２の上限件数までのレコードを出力するか、検索処理を中断して再度検索条件を設定するか、を選択できる。ヒットした件数が１００件の場合は、第２の上限件数より少ないので、上限件数に関する通知なしに検索結果を全件表示する。
【産業上の利用可能性】
【００５１】
以上、本発明を実施形態に基づいて説明したが、本発明の応用範囲は上記実施形態に限られるものではなく、広い範囲に適用できる。
【図面の簡単な説明】
【００５２】
【図１】本発明の実施形態におけるシステムの全体構成図である。
【図２】本発明の実施形態におけるデータベース処理プログラムのブロック図である。
【図３】本発明の実施形態における、データベース検索処理の流れを示す図である。
【図４】本発明の実施形態における電子文書に定義する情報の構成を示すである。
【図５−１】データベース検索処理において、一般的に電子文書で定義する内容である。
【図５−２】本発明の実施形態において、電子文書で定義した内容である。
【図６】本発明の実施形態におけるユーザごとの画面カスタマイズの流れを示す図である。
【図７−１】本発明の実施形態における検索条件のカスタマイズ画面である。
【図７−２】本発明の実施形態における検索結果表示方法のカスタマイズ画面である。
【図７−３】本発明の実施形態における検索結果の表示画面である。
【図８−１】データベース検索処理において、上限件数を定めた場合の一般的な処理の流れを示す図である。
【図８−２】本発明の実施形態において、第２の上限件数を定めた場合の処理の流れを示す図である。
【図９】本発明の実施形態における検索結果件数ごとに通知される画面を示した図である。
【符号の説明】
【００５３】
１００：アプリケーションサーバ
１１０：データベース処理プログラム
１１１：主要処理プログラム
１１１−Ａ：データ処理部
１１１−Ａ１：電子文書読み込み部
１１１−Ａ２：データ加工部
１１１−Ａ３：データベース接続部
１１１−Ｂ：画面入出力部
１１１−Ｃ：処理制御部
１１２：電子文書
１１２−Ａ：画面と処理の連携情報
１１２−Ｂ：画面形成情報
１１２−Ｂ１：画面基本設定情報
１１２−Ｂ１１：条件値入力共通処理情報
１１２−Ｂ１２：画面部品の詳細情報
１１２−Ｂ１３：画面表示方法情報
１１２−Ｂ２：検索条件情報
１１２−Ｂ２１：検索条件の項目情報
１１２−Ｂ２２：検索条件式情報
１１２−Ｂ３：検索結果の表示方法情報
１１２−Ｂ３１：項目の表示位置情報
１１２−Ｂ３２：レコードのソート順情報
１１２−Ｂ３３：画面表示件数情報
１１２−Ｃ：データベース情報
１１２−Ｃ１：データベースの項目情報
１１２−Ｃ２：データ加工情報
１１２−Ｃ２１：テーブル結合情報
１１２−Ｃ２２：データの値の加工情報
１１２−Ｃ２３：データの集計情報
１２０：ウェブサーバ
１３０：データベース処理ＡＰＩ
２００：クライアント
２０１：ウェブブラウザ
２０１−Ａ、２０１−Ｂ：検索結果件数ごとの通知例
３００：データベースサーバ
３０１：データベース
３０１−Ａ：カスタマイズ情報
４００：ネットワーク
【図１】
2006085325.tif 000003
【図２】
2006085325.tif 000004
【図３】
2006085325.tif 000005
【図４】
2006085325.tif 000006
【図５−１】
2006085325.tif 000007
【図５−２】
2006085325.tif 000008
【図６】
2006085325.tif 000009
【図７−１】
2006085325.tif 000010
【図７−２】
2006085325.tif 000011
【図７−３】
2006085325.tif 000012
【図８−１】
2006085325.tif 000013
【図８−２】
2006085325.tif 000014
【図９】
2006085325.tif 000015