(57)【要約】【課題】  業務システムのように処理種別が多岐にわたるシステムのアプリケーションプログラムの開発を簡便化する。【解決手段】  アプリケーションプログラムの開発を行う情報処理装置が、複数パターンの一連の処理手順をオブジェクト指向のプログラミング言語により記述したテンプレートと、各パターンにおいて処理すべきデータを処理種別ごとに規定した定義情報とを記憶手段に記憶しておく。情報処理装置は、指定された処理種別とテンプレートのパターンとを入力手段により入力し、入力した処理種別に対応する定義情報および入力したパターンのテンプレートを記憶手段から抽出し、抽出した定義情報およびテンプレートを用いて当該処理種別のアプリケーションプログラムを生成する。【選択図】      図２
2007034690.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置が、
複数パターンの一連の処理手順をオブジェクト指向のプログラミング言語により記述したテンプレートと、各パターンにおいて処理すべきデータを処理種別ごとに規定した定義情報とを記憶手段に記憶し、
指定された処理種別とテンプレートのパターンとを入力手段により入力し、
前記入力した処理種別に対応する定義情報および前記入力したパターンのテンプレートを前記記憶手段から抽出し該抽出した定義情報およびテンプレートを用いて当該処理種別のアプリケーションプログラムを生成すること
を特徴とするプログラム開発方法。
【請求項２】
前記情報処理装置が、
前記テンプレートとして、クライアント装置に表示させる画面の遷移に対応するテンプレートを記憶することを特徴とする請求項１記載のプログラム開発方法。
【請求項３】
前記情報処理装置が、
前記テンプレートとして、データベース装置に対する検索要求に対応するテンプレートを記憶することを特徴とする請求項１記載のプログラム開発方法。
【請求項４】
前記テンプレートに記述された処理手順にオブジェクトによる他装置とのデータ授受を含むことを特徴とする請求項１乃至３のいずれか１項に記載のプログラム開発方法。
【請求項５】
コンピュータに、
複数パターンの一連の処理手順をオブジェクト指向のプログラミング言語により記述したテンプレートと、各パターンにおいて処理すべきデータを処理種別ごとに規定した定義情報とを記憶手段に記憶するステップと、
指定された処理種別とテンプレートのパターンとを入力手段により入力するステップと、
前記入力した処理種別に対応する定義情報および前記入力したパターンのテンプレートを前記記憶手段から抽出し該抽出した定義情報およびテンプレートを用いて当該処理種別のアプリケーションプログラムを生成するステップと
を実行させることを特徴とする開発プログラム。
【請求項６】
前記コンピュータに、
テンプレートを記憶する前記ステップにおいて、クライアント装置に表示させる画面の遷移に対応するテンプレートを記憶することを実行させることを特徴とする請求項５記載の開発プログラム。
【請求項７】
前記コンピュータに、
テンプレートを記憶する前記ステップにおいて、データベース装置に対する検索要求に対応するテンプレートを記憶することを実行させることを特徴とする請求項５記載の開発プログラム。
【請求項８】
前記テンプレートに記述された処理手順にオブジェクトによる他装置とのデータ授受を含むことを特徴とする請求項５乃至７のいずれか１項に記載の開発プログラム。
【請求項９】
クライアント装置およびアプリケーションサーバ装置と通信可能に接続されたＷｅｂサーバ装置であって、
請求項５又は６もしくは８のいずれか１項に記載の開発プログラムを記憶する記憶手段と、
前記開発プログラムによりアプリケーションプログラムを生成し該アプリケーションを実行する制御手段と
を備えることを特徴とするＷｅｂサーバ装置。
【請求項１０】
Ｗｅｂサーバ装置およびデータベース装置と通信可能に接続されたアプリケーションサーバ装置であって、
請求項５又は７もしくは８のいずれか１項に記載の開発プログラムを記憶する記憶手段と、
前記開発プログラムによりアプリケーションプログラムを生成し該アプリケーションを実行する制御手段と
を備えることを特徴とするアプリケーションサーバ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアントからの処理要求に対し複数のサーバを利用して処理を実行する技術に関し、特に、各サーバに組み込むオブジェクト指向のアプリケーションプログラムの開発方法およびその開発プログラムに関する。
【背景技術】
【０００２】
従来、業務処理等を行うオンラインシステムで利用するアプリケーションプログラムを開発するにあたっては、プログラムを取り扱う上での利便性を考慮して、Java（登録商標）のようなオブジェクト指向のプログラム言語が利用されることがある。オブジェクト指向の言語を採用した場合、サーバ間ではデータがオブジェクトにより授受される。このようなオブジェクトを利用する従来の技術として、例えば、後述の特許文献１に記載のものがある。
【０００３】
特許文献１に記載の技術は、遠方監視制御装置に、外部装置に対しオブジェクトを入出力する手段、オブジェクトを管理する手段、オブジェクトを実行する手段、装置本体に発生した障害を外部装置へ通知する手段、及び、装置本体のハードウェア構成の変化を外部装置へ通知する手段とを備えることにより、ハードウェア構成や処理手順の違いにより必要とされる装置ごとのソフトウェア開発の作業を最小限にするというものである。
【特許文献１】特開平１１−１９４９６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、サーバのアプリケーションプログラムに記述される処理手順には、クライアントからの処理要求の受け入れや、クライアントに対するデータ供給に関する手順、及び、要求された処理の実行における他サーバとの連携に関する手順等が含まれる。
【０００５】
しかしながら、上述のようなアプリケーションプログラムを開発する際は、想定される処理要求の種別ごとに１ステップずつコーディングする必要がある。また、Ｗｅｂサーバ及びアプリケーションサーバ間におけるJava（登録商標）準拠のサーブレット及びＥＪＢ（Enterprise Java Beans）間のデータ授受についても、一連の処理のプログラムソースを処理種別ごとに作成する必要がある。
【０００６】
従って、例えば業務システムのように、クライアントからの要求が多岐にわたる場合は、相当数のプログラムソースを用意せねばならず、プログラム開発に煩雑な作業を必要とされる。
【０００７】
本発明は、上記課題に鑑みてなされたものであり、オブジェクト指向のプログラミング言語によるアプリケーションプログラムの開発を簡略化する手法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るプログラム開発方法は、情報処理装置が、複数パターンの一連の処理手順をオブジェクト指向のプログラミング言語により記述したテンプレートと、各パターンにおいて処理すべきデータを処理種別ごとに規定した定義情報とを記憶手段に記憶し、指定された処理種別とテンプレートのパターンとを入力手段により入力し、前記入力した処理種別に対応する定義情報および前記入力したパターンのテンプレートを前記記憶手段から抽出し該抽出した定義情報およびテンプレートを用いて当該処理種別のアプリケーションプログラムを生成するという方法である。
【０００９】
本発明に係る開発プログラムは、コンピュータに、複数パターンの一連の処理手順をオブジェクト指向のプログラミング言語により記述したテンプレートと、各パターンにおいて処理すべきデータを処理種別ごとに規定した定義情報とを記憶手段に記憶するステップと、指定された処理種別とテンプレートのパターンとを入力手段により入力するステップと、前記入力した処理種別に対応する定義情報および前記入力したパターンのテンプレートを前記記憶手段から抽出し該抽出した定義情報およびテンプレートを用いて当該処理種別のアプリケーションプログラムを生成するステップとを実行させるプログラムである。
【００１０】
かかる本発明は、アプリケーションプログラムの開発にあたり、開発を行うための情報処理装置に予めテンプレート及び定義情報を登録し、この情報処理装置が、指定された処理種別に対応するテンプレートおよび定義情報を組み合わせることにより、当該処理種別のアプリケーションプログラムを生成するというものである。
【発明の効果】
【００１１】
本発明によれば、アプリケーションプログラムの開発の際は、クライアント装置の処理要求に関し想定される処理種別に応じて、テンプレートと定義情報とを組み合わせればよいことから、プログラムの生成を効率化することができる。これにより、処理種別ごとに１ステップずつコーディングするといった煩雑な作業は不要となる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施形態について図面を用いて詳細に説明する。図１に、本実施形態の構成を示す。本実施形態は、ユーザが利用するクライアント１０１と、Ｗｅｂサーバ１０２およびアプリケーションサーバ１０３と、ＤＢ（データベース）２１５による情報検索を実行するＤＢサーバ１０４とから構成される。これらは何れもプログラム制御により動作する情報処理装置であり、インターネット等のネットワークを介して相互に接続されている。
【００１３】
クライアント１０１には、Ｗｅｂページを表示するためのＷｅｂブラウザ２１１が実装されている。各サーバ（１０２、１０３、１０４）は、後述するJava（登録商標）準拠のプログラムによりデータを授受する。
【００１４】
Ｗｅｂサーバ１０２は、そのソフトウェア構成として、図１に示すように、アプリケーションサーバ１０３に対するデータの送受信機能を果たすサーブレット（Servlet）２１２と、サーブレット２１２においてクライアント１０１の画面遷移に関連する処理を行うコントロールサーブレット２１３と、クライアント１０１に対しJava（登録商標）対応のＷｅｂページを提供するＪＳＰ（Java Server Pages）２１６とを有する。コントロールサーブレット２１３は、アプリケーションサーバ１０３へのデータ送信の際、インタフェースとしてのプログラムである入力オブジェクト２１３Ａを実行する。
【００１５】
アプリケーションサーバ１０３は、そのソフトウェア構成として、Ｗｅｂサーバ１０２とのデータ授受およびＤＢサーバ１０４に対する検索要求を行うＥＪＢ２１４を有する。ＥＪＢ２１４は、Ｗｅｂサーバ１０２へのデータ送信の際、インタフェースとしてのプログラムである返却オブジェクト２１４Ａを実行する。
【００１６】
図２に示すフローチャートを参照して、本実施形態におけるプログラム開発の手順について説明する。ここでは、一例として、Ｗｅｂサーバ１０２に組み込むアプリケーションプログラムの開発手順を説明する。このアプリケーションプログラムは、Ｗｅｂサーバ１０２により作成しても、他の情報処理装置により作成してＷｅｂサーバ１０２に実装してもよい。また、いずれの場合も、コーディングに使用する装置に、図２の手順が記述された開発プログラムをハードディスクのような記憶手段に格納しておき、この開発プログラムを、装置の制御手段であるＣＰＵにより実行する。
【００１７】
プログラム開発にあたっては、まず、一連の画面遷移に対応するコンピュータ処理を複数パターンにて記述したプログラムをテンプレートとして用意し、これを記憶する（ステップＳ１）。テンプレートは、Ｗｅｂサーバ１０２が行うべき処理を、クライアント１０１のＷｅｂブラウザ２１１にて展開させる画面の遷移に合わせてコーディングしたものである。また、画面遷移には何種類かのパターンを設けておく。
【００１８】
図３に、テンプレートの一例を模式的に示す。図示の例では、画面の遷移として「パターン１」、「パターン２」及び「パターン３」が設けられている。テンプレートには、このような画面遷移に沿ってＷｅｂサーバ１０２が処理すべき内容を記述する。
【００１９】
図３において、例えば「パターン１」は、クライアント１０１の画面遷移として、検索条件を入力するための「条件入力画面」を表示した後は、検索処理の結果を「結果画面」にて表示するというものである。この場合、テンプレートには、「条件入力画面」及び「結果画面」の画面情報をクライアント１０１へ送信するための処理と、アプリケーションサーバ１０３との協働による検索処理に関する処理とが記述されることとなる。
【００２０】
「パターン２」の場合は、検索条件を入力するための画面を「入力画面」とし、これに先立ち表示する画面として、検索条件の新規入力、入力修正及び引用入力を指定するための「条件入力画面」が用意されている。「入力画面」の表示後は、入力内容を確認するための「確認画面」を表示し、その後、検索結果の「結果画面」へ遷移する。さらに、先の「条件入力画面」から、「確認画面」の内容をキャンセルする「削除」や、「結果画面」を再表示する「表示」を指定できるよう設定されている。「パターン３」は、上記「パターン２」の遷移において、新規入力とそれ以外とで「条件入力画面」を２通り用意したものである。
【００２１】
次に、画面内容を定義する情報である項目定義情報を、想定される処理種別ごとに登録する（ステップＳ２）。項目定義情報としては、例えば、検索条件の入力画面に表示する項目及びその項目のチェック条件や、結果画面の表示項目、画面レイアウトに関する規定等を設定する。
【００２２】
図４に、項目定義情報の一例を示す。図示の例では、用途として、企業等の業務システムにおける情報検索の種類が登録されている。例えば、「人事・社員検索」なる用途の場合、画面の入力項目として社員名や部署があり、また、その入力内容をチェックする際は、社員名の入力を必須とすることが規定されている。
【００２３】
コンピュータに上述のテンプレート及び項目定義情報が登録された後、プログラム作成者から指定されるテンプレートと処理種別とをキーボード等の入力手段により入力する（ステップＳ３）。
【００２４】
コンピュータは、入力したテンプレートと、入力した処理種別に対応する項目定義情報とを記憶手段から抽出し（ステップＳ４、Ｓ５）、両者を組み合わせることによりアプリケーションプログラムのジェネレート処理を実行する（ステップＳ６）。これにより、Ｗｅｂサーバ１０２のアプリケーションプログラムが自動生成される。その後、自動生成されたプログラムに対し、プログラム作成者により画面の詳細なレイアウトなどを適宜修正することにより、アプリケーションプログラムが完成する。
【００２５】
上記手順のプログラム開発によれば、指定したテンプレートと当該処理種別に応じた項目定義情報との組み合わせにより、アプリケーションプログラムが自動生成されることから、短時間にてプログラムを生成することができる。これにより、処理種別ごとにアプリケーションプログラムを１ステップずつコーディングする作業は不要となる。また、Ｗｅｂサーバ１０２に実行させる処理手順をテンプレートにより標準化したことから、プログラムのメンテナンスが容易となる。
【００２６】
一方、アプリケーションサーバ１０３用のプログラムも、図２の手順に準じた開発方法により生成することができる。アプリケーションサーバ１０３の場合は、テンプレートおよび定義情報として、Ｗｅｂサーバ１０２とのデータ授受や、ＤＢサーバ１０４の各テーブルへのアクセスに関する情報を用意しておき、これらを組み合わせることによりアプリケーションプログラムを生成する。
【００２７】
図５に示すシーケンス図を参照して、上記手順により生成したアプリケーションプログラムによるシステムの動作について説明する。ここでは、クライアント１０１からの処理要求がデータベース（２１５）に対するデータ検索であるとする。
【００２８】
クライアント１０１は、Ｗｅｂブラウザ２１１により、Ｗｅｂサーバ１０２から検索画面を呼び出す（Ａ０１）。Ｗｅｂサーバ１０２は、要求された検索画面をクライアント１０１のＷｅｂブラウザ２１１に展開すべく、該当の画面情報を送信する（Ａ０２）。クライアント１０１の利用者は、検索画面の項目に検索条件を入力し、検索を実行する操作を行う（Ａ０３）。
【００２９】
Ｗｅｂサーバ１０２は、受信した入力内容について、必須事項の入力の有無等、項目定義情報に基づくチェックを行う（Ａ０４）。その結果、正しく入力されている場合、入力オブジェクトに検索条件を格納し、これをアプリケーションサーバ１０３へ送信する（Ａ０５）。
【００３０】
アプリケーションサーバ１０３は、受信した入力オブジェクトから検索条件を取り出す（Ａ０６）。そして、この検索条件に合わせて検索ＳＱＬを作成し、ＤＢサーバ１０４へ送信する（Ａ０７）。ＤＢサーバ１０４は、受信した検索ＳＱＬを実行し、結果をアプリケーションサーバ１０３に返却する（Ａ０８）。アプリケーションサーバ１０３は、取得した検索結果を加工して検索結果を作成し（Ａ０９）、作成した検索結果を返却オブジェクト２１６に格納してＷｅｂサーバ１０２へ送信する（Ａ１０）。
【００３１】
Ｗｅｂサーバ１０２は、受信した返却オブジェクトを展開して検索結果を抽出する（Ａ１１）。そして、抽出した検索結果を、クライアント１０１が表示できるように加工し、完成した画面情報をクライアント１０１へ送信する（Ａ１２）。クライアント１０１は、受信した画面情報をＷｅｂブラウザ２１１に展開することにより検索結果を表示する（Ａ１３）。
【００３２】
図５に示すＷｅｂサーバ１０２のブロックＡ５１（Ａ０２）、ブロックＡ５２（Ａ０４、Ａ０５、Ａ１１）、及び、ブロックＡ５６（Ａ１２）による一連の処理は、テンプレートに記述されるプログラムに対応する。また、Ａ５１及びＡ５６のような画面情報に関するブロックは、画面のデザインなど適宜修正が可能である。
【００３３】
また、アプリケーションサーバ１０３のプログラムは、図５に示すように、オブジェクトによるＷｅｂサーバ１０２とのデータ授受に関するブロックＡ５３（Ａ０６）及びブロックＡ５５（Ａ１０）と、処理種別に固有のロジックであるブロックＡ５４とに大別できる。このうち、オブジェクト授受に関するＡ５３及びＡ５５は、全ての処理種別に共通のものとして取り扱うことができる。よって、ブロックＡ５４の固有のロジックを適宜変更すれば、異なる処理種別に対処することができる。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施形態の構成を示すブロック図である。
【図２】実施形態のプログラム開発の手順を示すフローチャートである。
【図３】実施形態のテンプレートを説明するための説明図である。
【図４】実施形態の項目定義情報を説明するための説明図である。
【図５】実施形態のプログラム開発により生成したプログラムによる動作手順を示すシーケンス図である。
【符号の説明】
【００３５】
１０１  クライアント
１０２  Ｗｅｂサーバ
１０３  アプリケーションサーバ
１０４  ＤＢサーバ
２１１  Ｗｅｂブラウザ
２１２  サーブレット
２１３  コントロールサーブレット
２１３Ａ  入力オブジェクト
２１４  ＥＪＢ
２１４Ａ  返却オブジェクト
２１５  データベース
２１６  ＪＳＰ
【図１】
2007034690.tif 000003
【図２】
2007034690.tif 000004
【図３】
2007034690.tif 000005
【図４】
2007034690.tif 000006
【図５】
2007034690.tif 000007