説明

プログラム開発方法および開発プログラム

【課題】 業務システムのように処理種別が多岐にわたるシステムのアプリケーションプログラムの開発を簡便化する。
【解決手段】 アプリケーションプログラムの開発を行う情報処理装置が、複数パターンの一連の処理手順をオブジェクト指向のプログラミング言語により記述したテンプレートと、各パターンにおいて処理すべきデータを処理種別ごとに規定した定義情報とを記憶手段に記憶しておく。情報処理装置は、指定された処理種別とテンプレートのパターンとを入力手段により入力し、入力した処理種別に対応する定義情報および入力したパターンのテンプレートを記憶手段から抽出し、抽出した定義情報およびテンプレートを用いて当該処理種別のアプリケーションプログラムを生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クライアントからの処理要求に対し複数のサーバを利用して処理を実行する技術に関し、特に、各サーバに組み込むオブジェクト指向のアプリケーションプログラムの開発方法およびその開発プログラムに関する。
【背景技術】
【0002】
従来、業務処理等を行うオンラインシステムで利用するアプリケーションプログラムを開発するにあたっては、プログラムを取り扱う上での利便性を考慮して、Java(登録商標)のようなオブジェクト指向のプログラム言語が利用されることがある。オブジェクト指向の言語を採用した場合、サーバ間ではデータがオブジェクトにより授受される。このようなオブジェクトを利用する従来の技術として、例えば、後述の特許文献1に記載のものがある。
【0003】
特許文献1に記載の技術は、遠方監視制御装置に、外部装置に対しオブジェクトを入出力する手段、オブジェクトを管理する手段、オブジェクトを実行する手段、装置本体に発生した障害を外部装置へ通知する手段、及び、装置本体のハードウェア構成の変化を外部装置へ通知する手段とを備えることにより、ハードウェア構成や処理手順の違いにより必要とされる装置ごとのソフトウェア開発の作業を最小限にするというものである。
【特許文献1】特開平11−194961号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、サーバのアプリケーションプログラムに記述される処理手順には、クライアントからの処理要求の受け入れや、クライアントに対するデータ供給に関する手順、及び、要求された処理の実行における他サーバとの連携に関する手順等が含まれる。
【0005】
しかしながら、上述のようなアプリケーションプログラムを開発する際は、想定される処理要求の種別ごとに1ステップずつコーディングする必要がある。また、Webサーバ及びアプリケーションサーバ間におけるJava(登録商標)準拠のサーブレット及びEJB(Enterprise Java Beans)間のデータ授受についても、一連の処理のプログラムソースを処理種別ごとに作成する必要がある。
【0006】
従って、例えば業務システムのように、クライアントからの要求が多岐にわたる場合は、相当数のプログラムソースを用意せねばならず、プログラム開発に煩雑な作業を必要とされる。
【0007】
本発明は、上記課題に鑑みてなされたものであり、オブジェクト指向のプログラミング言語によるアプリケーションプログラムの開発を簡略化する手法を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明に係るプログラム開発方法は、情報処理装置が、複数パターンの一連の処理手順をオブジェクト指向のプログラミング言語により記述したテンプレートと、各パターンにおいて処理すべきデータを処理種別ごとに規定した定義情報とを記憶手段に記憶し、指定された処理種別とテンプレートのパターンとを入力手段により入力し、前記入力した処理種別に対応する定義情報および前記入力したパターンのテンプレートを前記記憶手段から抽出し該抽出した定義情報およびテンプレートを用いて当該処理種別のアプリケーションプログラムを生成するという方法である。
【0009】
本発明に係る開発プログラムは、コンピュータに、複数パターンの一連の処理手順をオブジェクト指向のプログラミング言語により記述したテンプレートと、各パターンにおいて処理すべきデータを処理種別ごとに規定した定義情報とを記憶手段に記憶するステップと、指定された処理種別とテンプレートのパターンとを入力手段により入力するステップと、前記入力した処理種別に対応する定義情報および前記入力したパターンのテンプレートを前記記憶手段から抽出し該抽出した定義情報およびテンプレートを用いて当該処理種別のアプリケーションプログラムを生成するステップとを実行させるプログラムである。
【0010】
かかる本発明は、アプリケーションプログラムの開発にあたり、開発を行うための情報処理装置に予めテンプレート及び定義情報を登録し、この情報処理装置が、指定された処理種別に対応するテンプレートおよび定義情報を組み合わせることにより、当該処理種別のアプリケーションプログラムを生成するというものである。
【発明の効果】
【0011】
本発明によれば、アプリケーションプログラムの開発の際は、クライアント装置の処理要求に関し想定される処理種別に応じて、テンプレートと定義情報とを組み合わせればよいことから、プログラムの生成を効率化することができる。これにより、処理種別ごとに1ステップずつコーディングするといった煩雑な作業は不要となる。
【発明を実施するための最良の形態】
【0012】
以下、本発明の実施形態について図面を用いて詳細に説明する。図1に、本実施形態の構成を示す。本実施形態は、ユーザが利用するクライアント101と、Webサーバ102およびアプリケーションサーバ103と、DB(データベース)215による情報検索を実行するDBサーバ104とから構成される。これらは何れもプログラム制御により動作する情報処理装置であり、インターネット等のネットワークを介して相互に接続されている。
【0013】
クライアント101には、Webページを表示するためのWebブラウザ211が実装されている。各サーバ(102、103、104)は、後述するJava(登録商標)準拠のプログラムによりデータを授受する。
【0014】
Webサーバ102は、そのソフトウェア構成として、図1に示すように、アプリケーションサーバ103に対するデータの送受信機能を果たすサーブレット(Servlet)212と、サーブレット212においてクライアント101の画面遷移に関連する処理を行うコントロールサーブレット213と、クライアント101に対しJava(登録商標)対応のWebページを提供するJSP(Java Server Pages)216とを有する。コントロールサーブレット213は、アプリケーションサーバ103へのデータ送信の際、インタフェースとしてのプログラムである入力オブジェクト213Aを実行する。
【0015】
アプリケーションサーバ103は、そのソフトウェア構成として、Webサーバ102とのデータ授受およびDBサーバ104に対する検索要求を行うEJB214を有する。EJB214は、Webサーバ102へのデータ送信の際、インタフェースとしてのプログラムである返却オブジェクト214Aを実行する。
【0016】
図2に示すフローチャートを参照して、本実施形態におけるプログラム開発の手順について説明する。ここでは、一例として、Webサーバ102に組み込むアプリケーションプログラムの開発手順を説明する。このアプリケーションプログラムは、Webサーバ102により作成しても、他の情報処理装置により作成してWebサーバ102に実装してもよい。また、いずれの場合も、コーディングに使用する装置に、図2の手順が記述された開発プログラムをハードディスクのような記憶手段に格納しておき、この開発プログラムを、装置の制御手段であるCPUにより実行する。
【0017】
プログラム開発にあたっては、まず、一連の画面遷移に対応するコンピュータ処理を複数パターンにて記述したプログラムをテンプレートとして用意し、これを記憶する(ステップS1)。テンプレートは、Webサーバ102が行うべき処理を、クライアント101のWebブラウザ211にて展開させる画面の遷移に合わせてコーディングしたものである。また、画面遷移には何種類かのパターンを設けておく。
【0018】
図3に、テンプレートの一例を模式的に示す。図示の例では、画面の遷移として「パターン1」、「パターン2」及び「パターン3」が設けられている。テンプレートには、このような画面遷移に沿ってWebサーバ102が処理すべき内容を記述する。
【0019】
図3において、例えば「パターン1」は、クライアント101の画面遷移として、検索条件を入力するための「条件入力画面」を表示した後は、検索処理の結果を「結果画面」にて表示するというものである。この場合、テンプレートには、「条件入力画面」及び「結果画面」の画面情報をクライアント101へ送信するための処理と、アプリケーションサーバ103との協働による検索処理に関する処理とが記述されることとなる。
【0020】
「パターン2」の場合は、検索条件を入力するための画面を「入力画面」とし、これに先立ち表示する画面として、検索条件の新規入力、入力修正及び引用入力を指定するための「条件入力画面」が用意されている。「入力画面」の表示後は、入力内容を確認するための「確認画面」を表示し、その後、検索結果の「結果画面」へ遷移する。さらに、先の「条件入力画面」から、「確認画面」の内容をキャンセルする「削除」や、「結果画面」を再表示する「表示」を指定できるよう設定されている。「パターン3」は、上記「パターン2」の遷移において、新規入力とそれ以外とで「条件入力画面」を2通り用意したものである。
【0021】
次に、画面内容を定義する情報である項目定義情報を、想定される処理種別ごとに登録する(ステップS2)。項目定義情報としては、例えば、検索条件の入力画面に表示する項目及びその項目のチェック条件や、結果画面の表示項目、画面レイアウトに関する規定等を設定する。
【0022】
図4に、項目定義情報の一例を示す。図示の例では、用途として、企業等の業務システムにおける情報検索の種類が登録されている。例えば、「人事・社員検索」なる用途の場合、画面の入力項目として社員名や部署があり、また、その入力内容をチェックする際は、社員名の入力を必須とすることが規定されている。
【0023】
コンピュータに上述のテンプレート及び項目定義情報が登録された後、プログラム作成者から指定されるテンプレートと処理種別とをキーボード等の入力手段により入力する(ステップS3)。
【0024】
コンピュータは、入力したテンプレートと、入力した処理種別に対応する項目定義情報とを記憶手段から抽出し(ステップS4、S5)、両者を組み合わせることによりアプリケーションプログラムのジェネレート処理を実行する(ステップS6)。これにより、Webサーバ102のアプリケーションプログラムが自動生成される。その後、自動生成されたプログラムに対し、プログラム作成者により画面の詳細なレイアウトなどを適宜修正することにより、アプリケーションプログラムが完成する。
【0025】
上記手順のプログラム開発によれば、指定したテンプレートと当該処理種別に応じた項目定義情報との組み合わせにより、アプリケーションプログラムが自動生成されることから、短時間にてプログラムを生成することができる。これにより、処理種別ごとにアプリケーションプログラムを1ステップずつコーディングする作業は不要となる。また、Webサーバ102に実行させる処理手順をテンプレートにより標準化したことから、プログラムのメンテナンスが容易となる。
【0026】
一方、アプリケーションサーバ103用のプログラムも、図2の手順に準じた開発方法により生成することができる。アプリケーションサーバ103の場合は、テンプレートおよび定義情報として、Webサーバ102とのデータ授受や、DBサーバ104の各テーブルへのアクセスに関する情報を用意しておき、これらを組み合わせることによりアプリケーションプログラムを生成する。
【0027】
図5に示すシーケンス図を参照して、上記手順により生成したアプリケーションプログラムによるシステムの動作について説明する。ここでは、クライアント101からの処理要求がデータベース(215)に対するデータ検索であるとする。
【0028】
クライアント101は、Webブラウザ211により、Webサーバ102から検索画面を呼び出す(A01)。Webサーバ102は、要求された検索画面をクライアント101のWebブラウザ211に展開すべく、該当の画面情報を送信する(A02)。クライアント101の利用者は、検索画面の項目に検索条件を入力し、検索を実行する操作を行う(A03)。
【0029】
Webサーバ102は、受信した入力内容について、必須事項の入力の有無等、項目定義情報に基づくチェックを行う(A04)。その結果、正しく入力されている場合、入力オブジェクトに検索条件を格納し、これをアプリケーションサーバ103へ送信する(A05)。
【0030】
アプリケーションサーバ103は、受信した入力オブジェクトから検索条件を取り出す(A06)。そして、この検索条件に合わせて検索SQLを作成し、DBサーバ104へ送信する(A07)。DBサーバ104は、受信した検索SQLを実行し、結果をアプリケーションサーバ103に返却する(A08)。アプリケーションサーバ103は、取得した検索結果を加工して検索結果を作成し(A09)、作成した検索結果を返却オブジェクト216に格納してWebサーバ102へ送信する(A10)。
【0031】
Webサーバ102は、受信した返却オブジェクトを展開して検索結果を抽出する(A11)。そして、抽出した検索結果を、クライアント101が表示できるように加工し、完成した画面情報をクライアント101へ送信する(A12)。クライアント101は、受信した画面情報をWebブラウザ211に展開することにより検索結果を表示する(A13)。
【0032】
図5に示すWebサーバ102のブロックA51(A02)、ブロックA52(A04、A05、A11)、及び、ブロックA56(A12)による一連の処理は、テンプレートに記述されるプログラムに対応する。また、A51及びA56のような画面情報に関するブロックは、画面のデザインなど適宜修正が可能である。
【0033】
また、アプリケーションサーバ103のプログラムは、図5に示すように、オブジェクトによるWebサーバ102とのデータ授受に関するブロックA53(A06)及びブロックA55(A10)と、処理種別に固有のロジックであるブロックA54とに大別できる。このうち、オブジェクト授受に関するA53及びA55は、全ての処理種別に共通のものとして取り扱うことができる。よって、ブロックA54の固有のロジックを適宜変更すれば、異なる処理種別に対処することができる。
【図面の簡単な説明】
【0034】
【図1】本発明の実施形態の構成を示すブロック図である。
【図2】実施形態のプログラム開発の手順を示すフローチャートである。
【図3】実施形態のテンプレートを説明するための説明図である。
【図4】実施形態の項目定義情報を説明するための説明図である。
【図5】実施形態のプログラム開発により生成したプログラムによる動作手順を示すシーケンス図である。
【符号の説明】
【0035】
101 クライアント
102 Webサーバ
103 アプリケーションサーバ
104 DBサーバ
211 Webブラウザ
212 サーブレット
213 コントロールサーブレット
213A 入力オブジェクト
214 EJB
214A 返却オブジェクト
215 データベース
216 JSP

【特許請求の範囲】
【請求項1】
情報処理装置が、
複数パターンの一連の処理手順をオブジェクト指向のプログラミング言語により記述したテンプレートと、各パターンにおいて処理すべきデータを処理種別ごとに規定した定義情報とを記憶手段に記憶し、
指定された処理種別とテンプレートのパターンとを入力手段により入力し、
前記入力した処理種別に対応する定義情報および前記入力したパターンのテンプレートを前記記憶手段から抽出し該抽出した定義情報およびテンプレートを用いて当該処理種別のアプリケーションプログラムを生成すること
を特徴とするプログラム開発方法。
【請求項2】
前記情報処理装置が、
前記テンプレートとして、クライアント装置に表示させる画面の遷移に対応するテンプレートを記憶することを特徴とする請求項1記載のプログラム開発方法。
【請求項3】
前記情報処理装置が、
前記テンプレートとして、データベース装置に対する検索要求に対応するテンプレートを記憶することを特徴とする請求項1記載のプログラム開発方法。
【請求項4】
前記テンプレートに記述された処理手順にオブジェクトによる他装置とのデータ授受を含むことを特徴とする請求項1乃至3のいずれか1項に記載のプログラム開発方法。
【請求項5】
コンピュータに、
複数パターンの一連の処理手順をオブジェクト指向のプログラミング言語により記述したテンプレートと、各パターンにおいて処理すべきデータを処理種別ごとに規定した定義情報とを記憶手段に記憶するステップと、
指定された処理種別とテンプレートのパターンとを入力手段により入力するステップと、
前記入力した処理種別に対応する定義情報および前記入力したパターンのテンプレートを前記記憶手段から抽出し該抽出した定義情報およびテンプレートを用いて当該処理種別のアプリケーションプログラムを生成するステップと
を実行させることを特徴とする開発プログラム。
【請求項6】
前記コンピュータに、
テンプレートを記憶する前記ステップにおいて、クライアント装置に表示させる画面の遷移に対応するテンプレートを記憶することを実行させることを特徴とする請求項5記載の開発プログラム。
【請求項7】
前記コンピュータに、
テンプレートを記憶する前記ステップにおいて、データベース装置に対する検索要求に対応するテンプレートを記憶することを実行させることを特徴とする請求項5記載の開発プログラム。
【請求項8】
前記テンプレートに記述された処理手順にオブジェクトによる他装置とのデータ授受を含むことを特徴とする請求項5乃至7のいずれか1項に記載の開発プログラム。
【請求項9】
クライアント装置およびアプリケーションサーバ装置と通信可能に接続されたWebサーバ装置であって、
請求項5又は6もしくは8のいずれか1項に記載の開発プログラムを記憶する記憶手段と、
前記開発プログラムによりアプリケーションプログラムを生成し該アプリケーションを実行する制御手段と
を備えることを特徴とするWebサーバ装置。
【請求項10】
Webサーバ装置およびデータベース装置と通信可能に接続されたアプリケーションサーバ装置であって、
請求項5又は7もしくは8のいずれか1項に記載の開発プログラムを記憶する記憶手段と、
前記開発プログラムによりアプリケーションプログラムを生成し該アプリケーションを実行する制御手段と
を備えることを特徴とするアプリケーションサーバ装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate