(57)【要約】  ユーザインタフェース(ＵＩ)画面を介して入力される変数を所定のプログラムに引き渡し処理を行わせるアプリケーション・プログラムの開発において、所定のプログラムを切り替える際の作業負荷の軽減を実現する。  アプリケーションの開発期間のうち、画面制御プログラムによって実現されるＵＩを提示して要件を決定していく期間には、変数格納領域としてKEY-VALUE形式で変数を格納する一括格納領域(map1,map2)のみが設けられたマネージド・ビーンを用い、擬似的な処理を行う試作用スクリプト(図示省略)を画面制御プログラムと連動させてＵＩの提示等を実現する。プログラム間で受け渡す変数が確定すると、ウェブサービス提供プログラムを開発して試作用スクリプトと置き換えると共に、マネージド・ビーンを、ウェブサービス提供プログラムと送受する変数毎に設けられた個別格納領域56と、一括格納領域と個別格納領域56の間で変数の複写を行うプログラム(変数複写部)を追加した新たなマネージド・ビーンに置き換える。
2011033644.tif 000002
【特許請求の範囲】
【請求項１】
プログラム実行時に、少なくともユーザインタフェース画面の情報入力欄に入力された第１入力変数の値が前記第１入力変数の名称と対応付けて格納される第１格納領域のみが変数格納領域として設けられている第１期間に、外部と第１プログラムとの間で受け渡す変数の型が、コンピュータによる前記第１プログラムの実行によって実現される第１処理の中で決定される前記第１プログラムに対し、前記第１格納領域に値が格納された前記第１入力変数を引き渡し、コンピュータによって前記第１処理を行わせる第１制御手段と、
外部と第２プログラムとの間で受け渡す変数の型を変数定義情報によって予め定義しておく必要があり、コンピュータによって実行されることで第２処理が行われる前記第２プログラムに対して設定された前記変数定義情報に基づき、前記変数定義情報に定義されている変数のうち少なくとも外部から前記第２プログラムへ引き渡される第２入力変数毎に格納領域が設けられた第２格納領域を生成する生成手段と、
前記生成手段によって前記第２格納領域が生成された後の第２期間に、前記第１格納領域に格納された第１入力変数の値を、前記第２格納領域のうち前記第１入力変数に対応する前記第２入力変数の前記格納領域に複写し、前記格納領域に値を複写した前記第２入力変数を前記第２プログラムへ引き渡し、引き渡した前記第２入力変数に応じた前記第２処理をコンピュータによって行わせる第２制御手段と、
を含むアプリケーション開発支援装置。
【請求項２】
前記第１制御手段は、前記第１期間に、前記第１プログラムに対し、前記第１格納領域に値が格納された前記第１入力変数を引き渡し、コンピュータによって前記第１処理を行わせ、前記第１処理の終了後、前記第１プログラムから引き渡された第１出力変数の値を前記第１出力変数の名称と対応付けて前記第１格納領域に格納し、
前記第１格納領域に格納された前記第１出力変数の値は、前記ユーザインタフェース画面の情報表示欄に表示され、
前記生成手段は、前記変数定義情報に基づき、外部から前記第２プログラムへ引き渡される第２入力変数毎及び前記第２プログラムから外部へ引き渡される第２出力変数毎に前記格納領域が設けられた前記第２格納領域を生成し、
前記第２制御手段は、前記第２期間に、前記第１格納領域に格納された前記第１入力変数の値を、前記第２格納領域のうち前記第１入力変数に対応する前記第２入力変数の前記格納領域に複写し、前記格納領域に値を複写した前記第２入力変数を前記第２プログラムへ引き渡し、引き渡した前記第２入力変数に応じた前記第２処理をコンピュータによって行わせ、前記第２処理の終了後、前記第２プログラムから引き渡された前記第２出力変数の値を、前記第２格納領域のうち前記引き渡された前記第２出力変数に対応する前記格納領域に格納すると共に、前記第２出力変数に対応する前記第１出力変数の名称と対応付け前記第１出力変数として前記第１格納領域に格納する請求項１記載のアプリケーション開発支援装置。
【請求項３】
前記第１格納領域を含む第１ファイルには予め名称が付与され、
前記ユーザインタフェース画面の設計時には、前記ユーザインタフェース画面の情報入力欄に入力される前記第１入力変数の名称及び前記第１ファイルの名称が前記情報入力欄に設定され、
プログラム実行時に、少なくとも前記ユーザインタフェース画面の情報入力欄に入力された前記第１入力変数の値を前記第１入力変数の名称と対応付けて前記第１格納領域に格納する処理は、前記ユーザインタフェース画面を含むユーザインタフェースを実現するための第３プログラムを実行するコンピュータにより、前記情報入力欄に設定された前記第１入力変数の名称及び前記第１ファイルの名称に基づいて行われ、
前記生成手段は、前記第２格納領域を生成した後に、前記第１格納領域と生成した前記第２格納領域とを含む第２ファイルに前記第１ファイルと同一の名称を付与し、
前記第１ファイルと同一の名称が付与された前記第２ファイルは前記第１ファイルと置き換えされる請求項１又は請求項２記載のアプリケーション開発支援装置。
【請求項４】
前記ユーザインタフェース画面の設計時には、前記ユーザインタフェース画面の情報表示欄に表示させる前記第１出力変数の名称及び前記第１ファイルの名称が前記情報表示欄に設定され、
前記第１格納領域に格納された第１出力変数の値を前記ユーザインタフェース画面の情報表示欄に表示させる処理も、前記第３プログラムを実行するコンピュータにより、前記情報表示欄に設定された前記第１出力変数の名称及び前記第１ファイルの名称に基づいて行われる請求項３記載のアプリケーション開発支援装置。
【請求項５】
前記第３プログラムは、前記ユーザインタフェース画面の構成要素として使用可能な、情報の入力及び表示の少なくとも一方が可能な情報入力／表示欄を含む複数種のシンボルをコンピュータによって表示画面に表示させると共に、開発者により、前記複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第１の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、前記ユーザインタフェースを実現するための前記第３プログラムをコンピュータによって生成させる第１のツールを用いてコンピュータによって生成される請求項３又は請求項４記載のアプリケーション開発支援装置。
【請求項６】
前記第１のツールはＪＳＦの規格に準拠したツールである請求項１〜請求項５の何れか１項記載のアプリケーション開発支援装置。
【請求項７】
前記第１プログラムはスクリプト言語で記述されたプログラムである請求項１〜請求項６の何れか１項記載のアプリケーション開発支援装置。
【請求項８】
前記第１プログラムは、前記第１プログラムを実行するためのプラットフォームとして機能するプラットフォーム・プログラムを実行しているコンピュータ上で実行され、
当該コンピュータによる前記第１プログラムの実行によって実現される前記第１処理のうち、外部と前記第１プログラムとの間で受け渡す変数の型を決定する処理は、前記コンピュータによって前記プラットフォーム・プログラムが実行されることによって行われる請求項１〜請求項７の何れか１項記載のアプリケーション開発支援装置。
【請求項９】
前記第２プログラムは、所望の処理を規定するフローチャートが開発者によって作成されると、作成されたフローチャートが表す処理を実行するための前記第２プログラムをコンピュータによって生成させる第２のツールを用いて前記コンピュータによって生成される請求項１〜請求項８の何れか１項記載のアプリケーション開発支援装置。
【請求項１０】
前記第２のツールはＢＰＥＬの規格に準拠したツールである請求項９記載のアプリケーション開発支援装置。
【請求項１１】
コンピュータを、
プログラム実行時に、少なくともユーザインタフェース画面の情報入力欄に入力された第１入力変数の値が前記第１入力変数の名称と対応付けて格納される第１格納領域のみが変数格納領域として設けられている第１期間に、外部と第１プログラムとの間で受け渡す変数の型が、コンピュータによる前記第１プログラムの実行によって実現される第１処理の中で決定される前記第１プログラムに対し、前記第１格納領域に値が格納された前記第１入力変数を引き渡し、コンピュータによって前記第１処理を行わせる第１制御手段、
外部と第２プログラムとの間で受け渡す変数の型を変数定義情報によって予め定義しておく必要があり、コンピュータによって実行されることで第２処理が行われる前記第２プログラムに対して設定された前記変数定義情報に基づき、前記変数定義情報に定義されている変数のうち少なくとも外部から前記第２プログラムへ引き渡される第２入力変数毎に格納領域が設けられた第２格納領域を生成する生成手段、
及び、前記生成手段によって前記第２格納領域が生成された後の第２期間に、前記第１格納領域に格納された第１入力変数の値を、前記第２格納領域のうち前記第１入力変数に対応する前記第２入力変数の前記格納領域に複写し、前記格納領域に値を複写した前記第２入力変数を前記第２プログラムへ引き渡し、引き渡した前記第２入力変数に応じた前記第２処理をコンピュータによって行わせる第２制御手段
として機能させるためのアプリケーション開発支援プログラム。
【請求項１２】
コンピュータを、
プログラム実行時に、少なくともユーザインタフェース画面の情報入力欄に入力された第１入力変数の値が前記第１入力変数の名称と対応付けて格納される第１格納領域のみが変数格納領域として設けられている第１期間に、外部と第１プログラムとの間で受け渡す変数の型が、コンピュータによる前記第１プログラムの実行によって実現される第１処理の中で決定される前記第１プログラムに対し、前記第１格納領域に値が格納された前記第１入力変数を引き渡し、コンピュータによって前記第１処理を行わせる第１制御手段、
外部と第２プログラムとの間で受け渡す変数の型を変数定義情報によって予め定義しておく必要があり、コンピュータによって実行されることで第２処理が行われる前記第２プログラムに対して設定された前記変数定義情報に基づき、前記変数定義情報に定義されている変数のうち少なくとも外部から前記第２プログラムへ引き渡される第２入力変数毎に格納領域が設けられた第２格納領域を生成する生成手段、
及び、前記生成手段によって前記第２格納領域が生成された後の第２期間に、前記第１格納領域に格納された第１入力変数の値を、前記第２格納領域のうち前記第１入力変数に対応する前記第２入力変数の前記格納領域に複写し、前記格納領域に値を複写した前記第２入力変数を前記第２プログラムへ引き渡し、引き渡した前記第２入力変数に応じた前記第２処理をコンピュータによって行わせる第２制御手段
として機能させるためのアプリケーション開発支援プログラムが記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はアプリケーション開発支援装置、プログラム及び記録媒体に係り、特に、ユーザインタフェース画面を介して入力される変数を所定のプログラムに引き渡しコンピュータによって処理を行わせるアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置、コンピュータを前記アプリケーション開発支援装置として機能させるためのアプリケーション開発支援プログラム、当該アプリケーション開発支援プログラムが記録された記録媒体に関する。
【背景技術】
【０００２】
最近、ビジネスプロセスをワークフローとして記述可能な規格(言語)としてＢＰＥＬ(Business Process Execution Language)が普及してきている。ＢＰＥＬに関しては、互いに異なる処理に対応する複数種の部品の中から所望の部品を選択して組み合わせる操作を行うことで所望のワークフローを視覚的に記述可能で、かつ作成されたワークフローからＢＰＥＬに準拠したプログラムを自動的に生成可能なツールが用意されており、当該ツールによって自動生成されたプログラムをコンピュータによって実行させる実行環境も構築可能とされている。このため、上記ツールを利用することで、所望のウェブサービスを提供するワークフローをコンピュータによって実現させるプログラムの開発を容易かつ短時間で行うことができる。なお、ＢＰＥＬの規格では、ＢＰＥＬで実現する処理における入力変数及び出力変数の型等を定義する変数定義情報(ＷＳＤＬ(Web Service Description Language)ともいう)を予め設定しておく必要があり、この変数定義情報はＢＰＥＬに準拠したプログラムを生成する際に参照される。【０００３】
また、ウェブアプリケーション向けのユーザインタフェースを構築するための規格としてＪＳＦ(Java(登録商標) Server Faces)が知られている。このＪＳＦに関しても、ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルの中から所望のシンボルを選択・配置する等の操作を行うことで、ユーザインタフェース画面の設計やユーザインタフェース画面の遷移の定義等のユーザインタフェースの構築が可能で、構築されたユーザインタフェースを実現するプログラムを自動的に生成可能なツールが用意されており、このツールを利用することで、所望のユーザインタフェースを実現するプログラムを、コーディング作業を行うことなく容易かつ短時間で得ることができる。【０００４】
このため、本願出願人は、ウェブアプリケーションの開発期間の大幅な短縮を目的として、開発対象のウェブアプリケーションのうち、ユーザインタフェースを実現するプログラムをＪＳＦを用いて自動生成すると共に、ウェブサービスを実現するプログラムをＢＰＥＬを用いて自動生成した場合の両者の連携を、コーディング作業を行うことなく実現する技術を既に提案している(特開２００９−０８７０９３号公報参照)。【０００５】
また、上記に関連して特開２００５−２２８１８４号公報には、端末からリクエスト情報を取得すると、アプリケーション実行装置の実行エンジンが、取得したリクエスト情報から画面変数値とイベントを抽出し、状態遷移定義に基づき抽出したイベントに応じた状態遷移を決定し、リクエスト情報から値を取得した画面変数を、画面変数アプリケーション変数対応定義に基づきアプリケーション変数へ対応付け、抽出したイベントに応じたロジックを実行し、ロジックの実行により値が決定したアプリケーション変数を、画面変数アプリケーション変数対応定義に基づき出力画面変数へ対応付け、画面定義に基づいて出力画面を生成する技術が開示されている。【０００６】
また、特開２００９−９３６２号公報には、言語の異なる複数のプログラムの各々で定義された変数又は複数のプログラム間で共通に定義された変数の、ページ遷移に伴う値の受渡しを管理するプログラム変数管理システムにおいて、前記プログラムのページ遷移を伴う手続き毎に、変数の遷移元情報と遷移先情報とをリンク管理テーブルに記録し、前記変数の定義情報を変数管理テーブルに記録し、前記ページ遷移前後のページ間で、前記変数の値の引渡し処理及び代入処理のうち少なくとも一方を行う技術が開示されている。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで近年、ソフトウェアの新たな開発手法として、開発対象のソフトウェアの要件を厳密に規定することなく開発を開始し、要件等の変更が生じた場合に素早く適応しながら開発を進めていくことに主眼をおいた適応的(adaptive)な開発手法(アジャイルソフトウェア開発(agile software development)という)が提案されている。上記の開発手法を適用したウェブアプリケーションの開発では、例えば開発途中のウェブアプリケーションにおける現状のユーザインタフェース等を顧客に提示しながら顧客と議論し、顧客の要望等に応じてユーザインタフェース等を変更し、変更後の新たなユーザインタフェース等を顧客に再提示することを繰り返しながら要件を決めていくことになる。【０００８】
一方、前述した特開２００９−０８７０９３号公報に記載の技術は、ＪＳＦの規格では、ユーザインタフェース画面内に配置した個々の情報入力／表示欄を、複数の変数について格納領域を各々設けた変数格納領域(なお、この変数格納領域はマネージド・ビーン(Managed Bean)と称するプログラムに組み込まれている)内の何れかの格納領域と関連付ける(バインドする)ことが可能とされ、プログラム実行時にはバインドされた情報入力／表示欄と格納領域との間で同期処理が行われる(詳しくは、情報入力欄に入力された情報は当該情報入力欄とバインドされた格納領域に格納され、格納領域に格納された情報は当該格納領域とバインドされた情報表示欄に表示される)ことを利用し、ＪＳＦのツールを用いてユーザインタフェースを実現するプログラムを自動生成し、ＢＰＥＬのツール等を用いてウェブサービスを実現するプログラムを自動生成すると共に、ＢＰＥＬの変数定義情報から入力変数及び出力変数に対応する格納領域を各々設けた変数格納領域(を含むマネージド・ビーン)を生成し、ユーザインタフェースを実現するプログラムとウェブサービスを実現するプログラムとの間の変数の受け渡しを変数格納領域(を含むマネージド・ビーン)経由で行わせることで、ユーザインタフェースを実現するプログラムとウェブサービスを実現するプログラムとの連携を実現している。【０００９】
このため、特開２００９−０８７０９３号公報に記載の技術のように、ウェブサービスを提供する部分をＢＰＥＬによって実現する構成のウェブアプリケーションの開発にアジャイルソフトウェア開発を適用した場合、ユーザインタフェース等が変更されることで、ユーザインタフェースを実現するプログラムとウェブサービスを実現するプログラムとの間で受け渡される変数が変更された場合、まずＢＰＥＬの変数定義情報を変更し、続いて変更後の変数定義情報から新たな変数格納領域(を含むマネージド・ビーン)を生成する等の作業を行う必要があるので、変更後の新たなユーザインタフェース等を顧客に再提示する迄に時間を要し、開発者の負担の増大や開発期間の長期化を招くという問題がある。【００１０】
上記問題を解決するために、ウェブサービスを実現するプログラムとして、ＲｕｂｙやＪａｖａ(登録商標)のプログラムと連携して動作することが可能なＪＲｕｂｙ等のスクリプト言語で記述したプログラムを適用することが考えられる。ＪＲｕｂｙやＲｕｂｙではプロウグラムの実行時に変数の型を決定するので、ユーザインタフェースを実現するプログラムとウェブサービスを実現するプログラムとの間で受け渡される変数が変更されたとしても変数格納領域(を含むマネージド・ビーン)を変更する必要はなく、アジャイルソフトウェア開発に好適である。但し、ＪＲｕｂｙやＲｕｂｙはスクリプト言語であり、プログラム実行時の動作の安定性はＢＰＥＬよりは低いので、ウェブサービスを実現するプログラムとしてはＢＰＥＬに準拠したプログラムを用いたい、というニーズは存在する。【００１１】
上記のニーズに対応するために、ウェブアプリケーションの開発の途中で顧客にユーザインタフェース等を提示する際には、ウェブサービスを実現するプログラムが実際にウェブサービスを提供する処理を行う必要はなく、ユーザインタフェース画面の遷移等をさせるための変数の受け渡し等の処理を行うことができればよいことに基づき、開発対象のソフトウェアの要件が確定し、ユーザインタフェースを実現するプログラムとウェブサービスを実現するプログラムとの間で受け渡す変数が確定する迄の期間は、ウェブサービスを実現するプログラムとしてＪＲｕｂｙ等のスクリプト言語で記述したプログラムを適用し、要件が確定し入出力の変数も確定した後に、ウェブサービスを実現するプログラムとして、確定した入出力の変数に基づきＢＰＥＬに準拠したプログラムを開発し、ウェブサービスを実現するプログラムを切り替えることが考えられる。【００１２】
しかしながら、上記態様では、ウェブサービスを実現するプログラムをスクリプト言語で記述したプログラムからＢＰＥＬに準拠したプログラムへ入れ替える際に、変数格納領域(を含むマネージド・ビーン)についても、スクリプト言語用の変数格納領域(を含むマネージド・ビーン)からＢＰＥＬ用の変数格納領域(を含むマネージド・ビーン)へ切り替える必要があり、変数格納領域(を含むマネージド・ビーン)の切り替えに伴ってユーザインタフェースを実現するプログラムを変更する(例えばユーザインタフェース画面内に配置した個々の情報入力／表示欄のバインド先を変更する)作業が必要になる、という新たな問題が生ずる。特に多数のユーザインタフェース画面から成るユーザインタフェースを提供するウェブアプリケーションでは上記作業が非常に繁雑なものとなり、開発者の負担の増大や開発期間の長期化に繋がることになる。【００１３】
なお、前述した特開２００５−２２８１８４号公報及び特開２００９−９３６２号公報には、複数のプログラム間での変数の受け渡しについては記載されているものの、変数の受け渡しを行う一対のプログラムのうちの一方を別のプログラムに切り替える際の作業負荷の軽減を実現する技術については何ら記載されていない。【００１４】
本発明は上記事実を考慮して成されたもので、ユーザインタフェース画面を介して入力される変数を所定のプログラムに引き渡しコンピュータによって処理を行わせるアプリケーション・プログラムの開発において、所定のプログラムを切り替える際の作業負荷の軽減を実現できるアプリケーション開発支援装置、アプリケーション開発支援プログラム及び記録媒体を得ることが目的である。
【課題を解決するための手段】
【００１５】
上記目的を達成するために請求項１記載の発明に係るアプリケーション開発支援装置は、プログラム実行時に、少なくともユーザインタフェース画面の情報入力欄に入力された第１入力変数の値が前記第１入力変数の名称と対応付けて格納される第１格納領域のみが変数格納領域として設けられている第１期間に、外部と第１プログラムとの間で受け渡す変数の型が、コンピュータによる前記第１プログラムの実行によって実現される第１処理の中で決定される前記第１プログラムに対し、前記第１格納領域に値が格納された前記第１入力変数を引き渡し、コンピュータによって前記第１処理を行わせる第１制御手段と、外部と第２プログラムとの間で受け渡す変数の型を変数定義情報によって予め定義しておく必要があり、コンピュータによって実行されることで第２処理が行われる前記第２プログラムに対して設定された前記変数定義情報に基づき、前記変数定義情報に定義されている変数のうち少なくとも外部から前記第２プログラムへ引き渡される第２入力変数毎に格納領域が設けられた第２格納領域を生成する生成手段と、前記生成手段によって前記第２格納領域が生成された後の第２期間に、前記第１格納領域に格納された第１入力変数の値を、前記第２格納領域のうち前記第１入力変数に対応する前記第２入力変数の前記格納領域に複写し、前記格納領域に値を複写した前記第２入力変数を前記第２プログラムへ引き渡し、引き渡した前記第２入力変数に応じた前記第２処理をコンピュータによって行わせる第２制御手段と、を含んで構成されている。【００１６】
請求項１記載の発明では、第１期間に、変数格納領域として第１格納領域のみが設けられ、この第１格納領域に対しては、プログラム実行時に、少なくともユーザインタフェース画面の情報入力欄に入力された第１入力変数の値が当該第１入力変数の名称と対応付けて格納される。そして、請求項１記載の発明に係る第１制御手段は、前記第１期間に、外部と第１プログラムとの間で受け渡す変数の型が、コンピュータによる第１プログラムの実行によって実現される第１処理の中で決定される第１プログラムに対し、第１格納領域に値が格納された第１入力変数を引き渡し、コンピュータによって第１処理を行わせる。【００１７】
このように、第１期間には、プログラム実行時に、ユーザインタフェース画面の情報入力欄に入力された第１入力変数の値が、第１入力変数の名称と対応付けて第１格納領域に一旦格納された後に第１プログラムに引き渡され、第１処理が行われる。第１プログラムは、外部と第１プログラムとの間で受け渡す変数の型が、コンピュータによる第１プログラムの実行によって実現される第１処理の中で決定される構成であるので、例えばユーザインタフェース画面が変更され、それに伴って第１入力変数の数や型が変更された場合にも、ユーザインタフェース画面の情報入力欄に入力された第１入力変数を第１格納領域経由で第１プログラムに引き渡す処理が行われる状態は、第１格納領域の構成の変更や第１制御手段による処理の変更を必要とすることなく維持される。【００１８】
従って、請求項１記載の発明における第１期間は、例えばユーザインタフェース画面が変更された場合にも、短時間で稼働可能な状態に復帰できるので、ユーザインタフェース画面を介して入力される変数を所定のプログラムに引き渡しコンピュータによって処理を行わせるアプリケーション・プログラムを、アジャイルソフトウェア開発等の適応的な開発手法で開発するにあたり、ユーザインタフェース等の変更を繰り返しながら要件を決めていく期間に適している。なお、第１プログラムとしては、例えば請求項７に記載したようにスクリプト言語で記述されたプログラムが好適であり、一例としてはＪＲｕｂｙのプログラムが好ましい。【００１９】
また、請求項１記載の発明に係る生成手段は、外部と第２プログラムとの間で受け渡す変数の型を変数定義情報によって予め定義しておく必要があり、コンピュータによって実行されることで第２処理が行われる第２プログラムに対して設定された変数定義情報に基づき、変数定義情報に定義されている変数のうち少なくとも外部から第２プログラムへ引き渡される第２入力変数毎に格納領域が設けられた第２格納領域を生成する。そして、請求項１記載の発明に係る第２制御手段は、生成手段によって第２格納領域が生成された後の第２期間に、第１格納領域に格納された第１入力変数の値を、第２格納領域のうち第１入力変数に対応する第２入力変数の格納領域に複写し、格納領域に値を複写した第２入力変数を第２プログラムへ引き渡し、引き渡した第２入力変数に応じた第２処理をコンピュータによって行わせる。【００２０】
これにより、第２期間には、第１格納領域に加え、生成手段によって生成された第２格納領域が変数格納領域として追加され、プログラム実行時に、ユーザインタフェース画面の情報入力欄に入力された第１入力変数の値は、第１入力変数の名称と対応付けて第１格納領域に一旦格納された後、第２制御手段により、第２格納領域のうち第１格納領域に格納された第１入力変数に対応する第２入力変数の格納領域に複写され、第２入力変数として第２プログラムへ引き渡されることで、引き渡した第２入力変数に応じた第２処理が行われることになる。なお、第２プログラムとしては、例えばＢＰＥＬに準拠したプログラムが好適である。また、第１入力変数に対応する第２入力変数は、例えば両者の名称を同一としておくことで名称に基づいて判断できるが、これに限らず、例えば第１入力変数と第２入力変数との対応関係を予め登録したテーブル等を参照する等によって判断することも可能であり、この場合、両者の名称は相違していてもよい。【００２１】
このように、請求項１記載の発明では、ユーザインタフェース画面を介して入力された変数が引き渡され、コンピュータによって処理を行わせるプログラムを第１プログラムから第２プログラムへ切り替える場合(第１期間から第２期間へ移行する場合)に、生成手段によって第２格納領域を生成する必要はあるものの、ユーザインタフェース画面の情報入力欄に入力された第１入力変数の値を当初格納する領域は、第１期間も第２期間も同じ(第１格納領域)であるので、上記のプログラムの切り替えにあたっても、ユーザインタフェース画面側の変数格納先の設定等は変更する必要が無くなる。従って、請求項１記載の発明によれば、ユーザインタフェース画面を介して入力される変数を所定のプログラムに引き渡しコンピュータによって処理を行わせるアプリケーション・プログラムの開発において、所定のプログラムを切り替える際の作業負荷の軽減を実現することができる。【００２２】
なお、請求項１記載の発明において、第１期間から第２期間へ移行した後は、外部と第２プログラムとの間で受け渡す変数の数や型等が変更される毎に、変数定義情報の再設定や第２格納領域の再生成が必要となるので、ユーザインタフェース画面を介して入力される変数を所定のプログラムに引き渡しコンピュータによって処理を行わせるアプリケーション・プログラムを、アジャイルソフトウェア開発等の適応的な開発手法で開発するにあたっては、要件が確定しユーザインタフェースや受け渡す変数も確定した段階で、第１期間から第２期間への移行を行うことが好ましい。【００２３】
請求項２記載の発明は、請求項１記載の発明において、第１制御手段は、第１期間に、第１プログラムに対し、第１格納領域に値が格納された第１入力変数を引き渡し、コンピュータによって第１処理を行わせ、第１処理の終了後、第１プログラムから引き渡された第１出力変数の値を第１出力変数の名称と対応付けて第１格納領域に格納し、第１格納領域に格納された第１出力変数の値は、ユーザインタフェース画面の情報表示欄に表示され、生成手段は、変数定義情報に基づき、外部から第２プログラムへ引き渡される第２入力変数毎及び第２プログラムから外部へ引き渡される第２出力変数毎に格納領域が設けられた第２格納領域を生成し、第２制御手段は、第２期間に、第１格納領域に格納された第１入力変数の値を、第２格納領域のうち第１入力変数に対応する第２入力変数の格納領域に複写し、格納領域に値を複写した第２入力変数を第２プログラムへ引き渡し、引き渡した第２入力変数に応じた第２処理をコンピュータによって行わせ、第２処理の終了後、第２プログラムから引き渡された第２出力変数の値を、第２格納領域のうち前記引き渡された第２出力変数に対応する格納領域に格納すると共に、第２出力変数に対応する第１出力変数の名称と対応付け第１出力変数として第１格納領域に格納する。【００２４】
請求項２記載の発明では、第１期間に、第１プログラムに対し、第１格納領域に値が格納された第１入力変数を引き渡し、コンピュータによって第１処理を行わせ、第１処理の終了後、第１プログラムから引き渡された第１出力変数の値を第１出力変数の名称と対応付けて第１格納領域に格納する処理が第１制御手段によって行われ、第１格納領域に格納された第１出力変数の値は、ユーザインタフェース画面の情報表示欄に表示される。前述のように、第１プログラムは、外部と第１プログラムとの間で受け渡す変数の型が、コンピュータによる第１プログラムの実行によって実現される第１処理の中で決定される構成であるので、第１期間には、例えばユーザインタフェース画面が変更され、それに伴って第１出力変数の数や型が変更された場合であっても、第１プログラムから引き渡された第１出力変数が第１格納領域経由でユーザインタフェース画面の情報表示欄に表示される処理が行われる状態は、第１格納領域の構成の変更や第１制御手段による処理の変更を必要とすることなく維持される。【００２５】
また請求項２記載の発明において、生成手段は、変数定義情報に基づき、外部から第２プログラムへ引き渡される第２入力変数毎及び第２プログラムから外部へ引き渡される第２出力変数毎に格納領域が設けられた第２格納領域を生成し、第２制御手段は、第２期間に、第１格納領域に格納された第１入力変数の値を、第２格納領域のうち第１入力変数に対応する第２入力変数の格納領域に複写し、格納領域に値を複写した第２入力変数を第２プログラムへ引き渡し、引き渡した第２入力変数に応じた第２処理をコンピュータによって行わせ、第２処理の終了後、第２プログラムから引き渡された第２出力変数の値を、第２格納領域のうち前記引き渡された第２出力変数に対応する格納領域に格納すると共に、第２出力変数に対応する第１出力変数の名称と対応付け第１出力変数として第１格納領域に格納する。【００２６】
このように、請求項２記載の発明では、ユーザインタフェース画面の情報入力欄に入力された第１入力変数の値を当初格納する領域、及び、第２プログラムから引き渡された第２出力変数の値を最終的に第１出力変数の値として格納する領域が、第１期間も第２期間も同じ(第１格納領域)であるので、ユーザインタフェース画面を介して入力された変数が引き渡されコンピュータによって処理を行わせるプログラムを、第１プログラムから第２プログラムへ切り替える(第１期間から第２期間へ移行する)にあたっても、ユーザインタフェース画面側の変数格納先や表示対象の変数の読出先の設定等を変更する必要は無い。従って、請求項２記載の発明によれば、ユーザインタフェース画面を介して入力される変数を所定のプログラムに引き渡しコンピュータによって処理を行わせ、所定のプログラムから引き渡された変数をユーザインタフェース画面に表示させるアプリケーション・プログラムの開発において、所定のプログラムを切り替える際の作業負荷の軽減を実現することができる。【００２７】
請求項３記載の発明は、請求項１又は請求項２記載の発明において、第１格納領域を含む第１ファイルには予め名称が付与され、ユーザインタフェース画面の設計時には、ユーザインタフェース画面の情報入力欄に入力される第１入力変数の名称及び第１ファイルの名称が情報入力欄に設定され、プログラム実行時に、少なくともユーザインタフェース画面の情報入力欄に入力された第１入力変数の値を第１入力変数の名称と対応付けて第１格納領域に格納する処理は、ユーザインタフェース画面を含むユーザインタフェースを実現するための第３プログラムを実行するコンピュータにより、情報入力欄に設定された第１入力変数の名称及び第１ファイルの名称に基づいて行われ、生成手段は、第２格納領域を生成した後に、第１格納領域と生成した第２格納領域とを含む第２ファイルに第１ファイルと同一の名称を付与し、第２ファイルを第１ファイルと置き換える。【００２８】
請求項３記載の発明では、第１格納領域を含む第１ファイル(例えば第１制御手段として機能するプログラムに第１格納領域が組み込まれたファイル)に予め名称が付与されており、ユーザインタフェース画面の設計時に、情報入力欄に入力される第１入力変数の名称及び第１ファイルの名称が前記情報入力欄に設定されることで、ユーザインタフェース画面を含むユーザインタフェースを実現するための第３プログラムを実行するコンピュータは、情報入力欄に設定された第１入力変数の名称及び第１ファイルの名称に基づいて、プログラム実行時に、少なくともユーザインタフェース画面の情報入力欄に入力された第１入力変数の値を第１入力変数の名称と対応付けて第１格納領域に格納する処理を行う。そして、請求項３記載の発明に係る生成手段は、上記構成において、第２格納領域を生成した後に、第１格納領域と生成した第２格納領域とを含む第２ファイルに第１ファイルと同一の名称を付与し、第２ファイルを第１ファイルと置き換える。【００２９】
これにより、コンピュータが第３プログラムを実行することで実現される処理では、第２ファイルが第１ファイルと同一の名称であることに基づき、置き換え後の第２ファイルに含まれる第１格納領域が置き換え前の第１ファイルに含まれていた第１格納領域と同一の領域と認識され、ユーザインタフェース画面の情報入力欄に入力された第１入力変数の値の格納先が、置き換え前の第１ファイルに含まれていた第１格納領域から、置き換え後の第２ファイルに含まれる第１格納領域へ切り替わることになる。従って、請求項３記載の発明によれば、ユーザインタフェースを実現するための第３プログラムによって実現される処理が、格納領域を含むファイルの名称に基づいて第１入力変数の格納先を認識する構成である場合にも、第１プログラムから第２プログラムへの切り替え(第１期間から第２期間への移行)にあたり、ユーザインタフェース画面側の設定(第３プログラム)を変更する必要が無くなる。【００３０】
なお、請求項３記載の発明において、例えば請求項４に記載したように、ユーザインタフェース画面の設計時には、ユーザインタフェース画面の情報表示欄に表示させる第１出力変数の名称及び第１ファイルの名称が情報表示欄に設定され、第１格納領域に格納された第１出力変数の値をユーザインタフェース画面の情報表示欄に表示させる処理も、第３プログラムを実行するコンピュータにより、情報表示欄に設定された第１出力変数の名称及び第１ファイルの名称に基づいて行われる構成であってもよい。【００３１】
この場合、請求項３記載の生成手段により、第２ファイルに第１ファイルと同一の名称を付与され、第２ファイルが第１ファイルと置き換えされることで、コンピュータが第３プログラムを実行することで実現される処理では、ユーザインタフェース画面の情報表示欄に表示する第１出力変数の値の読出先が、置き換え前の第１ファイルに含まれていた第１格納領域から、置き換え後の第２ファイルに含まれる第１格納領域へ切り替わることになる。従って、請求項４記載の発明によれば、ユーザインタフェースを実現するための第３プログラムによって実現される処理が、格納領域を含むファイルの名称に基づいて第１出力変数の読出先を認識する構成である場合にも、第１プログラムから第２プログラムへの切り替え(第１期間から第２期間への移行)にあたり、ユーザインタフェース画面側の設定(第３プログラム)を変更する必要が無くなる。【００３２】
また、請求項３又は請求項４記載の発明において、第３プログラムは、例えば請求項５に記載したように、ユーザインタフェース画面の構成要素として使用可能な、情報の入力及び表示の少なくとも一方が可能な情報入力／表示欄を含む複数種のシンボルをコンピュータによって表示画面に表示させると共に、開発者により、複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第１の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、ユーザインタフェースを実現するための第３プログラムをコンピュータによって生成させる第１のツールを用いてコンピュータによって生成することができる。なお、上記の第１のツールとしては、例えば請求項６に記載したようにＪＳＦの規格に準拠したツールを適用することができる。【００３３】
また、請求項１〜請求項７の何れかに記載の発明において、第１プログラムは、第１プログラムを実行するためのプラットフォームとして機能するプラットフォーム・プログラムを実行しているコンピュータ上で実行することができる。この場合、例えば請求項８に記載したように、コンピュータによる第１プログラムの実行によって実現される第１処理のうち、外部と第１プログラムとの間で受け渡す変数の型を決定する処理は、コンピュータによってプラットフォーム・プログラムが実行されることによって行われる。【００３４】
また、請求項１〜請求項８の何れかに記載の発明において、第２プログラムは、例えば請求項９に記載したように、所望の処理を規定するフローチャートが開発者によって作成されると、作成されたフローチャートが表す処理を実行するための第２プログラムをコンピュータによって生成させる第２のツールを用いてコンピュータによって生成することができる。なお、上記の第２のツールとしては、例えば請求項１０に記載したようにＢＰＥＬの規格に準拠したツールを適用することができる。【００３５】
請求項１１記載の発明に係るアプリケーション開発支援プログラムは、コンピュータを、プログラム実行時に、少なくともユーザインタフェース画面の情報入力欄に入力された第１入力変数の値が前記第１入力変数の名称と対応付けて格納される第１格納領域のみが変数格納領域として設けられている第１期間に、外部と第１プログラムとの間で受け渡す変数の型が、コンピュータによる前記第１プログラムの実行によって実現される第１処理の中で決定される前記第１プログラムに対し、前記第１格納領域に値が格納された前記第１入力変数を引き渡し、コンピュータによって前記第１処理を行わせる第１制御手段、外部と第２プログラムとの間で受け渡す変数の型を変数定義情報によって予め定義しておく必要があり、コンピュータによって実行されることで第２処理が行われる前記第２プログラムに対して設定された前記変数定義情報に基づき、前記変数定義情報に定義されている変数のうち少なくとも外部から前記第２プログラムへ引き渡される第２入力変数毎に格納領域が設けられた第２格納領域を生成する生成手段、及び、前記生成手段によって前記第２格納領域が生成された後の第２期間に、前記第１格納領域に格納された第１入力変数の値を、前記第２格納領域のうち前記第１入力変数に対応する前記第２入力変数の前記格納領域に複写し、前記格納領域に値を複写した前記第２入力変数を前記第２プログラムへ引き渡し、引き渡した前記第２入力変数に応じた前記第２処理をコンピュータによって行わせる第２制御手段として機能させる。【００３６】
請求項１１記載の発明に係るアプリケーション開発支援プログラムは、コンピュータを、第１制御手段、生成手段及び第２制御手段として機能させるためのプログラムであるので、コンピュータが請求項１１記載の発明に係るプログラムを実行することにより、コンピュータが請求項１に記載のアプリケーション開発支援装置として機能することになり、請求項１記載の発明と同様に、ユーザインタフェース画面を介して入力される変数を所定のプログラムに引き渡しコンピュータによって処理を行わせるアプリケーション・プログラムの開発において、所定のプログラムを切り替える際の作業負荷の軽減を実現することができる。【００３７】
請求項１２記載の発明に係る記録媒体は、コンピュータを、プログラム実行時に、少なくともユーザインタフェース画面の情報入力欄に入力された第１入力変数の値が前記第１入力変数の名称と対応付けて格納される第１格納領域のみが変数格納領域として設けられている第１期間に、外部と第１プログラムとの間で受け渡す変数の型が、コンピュータによる前記第１プログラムの実行によって実現される第１処理の中で決定される前記第１プログラムに対し、前記第１格納領域に値が格納された前記第１入力変数を引き渡し、コンピュータによって前記第１処理を行わせる第１制御手段、外部と第２プログラムとの間で受け渡す変数の型を変数定義情報によって予め定義しておく必要があり、コンピュータによって実行されることで第２処理が行われる前記第２プログラムに対して設定された前記変数定義情報に基づき、前記変数定義情報に定義されている変数のうち少なくとも外部から前記第２プログラムへ引き渡される第２入力変数毎に格納領域が設けられた第２格納領域を生成する生成手段、及び、前記生成手段によって前記第２格納領域が生成された後の第２期間に、前記第１格納領域に格納された第１入力変数の値を、前記第２格納領域のうち前記第１入力変数に対応する前記第２入力変数の前記格納領域に複写し、前記格納領域に値を複写した前記第２入力変数を前記第２プログラムへ引き渡し、引き渡した前記第２入力変数に応じた前記第２処理をコンピュータによって行わせる第２制御手段として機能させるためのアプリケーション開発支援プログラムが記録されている。【００３８】
請求項１２記載の発明に係る記録媒体は、請求項１１に係るアプリケーション開発支援プログラム、すなわちコンピュータを、第１制御手段、生成手段及び第２制御手段として機能させるためのプログラムが記録されているので、コンピュータが請求項１２記載の発明に係る記録媒体に記録されているプログラムを読み出して実行することで、コンピュータが請求項１に記載のアプリケーション開発支援装置として機能することになり、請求項１,１１記載の発明と同様に、ユーザインタフェース画面を介して入力される変数を所定のプログラムに引き渡しコンピュータによって処理を行わせるアプリケーション・プログラムの開発において、所定のプログラムを切り替える際の作業負荷の軽減を実現することができる。
【発明の効果】
【００３９】
以上説明したように本発明は、プログラム実行時に、ユーザインタフェース画面の情報入力欄に入力された第１入力変数の値が名称と対応付けて格納される第１格納領域のみが変数格納領域として設けられている第１期間に、外部と第１プログラムとの間で受け渡す変数の型が、第１プログラムの実行によって実現される第１処理の中で決定される第１プログラムに対し、第１格納領域に値が格納された第１入力変数を引き渡して第１処理を行わせ、外部と第２プログラムとの間で受け渡す変数の型を変数定義情報によって予め定義しておく必要があり、第２処理を実現する第２プログラムに対して設定された変数定義情報に基づき、定義されている変数のうち少なくとも外部から第２プログラムへ引き渡される第２入力変数毎に格納領域が設けられた第２格納領域を生成し、第２格納領域が生成された後の第２期間に、第１格納領域に格納された第１入力変数の値を、第２格納領域のうち前記第１入力変数に対応する第２入力変数の格納領域に複写し、値を複写した第２入力変数を第２プログラムへ引き渡し、引き渡した第２入力変数に応じた第２処理を行わせるので、ユーザインタフェース画面を介して入力される変数を所定のプログラムに引き渡しコンピュータによって処理を行わせるアプリケーション・プログラムの開発において、所定のプログラムを切り替える際の作業負荷の軽減を実現できる、という優れた効果を有する。
【図面の簡単な説明】
【００４０】
【図１】本実施形態におけるアプリケーション・プログラムの開発環境としての第１のコンピュータ・システムの概略構成を示すブロック図である。
【図２】ＵＩ構築ツールの作成画面の一例を示すイメージ図である。
【図３】試作段階(ＵＩ提示時)の処理の流れの一例を示す概略図である。
【図４Ａ】ウェブサービス作成ツールの作成画面の一例を示すイメージ図である。
【図４Ｂ】ウェブサービス作成ツールを用いて作成画面上で作成されたフローの一例を示すイメージ図である。
【図５】マネージド・ビーン生成処理の内容を示すフローチャートである。
【図６】試作用スクリプトを本稼働油のウェブサービス提供プログラムへ切り替えた後の処理の流れの一例を示す概略図である。
【図７】複写処理の内容を示すフローチャートである。
【図８】アプリケーション・プログラムの稼働環境としての第２のコンピュータ・システムの概略構成を示すブロック図である。
【発明を実施するための最良の形態】
【００４１】
以下、図面を参照して本発明の実施形態の一例を詳細に説明する。図１には本実施形態に係る第１のコンピュータ・システム１０が示されている。本実施形態に係る第１のコンピュータ・システム１０は、所定のウェブサイトにアクセスした利用者に対して所定のサービス(ウェブサービス)を提供するためのアプリケーション・プログラムを開発する際に使用されるコンピュータ・システムであり、サーバ・コンピュータ１２がイントラネット１４を介して複数台のクライアント端末１６と各々接続されて構成されている。【００４２】
個々のクライアント端末１６は、上記のアプリケーション・プログラムを開発する開発者によって操作される端末であり、例えばパーソナル・コンピュータ(ＰＣ：Personal Computer)等から成り、ＣＰＵ１６Ａ、ＲＡＭ等から成るメモリ１６Ｂ、ＨＤＤ(Hard Disk Drive)やフラッシュメモリ等から成る不揮発性の記憶部１６Ｃ、ネットワークインタフェース(Ｉ／Ｆ)部１６Ｄを備えている。個々のクライアント端末１６には、表示手段としてのディスプレイ１８、入力手段としてのキーボード２０及びマウス２２が各々接続されており、ネットワークＩ／Ｆ部１６Ｄを介してイントラネット１４に接続されている。【００４３】
また、上記のアプリケーション・プログラムは、所定のウェブサイトにおけるユーザインタフェース(ＵＩ)の部分を実現するための画面制御プログラム(請求項３に記載の第３プログラム)と、利用者に所定のウェブサービスを提供するためのウェブサービス提供プログラム(本発明に係る第２プログラムの一例)と、両者の間の変数の受け渡しを実現するインタフェース・プログラム(本実施形態では前記インタフェース・プログラムとして、ＪＳＦ(Java（登録商標） Server Faces)の規格に準拠したマネージド・ビーンを例に説明する)と、から構成される。【００４４】
クライアント端末１６の記憶部１６Ｃには、上記の画面制御プログラムを生成・開発するためのＵＩ構築ツールのプログラムと、上記のウェブサービス提供プログラムを生成・開発するためのウェブサービス作成ツールのプログラムが各々インストールされている。なお、ＵＩ構築ツールは請求項５に記載の第１のツールに、ウェブサービス作成ツールは請求項９に記載の第２のツールに各々対応している。ＵＩ構築ツールとしてはＪＳＦの規格に準拠したツールが好適であるが、他の規格に準拠したツールであってもよい。またウェブサービス作成ツールとしてはＢＰＥＬ(Business Process Execution Language)の規格に準拠したツールが好適であるが、他の規格に準拠したツールであってもよい。【００４５】
また、クライアント端末１６の記憶部１６Ｃには、ＵＩ構築ツールを用いて生成された画面制御プログラム、当該画面制御プログラムを実行するためのプラットフォームとして機能する第１プラットフォーム・プログラム、本発明に係る第１プログラムの一例である試作用スクリプト、マネージド・ビーン生成プログラム、マネージド・ビーン(プログラム)、試作用スクリプトやマネージド・ビーンに組み込まれたプログラムを実行するためのプラットフォームとして機能する第２プラットフォーム・プログラムも各々インストールされている。クライアント端末１６は請求項１１,１２に記載のコンピュータに対応しており、マネージド・ビーン生成プログラムは、請求項１１,１２に記載のアプリケーション開発支援プログラムのうちコンピュータを生成手段として機能させるプログラムに対応している。【００４６】
一方、サーバ・コンピュータ１２は、ＣＰＵ１２Ａ、ＲＡＭ等から成るメモリ１２Ｂ、不揮発性の記憶部１２Ｃ、ネットワークＩ／Ｆ部１２Ｄを備えており、ネットワークＩ／Ｆ部１２Ｄを介してイントラネット１４に接続されている。前述のウェブサービス作成ツールを用いたウェブサービス提供プログラムの開発では、個々のウェブサービス(例えば後述する「書籍検索」等)を単位としてプログラムが開発されるが、開発されたウェブサービス提供プログラムは、他のウェブサイトにおける同一ウェブサービスの提供にも利用可能である。このため、サーバ・コンピュータ１２の記憶部１２Ｃには、開発されてクライアント端末１６からアップロードされたウェブサービス提供プログラムを登録するためのウェブサービス・ライブラリが記憶されており、このウェブサービス・ライブラリに登録されたウェブサービス提供プログラムは、互いに異なるクライアント端末１６を操作する複数の開発者が各々使用可能とされている。【００４７】
次に図８を参照し、第１のコンピュータ・システム１０によって開発されたアプリケーション・プログラムの稼働環境としての第２のコンピュータ・システム３０の構成について説明する。第２のコンピュータ・システム３０は特定ウェブサイトを運営するためのウェブサイト運営システム３２を備えている。ウェブサイト運営システム３２は、アプリケーション・サーバ３４、ウェブサービス提供サーバ３６及びＤＢ（データベース）サーバ３８を備え、ウェブサービス提供サーバ３６及びＤＢサーバ３８が通信回線を介してアプリケーション・サーバ３４に各々接続されて構成されている。【００４８】
アプリケーション・サーバ３４は、ＣＰＵ３４Ａ、ＲＡＭ等から成るメモリ３４Ｂ、不揮発性の記憶部３４Ｃ、ネットワークＩ／Ｆ部３４Ｄを備えている。なお、記憶部３４Ｃに記憶されるプログラムについては後述する。アプリケーション・サーバ３４のネットワークＩ／Ｆ部３４Ｄはイントラネット４０に接続されており(イントラネット４０に代えてインターネットに接続されていてもよい)、イントラネット４０には、ＣＰＵ４２Ａ、ＲＡＭ等から成るメモリ４２Ｂ、不揮発性の記憶部４２Ｃ、ネットワークＩ／Ｆ部４２Ｄを備え、記憶部４２Ｃにブラウザ（ウェブ閲覧ソフト）のプログラムがインストールされていると共に、表示手段としてのディスプレイ４４、入力手段としてのキーボード４６及びマウス４８が各々接続されたクライアント端末４２が複数台接続されている。また、ウェブサービス提供サーバ３６はＣＰＵ３６Ａ、ＲＡＭ等から成るメモリ３６Ｂ、不揮発性の記憶部３６Ｃ、ネットワークＩ／Ｆ部３６Ｄを備えている。なお、記憶部３６Ｃに記憶されるプログラムについても後述する。【００４９】
次に本実施形態の作用を説明する。本実施形態で開発対象としているアプリケーション・プログラムは、ユーザインタフェースを実現するための画面制御プログラムと、ウェブサービスを提供するためのウェブサービス提供プログラムを含んで構成される。この種の構成のアプリケーション・プログラムの開発は一般に以下のような手順を経て行われることが多い。【００５０】
すなわち、まず開発者は、開発対象のアプリケーション・プログラムの要件(例えば画面制御プログラムとウェブサービス提供プログラムとの間で受け渡す変数等)を規定し、次に規定した要件に従い、ウェブサービス提供プログラムの入力変数及び出力変数の名称や型等を記述した変数定義情報を設定する。次に、開発者は、ウェブサービス作成ツールを用い、ウェブサービス提供プログラムによって実現される処理を規定するフローチャートを作成した後に、作成したフローチャート及び設定した変数定義情報に基づき、ウェブサービス作成ツールによってウェブサービス提供プログラムを自動生成させる。また開発者は、設定した変数定義情報に基づき、所定のツールにより、画面制御プログラムとウェブサービス提供プログラムとの間で受け渡す変数の格納領域及び両プログラムの間での変数の受け渡しを行うプログラムが組み込まれたマネージド・ビーン自動生成させる。更に開発者は、ＵＩ構築ツールを用い、ユーザインタフェース画面を作成したり、ユーザインタフェース画面の中の情報入力欄や情報表示欄をマネージド・ビーンに組み込まれている対応する変数の格納領域と関連付ける(バインドさせる)等の操作を行ってユーザインタフェースを構築した後に、ＵＩ構築ツールによって画面制御プログラムを自動生成させる。これにより、画面制御プログラム、ウェブサービス提供プログラム及びマネージド・ビーンを含むアプリケーション・プログラムが開発される。【００５１】
これに対し、上記のようなアプリケーション・プログラムの開発に、開発対象のアプリケーション・プログラムの要件を厳密に規定することなく開発を開始し、要件等の変更が生じた場合に素早く適応しながら開発を進めていく適応的な開発手法(アジャイルソフトウェア開発)を適用した場合、特に画面制御プログラムによって実現されるユーザインタフェースについては、現状のユーザインタフェースを顧客に提示しながら顧客と議論し、顧客の要望等に応じてユーザインタフェース等を変更し、変更後の新たなユーザインタフェース等を顧客に再提示することを繰り返しながら画面構成を含む要件を決めていくことになるので、画面制御プログラムによって実現されるユーザインタフェースが確定する迄の間は、画面制御プログラムとウェブサービス提供プログラムとの間で受け渡す変数等が変更される可能性がある。そして、前記変数が変更された場合、ウェブサービス提供プログラムの変更に加え、変数定義情報及びマネージド・ビーンの変更も必要となるので、前記変数が変更される頻度によっては開発者に多大な負担が掛かると共に、変更後の新たなユーザインタフェース等を顧客に再提示する迄の期間も長期化するという問題がある。【００５２】
このため本実施形態では、適応的な開発手法を適用してアプリケーション・プログラムを開発するにあたり、アプリケーション・プログラムの開発期間を、開発対象のアプリケーション・プログラムの要件が確定し、画面制御プログラムとウェブサービス提供プログラムとの間で受け渡す変数が確定する迄の第１期間(第１フェーズ)と、開発対象のアプリケーション・プログラムの要件が確定し前記変数が確定した以降の第２期間(第２フェーズ)と、に分けており、第１フェーズでは、ウェブサービス提供プログラムに代えて、スクリプト言語(例えばＪＲｕｂｙ等)によって記述した簡易的な処理を行うプログラム(試作用スクリプト)を用いると共に、マネージド・ビーンとしても試作用スクリプトのためのマネージド・ビーン(画面制御プログラムと試作用スクリプトの間の変数の受け渡しを実現するマネージド・ビーン)を用い、第１フェーズから第２フェーズへ移行する際に、試作用スクリプトからウェブサービス提供プログラムへ切り替えると共に、マネージド・ビーンの切り替えも行うようにしている。以下、本実施形態におけるアプリケーション・プログラムの開発について、順を追って説明する。【００５３】
すなわち、上記の第１フェーズにおいて、開発者は、ＵＩ構築ツールを用いてクライアント端末１６上で画面制御プログラムの開発を行う。画面制御プログラムの開発において、開発者は、まずクライアント端末１６上でＵＩ構築ツールのプログラムを起動する。これにより、クライアント端末１６のディスプレイ１８には、例として図２に示すような作成画面が表示される。ＵＩ構築ツールは、ＵＩを構築するための操作を開発者に行わせ、開発者による操作が完了すると、構築されたＵＩを実現する画面制御プログラムを生成する機能を備えたツールであり、図２に示す作成画面には、開発者がＵＩ画面（ウェブページ）を作成するためのＵＩ画面作成領域６０と、ＵＩ画面の構成要素として使用可能な情報入力／表示欄やボタンを含む各種のコンポーネントが表示されたパレット６２と、ＵＩ画面に配置したコンポーネントに対して各種の属性情報(プロパティ)を設定するためのプロパティ設定領域６４が各々設けられている。また、開発者が所定の操作を行った場合には、ＵＩ画面作成領域６０で作成された複数のＵＩ画面の間の遷移を定義するための画面遷移定義領域も表示される(図２では図示を省略している)。【００５４】
クライアント端末１６のディスプレイ１８に上記のような作成画面が表示されると、開発者は、構築対象のＵＩを規定するための操作を行うことで、ウェブサービスを提供する所定のウェブサイトにおけるＵＩの構築(画面制御プログラムの開発)を行う。すなわち開発者は、マウス２２やキーボード２０を介し、パレット６２内に表示されている各種コンポーネントの中から所望のコンポーネントを選択してＵＩ画面作成領域６０内の所望の位置に配置し、必要に応じて、ＵＩ画面内に表示すべきテキスト情報を入力したり、属性情報を設定する操作(第１の操作)を繰り返すことで、所定のウェブサイトを構成する複数のＵＩ画面(ウェブページ)を順に作成(設計)する。【００５５】
例えば「書籍名」及び「著者」を入力項目とし、この入力項目の値を検索条件として書籍の検索を行った結果のうち、「出版社」及び「発行日」を出力項目として表示する書籍検索画面を作成(設計)する場合には、開発者により、パレット６２内に表示されている各種コンポーネントの中から情報入力用のコンポーネントや情報表示用のコンポーネント、検索の実行を指示するためのコンポーネントを選択し、選択したコンポーネントをＵＩ画面作成領域６０内の所望の位置に各々配置すると共に、配置したコンポーネントの属性情報を設定する操作が行われる。これにより、図２のＵＩ画面作成領域６０内に示すように、情報入力欄５０、検索指示ボタン５２及び情報表示欄５４が各々配置された書籍検索画面が作成(設計)される。【００５６】
また、ＵＩ画面に配置した個々の情報入力欄５０に対しては、属性情報として、個々の情報入力欄５０を、マネージド・ビーンに組み込まれている変数の格納領域のうち個々の情報入力欄５０を介して入力される変数の格納領域と関連付ける(ＵＩバインドともいう)情報もプロパティ設定領域６４に設定され、ＵＩ画面に配置した個々の情報表示欄５４に対しては、属性情報として、個々の情報表示欄５４を、マネージド・ビーンに組み込まれている変数の格納領域のうち個々の情報表示欄５４に表示させる変数の格納領域と関連付ける(ＵＩバインド)情報もプロパティ設定領域６４に設定される。【００５７】
ここで、例えばマネージド・ビーンを経由して画面制御プログラムと変数を受け渡すプログラムがＢＰＥＬの規格に準拠したウェブサービス提供プログラムである場合、マネージド・ビーンには、ウェブサービス提供プログラムの個々の入力変数及び個々の出力変数を単位として変数の格納領域を設ける必要がある。これに対し、マネージド・ビーンを経由して画面制御プログラムと変数を受け渡すプログラムが、例えばＪＲｕｂｙ等のスクリプト言語によって記述した試作用スクリプトである場合、試作用スクリプトへの変数の引き渡しは、任意の変数を任意の数だけＫＥＹ−ＶＡＬＵＥ形式(個々の変数毎に名称(ＫＥＹ)と値(ＶＡＬＵＥ)を登録する形式)で一括して格納した単一の領域の情報をそのまま引き渡すことで実現できる。【００５８】
このため本実施形態では、第１フェーズで用いる試作用スクリプトのためのマネージド・ビーンとして、例として図３に示すように、画面制御プログラムから受け渡された全ての変数をＫＥＹ−ＶＡＬＵＥ形式で一括して格納するための一括格納領域(図３に示す一括格納領域map1)と、画面制御プログラムへ受け渡す全ての変数をＫＥＹ−ＶＡＬＵＥ形式で一括して格納するための一括格納領域(図３に示す一括格納領域map2)が組み込まれると共に、ＵＩ画面と試作用スクリプトとの間の変数の受け渡しを行う変数受渡プログラムが組み込まれた汎用的なマネージド・ビーン(図３に示すマネージド・ビーン"foo")が予め用意されている。なお、上記の一括格納領域は本発明に係る第１格納領域に対応しており、試作用スクリプトのためのマネージド・ビーンは請求項３に記載の第１ファイルに対応している。【００５９】
このため、本実施形態では、ＵＩ画面に配置した個々の情報入力欄５０に対しては、従来のように変数単位の格納領域(個別格納領域)と関連付けることに代えて、画面制御プログラムから受け渡された変数の一括格納領域(例えば図３に示す一括格納領域map1)と関連付けると共に、個々の情報入力欄５０を介して入力される変数の名称を指定する操作が行われる。例えば図３では、ＵＩ画面の一例である書籍検索画面内の個々の情報入力欄５０に設定される属性情報の一例を個々の情報入力欄５０に明示しており、例えば「書籍名」の情報入力欄５０に明示している属性情報"#(foo.map1.name)"のうち、"#(foo.map1.…)"の部分は前記情報入力欄５０をマネージド・ビーン"foo"の一括格納領域map1と関連付けることを表し、"#(….name)"の部分は前記情報入力欄５０を介して入力される変数の名称が"name"であることを表している。【００６０】
また、本実施形態では、ＵＩ画面に配置した個々の情報表示欄５４に対しても、従来のように変数単位の個別格納領域と関連付けることに代えて、画面制御プログラムへ受け渡す変数の一括格納領域(例えば図３に示す一括格納領域map2)と関連付けると共に、個々の情報表示欄５４に表示する変数の名称を指定する操作が行われる。例えば図３では、ＵＩ画面の一例である書籍検索画面内の個々の情報表示欄５４に設定される属性情報の一例も個々の情報表示欄５４に明示しており、例えば「出版社」の情報表示欄５４に明示している属性情報"#(foo.map2.publish)"のうち、"#(foo.map2.…)"の部分は前記情報表示欄５４をマネージド・ビーン"foo"の一括格納領域map2と関連付けることを表し、"#(….publish)"の部分は前記情報表示欄５４に表示する変数の名称が"publish"であることを表している。【００６１】
また、ウェブサイトを構成する全てのＵＩ画面(ウェブページ)を作成すると、開発者は、クライアント端末１６のディスプレイ１８に画面遷移定義領域を表示させ、作成した各ＵＩ画面の遷移を表示された画面遷移定義領域内で規定する操作を行う。そして、上記のような操作を経てＵＩを規定する操作が完了すると、開発者はＵＩ構築ツールに対し、前記ＵＩを実現するプログラムの生成を指示する。これによりＵＩ構築ツールは、開発者によって構築されたＵＩを実現する(クライアント端末４２(図８参照)からの要求に応じて、クライアント端末４２のディスプレイ４４に各ＵＩ画面を順に表示させる)画面制御プログラムを生成する。この画面制御プログラムは、個々のＵＩ画面を規定するデータと、利用者により個々のＵＩ画面を介して各種の操作が行われた場合の処理を規定するプログラムを含んで構成される。【００６２】
また開発者は、第１フェーズで試作用スクリプトの開発も行う。試作用スクリプトは、画面制御プログラムによって実現される現状のＵＩを顧客へ提示する際に、ウェブサービス提供プログラムが存在しない状態で、ウェブサービス提供プログラムが存在している場合と同様にＵＩ画面の表示を変化させたりＵＩ画面を遷移させるための擬似的な処理を行うプログラムであり、例えば図３に示す例において、試作用スクリプトは、マネージド・ビーン"foo"から一括格納領域map1の情報を受け取ると共に、ＫＥＹ−ＶＡＬＵＥ形式で適当な値を設定した情報を一括格納領域map2の情報としてマネージド・ビーン"foo"へ受け渡す処理を行う。試作用スクリプトの開発は、例えば上記の擬似的な処理を実現するプログラムをＪＲｕｂｙ等のスクリプト言語で記述・作成し、作成したプログラムをクライアント端末１６上で起動したテキストエディタ等を介して順に入力していくことによって成される。試作用スクリプトによって実現すべき処理はごく簡単な処理であり、試作用スクリプトの開発は開発者の負担となることなく短時間で完了する。【００６３】
本実施形態では、第１のコンピュータ・システム１０を構成する複数台のクライアント端末１６のうちの少なくとも一部がノート型等の携帯が容易なＰＣで構成されており、上述した作業を経て画面制御プログラム、試作用スクリプト及び試作用スクリプトのためのマネージド・ビーンが全て揃うと、開発者は、これらを携帯が容易なＰＣから成るクライアント端末１６の記憶部１６Ｃに記憶させ(図１に示す第１／第２プラットフォーム・プログラムも記憶させる)、顧客のところへ出向いて現状のユーザインタフェース等を顧客に提示しながら要件等について顧客と議論を行う際に、前記クライアント端末１６をイントラネット１４から切り離して持ち出す。そして開発者は、顧客がクライアント端末１６のディスプレイ１８を注視している状態で画面制御プログラムを起動し、ディスプレイ１８に表示されたＵＩ画面内の情報入力欄に情報を入力したり、ボタンを選択する等の操作を行う。なお、これらの操作は顧客によって行われる場合もある。【００６４】
例えばＵＩ画面内の情報入力欄５０に情報を入力し、所定のウェブサービスを提供する処理の実行を指示するボタンを選択する操作が行われた場合、図３にも示すように、画面制御プログラムは、情報が入力された情報入力欄５０に設定されている属性情報に従い、当該属性情報で名称が指定されているマネージド・ビーン(試作用スクリプトのためのマネージド・ビーン)のうち、前記属性情報で名称が指定されている一括格納領域(画面制御プログラムから受け渡される変数の一括格納領域)に、入力された情報(の変数名及び値)をＫＥＹ−ＶＡＬＵＥ形式で格納し、マネージド・ビーンの変数受渡プログラムを呼び出す処理をクライアント端末１６によって行わせる。例えば図３の例では、「書籍名」の情報入力欄５０に名称が"name"の変数の値として"AA"が、「著者」の情報入力欄５０に名称が"writer"の変数の値として"aa"が各々入力され、これらの変数の値がマネージド・ビーン"foo"の一括格納領域map1にＫＥＹ−ＶＡＬＵＥ形式で格納された状態を示している。なお、このとき一括格納領域に格納される変数は本発明に係る第１入力変数に対応している。【００６５】
マネージド・ビーンの変数受渡プログラムは、画面制御プログラムから呼び出されると試作用スクリプトを呼び出し、マネージド・ビーンに組み込まれている一括格納領域のうち画面制御プログラムから受け渡される変数の一括格納領域(図３の例では一括格納領域map1)に格納されている情報を試作用スクリプトへ全て引き渡す処理をクライアント端末１６によって行わせる。【００６６】
また試作用スクリプトでは、変数受渡プログラムから呼び出され、一括格納領域に格納されている全ての情報が引き渡されると、まず試作用スクリプトを実行するためのプラットフォームとして機能する第２プラットフォーム・プログラムがクライアント端末１６によって実行されることで、変数受渡プログラムから引き渡された情報にＫＥＹ−ＶＡＬＵＥ形式で設定されている個々の変数の型を決定する処理が行われる。続いて試作用スクリプトがクライアント端末１６によって実行されることで、前述の擬似的な処理(本発明に係る第１処理に対応する処理)が、決定された個々の変数の型に応じて行われる。この擬似的な処理の中には、マネージド・ビーンに組み込まれている一括格納領域のうち、画面制御プログラムへ受け渡す変数の一括格納領域(図３の例では一括格納領域map1)に格納すべき情報 (予め設定された変数についてＫＥＹ−ＶＡＬＵＥ形式で名称及び値を設定した情報)を生成し、マネージド・ビーンの変数受渡プログラムを呼び出し、生成した情報を変数受渡プログラムに引き渡す処理も含まれる。【００６７】
マネージド・ビーンの変数受渡プログラムは、試作用スクリプトから呼び出されて情報が引き渡されると、引き渡された情報を、マネージド・ビーンに組み込まれている一括格納領域のうち画面制御プログラムへ受け渡す変数の一括格納領域(図３の例では一括格納領域map2)に格納した後に、画面制御プログラムを呼び出す処理をクライアント端末１６によって行わせる。例えば図３の例では、マネージド・ビーン"foo"の一括格納領域map2に、変数の名称"publish"とその値"BB"及び変数の名称"date"とその値"bb"がＫＥＹ−ＶＡＬＵＥ形式で各々格納された状態を示している。なお、このとき一括格納領域に格納される変数は本発明における第１出力変数に対応している。【００６８】
そして画面制御プログラムは、マネージド・ビーンの変数受渡プログラムから呼び出されると、ＵＩ画面内の情報表示欄５４に設定されている属性情報に従い、当該属性情報で指定されている試作用スクリプトのためのマネージド・ビーンのうち、前記属性情報で指定されている一括格納領域(画面制御プログラムへ受け渡す変数の一括格納領域)より、前記属性情報で指定されている名称の変数の値を読み出し、読み出した変数の値を対応する情報表示欄５４内に表示させる処理をクライアント端末１６によって行わせる。例えば図３の例では、「出版社」の情報表示欄５４に名称が"publish"の変数の値として"BB"が、「発行日」の情報表示欄５４に名称が"date"の変数の値として"bb"が各々表示される。【００６９】
なお、試作用スクリプトのためのマネージド・ビーンに組み込まれている変数受渡プログラムによって実現される上述した処理は、本発明に係る第１制御手段(詳しくは請求項２に記載の第１制御手段)に相当する処理であり、試作用スクリプトのためのマネージド・ビーンに組み込まれている変数受渡プログラムは、本発明に係るアプリケーション開発支援プログラムの一部を構成している。【００７０】
クライアント端末１６のディスプレイ１８に表示されたＵＩ画面に対し、開発者(又は顧客)によってＵＩ画面の表示の変化やＵＩ画面の遷移を伴う操作が行われる毎に、画面制御プログラム、マネージド・ビーンの変数受渡プログラム及び試作用スクリプトが協働して上述したような処理が行われ、擬似的なＵＩ画面の表示の変化やＵＩ画面の遷移が生ずることで、クライアント端末１６のディスプレイ１８を注視している顧客は、現在の画面制御プログラムによって実現される現状のユーザインタフェースを把握することができ、その適否等について開発者と議論したり、現状のユーザインタフェースに対する改良点等の要望を開発者へ伝えたりすることが可能となる。【００７１】
開発者は、顧客との議論を経て、或いは顧客から改良点等の要望が伝えられることで、現在の画面制御プログラムによって実現される現状のユーザインタフェースの変更が必要となった場合、画面制御プログラムによって実現されるユーザインタフェースが顧客が所望している新たなユーザインタフェースへ変化するように、ＵＩ構築ツールを用いて画面制御プログラムを修正する。なお、ユーザインタフェースの変更内容によっては画面制御プログラムと試作用スクリプトの間で受け渡す変数の内容や数が変化し、試作用スクリプトも修正する必要が生ずるが、その場合もマネージド・ビーンに関しては変数受渡プログラムによって実現される処理も一括格納領域も変更の必要は無い。このため、ユーザインタフェースの変更の程度にも依存するが、画面制御プログラム(及び試作用スクリプト)の修正をその場で行うことで、新たなユーザインタフェースをその場で顧客へ提示することも可能となる。【００７２】
上述した各工程を経て開発対象のアプリケーション・プログラムの要件が確定し、画面制御プログラムと試作用スクリプト(本来はウェブサービス提供プログラム)の間で受け渡す変数も確定すると、開発者は、確定した変数に基づき、続いて開発するウェブサービス提供プログラムの入力変数及び出力変数の名称や型等を記述した変数定義情報を設定・生成する。この変数定義情報は、例えばＢＰＥＬの規格ではＷＳＤＬ(Web Service Description Language)と称されている。また、本実施形態では、ウェブサービス提供プログラムの入力変数及び出力変数に対し、「ＵＩ画面の情報入力欄や情報表示欄に属性情報として設定した対応する変数と同一の名称を用いる」という開発ルールが存在しており、開発者は上記の開発ルールに従ってウェブサービス提供プログラムの個々の入力変数及び個々の出力変数の名称を決定し、決定した名称を変数定義情報に設定する。【００７３】
変数定義情報の設定・生成が完了すると、開発者は、ウェブサービス作成ツールを用いてウェブサービス提供プログラムの開発を行う。すなわち、開発者がクライアント端末１６上でウェブサービス作成ツールのプログラムを起動すると、クライアント端末１６のディスプレイ１８には、例として図４Ａに示すような作成画面が表示される。ウェブサービス作成ツールは、提供対象のウェブサービスを実現する処理を規定するフローチャートが開発者によって作成されると、作成されたフローチャートが表す処理を実行するためのウェブサービス提供プログラムを生成する処理をコンピュータによって行わせる機能を備えたツールであり、図４Ａに示す作成画面には、開発者がフローチャートを作成するための作業領域と、フローチャートの作成に利用可能で互いに異なる処理を表す複数種の部品(シンボル)７２が表示されたパレット７０が設けられている。【００７４】
上記の作成画面が表示されると、開発者は、マウス２２やキーボード２０を介し、パレット７０内に表示されている複数の部品７２の中から所望の部品７２を選択して作業領域７４に配置し、必要に応じて、配置した部品７２が表す処理の内容を規定する情報を入力すると共に、配置した部品７２と作業領域７４に既に配置した部品７２との接続関係（各部品７２が表す処理の実行順序）を規定する操作を繰り返すことで、例として図４Ｂに示すように、提供対象のウェブサービスを実現する処理を規定するフローチャートを作成する。フローチャートの作成が完了すると、開発者は、作成したフローチャートに対応するプログラムの生成を指示する操作を行う。【００７５】
パレット内に表示されている個々の部品には、個々の部品が表す処理を実現するためのプログラムが付加されており、ウェブサービス作成ツールは、プログラムの生成が指示されると、作成されたフローチャートを構成する個々の部品に付加されているプログラムを、開発者によって入力された処理内容を規定する情報及び変数定義情報に記述された個々の入力／出力変数の型等に基づいて修正し、作成されたフローチャートにおける個々の部品の接続関係に応じて並べ替える等の処理を行うことで、作成されたフローチャートが表す処理を実行するためのプログラム(ウェブサービス提供プログラム)を生成する処理をコンピュータによって行わせる。これにより、所望のウェブサービスを提供するウェブサービス提供プログラムが開発される。【００７６】
続いて開発者は、ウェブサービス提供プログラムのためのマネージド・ビーン(画面制御プログラムとウェブサービス提供プログラムの間の変数の受け渡しを実現する新たなマネージド・ビーン)を得るために、クライアント端末１６上でマネージド・ビーン生成プログラムを起動する。これにより、図５に示すマネージド・ビーン生成処理がクライアント端末１６によって行われる。【００７７】
マネージド・ビーン生成処理では、まずステップ１００において、ウェブサービス提供プログラムの入力／出力変数を記述した変数定義情報(例えばＢＰＥＬの規格ではＷＳＤＬ)を参照し、変数定義情報に記述されている入力変数及び出力変数を全て抽出する。次のステップ１０２では、新たに生成するマネージド・ビーンに組み込むコンポーネントの１つとして、ステップ１００で抽出した個々の変数毎に変数の格納領域(個別格納領域)を生成する。例えばウェブサービス提供プログラムの入力変数が変数"name"及び変数"writer"であり、出力変数が変数"publish"及び変数"date"である場合、例として図６に示すように、各変数を格納するための４個の個別格納領域５６が生成されることになる。なお、上記処理で生成される個別格納領域は本発明に係る第２格納領域に対応している
次のステップ１０４では、新たに生成するマネージド・ビーンに組み込むコンポーネントの１つとして、ステップ１０２で生成した個別格納領域とウェブサービス提供プログラムとの間で変数を受け渡す処理をコンピュータによって行わせるための変数受渡プログラムを生成する。例えばウェブサービス提供プログラムの入力変数が変数"name"及び変数"writer"である場合、上記のステップ１０４の処理により、変数受渡プログラムとして、ウェブサービス提供プログラムを呼び出し、変数"name"の個別格納領域に格納された値(データ)及び変数"writer"の個別格納領域に格納された値(データ)を読み出し、読み出したデータを呼び出したウェブサービス提供プログラムへ引き渡す処理をコンピュータによって行わせるためのプログラムが生成される。なお、マネージド・ビーンがＪａｖａプラットフォーム上で動作し、ウェブサービス提供プログラムがＢＰＥＬの規格に準拠している(ＢＰＥＬのプラットフォーム)プログラムの場合、上記のプログラムは、個別格納領域から読み出したｊａｖａのデータをＸＭＬ形式のデータへ変換する処理もコンピュータによって行わせるように構成する必要があり、図６では上記のプログラムを「Ｊａｖａ→ＸＭＬ変換部」と表記して示している。【００７８】
また、例えばウェブサービス提供プログラムの出力変数が変数"publish"及び変数"date"である場合、上記のステップ１０４の処理により、変数受渡プログラムとして、ウェブサービス提供プログラムから呼び出されると共に、ウェブサービス提供プログラムから変数"publish"の値(データ)及び変数"date"の値(データ)が引き渡されると、引き渡された変数"publish"の値(データ)を変数"publish"の個別格納領域に格納すると共に、引き渡された変数"date"の値(データ)を変数"date"の個別格納領域に格納する処理をコンピュータによって行わせるためのプログラムも生成される。なお、マネージド・ビーンがＪａｖａプラットフォーム上で動作し、ウェブサービス提供プログラムがＢＰＥＬの規格に準拠している(ＢＰＥＬのプラットフォーム)プログラムの場合、上記のプログラムは、ウェブサービス提供プログラムから引き渡されたＸＭＬ形式のデータをｊａｖａのデータへ変換する処理もコンピュータによって行わせるように構成する必要があり、図６では上記のプログラムを「ＸＭＬ→Ｊａｖａ変換部」と表記して示している。【００７９】
次のステップ１０６では、新たに生成するマネージド・ビーンに組み込むコンポーネントの１つとして、試作用スクリプトのためのマネージド・ビーンに組み込まれている一括格納領域(画面制御プログラムから受け渡される変数の一括格納領域及び画面制御プログラムへ受け渡す変数の一括格納領域)を前記マネージド・ビーンから抽出する。またステップ１０８では、新たに生成するマネージド・ビーンに組み込むコンポーネントの１つとして、ステップ１０６で抽出した一括格納領域と先のステップ１０２で生成した個別格納領域の間で変数を複写する変数複写プログラムを生成する。【００８０】
例えばウェブサービス提供プログラムの入力変数が変数"name"及び変数"writer"であり、出力変数が変数"publish"及び変数"date"である場合、上記のステップ１０８の処理により、変数複写プログラムとして、画面制御プログラムから受け渡される変数の一括格納領域に変数"name"及び変数"writer"として新たな値が格納されると、格納された変数"name"の新たな値を変数"name"の個別格納領域に、格納された変数"writer"の新たな値を変数"writer"の個別格納領域に各々複写し、変数"publish"の個別格納領域及び変数"date"の個別格納領域に新たな値が格納されると、格納された変数"publish"及び変数"date"の新たな値を、画面制御プログラムへ受け渡す変数の一括格納領域にＫＥＹ−ＶＡＬＵＥ形式で各々複写する処理をコンピュータによって行わせるためのプログラムが生成される。なお、図６では上記のプログラムを「変数複写部」と表記して示している。【００８１】
そしてステップ１１０では、ステップ１０６で抽出した一括格納領域、ステップ１０２で生成した個別格納領域、ステップ１０４で生成した変数受渡プログラム及びステップ１０８で生成した変数複写プログラムを組み込んだ新たなマネージド・ビーンに対し、試作用スクリプトのためのマネージド・ビーンと同一の名称を付与してコンパイルを行い、マネージド・ビーン生成処理を終了する。なお、ステップ１１０は請求項３に記載の生成手段に対応する処理である。【００８２】
これにより、画面制御プログラムとウェブサービス提供プログラムとの間での変数の受け渡しを実現する新たなマネージド・ビーンが生成される。なお、マネージド・ビーン生成プログラムによって実現される上述のマネージド・ビーン生成処理は、本発明に係る生成手段に相当する処理であり、マネージド・ビーン生成プログラムは、本発明に係るアプリケーション開発支援プログラムの一部を構成している。また、上述のマネージド・ビーン生成処理によって生成されるウェブサービス提供プログラムのためのマネージド・ビーンは、請求項３に記載の第２ファイルに対応している。【００８３】
上記のように変数定義情報の生成、ウェブサービス提供プログラムの開発及び新たなマネージド・ビーンの生成が終了すると、開発者は、ウェブサービス提供プログラム及び対応する変数定義情報をクライアント端末１６からサーバ・コンピュータ１２へアップロードさせ、アップロードさせたウェブサービス提供プログラムを、サーバ・コンピュータ１２が実行可能な状態で変数定義情報と共にウェブサービス・ライブラリに登録させる。なお、ウェブサービス提供プログラム及び変数定義情報をウェブサービス・ライブラリに登録することで、これらを他の開発者が使用することも可能となる。続いて開発者は、クライアント端末１６の記憶部１６Ｃに記憶されているマネージド・ビーン(試作用スクリプトのためのマネージド・ビーン)を、新たに生成したマネージド・ビーンと入れ替えることで、第１フェーズから第２フェーズへ移行する。【００８４】
なお、第２フェーズでは試作用スクリプトを使用しないので、第１フェーズから第２フェーズへの移行に際し、クライアント端末１６の記憶部１６Ｃに記憶されている試作用スクリプトを消去するようにしてもよいが、マネージド・ビーンの入れ替えに伴い試作用スクリプトがマネージド・ビーンから呼び出されることは無くなるので、そのまま記憶させておいてもよい。第２フェーズでは、マネージド・ビーンの入れ替えに伴い、マネージド・ビーンを経由して画面制御プログラムと変数を受け渡すプログラムが試作用スクリプトからウェブサービス提供プログラムに切り替わり、サーバ・コンピュータ１２によってウェブサービス提供プログラムが実行されることで、試作用スクリプトによる擬似的な処理に代えて、指示されたウェブサービスを利用者に提供する処理が行われることになる。【００８５】
すなわち、クライアント端末１６上で画面制御プログラムを起動した後に、ディスプレイ１８に表示されたＵＩ画面内の情報入力欄に情報を入力し、所定のウェブサービスを提供する処理の実行を指示するボタンを選択する操作が行われた場合、図６にも示すように、画面制御プログラムは、情報が入力された情報入力欄５０に設定されている属性情報に従い、当該属性情報で名称が指定されているマネージド・ビーンのうち、前記属性情報で名称が指定されている一括格納領域(画面制御プログラムから受け渡された変数の一括格納領域)に、入力された情報(の変数名及び値)をＫＥＹ−ＶＡＬＵＥ形式で格納する処理をクライアント端末１６によって行わせる。【００８６】
ここで、入替後の新たなマネージド・ビーン(ウェブサービス提供プログラムのためのマネージド・ビーン)は、入替前のマネージド・ビーン(試作用スクリプトのためのマネージド・ビーン)と名称が同一であり、入替前のマネージド・ビーンと同一の名称の一括格納領域も組み込まれているので、情報入力欄５０に設定されている属性情報の変更を必要とすることなく、情報入力欄５０に入力された情報の変数名及び値は、マネージド・ビーン入替前と同様に、入替後の新たなマネージド・ビーンの一括格納領域にＫＥＹ−ＶＡＬＵＥ形式で格納され、マネージド・ビーンの変数受渡プログラムが呼び出される。【００８７】
ここで、新たなマネージド・ビーンに組み込まれている変数複写プログラムは、図７に示す変数複写処理をクライアント端末１６によって行わせている。すなわち変数複写処理では、ステップ１２０において、マネージド・ビーンに組み込まれている一括格納領域に新たな変数の値が格納されたか否か判定する。判定が否定された場合はステップ１２２へ移行し、マネージド・ビーンに組み込まれている何れかの個別格納領域に変数の値が新たに格納されたか否か判定する。この判定も否定された場合はステップ１２０に戻り、何れかの判定が肯定される迄ステップ１２０,１２２を繰り返す。【００８８】
前述のように、画面制御プログラムにより、情報入力欄５０に入力された情報の変数名及び値がマネージド・ビーンの一括格納領域にＫＥＹ−ＶＡＬＵＥ形式で格納されると、ステップ１２０の判定が肯定されてステップ１２４へ移行し、一括格納領域に新たに格納された変数の名称及び値を一括格納領域から読み出す。次のステップ１２６では、ステップ１２４で読み出した変数の名称に基づき、一括格納領域に値が新たに格納された変数に対応する個別格納領域(同一名称の変数を格納するための個別格納領域)を認識する。そしてステップ１２８では、ステップ１２４で読み出した変数の値を、ステップ１２６で認識した個別格納領域に複写し(図６に示す「複写Ａ」に相当)、ステップ１２０に戻る。なお、上記で一括格納領域から個別格納領域に値が複写された変数は本発明に係る第２入力変数に対応している。【００８９】
変数複写プログラムによって上記の一括格納領域から個別格納領域への変数の値の複写が行われた後に、画面制御プログラムによって呼び出された変数受渡プログラムは、サーバ・コンピュータ１２上で動作し選択されたボタンに対応するウェブサービスを提供する処理を行うウェブサービス提供プログラムを呼び出し、マネージド・ビーンに組み込まれている個別格納領域のうち、変数定義情報によって規定されたウェブサービス提供プログラムの入力変数の個別格納領域(すなわち変数複写プログラムによって変数の値が複写された個別格納領域)に格納されている変数の値を、呼び出したウェブサービス提供プログラムに引数として引き渡す処理をクライアント端末１６によって行わせる。これにより、ＵＩ画面内の情報入力欄に入力された変数の値が画面制御プログラムからウェブサービス提供プログラムへ引き渡され、このウェブサービス提供プログラムがサーバ・コンピュータ１２によって実行されることで、引き渡された変数(入力変数)の値に応じたウェブサービスを提供する処理がサーバ・コンピュータ１２によって行われることになる。【００９０】
また、ウェブサービス提供プログラムに基づく処理が終了すると、ウェブサービス提供プログラムによってマネージド・ビーンの変数受渡プログラムが呼び出され、変数定義情報によって規定されたウェブサービス提供プログラムの出力変数の値が、ウェブサービス提供プログラムから変数受渡プログラムへ引数として引き渡される。呼び出された変数受渡プログラムは、引き渡された変数の値を、マネージド・ビーンに組み込まれている個別格納領域のうち、変数定義情報によって規定されたウェブサービス提供プログラムの出力変数の個別格納領域に格納する処理をクライアント端末１６によって行わせる。なお、上記処理で個別格納領域に値が格納される変数は請求項２に記載の第１出力変数に対応している。【００９１】
個別格納領域に変数の値が新たに格納されると、前述の変数複写処理(図７)のステップ１２２の判定が肯定されてステップ１３０へ移行し、変数の値が新たに格納された個別格納領域から前記変数の値を読み出す。次のステップ１３２では、ステップ１３０で個別格納領域から値を読み出した変数の名称を認識する。そしてステップ１３４では、ステップ１３０で個別格納領域から読み出した変数の値を、ステップ１３２で認識した変数の名称と共に、画面制御プログラムへ受け渡す変数の一括格納領域にＫＥＹ−ＶＡＬＵＥ形式で複写し、画面制御プログラムを呼び出した後にステップ１２０に戻る。なお、上記処理で一括格納領域から個別格納領域に値が複写された変数は請求項２に記載の第２出力変数に対応している。【００９２】
マネージド・ビーンの変数複写プログラムから呼び出された画面制御プログラムは、ＵＩ画面の情報表示欄５４に設定されている属性情報に従い、当該属性情報で名称が指定されているマネージド・ビーンのうち、前記属性情報で名称が指定されている一括格納領域(画面制御プログラムへ受け渡す変数の一括格納領域)から、前記属性情報で名称が指定されている変数の値を読み出し、読み出した変数の値を情報表示欄５４に表示させる処理をクライアント端末１６によって行わせる。ここで、入替後の新たなマネージド・ビーン(ウェブサービス提供プログラムのためのマネージド・ビーン)は、入替前のマネージド・ビーン(試作用スクリプトのためのマネージド・ビーン)と名称が同一であり、入替前のマネージド・ビーンと同一の名称の一括格納領域も組み込まれているので、情報表示欄５４に設定されている属性情報の変更を必要とすることなく、画面制御プログラムへ受け渡す変数の一括格納領域に格納された変数の値は、マネージド・ビーン入替前と同様に、画面制御プログラムによって読み出されて情報表示欄５４に表示される。【００９３】
このように、本実施形態では、画面制御プログラムと変数を受け渡すプログラムを試作用スクリプトからウェブサービス提供プログラムに切り替えることを、ウェブサービス提供プログラムをコンピュータが実行可能な状態でライブラリ等に登録すると共に、試作用スクリプトのためのマネージド・ビーンをウェブサービス提供プログラムのためのマネージド・ビーンに入れ替えるのみで実現することができ、画面制御プログラムの変更等を行う必要が無くなるので、変数定義情報の生成、ウェブサービス提供プログラムの開発及び新たなマネージド・ビーンの生成が終了後、画面制御プログラムと変数を受け渡すプログラムを試作用スクリプトからウェブサービス提供プログラムへ直ちに切り替えることができ、フェーズ２におけるウェブサービス提供プログラムのデバッグやアプリケーション・プログラム全体のデバッグに取り掛かることができる。従って、開発者の負担が軽減されると共に、アプリケーション・プログラムの開発期間を短縮することができる。【００９４】
なお、ウェブアプリケーション提供プログラムのためのマネージド・ビーンに組み込まれている変数受渡プログラム及び変数複写プログラムによって実現される上述した処理は、本発明に係る第２制御手段(より詳しくは請求項２に記載の第２制御手段)に相当する処理であり、ウェブアプリケーション提供プログラムのためのマネージド・ビーンに組み込まれている変数受渡プログラム及び変数複写プログラムは、試作用スクリプトのためのマネージド・ビーンに組み込まれている変数受渡プログラム及びマネージド・ビーン生成プログラムと共に、本発明に係るアプリケーション開発支援プログラムを構成している。また、これらのプログラムを実行するクライアント端末１６は本発明に係るアプリケーション開発支援装置として機能する。【００９５】
また、アプリケーション・プログラムの開発が完了し、アプリケーション・プログラム(によって実現されるウェブサイト)を図８に示す第２のコンピュータ・システム３０で稼働させる際には、開発が完了したアプリケーション・プログラムのうち、画面制御プログラム及びマネージド・ビーン(画面制御プログラムとウェブサービス提供プログラムの間の変数の受け渡しを実現するマネージド・ビーン)がアプリケーション・サーバ３４の記憶部３４Ｃに記憶(インストール)され、ウェブサービス提供プログラムがウェブサービス提供サーバ３６の記憶部３６Ｃに記憶(インストール)される。【００９６】
また、アプリケーション・サーバ３４の記憶部３４Ｃには、画面制御プログラムを実行するためのプラットフォームとして機能する第１プラットフォーム・プログラムと、マネージド・ビーンに組み込まれているプログラムを実行するためのプラットフォームとして機能する第２プラットフォーム・プログラムも記憶(インストール)される。例えばＵＩ構築ツールがＪＳＦの規格に準拠している場合、第１プラットフォーム・プログラムとしてはＪＳＦエンジンと称されるプラットフォームを提供するプログラムが用いられ、画面制御プログラムは前記プラットフォーム（ＪＳＦエンジン）上で実行される。また、マネージド・ビーンに組み込まれているプログラムがＪａｖａのプログラムである場合、第２プラットフォーム・プログラムとしてはＪａｖａプラットフォームを提供するプログラムが用いられ、マネージド・ビーンに組み込まれているプログラムはＪａｖａプラットフォーム上で実行される。【００９７】
また、ウェブサービス提供サーバ３６の記憶部３６Ｃには、ウェブサービス提供プログラムを実行するためのプラットフォームとして機能する第３プラットフォーム・プログラムも記憶(インストール)される。例えばウェブサービス作成プログラムがＢＰＥＬの規格に準拠している場合、第３プラットフォーム・プログラムとしてはＢＰＥＬエンジンと称されるプラットフォームを提供するプログラムが用いられ、ウェブサービス提供プログラムは前記プラットフォーム（ＢＰＥＬエンジン）上で実行される。【００９８】
アプリケーション・サーバ３４上（詳しくはプラットフォーム・プログラムによって提供されるプラットフォーム上）で実行される画面制御プログラムは、クライアント端末４２を介して利用者からＵＩ画面の配信が要求される毎に、配信が要求されたＵＩ画面のデータを要求元のクライアント端末４２へ送信する処理をアプリケーション・サーバ３４によって行わせることで、配信が要求されたＵＩ画面を要求元のクライアント端末４２のディスプレイ４４に表示させる。また、利用者がキーボード４６等を操作することでディスプレイ４４に表示されたＵＩ画面内の情報入力欄に入力された情報は、クライアント端末４２のメモリ４２Ｂ等に一旦記憶された後に、所定のタイミング（例えば或るウェブサービスの提供を指示するためのボタンが選択された等のタイミング）でアプリケーション・サーバ３４へ転送される。【００９９】
アプリケーション・サーバ３４へ転送された情報は、画面制御プログラムからマネージド・ビーンを経由して(図６に示すような処理を経て)ウェブサービス提供サーバ３６上で動作するウェブサービス提供プログラムへ受け渡され、ウェブサービス提供プログラムは利用者から指示されたウェブサービスを提供するための処理をウェブサービス提供サーバ３６によって行わせる。なお、ウェブサービスを提供するための処理がＤＢへのアクセスを含んでいる場合、アプリケーション・サーバ３４経由でウェブサービス提供サーバ３６からＤＢサーバ３８へＤＢへのアクセスが指示されることでＤＢへのアクセスが実現される。【０１００】
ウェブサービスを提供するための処理が終了すると、ウェブサービス提供プログラムは、アプリケーション・サーバ３４へ情報(ウェブサービス提供プログラムの出力変数)を転送する処理をウェブサービス提供サーバ３６によって行わせ、転送された情報はマネージド・ビーン経由で(図６に示すような処理を経て)画面制御プログラムへ受け渡され、画面制御プログラムは、ウェブサービス提供サーバ３６からの情報が情報表示欄に表示されたＵＩ画面のデータをクライアント端末４２へ送信する処理をアプリケーション・サーバ３４によって行わせる。これにより、クライアント端末４２のディスプレイ４４上におけるＵＩ画面の表示が切り替わる。そして、利用者からウェブサービスの提供が指示される毎に上述した一連の処理が繰り返されることで、アプリケーション・プログラムによって実現されるウェブサイトにアクセスした利用者に対し、利用者が所望するウェブサービスが提供されることになる。【０１０１】
なお、上記では、変数複写プログラムによって実現される変数複写処理において、一括格納領域及び個別格納領域に変数の新たな値が格納されたか否かを監視し、一括格納領域及び個別格納領域のうちの一方に新たな値が格納された場合に、格納された新たな値を一括格納領域及び個別格納領域のうちの他方に複写する処理を行う態様を説明したが、これに限定されるものではなく、画面制御プログラム又はウェブサービス提供プログラムによって呼び出される変数受渡プログラムによって実現される変数受渡処理において、呼出元が画面制御プログラムの場合は、まず変数複写プログラムを呼び出して一括格納領域から個別格納領域への変数の複写を行わせた後に、ウェブサービス提供プログラムの呼び出し及び個別格納領域に複写された変数の引き渡しを行い、呼出元がウェブサービス提供プログラムの場合は、まずウェブサービス提供プログラムから引き渡された変数を個別格納領域に格納しった後に、変数複写プログラムを呼び出して個別格納領域から一括格納領域への変数の複写を行わせるようにしてもよい。また、この態様において、変数受渡プログラムと変数複写プログラムに分けることなく、両プログラムによって実現される処理が単一のプログラムによって実現されるようにしてもよい。【０１０２】
また、上記では試作用スクリプトを記述するスクリプト言語の一例としてＪＲｕｂｙを挙げて説明したが、試作用スクリプト(本発明に係る第１プログラム)を記述するプログラミング言語は、変数の事前定義が不要なプログラミング言語(プログラムの実行時に変数の型等が決定されるプログラム言語)であればよく、ＪＲｕｂｙやその他のスクリプト言語に限られるものではない。但し、適応的な開発手法によるアプリケーション・プログラムの開発において、例えば提示したＵＩの変更が必要となった場合に、その場でＵＩを変更し、変更後のＵＩを再提示する、等の用途を考慮すると、スクリプト言語等のコンパイル(機械語への変換)が不要な言語がより好ましい。【０１０３】
また、上記ではアプリケーション・プログラムを稼働させる際に、アプリケーション・プログラムのうち画面制御プログラム及びマネージド・ビーン(のプログラム)をアプリケーション・サーバ３４で実行させ、ウェブサービス提供プログラムをウェブサービス提供サーバ３６で実行させる態様を説明したが、本発明はこれに限定されるものではなく、アプリケーション・プログラムを構成する各プログラムを同一のコンピュータで実行させるようにしてもよいし、画面制御プログラム、マネージド・ビーン(のプログラム)及びウェブサービス提供プログラムを互いに異なるコンピュータで実行させるようにしてもよい。【０１０４】
更に、上記ではウェブサービス提供プログラムが出力変数を出力する構成であることを前提として説明したが、これに限定されるものではなく、ウェブサービス提供プログラムが提供するウェブサービスの内容によっては出力変数が存在しないことも考えられる。この場合、画面制御プログラムへ受け渡す変数の一括格納領域(例えば図３,６に示す一括格納領域map2)及び個別格納領域(例えば図６に示す変数"publish"及び"date"の個別格納領域)を省略すると共に、試作用スクリプトのためのマネージド・ビーンに組み込まれている変数受渡プログラムは、試作用スクリプトから受け渡された出力変数を一括格納領域に格納する処理を省略し、ウェブサービス提供プログラムのためのマネージド・ビーンに組み込まれている変数受渡プログラムは、ウェブサービス提供プログラムから受け渡された出力変数を対応する個別格納領域に格納する処理を省略し、ウェブサービス提供プログラムのためのマネージド・ビーンに組み込まれている変数複写プログラムは、個別格納領域から一括格納領域へ変数を複写する処理を省略するように構成してもよい。請求項１は上記の態様も権利範囲に含むものである。【０１０５】
また、上記では、試作用スクリプトのためのマネージド・ビーンに、コンピュータを本発明に係る第１制御手段として機能させるための変数受渡プログラムと、一括格納領域とが各々組み込まれ、ウェブサービス提供プログラムのためのマネージド・ビーンに、コンピュータを本発明に係る第２制御手段として機能させるための変数受渡プログラム及び変数複写プログラムと、一括格納領域及び個別格納領域と、が各々組み込まれている構成を例に説明したが、これに限定されるものではなく、本発明に係る第１制御手段や第２制御手段として機能するプログラムと変数の格納領域を分離して各々設ける構成を採用することも可能である。【０１０６】
また、上記では本発明に係るアプリケーション開発支援プログラムに対応する各プログラム(試作用スクリプトのためのマネージド・ビーンに組み込まれている変数受渡プログラム、マネージド・ビーン生成プログラム、及び、ウェブアプリケーション提供プログラムのためのマネージド・ビーンに組み込まれている変数受渡プログラム・変数複写プログラム)のうち、試作用スクリプトのためのマネージド・ビーンに組み込まれている変数受渡プログラム及びマネージド・ビーン生成プログラムがクライアント端末１６の記憶部１６Ｃに予め記憶（インストール）されている態様(なお、ウェブアプリケーション提供プログラムのためのマネージド・ビーンに組み込まれている各プログラムはマネージド・ビーン生成プログラムによって生成される)態様を説明したが、本発明に係るアプリケーション開発支援プログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体に記録されている形態で提供することも可能である。この態様における記録媒体は請求項１２に記載の記録媒体に対応している。【０１０７】
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
【図１】
2011033644.tif 000003
【図２】
2011033644.tif 000004
【図３】
2011033644.tif 000005
【図４Ａ】
2011033644.tif 000006
【図４Ｂ】
2011033644.tif 000007
【図５】
2011033644.tif 000008
【図６】
2011033644.tif 000009
【図７】
2011033644.tif 000010
【図８】
2011033644.tif 000011
【手続補正書】
【提出日】平成24年9月11日(2012.9.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プログラム実行時に、少なくともユーザインタフェース画面の情報入力欄に入力された第１入力変数の値が前記第１入力変数の名称と対応付けて格納される第１格納領域のみが変数格納領域として設けられている第１期間に、第１プログラムと当該第１プログラムと異なるプログラムとの間で受け渡す変数の型が、コンピュータによる前記第１プログラムの実行によって実現される第１処理の中で決定される前記第１プログラムに対し、前記第１格納領域に値が格納された前記第１入力変数を引き渡し、コンピュータによって前記第１処理を行わせる第１制御手段と、
第２プログラムと当該第２プログラムと異なるプログラムとの間で受け渡す変数の型を変数定義情報によって予め定義しておく必要があり、コンピュータによって実行されることで第２処理が行われる前記第２プログラムに対して設定された前記変数定義情報に基づき、前記変数定義情報に定義されている変数のうち少なくとも前記第２プログラムと異なるプログラムから前記第２プログラムへ引き渡される第２入力変数毎に格納領域が設けられた第２格納領域を生成する生成手段と、
前記生成手段によって前記第２格納領域が生成された後の第２期間に、前記第１格納領域に格納された第１入力変数の値を、前記第２格納領域のうち前記第１入力変数に対応する前記第２入力変数の前記格納領域に複写し、前記格納領域に値を複写した前記第２入力変数を前記第２プログラムへ引き渡し、引き渡した前記第２入力変数に応じた前記第２処理をコンピュータによって行わせる第２制御手段と、
を含むアプリケーション開発支援装置。
【請求項２】
前記第１制御手段は、前記第１期間に、前記第１プログラムに対し、前記第１格納領域に値が格納された前記第１入力変数を引き渡し、コンピュータによって前記第１処理を行わせ、前記第１処理の終了後、前記第１プログラムから引き渡された第１出力変数の値を前記第１出力変数の名称と対応付けて前記第１格納領域に格納し、
前記第１格納領域に格納された前記第１出力変数の値は、前記ユーザインタフェース画面の情報表示欄に表示され、
前記生成手段は、前記変数定義情報に基づき、前記第２プログラムと異なるプログラムから前記第２プログラムへ引き渡される第２入力変数毎及び前記第２プログラムから前記第２プログラムと異なるプログラムへ引き渡される第２出力変数毎に前記格納領域が設けられた前記第２格納領域を生成し、
前記第２制御手段は、前記第２期間に、前記第１格納領域に格納された前記第１入力変数の値を、前記第２格納領域のうち前記第１入力変数に対応する前記第２入力変数の前記格納領域に複写し、前記格納領域に値を複写した前記第２入力変数を前記第２プログラムへ引き渡し、引き渡した前記第２入力変数に応じた前記第２処理をコンピュータによって行わせ、前記第２処理の終了後、前記第２プログラムから引き渡された前記第２出力変数の値を、前記第２格納領域のうち前記引き渡された前記第２出力変数に対応する前記格納領域に格納すると共に、前記第２出力変数に対応する前記第１出力変数の名称と対応付け前記第１出力変数として前記第１格納領域に格納する請求項１記載のアプリケーション開発支援装置。
【請求項３】
前記第１格納領域を含む第１ファイルには予め名称が付与され、
前記ユーザインタフェース画面の設計時には、前記ユーザインタフェース画面の情報入力欄に入力される前記第１入力変数の名称及び前記第１ファイルの名称が前記情報入力欄に設定され、
プログラム実行時に、少なくとも前記ユーザインタフェース画面の情報入力欄に入力された前記第１入力変数の値を前記第１入力変数の名称と対応付けて前記第１格納領域に格納する処理は、前記ユーザインタフェース画面を含むユーザインタフェースを実現するための第３プログラムを実行するコンピュータにより、前記情報入力欄に設定された前記第１入力変数の名称及び前記第１ファイルの名称に基づいて行われ、
前記生成手段は、前記第２格納領域を生成した後に、前記第１格納領域と生成した前記第２格納領域とを含む第２ファイルに前記第１ファイルと同一の名称を付与し、
前記第１ファイルと同一の名称が付与された前記第２ファイルは前記第１ファイルと置き換えされる請求項１又は請求項２記載のアプリケーション開発支援装置。
【請求項４】
前記ユーザインタフェース画面の設計時には、前記ユーザインタフェース画面の情報表示欄に表示させる前記第１出力変数の名称及び前記第１ファイルの名称が前記情報表示欄に設定され、
前記第１格納領域に格納された第１出力変数の値を前記ユーザインタフェース画面の情報表示欄に表示させる処理も、前記第３プログラムを実行するコンピュータにより、前記情報表示欄に設定された前記第１出力変数の名称及び前記第１ファイルの名称に基づいて行われる請求項３記載のアプリケーション開発支援装置。
【請求項５】
前記第３プログラムは、前記ユーザインタフェース画面の構成要素として使用可能な、情報の入力及び表示の少なくとも一方が可能な情報入力／表示欄を含む複数種のシンボルをコンピュータによって表示画面に表示させると共に、開発者により、前記複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第１の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、前記ユーザインタフェースを実現するための前記第３プログラムをコンピュータによって生成させる第１のツールを用いてコンピュータによって生成される請求項３又は請求項４記載のアプリケーション開発支援装置。
【請求項６】
前記第１のツールはＪＳＦの規格に準拠したツールである請求項５記載のアプリケーション開発支援装置。
【請求項７】
前記第１プログラムはスクリプト言語で記述されたプログラムである請求項１〜請求項６の何れか１項記載のアプリケーション開発支援装置。
【請求項８】
前記第１プログラムは、前記第１プログラムを実行するためのプラットフォームとして機能するプラットフォーム・プログラムを実行しているコンピュータ上で実行され、
当該コンピュータによる前記第１プログラムの実行によって実現される前記第１処理のうち、前記第１プログラムと前記第１プログラムと異なるプログラムとの間で受け渡す変数の型を決定する処理は、前記コンピュータによって前記プラットフォーム・プログラムが実行されることによって行われる請求項１〜請求項７の何れか１項記載のアプリケーション開発支援装置。
【請求項９】
前記第２プログラムは、所望の処理を規定するフローチャートが開発者によって作成されると、作成されたフローチャートが表す処理を実行するための前記第２プログラムをコンピュータによって生成させる第２のツールを用いて前記コンピュータによって生成される請求項１〜請求項８の何れか１項記載のアプリケーション開発支援装置。
【請求項１０】
前記第２のツールはＢＰＥＬの規格に準拠したツールである請求項９記載のアプリケーション開発支援装置。
【請求項１１】
コンピュータを、
プログラム実行時に、少なくともユーザインタフェース画面の情報入力欄に入力された第１入力変数の値が前記第１入力変数の名称と対応付けて格納される第１格納領域のみが変数格納領域として設けられている第１期間に、第１プログラムと当該第１プログラムと異なるプログラムとの間で受け渡す変数の型が、コンピュータによる前記第１プログラムの実行によって実現される第１処理の中で決定される前記第１プログラムに対し、前記第１格納領域に値が格納された前記第１入力変数を引き渡し、コンピュータによって前記第１処理を行わせる第１制御手段、
第２プログラムと当該第２プログラムと異なるプログラムとの間で受け渡す変数の型を変数定義情報によって予め定義しておく必要があり、コンピュータによって実行されることで第２処理が行われる前記第２プログラムに対して設定された前記変数定義情報に基づき、前記変数定義情報に定義されている変数のうち少なくとも前記第２プログラムと異なるプログラムから前記第２プログラムへ引き渡される第２入力変数毎に格納領域が設けられた第２格納領域を生成する生成手段、
及び、前記生成手段によって前記第２格納領域が生成された後の第２期間に、前記第１格納領域に格納された第１入力変数の値を、前記第２格納領域のうち前記第１入力変数に対応する前記第２入力変数の前記格納領域に複写し、前記格納領域に値を複写した前記第２入力変数を前記第２プログラムへ引き渡し、引き渡した前記第２入力変数に応じた前記第２処理をコンピュータによって行わせる第２制御手段
として機能させるためのアプリケーション開発支援プログラム。
【請求項１２】
コンピュータを、
プログラム実行時に、少なくともユーザインタフェース画面の情報入力欄に入力された第１入力変数の値が前記第１入力変数の名称と対応付けて格納される第１格納領域のみが変数格納領域として設けられている第１期間に、第１プログラムと当該第１プログラムと異なるプログラムとの間で受け渡す変数の型が、コンピュータによる前記第１プログラムの実行によって実現される第１処理の中で決定される前記第１プログラムに対し、前記第１格納領域に値が格納された前記第１入力変数を引き渡し、コンピュータによって前記第１処理を行わせる第１制御手段、
第２プログラムと当該第２プログラムと異なるプログラムとの間で受け渡す変数の型を変数定義情報によって予め定義しておく必要があり、コンピュータによって実行されることで第２処理が行われる前記第２プログラムに対して設定された前記変数定義情報に基づき、前記変数定義情報に定義されている変数のうち少なくとも前記第２プログラムと異なるプログラムから前記第２プログラムへ引き渡される第２入力変数毎に格納領域が設けられた第２格納領域を生成する生成手段、
及び、前記生成手段によって前記第２格納領域が生成された後の第２期間に、前記第１格納領域に格納された第１入力変数の値を、前記第２格納領域のうち前記第１入力変数に対応する前記第２入力変数の前記格納領域に複写し、前記格納領域に値を複写した前記第２入力変数を前記第２プログラムへ引き渡し、引き渡した前記第２入力変数に応じた前記第２処理をコンピュータによって行わせる第２制御手段
として機能させるためのアプリケーション開発支援プログラムが記録された記録媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】          明細書
【発明の名称】      アプリケーション開発支援装置、プログラム及び記録媒体
【技術分野】
【０００１】
本発明はアプリケーション開発支援装置、プログラム及び記録媒体に係り、特に、ユーザインタフェース画面を介して入力される変数を所定のプログラムに引き渡しコンピュータによって処理を行わせるアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置、コンピュータを前記アプリケーション開発支援装置として機能させるためのアプリケーション開発支援プログラム、当該アプリケーション開発支援プログラムが記録された記録媒体に関する。
【背景技術】
【０００２】
最近、ビジネスプロセスをワークフローとして記述可能な規格(言語)としてＢＰＥＬ(Business Process Execution Language)が普及してきている。ＢＰＥＬに関しては、互いに異なる処理に対応する複数種の部品の中から所望の部品を選択して組み合わせる操作を行うことで所望のワークフローを視覚的に記述可能で、かつ作成されたワークフローからＢＰＥＬに準拠したプログラムを自動的に生成可能なツールが用意されており、当該ツールによって自動生成されたプログラムをコンピュータによって実行させる実行環境も構築可能とされている。このため、上記ツールを利用することで、所望のウェブサービスを提供するワークフローをコンピュータによって実現させるプログラムの開発を容易かつ短時間で行うことができる。なお、ＢＰＥＬの規格では、ＢＰＥＬで実現する処理における入力変数及び出力変数の型等を定義する変数定義情報(ＷＳＤＬ(Web Service Description Language)ともいう)を予め設定しておく必要があり、この変数定義情報はＢＰＥＬに準拠したプログラムを生成する際に参照される。
【０００３】
また、ウェブアプリケーション向けのユーザインタフェースを構築するための規格としてＪＳＦ(Java(登録商標) Server Faces)が知られている。このＪＳＦに関しても、ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルの中から所望のシンボルを選択・配置する等の操作を行うことで、ユーザインタフェース画面の設計やユーザインタフェース画面の遷移の定義等のユーザインタフェースの構築が可能で、構築されたユーザインタフェースを実現するプログラムを自動的に生成可能なツールが用意されており、このツールを利用することで、所望のユーザインタフェースを実現するプログラムを、コーディング作業を行うことなく容易かつ短時間で得ることができる。
【０００４】
このため、本願出願人は、ウェブアプリケーションの開発期間の大幅な短縮を目的として、開発対象のウェブアプリケーションのうち、ユーザインタフェースを実現するプログラムをＪＳＦを用いて自動生成すると共に、ウェブサービスを実現するプログラムをＢＰＥＬを用いて自動生成した場合の両者の連携を、コーディング作業を行うことなく実現する技術を既に提案している(特開２００９−０８７０９３号公報参照)。
【０００５】
また、上記に関連して特開２００５−２２８１８４号公報には、端末からリクエスト情報を取得すると、アプリケーション実行装置の実行エンジンが、取得したリクエスト情報から画面変数値とイベントを抽出し、状態遷移定義に基づき抽出したイベントに応じた状態遷移を決定し、リクエスト情報から値を取得した画面変数を、画面変数アプリケーション変数対応定義に基づきアプリケーション変数へ対応付け、抽出したイベントに応じたロジックを実行し、ロジックの実行により値が決定したアプリケーション変数を、画面変数アプリケーション変数対応定義に基づき出力画面変数へ対応付け、画面定義に基づいて出力画面を生成する技術が開示されている。
【０００６】
また、特開２００９−９３６２号公報には、言語の異なる複数のプログラムの各々で定義された変数又は複数のプログラム間で共通に定義された変数の、ページ遷移に伴う値の受渡しを管理するプログラム変数管理システムにおいて、前記プログラムのページ遷移を伴う手続き毎に、変数の遷移元情報と遷移先情報とをリンク管理テーブルに記録し、前記変数の定義情報を変数管理テーブルに記録し、前記ページ遷移前後のページ間で、前記変数の値の引渡し処理及び代入処理のうち少なくとも一方を行う技術が開示されている。
【先行技術文献】
【特許文献】
【特許文献１】          特開２００９−０８７０９３号公報
【特許文献２】          特開２００５−２２８１８４号公報
【特許文献３】          特開２００９−９３６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで近年、ソフトウェアの新たな開発手法として、開発対象のソフトウェアの要件を厳密に規定することなく開発を開始し、要件等の変更が生じた場合に素早く適応しながら開発を進めていくことに主眼をおいた適応的(adaptive)な開発手法(アジャイルソフトウェア開発(agile software development)という)が提案されている。上記の開発手法を適用したウェブアプリケーションの開発では、例えば開発途中のウェブアプリケーションにおける現状のユーザインタフェース等を顧客に提示しながら顧客と議論し、顧客の要望等に応じてユーザインタフェース等を変更し、変更後の新たなユーザインタフェース等を顧客に再提示することを繰り返しながら要件を決めていくことになる。
【０００８】
一方、前述した特開２００９−０８７０９３号公報に記載の技術は、ＪＳＦの規格では、ユーザインタフェース画面内に配置した個々の情報入力／表示欄を、複数の変数について格納領域を各々設けた変数格納領域(なお、この変数格納領域はマネージド・ビーン(Managed Bean)と称するプログラムに組み込まれている)内の何れかの格納領域と関連付ける(バインドする)ことが可能とされ、プログラム実行時にはバインドされた情報入力／表示欄と格納領域との間で同期処理が行われる(詳しくは、情報入力欄に入力された情報は当該情報入力欄とバインドされた格納領域に格納され、格納領域に格納された情報は当該格納領域とバインドされた情報表示欄に表示される)ことを利用し、ＪＳＦのツールを用いてユーザインタフェースを実現するプログラムを自動生成し、ＢＰＥＬのツール等を用いてウェブサービスを実現するプログラムを自動生成すると共に、ＢＰＥＬの変数定義情報から入力変数及び出力変数に対応する格納領域を各々設けた変数格納領域(を含むマネージド・ビーン)を生成し、ユーザインタフェースを実現するプログラムとウェブサービスを実現するプログラムとの間の変数の受け渡しを変数格納領域(を含むマネージド・ビーン)経由で行わせることで、ユーザインタフェースを実現するプログラムとウェブサービスを実現するプログラムとの連携を実現している。
【０００９】
このため、特開２００９−０８７０９３号公報に記載の技術のように、ウェブサービスを提供する部分をＢＰＥＬによって実現する構成のウェブアプリケーションの開発にアジャイルソフトウェア開発を適用した場合、ユーザインタフェース等が変更されることで、ユーザインタフェースを実現するプログラムとウェブサービスを実現するプログラムとの間で受け渡される変数が変更された場合、まずＢＰＥＬの変数定義情報を変更し、続いて変更後の変数定義情報から新たな変数格納領域(を含むマネージド・ビーン)を生成する等の作業を行う必要があるので、変更後の新たなユーザインタフェース等を顧客に再提示する迄に時間を要し、開発者の負担の増大や開発期間の長期化を招くという問題がある。
【００１０】
上記問題を解決するために、ウェブサービスを実現するプログラムとして、ＲｕｂｙやＪａｖａ(登録商標)のプログラムと連携して動作することが可能なＪＲｕｂｙ等のスクリプト言語で記述したプログラムを適用することが考えられる。ＪＲｕｂｙやＲｕｂｙではプログラムの実行時に変数の型を決定するので、ユーザインタフェースを実現するプログラムとウェブサービスを実現するプログラムとの間で受け渡される変数が変更されたとしても変数格納領域(を含むマネージド・ビーン)を変更する必要はなく、アジャイルソフトウェア開発に好適である。但し、ＪＲｕｂｙやＲｕｂｙはスクリプト言語であり、プログラム実行時の動作の安定性はＢＰＥＬよりは低いので、ウェブサービスを実現するプログラムとしてはＢＰＥＬに準拠したプログラムを用いたい、というニーズは存在する。
【００１１】
上記のニーズに対応するために、ウェブアプリケーションの開発の途中で顧客にユーザインタフェース等を提示する際には、ウェブサービスを実現するプログラムが実際にウェブサービスを提供する処理を行う必要はなく、ユーザインタフェース画面の遷移等をさせるための変数の受け渡し等の処理を行うことができればよいことに基づき、開発対象のソフトウェアの要件が確定し、ユーザインタフェースを実現するプログラムとウェブサービスを実現するプログラムとの間で受け渡す変数が確定する迄の期間は、ウェブサービスを実現するプログラムとしてＪＲｕｂｙ等のスクリプト言語で記述したプログラムを適用し、要件が確定し入出力の変数も確定した後に、ウェブサービスを実現するプログラムとして、確定した入出力の変数に基づきＢＰＥＬに準拠したプログラムを開発し、ウェブサービスを実現するプログラムを切り替えることが考えられる。
【００１２】
しかしながら、上記態様では、ウェブサービスを実現するプログラムをスクリプト言語で記述したプログラムからＢＰＥＬに準拠したプログラムへ入れ替える際に、変数格納領域(を含むマネージド・ビーン)についても、スクリプト言語用の変数格納領域(を含むマネージド・ビーン)からＢＰＥＬ用の変数格納領域(を含むマネージド・ビーン)へ切り替える必要があり、変数格納領域(を含むマネージド・ビーン)の切り替えに伴ってユーザインタフェースを実現するプログラムを変更する(例えばユーザインタフェース画面内に配置した個々の情報入力／表示欄のバインド先を変更する)作業が必要になる、という新たな問題が生ずる。特に多数のユーザインタフェース画面から成るユーザインタフェースを提供するウェブアプリケーションでは上記作業が非常に繁雑なものとなり、開発者の負担の増大や開発期間の長期化に繋がることになる。
【００１３】
なお、前述した特開２００５−２２８１８４号公報及び特開２００９−９３６２号公報には、複数のプログラム間での変数の受け渡しについては記載されているものの、変数の受け渡しを行う一対のプログラムのうちの一方を別のプログラムに切り替える際の作業負荷の軽減を実現する技術については何ら記載されていない。
【００１４】
本発明は上記事実を考慮して成されたもので、ユーザインタフェース画面を介して入力される変数を所定のプログラムに引き渡しコンピュータによって処理を行わせるアプリケーション・プログラムの開発において、所定のプログラムを切り替える際の作業負荷の軽減を実現できるアプリケーション開発支援装置、アプリケーション開発支援プログラム及び記録媒体を得ることが目的である。
【課題を解決するための手段】
【００１５】
上記目的を達成するために請求項１記載の発明に係るアプリケーション開発支援装置は、プログラム実行時に、少なくともユーザインタフェース画面の情報入力欄に入力された第１入力変数の値が前記第１入力変数の名称と対応付けて格納される第１格納領域のみが変数格納領域として設けられている第１期間に、第１プログラムと当該第１プログラムと異なるプログラムとの間で受け渡す変数の型が、コンピュータによる前記第１プログラムの実行によって実現される第１処理の中で決定される前記第１プログラムに対し、前記第１格納領域に値が格納された前記第１入力変数を引き渡し、コンピュータによって前記第１処理を行わせる第１制御手段と、第２プログラムと当該第２プログラムと異なるプログラムとの間で受け渡す変数の型を変数定義情報によって予め定義しておく必要があり、コンピュータによって実行されることで第２処理が行われる前記第２プログラムに対して設定された前記変数定義情報に基づき、前記変数定義情報に定義されている変数のうち少なくとも前記第２プログラムと異なるプログラムから前記第２プログラムへ引き渡される第２入力変数毎に格納領域が設けられた第２格納領域を生成する生成手段と、前記生成手段によって前記第２格納領域が生成された後の第２期間に、前記第１格納領域に格納された第１入力変数の値を、前記第２格納領域のうち前記第１入力変数に対応する前記第２入力変数の前記格納領域に複写し、前記格納領域に値を複写した前記第２入力変数を前記第２プログラムへ引き渡し、引き渡した前記第２入力変数に応じた前記第２処理をコンピュータによって行わせる第２制御手段と、を含んで構成されている。
【００１６】
請求項１記載の発明では、第１期間に、変数格納領域として第１格納領域のみが設けられ、この第１格納領域に対しては、プログラム実行時に、少なくともユーザインタフェース画面の情報入力欄に入力された第１入力変数の値が当該第１入力変数の名称と対応付けて格納される。そして、請求項１記載の発明に係る第１制御手段は、前記第１期間に、第１プログラムと当該第１プログラムと異なるプログラムとの間で受け渡す変数の型が、コンピュータによる第１プログラムの実行によって実現される第１処理の中で決定される第１プログラムに対し、第１格納領域に値が格納された第１入力変数を引き渡し、コンピュータによって第１処理を行わせる。
【００１７】
このように、第１期間には、プログラム実行時に、ユーザインタフェース画面の情報入力欄に入力された第１入力変数の値が、第１入力変数の名称と対応付けて第１格納領域に一旦格納された後に第１プログラムに引き渡され、第１処理が行われる。第１プログラムは、第１プログラムと第１プログラムと異なるプログラムとの間で受け渡す変数の型が、コンピュータによる第１プログラムの実行によって実現される第１処理の中で決定される構成であるので、例えばユーザインタフェース画面が変更され、それに伴って第１入力変数の数や型が変更された場合にも、ユーザインタフェース画面の情報入力欄に入力された第１入力変数を第１格納領域経由で第１プログラムに引き渡す処理が行われる状態は、第１格納領域の構成の変更や第１制御手段による処理の変更を必要とすることなく維持される。
【００１８】
従って、請求項１記載の発明における第１期間は、例えばユーザインタフェース画面が変更された場合にも、短時間で稼働可能な状態に復帰できるので、ユーザインタフェース画面を介して入力される変数を所定のプログラムに引き渡しコンピュータによって処理を行わせるアプリケーション・プログラムを、アジャイルソフトウェア開発等の適応的な開発手法で開発するにあたり、ユーザインタフェース等の変更を繰り返しながら要件を決めていく期間に適している。なお、第１プログラムとしては、例えば請求項７に記載したようにスクリプト言語で記述されたプログラムが好適であり、一例としてはＪＲｕｂｙのプログラムが好ましい。
【００１９】
また、請求項１記載の発明に係る生成手段は、第２プログラムと当該第２プログラムと異なるプログラムとの間で受け渡す変数の型を変数定義情報によって予め定義しておく必要があり、コンピュータによって実行されることで第２処理が行われる第２プログラムに対して設定された変数定義情報に基づき、変数定義情報に定義されている変数のうち少なくとも第２プログラムと異なるプログラムから第２プログラムへ引き渡される第２入力変数毎に格納領域が設けられた第２格納領域を生成する。そして、請求項１記載の発明に係る第２制御手段は、生成手段によって第２格納領域が生成された後の第２期間に、第１格納領域に格納された第１入力変数の値を、第２格納領域のうち第１入力変数に対応する第２入力変数の格納領域に複写し、格納領域に値を複写した第２入力変数を第２プログラムへ引き渡し、引き渡した第２入力変数に応じた第２処理をコンピュータによって行わせる。
【００２０】
これにより、第２期間には、第１格納領域に加え、生成手段によって生成された第２格納領域が変数格納領域として追加され、プログラム実行時に、ユーザインタフェース画面の情報入力欄に入力された第１入力変数の値は、第１入力変数の名称と対応付けて第１格納領域に一旦格納された後、第２制御手段により、第２格納領域のうち第１格納領域に格納された第１入力変数に対応する第２入力変数の格納領域に複写され、第２入力変数として第２プログラムへ引き渡されることで、引き渡した第２入力変数に応じた第２処理が行われることになる。なお、第２プログラムとしては、例えばＢＰＥＬに準拠したプログラムが好適である。また、第１入力変数に対応する第２入力変数は、例えば両者の名称を同一としておくことで名称に基づいて判断できるが、これに限らず、例えば第１入力変数と第２入力変数との対応関係を予め登録したテーブル等を参照する等によって判断することも可能であり、この場合、両者の名称は相違していてもよい。
【００２１】
このように、請求項１記載の発明では、ユーザインタフェース画面を介して入力された変数が引き渡され、コンピュータによって処理を行わせるプログラムを第１プログラムから第２プログラムへ切り替える場合(第１期間から第２期間へ移行する場合)に、生成手段によって第２格納領域を生成する必要はあるものの、ユーザインタフェース画面の情報入力欄に入力された第１入力変数の値を当初格納する領域は、第１期間も第２期間も同じ(第１格納領域)であるので、上記のプログラムの切り替えにあたっても、ユーザインタフェース画面側の変数格納先の設定等は変更する必要が無くなる。従って、請求項１記載の発明によれば、ユーザインタフェース画面を介して入力される変数を所定のプログラムに引き渡しコンピュータによって処理を行わせるアプリケーション・プログラムの開発において、所定のプログラムを切り替える際の作業負荷の軽減を実現することができる。
【００２２】
なお、請求項１記載の発明において、第１期間から第２期間へ移行した後は、第２プログラムと異なるプログラムと第２プログラムとの間で受け渡す変数の数や型等が変更される毎に、変数定義情報の再設定や第２格納領域の再生成が必要となるので、ユーザインタフェース画面を介して入力される変数を所定のプログラムに引き渡しコンピュータによって処理を行わせるアプリケーション・プログラムを、アジャイルソフトウェア開発等の適応的な開発手法で開発するにあたっては、要件が確定しユーザインタフェースや受け渡す変数も確定した段階で、第１期間から第２期間への移行を行うことが好ましい。
【００２３】
請求項２記載の発明は、請求項１記載の発明において、第１制御手段は、第１期間に、第１プログラムに対し、第１格納領域に値が格納された第１入力変数を引き渡し、コンピュータによって第１処理を行わせ、第１処理の終了後、第１プログラムから引き渡された第１出力変数の値を第１出力変数の名称と対応付けて第１格納領域に格納し、第１格納領域に格納された第１出力変数の値は、ユーザインタフェース画面の情報表示欄に表示され、生成手段は、変数定義情報に基づき、第２プログラムと異なるプログラムから第２プログラムへ引き渡される第２入力変数毎及び第２プログラムから第２プログラムと異なるプログラムへ引き渡される第２出力変数毎に格納領域が設けられた第２格納領域を生成し、第２制御手段は、第２期間に、第１格納領域に格納された第１入力変数の値を、第２格納領域のうち第１入力変数に対応する第２入力変数の格納領域に複写し、格納領域に値を複写した第２入力変数を第２プログラムへ引き渡し、引き渡した第２入力変数に応じた第２処理をコンピュータによって行わせ、第２処理の終了後、第２プログラムから引き渡された第２出力変数の値を、第２格納領域のうち前記引き渡された第２出力変数に対応する格納領域に格納すると共に、第２出力変数に対応する第１出力変数の名称と対応付け第１出力変数として第１格納領域に格納する。
【００２４】
請求項２記載の発明では、第１期間に、第１プログラムに対し、第１格納領域に値が格納された第１入力変数を引き渡し、コンピュータによって第１処理を行わせ、第１処理の終了後、第１プログラムから引き渡された第１出力変数の値を第１出力変数の名称と対応付けて第１格納領域に格納する処理が第１制御手段によって行われ、第１格納領域に格納された第１出力変数の値は、ユーザインタフェース画面の情報表示欄に表示される。前述のように、第１プログラムは、第１プログラムと異なるプログラムと第１プログラムとの間で受け渡す変数の型が、コンピュータによる第１プログラムの実行によって実現される第１処理の中で決定される構成であるので、第１期間には、例えばユーザインタフェース画面が変更され、それに伴って第１出力変数の数や型が変更された場合であっても、第１プログラムから引き渡された第１出力変数が第１格納領域経由でユーザインタフェース画面の情報表示欄に表示される処理が行われる状態は、第１格納領域の構成の変更や第１制御手段による処理の変更を必要とすることなく維持される。
【００２５】
また請求項２記載の発明において、生成手段は、変数定義情報に基づき、第２プログラムと異なるプログラムから第２プログラムへ引き渡される第２入力変数毎及び第２プログラムから第２プログラムと異なるプログラムへ引き渡される第２出力変数毎に格納領域が設けられた第２格納領域を生成し、第２制御手段は、第２期間に、第１格納領域に格納された第１入力変数の値を、第２格納領域のうち第１入力変数に対応する第２入力変数の格納領域に複写し、格納領域に値を複写した第２入力変数を第２プログラムへ引き渡し、引き渡した第２入力変数に応じた第２処理をコンピュータによって行わせ、第２処理の終了後、第２プログラムから引き渡された第２出力変数の値を、第２格納領域のうち前記引き渡された第２出力変数に対応する格納領域に格納すると共に、第２出力変数に対応する第１出力変数の名称と対応付け第１出力変数として第１格納領域に格納する。
【００２６】
このように、請求項２記載の発明では、ユーザインタフェース画面の情報入力欄に入力された第１入力変数の値を当初格納する領域、及び、第２プログラムから引き渡された第２出力変数の値を最終的に第１出力変数の値として格納する領域が、第１期間も第２期間も同じ(第１格納領域)であるので、ユーザインタフェース画面を介して入力された変数が引き渡されコンピュータによって処理を行わせるプログラムを、第１プログラムから第２プログラムへ切り替える(第１期間から第２期間へ移行する)にあたっても、ユーザインタフェース画面側の変数格納先や表示対象の変数の読出先の設定等を変更する必要は無い。従って、請求項２記載の発明によれば、ユーザインタフェース画面を介して入力される変数を所定のプログラムに引き渡しコンピュータによって処理を行わせ、所定のプログラムから引き渡された変数をユーザインタフェース画面に表示させるアプリケーション・プログラムの開発において、所定のプログラムを切り替える際の作業負荷の軽減を実現することができる。
【００２７】
請求項３記載の発明は、請求項１又は請求項２記載の発明において、第１格納領域を含む第１ファイルには予め名称が付与され、ユーザインタフェース画面の設計時には、ユーザインタフェース画面の情報入力欄に入力される第１入力変数の名称及び第１ファイルの名称が情報入力欄に設定され、プログラム実行時に、少なくともユーザインタフェース画面の情報入力欄に入力された第１入力変数の値を第１入力変数の名称と対応付けて第１格納領域に格納する処理は、ユーザインタフェース画面を含むユーザインタフェースを実現するための第３プログラムを実行するコンピュータにより、情報入力欄に設定された第１入力変数の名称及び第１ファイルの名称に基づいて行われ、生成手段は、第２格納領域を生成した後に、第１格納領域と生成した第２格納領域とを含む第２ファイルに第１ファイルと同一の名称を付与し、第２ファイルを第１ファイルと置き換える。
【００２８】
請求項３記載の発明では、第１格納領域を含む第１ファイル(例えば第１制御手段として機能するプログラムに第１格納領域が組み込まれたファイル)に予め名称が付与されており、ユーザインタフェース画面の設計時に、情報入力欄に入力される第１入力変数の名称及び第１ファイルの名称が前記情報入力欄に設定されることで、ユーザインタフェース画面を含むユーザインタフェースを実現するための第３プログラムを実行するコンピュータは、情報入力欄に設定された第１入力変数の名称及び第１ファイルの名称に基づいて、プログラム実行時に、少なくともユーザインタフェース画面の情報入力欄に入力された第１入力変数の値を第１入力変数の名称と対応付けて第１格納領域に格納する処理を行う。そして、請求項３記載の発明に係る生成手段は、上記構成において、第２格納領域を生成した後に、第１格納領域と生成した第２格納領域とを含む第２ファイルに第１ファイルと同一の名称を付与し、第２ファイルを第１ファイルと置き換える。
【００２９】
これにより、コンピュータが第３プログラムを実行することで実現される処理では、第２ファイルが第１ファイルと同一の名称であることに基づき、置き換え後の第２ファイルに含まれる第１格納領域が置き換え前の第１ファイルに含まれていた第１格納領域と同一の領域と認識され、ユーザインタフェース画面の情報入力欄に入力された第１入力変数の値の格納先が、置き換え前の第１ファイルに含まれていた第１格納領域から、置き換え後の第２ファイルに含まれる第１格納領域へ切り替わることになる。従って、請求項３記載の発明によれば、ユーザインタフェースを実現するための第３プログラムによって実現される処理が、格納領域を含むファイルの名称に基づいて第１入力変数の格納先を認識する構成である場合にも、第１プログラムから第２プログラムへの切り替え(第１期間から第２期間への移行)にあたり、ユーザインタフェース画面側の設定(第３プログラム)を変更する必要が無くなる。
【００３０】
なお、請求項３記載の発明において、例えば請求項４に記載したように、ユーザインタフェース画面の設計時には、ユーザインタフェース画面の情報表示欄に表示させる第１出力変数の名称及び第１ファイルの名称が情報表示欄に設定され、第１格納領域に格納された第１出力変数の値をユーザインタフェース画面の情報表示欄に表示させる処理も、第３プログラムを実行するコンピュータにより、情報表示欄に設定された第１出力変数の名称及び第１ファイルの名称に基づいて行われる構成であってもよい。
【００３１】
この場合、請求項３記載の生成手段により、第２ファイルに第１ファイルと同一の名称を付与され、第２ファイルが第１ファイルと置き換えされることで、コンピュータが第３プログラムを実行することで実現される処理では、ユーザインタフェース画面の情報表示欄に表示する第１出力変数の値の読出先が、置き換え前の第１ファイルに含まれていた第１格納領域から、置き換え後の第２ファイルに含まれる第１格納領域へ切り替わることになる。従って、請求項４記載の発明によれば、ユーザインタフェースを実現するための第３プログラムによって実現される処理が、格納領域を含むファイルの名称に基づいて第１出力変数の読出先を認識する構成である場合にも、第１プログラムから第２プログラムへの切り替え(第１期間から第２期間への移行)にあたり、ユーザインタフェース画面側の設定(第３プログラム)を変更する必要が無くなる。
【００３２】
また、請求項３又は請求項４記載の発明において、第３プログラムは、例えば請求項５に記載したように、ユーザインタフェース画面の構成要素として使用可能な、情報の入力及び表示の少なくとも一方が可能な情報入力／表示欄を含む複数種のシンボルをコンピュータによって表示画面に表示させると共に、開発者により、複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第１の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、ユーザインタフェースを実現するための第３プログラムをコンピュータによって生成させる第１のツールを用いてコンピュータによって生成することができる。なお、上記の第１のツールとしては、例えば請求項６に記載したようにＪＳＦの規格に準拠したツールを適用することができる。
【００３３】
また、請求項１〜請求項７の何れかに記載の発明において、第１プログラムは、第１プログラムを実行するためのプラットフォームとして機能するプラットフォーム・プログラムを実行しているコンピュータ上で実行することができる。この場合、例えば請求項８に記載したように、コンピュータによる第１プログラムの実行によって実現される第１処理のうち、第１プログラムと異なるプログラムと第１プログラムとの間で受け渡す変数の型を決定する処理は、コンピュータによってプラットフォーム・プログラムが実行されることによって行われる。
【００３４】
また、請求項１〜請求項８の何れかに記載の発明において、第２プログラムは、例えば請求項９に記載したように、所望の処理を規定するフローチャートが開発者によって作成されると、作成されたフローチャートが表す処理を実行するための第２プログラムをコンピュータによって生成させる第２のツールを用いてコンピュータによって生成することができる。なお、上記の第２のツールとしては、例えば請求項１０に記載したようにＢＰＥＬの規格に準拠したツールを適用することができる。
【００３５】
請求項１１記載の発明に係るアプリケーション開発支援プログラムは、コンピュータを、プログラム実行時に、少なくともユーザインタフェース画面の情報入力欄に入力された第１入力変数の値が前記第１入力変数の名称と対応付けて格納される第１格納領域のみが変数格納領域として設けられている第１期間に、第１プログラムと当該第１プログラムと異なるプログラムとの間で受け渡す変数の型が、コンピュータによる前記第１プログラムの実行によって実現される第１処理の中で決定される前記第１プログラムに対し、前記第１格納領域に値が格納された前記第１入力変数を引き渡し、コンピュータによって前記第１処理を行わせる第１制御手段、第２プログラムと当該第２プログラムと異なるプログラムとの間で受け渡す変数の型を変数定義情報によって予め定義しておく必要があり、コンピュータによって実行されることで第２処理が行われる前記第２プログラムに対して設定された前記変数定義情報に基づき、前記変数定義情報に定義されている変数のうち少なくとも前記第２プログラムと異なるプログラムから前記第２プログラムへ引き渡される第２入力変数毎に格納領域が設けられた第２格納領域を生成する生成手段、及び、前記生成手段によって前記第２格納領域が生成された後の第２期間に、前記第１格納領域に格納された第１入力変数の値を、前記第２格納領域のうち前記第１入力変数に対応する前記第２入力変数の前記格納領域に複写し、前記格納領域に値を複写した前記第２入力変数を前記第２プログラムへ引き渡し、引き渡した前記第２入力変数に応じた前記第２処理をコンピュータによって行わせる第２制御手段として機能させる。
【００３６】
請求項１１記載の発明に係るアプリケーション開発支援プログラムは、コンピュータを、第１制御手段、生成手段及び第２制御手段として機能させるためのプログラムであるので、コンピュータが請求項１１記載の発明に係るプログラムを実行することにより、コンピュータが請求項１に記載のアプリケーション開発支援装置として機能することになり、請求項１記載の発明と同様に、ユーザインタフェース画面を介して入力される変数を所定のプログラムに引き渡しコンピュータによって処理を行わせるアプリケーション・プログラムの開発において、所定のプログラムを切り替える際の作業負荷の軽減を実現することができる。
【００３７】
請求項１２記載の発明に係る記録媒体は、コンピュータを、プログラム実行時に、少なくともユーザインタフェース画面の情報入力欄に入力された第１入力変数の値が前記第１入力変数の名称と対応付けて格納される第１格納領域のみが変数格納領域として設けられている第１期間に、第１プログラムと当該第１プログラムと異なるプログラムとの間で受け渡す変数の型が、コンピュータによる前記第１プログラムの実行によって実現される第１処理の中で決定される前記第１プログラムに対し、前記第１格納領域に値が格納された前記第１入力変数を引き渡し、コンピュータによって前記第１処理を行わせる第１制御手段、第２プログラムと当該第２プログラムと異なるプログラムとの間で受け渡す変数の型を変数定義情報によって予め定義しておく必要があり、コンピュータによって実行されることで第２処理が行われる前記第２プログラムに対して設定された前記変数定義情報に基づき、前記変数定義情報に定義されている変数のうち少なくとも前記第２プログラムと異なるプログラムから前記第２プログラムへ引き渡される第２入力変数毎に格納領域が設けられた第２格納領域を生成する生成手段、及び、前記生成手段によって前記第２格納領域が生成された後の第２期間に、前記第１格納領域に格納された第１入力変数の値を、前記第２格納領域のうち前記第１入力変数に対応する前記第２入力変数の前記格納領域に複写し、前記格納領域に値を複写した前記第２入力変数を前記第２プログラムへ引き渡し、引き渡した前記第２入力変数に応じた前記第２処理をコンピュータによって行わせる第２制御手段として機能させるためのアプリケーション開発支援プログラムが記録されている。
【００３８】
請求項１２記載の発明に係る記録媒体は、請求項１１に係るアプリケーション開発支援プログラム、すなわちコンピュータを、第１制御手段、生成手段及び第２制御手段として機能させるためのプログラムが記録されているので、コンピュータが請求項１２記載の発明に係る記録媒体に記録されているプログラムを読み出して実行することで、コンピュータが請求項１に記載のアプリケーション開発支援装置として機能することになり、請求項１,１１記載の発明と同様に、ユーザインタフェース画面を介して入力される変数を所定のプログラムに引き渡しコンピュータによって処理を行わせるアプリケーション・プログラムの開発において、所定のプログラムを切り替える際の作業負荷の軽減を実現することができる。
【発明の効果】
【００３９】
以上説明したように本発明は、プログラム実行時に、ユーザインタフェース画面の情報入力欄に入力された第１入力変数の値が名称と対応付けて格納される第１格納領域のみが変数格納領域として設けられている第１期間に、第１プログラムと当該第１プログラムと異なるプログラムとの間で受け渡す変数の型が、第１プログラムの実行によって実現される第１処理の中で決定される第１プログラムに対し、第１格納領域に値が格納された第１入力変数を引き渡して第１処理を行わせ、第２プログラムと当該第２プログラムと異なるプログラムとの間で受け渡す変数の型を変数定義情報によって予め定義しておく必要があり、第２処理を実現する第２プログラムに対して設定された変数定義情報に基づき、定義されている変数のうち少なくとも前記第２プログラムと異なるプログラムから第２プログラムへ引き渡される第２入力変数毎に格納領域が設けられた第２格納領域を生成し、第２格納領域が生成された後の第２期間に、第１格納領域に格納された第１入力変数の値を、第２格納領域のうち前記第１入力変数に対応する第２入力変数の格納領域に複写し、値を複写した第２入力変数を第２プログラムへ引き渡し、引き渡した第２入力変数に応じた第２処理を行わせるので、ユーザインタフェース画面を介して入力される変数を所定のプログラムに引き渡しコンピュータによって処理を行わせるアプリケーション・プログラムの開発において、所定のプログラムを切り替える際の作業負荷の軽減を実現できる、という優れた効果を有する。
【図面の簡単な説明】
【００４０】
【図１】本実施形態におけるアプリケーション・プログラムの開発環境としての第１のコンピュータ・システムの概略構成を示すブロック図である。
【図２】ＵＩ構築ツールの作成画面の一例を示すイメージ図である。
【図３】試作段階(ＵＩ提示時)の処理の流れの一例を示す概略図である。
【図４Ａ】ウェブサービス作成ツールの作成画面の一例を示すイメージ図である。
【図４Ｂ】ウェブサービス作成ツールを用いて作成画面上で作成されたフローの一例を示すイメージ図である。
【図５】マネージド・ビーン生成処理の内容を示すフローチャートである。
【図６】試作用スクリプトを本稼働油のウェブサービス提供プログラムへ切り替えた後の処理の流れの一例を示す概略図である。
【図７】複写処理の内容を示すフローチャートである。
【図８】アプリケーション・プログラムの稼働環境としての第２のコンピュータ・システムの概略構成を示すブロック図である。
【発明を実施するための形態】
【００４１】
以下、図面を参照して本発明の実施形態の一例を詳細に説明する。図１には本実施形態に係る第１のコンピュータ・システム１０が示されている。本実施形態に係る第１のコンピュータ・システム１０は、所定のウェブサイトにアクセスした利用者に対して所定のサービス(ウェブサービス)を提供するためのアプリケーション・プログラムを開発する際に使用されるコンピュータ・システムであり、サーバ・コンピュータ１２がイントラネット１４を介して複数台のクライアント端末１６と各々接続されて構成されている。
【００４２】
個々のクライアント端末１６は、上記のアプリケーション・プログラムを開発する開発者によって操作される端末であり、例えばパーソナル・コンピュータ(ＰＣ：Personal Computer)等から成り、ＣＰＵ１６Ａ、ＲＡＭ等から成るメモリ１６Ｂ、ＨＤＤ(Hard Disk Drive)やフラッシュメモリ等から成る不揮発性の記憶部１６Ｃ、ネットワークインタフェース(Ｉ／Ｆ)部１６Ｄを備えている。個々のクライアント端末１６には、表示手段としてのディスプレイ１８、入力手段としてのキーボード２０及びマウス２２が各々接続されており、ネットワークＩ／Ｆ部１６Ｄを介してイントラネット１４に接続されている。
【００４３】
また、上記のアプリケーション・プログラムは、所定のウェブサイトにおけるユーザインタフェース(ＵＩ)の部分を実現するための画面制御プログラム(請求項３に記載の第３プログラム)と、利用者に所定のウェブサービスを提供するためのウェブサービス提供プログラム(本発明に係る第２プログラムの一例)と、両者の間の変数の受け渡しを実現するインタフェース・プログラム(本実施形態では前記インタフェース・プログラムとして、ＪＳＦ(Java（登録商標） Server Faces)の規格に準拠したマネージド・ビーンを例に説明する)と、から構成される。
【００４４】
クライアント端末１６の記憶部１６Ｃには、上記の画面制御プログラムを生成・開発するためのＵＩ構築ツールのプログラムと、上記のウェブサービス提供プログラムを生成・開発するためのウェブサービス作成ツールのプログラムが各々インストールされている。なお、ＵＩ構築ツールは請求項５に記載の第１のツールに、ウェブサービス作成ツールは請求項９に記載の第２のツールに各々対応している。ＵＩ構築ツールとしてはＪＳＦの規格に準拠したツールが好適であるが、他の規格に準拠したツールであってもよい。またウェブサービス作成ツールとしてはＢＰＥＬ(Business Process Execution Language)の規格に準拠したツールが好適であるが、他の規格に準拠したツールであってもよい。
【００４５】
また、クライアント端末１６の記憶部１６Ｃには、ＵＩ構築ツールを用いて生成された画面制御プログラム、当該画面制御プログラムを実行するためのプラットフォームとして機能する第１プラットフォーム・プログラム、本発明に係る第１プログラムの一例である試作用スクリプト、マネージド・ビーン生成プログラム、マネージド・ビーン(プログラム)、試作用スクリプトやマネージド・ビーンに組み込まれたプログラムを実行するためのプラットフォームとして機能する第２プラットフォーム・プログラムも各々インストールされている。クライアント端末１６は請求項１１,１２に記載のコンピュータに対応しており、マネージド・ビーン生成プログラムは、請求項１１,１２に記載のアプリケーション開発支援プログラムのうちコンピュータを生成手段として機能させるプログラムに対応している。
【００４６】
一方、サーバ・コンピュータ１２は、ＣＰＵ１２Ａ、ＲＡＭ等から成るメモリ１２Ｂ、不揮発性の記憶部１２Ｃ、ネットワークＩ／Ｆ部１２Ｄを備えており、ネットワークＩ／Ｆ部１２Ｄを介してイントラネット１４に接続されている。前述のウェブサービス作成ツールを用いたウェブサービス提供プログラムの開発では、個々のウェブサービス(例えば後述する「書籍検索」等)を単位としてプログラムが開発されるが、開発されたウェブサービス提供プログラムは、他のウェブサイトにおける同一ウェブサービスの提供にも利用可能である。このため、サーバ・コンピュータ１２の記憶部１２Ｃには、開発されてクライアント端末１６からアップロードされたウェブサービス提供プログラムを登録するためのウェブサービス・ライブラリが記憶されており、このウェブサービス・ライブラリに登録されたウェブサービス提供プログラムは、互いに異なるクライアント端末１６を操作する複数の開発者が各々使用可能とされている。
【００４７】
次に図８を参照し、第１のコンピュータ・システム１０によって開発されたアプリケーション・プログラムの稼働環境としての第２のコンピュータ・システム３０の構成について説明する。第２のコンピュータ・システム３０は特定ウェブサイトを運営するためのウェブサイト運営システム３２を備えている。ウェブサイト運営システム３２は、アプリケーション・サーバ３４、ウェブサービス提供サーバ３６及びＤＢ（データベース）サーバ３８を備え、ウェブサービス提供サーバ３６及びＤＢサーバ３８が通信回線を介してアプリケーション・サーバ３４に各々接続されて構成されている。
【００４８】
アプリケーション・サーバ３４は、ＣＰＵ３４Ａ、ＲＡＭ等から成るメモリ３４Ｂ、不揮発性の記憶部３４Ｃ、ネットワークＩ／Ｆ部３４Ｄを備えている。なお、記憶部３４Ｃに記憶されるプログラムについては後述する。アプリケーション・サーバ３４のネットワークＩ／Ｆ部３４Ｄはイントラネット４０に接続されており(イントラネット４０に代えてインターネットに接続されていてもよい)、イントラネット４０には、ＣＰＵ４２Ａ、ＲＡＭ等から成るメモリ４２Ｂ、不揮発性の記憶部４２Ｃ、ネットワークＩ／Ｆ部４２Ｄを備え、記憶部４２Ｃにブラウザ（ウェブ閲覧ソフト）のプログラムがインストールされていると共に、表示手段としてのディスプレイ４４、入力手段としてのキーボード４６及びマウス４８が各々接続されたクライアント端末４２が複数台接続されている。また、ウェブサービス提供サーバ３６はＣＰＵ３６Ａ、ＲＡＭ等から成るメモリ３６Ｂ、不揮発性の記憶部３６Ｃ、ネットワークＩ／Ｆ部３６Ｄを備えている。なお、記憶部３６Ｃに記憶されるプログラムについても後述する。
【００４９】
次に本実施形態の作用を説明する。本実施形態で開発対象としているアプリケーション・プログラムは、ユーザインタフェースを実現するための画面制御プログラムと、ウェブサービスを提供するためのウェブサービス提供プログラムを含んで構成される。この種の構成のアプリケーション・プログラムの開発は一般に以下のような手順を経て行われることが多い。
【００５０】
すなわち、まず開発者は、開発対象のアプリケーション・プログラムの要件(例えば画面制御プログラムとウェブサービス提供プログラムとの間で受け渡す変数等)を規定し、次に規定した要件に従い、ウェブサービス提供プログラムの入力変数及び出力変数の名称や型等を記述した変数定義情報を設定する。次に、開発者は、ウェブサービス作成ツールを用い、ウェブサービス提供プログラムによって実現される処理を規定するフローチャートを作成した後に、作成したフローチャート及び設定した変数定義情報に基づき、ウェブサービス作成ツールによってウェブサービス提供プログラムを自動生成させる。また開発者は、設定した変数定義情報に基づき、所定のツールにより、画面制御プログラムとウェブサービス提供プログラムとの間で受け渡す変数の格納領域及び両プログラムの間での変数の受け渡しを行うプログラムが組み込まれたマネージド・ビーン自動生成させる。更に開発者は、ＵＩ構築ツールを用い、ユーザインタフェース画面を作成したり、ユーザインタフェース画面の中の情報入力欄や情報表示欄をマネージド・ビーンに組み込まれている対応する変数の格納領域と関連付ける(バインドさせる)等の操作を行ってユーザインタフェースを構築した後に、ＵＩ構築ツールによって画面制御プログラムを自動生成させる。これにより、画面制御プログラム、ウェブサービス提供プログラム及びマネージド・ビーンを含むアプリケーション・プログラムが開発される。
【００５１】
これに対し、上記のようなアプリケーション・プログラムの開発に、開発対象のアプリケーション・プログラムの要件を厳密に規定することなく開発を開始し、要件等の変更が生じた場合に素早く適応しながら開発を進めていく適応的な開発手法(アジャイルソフトウェア開発)を適用した場合、特に画面制御プログラムによって実現されるユーザインタフェースについては、現状のユーザインタフェースを顧客に提示しながら顧客と議論し、顧客の要望等に応じてユーザインタフェース等を変更し、変更後の新たなユーザインタフェース等を顧客に再提示することを繰り返しながら画面構成を含む要件を決めていくことになるので、画面制御プログラムによって実現されるユーザインタフェースが確定する迄の間は、画面制御プログラムとウェブサービス提供プログラムとの間で受け渡す変数等が変更される可能性がある。そして、前記変数が変更された場合、ウェブサービス提供プログラムの変更に加え、変数定義情報及びマネージド・ビーンの変更も必要となるので、前記変数が変更される頻度によっては開発者に多大な負担が掛かると共に、変更後の新たなユーザインタフェース等を顧客に再提示する迄の期間も長期化するという問題がある。
【００５２】
このため本実施形態では、適応的な開発手法を適用してアプリケーション・プログラムを開発するにあたり、アプリケーション・プログラムの開発期間を、開発対象のアプリケーション・プログラムの要件が確定し、画面制御プログラムとウェブサービス提供プログラムとの間で受け渡す変数が確定する迄の第１期間(第１フェーズ)と、開発対象のアプリケーション・プログラムの要件が確定し前記変数が確定した以降の第２期間(第２フェーズ)と、に分けており、第１フェーズでは、ウェブサービス提供プログラムに代えて、スクリプト言語(例えばＪＲｕｂｙ等)によって記述した簡易的な処理を行うプログラム(試作用スクリプト)を用いると共に、マネージド・ビーンとしても試作用スクリプトのためのマネージド・ビーン(画面制御プログラムと試作用スクリプトの間の変数の受け渡しを実現するマネージド・ビーン)を用い、第１フェーズから第２フェーズへ移行する際に、試作用スクリプトからウェブサービス提供プログラムへ切り替えると共に、マネージド・ビーンの切り替えも行うようにしている。以下、本実施形態におけるアプリケーション・プログラムの開発について、順を追って説明する。
【００５３】
すなわち、上記の第１フェーズにおいて、開発者は、ＵＩ構築ツールを用いてクライアント端末１６上で画面制御プログラムの開発を行う。画面制御プログラムの開発において、開発者は、まずクライアント端末１６上でＵＩ構築ツールのプログラムを起動する。これにより、クライアント端末１６のディスプレイ１８には、例として図２に示すような作成画面が表示される。ＵＩ構築ツールは、ＵＩを構築するための操作を開発者に行わせ、開発者による操作が完了すると、構築されたＵＩを実現する画面制御プログラムを生成する機能を備えたツールであり、図２に示す作成画面には、開発者がＵＩ画面（ウェブページ）を作成するためのＵＩ画面作成領域６０と、ＵＩ画面の構成要素として使用可能な情報入力／表示欄やボタンを含む各種のコンポーネントが表示されたパレット６２と、ＵＩ画面に配置したコンポーネントに対して各種の属性情報(プロパティ)を設定するためのプロパティ設定領域６４が各々設けられている。また、開発者が所定の操作を行った場合には、ＵＩ画面作成領域６０で作成された複数のＵＩ画面の間の遷移を定義するための画面遷移定義領域も表示される(図２では図示を省略している)。
【００５４】
クライアント端末１６のディスプレイ１８に上記のような作成画面が表示されると、開発者は、構築対象のＵＩを規定するための操作を行うことで、ウェブサービスを提供する所定のウェブサイトにおけるＵＩの構築(画面制御プログラムの開発)を行う。すなわち開発者は、マウス２２やキーボード２０を介し、パレット６２内に表示されている各種コンポーネントの中から所望のコンポーネントを選択してＵＩ画面作成領域６０内の所望の位置に配置し、必要に応じて、ＵＩ画面内に表示すべきテキスト情報を入力したり、属性情報を設定する操作(第１の操作)を繰り返すことで、所定のウェブサイトを構成する複数のＵＩ画面(ウェブページ)を順に作成(設計)する。
【００５５】
例えば「書籍名」及び「著者」を入力項目とし、この入力項目の値を検索条件として書籍の検索を行った結果のうち、「出版社」及び「発行日」を出力項目として表示する書籍検索画面を作成(設計)する場合には、開発者により、パレット６２内に表示されている各種コンポーネントの中から情報入力用のコンポーネントや情報表示用のコンポーネント、検索の実行を指示するためのコンポーネントを選択し、選択したコンポーネントをＵＩ画面作成領域６０内の所望の位置に各々配置すると共に、配置したコンポーネントの属性情報を設定する操作が行われる。これにより、図２のＵＩ画面作成領域６０内に示すように、情報入力欄５０、検索指示ボタン５２及び情報表示欄５４が各々配置された書籍検索画面が作成(設計)される。
【００５６】
また、ＵＩ画面に配置した個々の情報入力欄５０に対しては、属性情報として、個々の情報入力欄５０を、マネージド・ビーンに組み込まれている変数の格納領域のうち個々の情報入力欄５０を介して入力される変数の格納領域と関連付ける(ＵＩバインドともいう)情報もプロパティ設定領域６４に設定され、ＵＩ画面に配置した個々の情報表示欄５４に対しては、属性情報として、個々の情報表示欄５４を、マネージド・ビーンに組み込まれている変数の格納領域のうち個々の情報表示欄５４に表示させる変数の格納領域と関連付ける(ＵＩバインド)情報もプロパティ設定領域６４に設定される。
【００５７】
ここで、例えばマネージド・ビーンを経由して画面制御プログラムと変数を受け渡すプログラムがＢＰＥＬの規格に準拠したウェブサービス提供プログラムである場合、マネージド・ビーンには、ウェブサービス提供プログラムの個々の入力変数及び個々の出力変数を単位として変数の格納領域を設ける必要がある。これに対し、マネージド・ビーンを経由して画面制御プログラムと変数を受け渡すプログラムが、例えばＪＲｕｂｙ等のスクリプト言語によって記述した試作用スクリプトである場合、試作用スクリプトへの変数の引き渡しは、任意の変数を任意の数だけＫＥＹ−ＶＡＬＵＥ形式(個々の変数毎に名称(ＫＥＹ)と値(ＶＡＬＵＥ)を登録する形式)で一括して格納した単一の領域の情報をそのまま引き渡すことで実現できる。
【００５８】
このため本実施形態では、第１フェーズで用いる試作用スクリプトのためのマネージド・ビーンとして、例として図３に示すように、画面制御プログラムから受け渡された全ての変数をＫＥＹ−ＶＡＬＵＥ形式で一括して格納するための一括格納領域(図３に示す一括格納領域map1)と、画面制御プログラムへ受け渡す全ての変数をＫＥＹ−ＶＡＬＵＥ形式で一括して格納するための一括格納領域(図３に示す一括格納領域map2)が組み込まれると共に、ＵＩ画面と試作用スクリプトとの間の変数の受け渡しを行う変数受渡プログラムが組み込まれた汎用的なマネージド・ビーン(図３に示すマネージド・ビーン"foo")が予め用意されている。なお、上記の一括格納領域は本発明に係る第１格納領域に対応しており、試作用スクリプトのためのマネージド・ビーンは請求項３に記載の第１ファイルに対応している。
【００５９】
このため、本実施形態では、ＵＩ画面に配置した個々の情報入力欄５０に対しては、従来のように変数単位の格納領域(個別格納領域)と関連付けることに代えて、画面制御プログラムから受け渡された変数の一括格納領域(例えば図３に示す一括格納領域map1)と関連付けると共に、個々の情報入力欄５０を介して入力される変数の名称を指定する操作が行われる。例えば図３では、ＵＩ画面の一例である書籍検索画面内の個々の情報入力欄５０に設定される属性情報の一例を個々の情報入力欄５０に明示しており、例えば「書籍名」の情報入力欄５０に明示している属性情報"#(foo.map1.name)"のうち、"#(foo.map1.…)"の部分は前記情報入力欄５０をマネージド・ビーン"foo"の一括格納領域map1と関連付けることを表し、"#(….name)"の部分は前記情報入力欄５０を介して入力される変数の名称が"name"であることを表している。
【００６０】
また、本実施形態では、ＵＩ画面に配置した個々の情報表示欄５４に対しても、従来のように変数単位の個別格納領域と関連付けることに代えて、画面制御プログラムへ受け渡す変数の一括格納領域(例えば図３に示す一括格納領域map2)と関連付けると共に、個々の情報表示欄５４に表示する変数の名称を指定する操作が行われる。例えば図３では、ＵＩ画面の一例である書籍検索画面内の個々の情報表示欄５４に設定される属性情報の一例も個々の情報表示欄５４に明示しており、例えば「出版社」の情報表示欄５４に明示している属性情報"#(foo.map2.publish)"のうち、"#(foo.map2.…)"の部分は前記情報表示欄５４をマネージド・ビーン"foo"の一括格納領域map2と関連付けることを表し、"#(….publish)"の部分は前記情報表示欄５４に表示する変数の名称が"publish"であることを表している。
【００６１】
また、ウェブサイトを構成する全てのＵＩ画面(ウェブページ)を作成すると、開発者は、クライアント端末１６のディスプレイ１８に画面遷移定義領域を表示させ、作成した各ＵＩ画面の遷移を表示された画面遷移定義領域内で規定する操作を行う。そして、上記のような操作を経てＵＩを規定する操作が完了すると、開発者はＵＩ構築ツールに対し、前記ＵＩを実現するプログラムの生成を指示する。これによりＵＩ構築ツールは、開発者によって構築されたＵＩを実現する(クライアント端末４２(図８参照)からの要求に応じて、クライアント端末４２のディスプレイ４４に各ＵＩ画面を順に表示させる)画面制御プログラムを生成する。この画面制御プログラムは、個々のＵＩ画面を規定するデータと、利用者により個々のＵＩ画面を介して各種の操作が行われた場合の処理を規定するプログラムを含んで構成される。
【００６２】
また開発者は、第１フェーズで試作用スクリプトの開発も行う。試作用スクリプトは、画面制御プログラムによって実現される現状のＵＩを顧客へ提示する際に、ウェブサービス提供プログラムが存在しない状態で、ウェブサービス提供プログラムが存在している場合と同様にＵＩ画面の表示を変化させたりＵＩ画面を遷移させるための擬似的な処理を行うプログラムであり、例えば図３に示す例において、試作用スクリプトは、マネージド・ビーン"foo"から一括格納領域map1の情報を受け取ると共に、ＫＥＹ−ＶＡＬＵＥ形式で適当な値を設定した情報を一括格納領域map2の情報としてマネージド・ビーン"foo"へ受け渡す処理を行う。試作用スクリプトの開発は、例えば上記の擬似的な処理を実現するプログラムをＪＲｕｂｙ等のスクリプト言語で記述・作成し、作成したプログラムをクライアント端末１６上で起動したテキストエディタ等を介して順に入力していくことによって成される。試作用スクリプトによって実現すべき処理はごく簡単な処理であり、試作用スクリプトの開発は開発者の負担となることなく短時間で完了する。
【００６３】
本実施形態では、第１のコンピュータ・システム１０を構成する複数台のクライアント端末１６のうちの少なくとも一部がノート型等の携帯が容易なＰＣで構成されており、上述した作業を経て画面制御プログラム、試作用スクリプト及び試作用スクリプトのためのマネージド・ビーンが全て揃うと、開発者は、これらを携帯が容易なＰＣから成るクライアント端末１６の記憶部１６Ｃに記憶させ(図１に示す第１／第２プラットフォーム・プログラムも記憶させる)、顧客のところへ出向いて現状のユーザインタフェース等を顧客に提示しながら要件等について顧客と議論を行う際に、前記クライアント端末１６をイントラネット１４から切り離して持ち出す。そして開発者は、顧客がクライアント端末１６のディスプレイ１８を注視している状態で画面制御プログラムを起動し、ディスプレイ１８に表示されたＵＩ画面内の情報入力欄に情報を入力したり、ボタンを選択する等の操作を行う。なお、これらの操作は顧客によって行われる場合もある。
【００６４】
例えばＵＩ画面内の情報入力欄５０に情報を入力し、所定のウェブサービスを提供する処理の実行を指示するボタンを選択する操作が行われた場合、図３にも示すように、画面制御プログラムは、情報が入力された情報入力欄５０に設定されている属性情報に従い、当該属性情報で名称が指定されているマネージド・ビーン(試作用スクリプトのためのマネージド・ビーン)のうち、前記属性情報で名称が指定されている一括格納領域(画面制御プログラムから受け渡される変数の一括格納領域)に、入力された情報(の変数名及び値)をＫＥＹ−ＶＡＬＵＥ形式で格納し、マネージド・ビーンの変数受渡プログラムを呼び出す処理をクライアント端末１６によって行わせる。例えば図３の例では、「書籍名」の情報入力欄５０に名称が"name"の変数の値として"AA"が、「著者」の情報入力欄５０に名称が"writer"の変数の値として"aa"が各々入力され、これらの変数の値がマネージド・ビーン"foo"の一括格納領域map1にＫＥＹ−ＶＡＬＵＥ形式で格納された状態を示している。なお、このとき一括格納領域に格納される変数は本発明に係る第１入力変数に対応している。
【００６５】
マネージド・ビーンの変数受渡プログラムは、画面制御プログラムから呼び出されると試作用スクリプトを呼び出し、マネージド・ビーンに組み込まれている一括格納領域のうち画面制御プログラムから受け渡される変数の一括格納領域(図３の例では一括格納領域map1)に格納されている情報を試作用スクリプトへ全て引き渡す処理をクライアント端末１６によって行わせる。
【００６６】
また試作用スクリプトでは、変数受渡プログラムから呼び出され、一括格納領域に格納されている全ての情報が引き渡されると、まず試作用スクリプトを実行するためのプラットフォームとして機能する第２プラットフォーム・プログラムがクライアント端末１６によって実行されることで、変数受渡プログラムから引き渡された情報にＫＥＹ−ＶＡＬＵＥ形式で設定されている個々の変数の型を決定する処理が行われる。続いて試作用スクリプトがクライアント端末１６によって実行されることで、前述の擬似的な処理(本発明に係る第１処理に対応する処理)が、決定された個々の変数の型に応じて行われる。この擬似的な処理の中には、マネージド・ビーンに組み込まれている一括格納領域のうち、画面制御プログラムへ受け渡す変数の一括格納領域(図３の例では一括格納領域map1)に格納すべき情報 (予め設定された変数についてＫＥＹ−ＶＡＬＵＥ形式で名称及び値を設定した情報)を生成し、マネージド・ビーンの変数受渡プログラムを呼び出し、生成した情報を変数受渡プログラムに引き渡す処理も含まれる。
【００６７】
マネージド・ビーンの変数受渡プログラムは、試作用スクリプトから呼び出されて情報が引き渡されると、引き渡された情報を、マネージド・ビーンに組み込まれている一括格納領域のうち画面制御プログラムへ受け渡す変数の一括格納領域(図３の例では一括格納領域map2)に格納した後に、画面制御プログラムを呼び出す処理をクライアント端末１６によって行わせる。例えば図３の例では、マネージド・ビーン"foo"の一括格納領域map2に、変数の名称"publish"とその値"BB"及び変数の名称"date"とその値"bb"がＫＥＹ−ＶＡＬＵＥ形式で各々格納された状態を示している。なお、このとき一括格納領域に格納される変数は本発明における第１出力変数に対応している。
【００６８】
そして画面制御プログラムは、マネージド・ビーンの変数受渡プログラムから呼び出されると、ＵＩ画面内の情報表示欄５４に設定されている属性情報に従い、当該属性情報で指定されている試作用スクリプトのためのマネージド・ビーンのうち、前記属性情報で指定されている一括格納領域(画面制御プログラムへ受け渡す変数の一括格納領域)より、前記属性情報で指定されている名称の変数の値を読み出し、読み出した変数の値を対応する情報表示欄５４内に表示させる処理をクライアント端末１６によって行わせる。例えば図３の例では、「出版社」の情報表示欄５４に名称が"publish"の変数の値として"BB"が、「発行日」の情報表示欄５４に名称が"date"の変数の値として"bb"が各々表示される。
【００６９】
なお、試作用スクリプトのためのマネージド・ビーンに組み込まれている変数受渡プログラムによって実現される上述した処理は、本発明に係る第１制御手段(詳しくは請求項２に記載の第１制御手段)に相当する処理であり、試作用スクリプトのためのマネージド・ビーンに組み込まれている変数受渡プログラムは、本発明に係るアプリケーション開発支援プログラムの一部を構成している。
【００７０】
クライアント端末１６のディスプレイ１８に表示されたＵＩ画面に対し、開発者(又は顧客)によってＵＩ画面の表示の変化やＵＩ画面の遷移を伴う操作が行われる毎に、画面制御プログラム、マネージド・ビーンの変数受渡プログラム及び試作用スクリプトが協働して上述したような処理が行われ、擬似的なＵＩ画面の表示の変化やＵＩ画面の遷移が生ずることで、クライアント端末１６のディスプレイ１８を注視している顧客は、現在の画面制御プログラムによって実現される現状のユーザインタフェースを把握することができ、その適否等について開発者と議論したり、現状のユーザインタフェースに対する改良点等の要望を開発者へ伝えたりすることが可能となる。
【００７１】
開発者は、顧客との議論を経て、或いは顧客から改良点等の要望が伝えられることで、現在の画面制御プログラムによって実現される現状のユーザインタフェースの変更が必要となった場合、画面制御プログラムによって実現されるユーザインタフェースが顧客が所望している新たなユーザインタフェースへ変化するように、ＵＩ構築ツールを用いて画面制御プログラムを修正する。なお、ユーザインタフェースの変更内容によっては画面制御プログラムと試作用スクリプトの間で受け渡す変数の内容や数が変化し、試作用スクリプトも修正する必要が生ずるが、その場合もマネージド・ビーンに関しては変数受渡プログラムによって実現される処理も一括格納領域も変更の必要は無い。このため、ユーザインタフェースの変更の程度にも依存するが、画面制御プログラム(及び試作用スクリプト)の修正をその場で行うことで、新たなユーザインタフェースをその場で顧客へ提示することも可能となる。
【００７２】
上述した各工程を経て開発対象のアプリケーション・プログラムの要件が確定し、画面制御プログラムと試作用スクリプト(本来はウェブサービス提供プログラム)の間で受け渡す変数も確定すると、開発者は、確定した変数に基づき、続いて開発するウェブサービス提供プログラムの入力変数及び出力変数の名称や型等を記述した変数定義情報を設定・生成する。この変数定義情報は、例えばＢＰＥＬの規格ではＷＳＤＬ(Web Service Description Language)と称されている。また、本実施形態では、ウェブサービス提供プログラムの入力変数及び出力変数に対し、「ＵＩ画面の情報入力欄や情報表示欄に属性情報として設定した対応する変数と同一の名称を用いる」という開発ルールが存在しており、開発者は上記の開発ルールに従ってウェブサービス提供プログラムの個々の入力変数及び個々の出力変数の名称を決定し、決定した名称を変数定義情報に設定する。
【００７３】
変数定義情報の設定・生成が完了すると、開発者は、ウェブサービス作成ツールを用いてウェブサービス提供プログラムの開発を行う。すなわち、開発者がクライアント端末１６上でウェブサービス作成ツールのプログラムを起動すると、クライアント端末１６のディスプレイ１８には、例として図４Ａに示すような作成画面が表示される。ウェブサービス作成ツールは、提供対象のウェブサービスを実現する処理を規定するフローチャートが開発者によって作成されると、作成されたフローチャートが表す処理を実行するためのウェブサービス提供プログラムを生成する処理をコンピュータによって行わせる機能を備えたツールであり、図４Ａに示す作成画面には、開発者がフローチャートを作成するための作業領域と、フローチャートの作成に利用可能で互いに異なる処理を表す複数種の部品(シンボル)７２が表示されたパレット７０が設けられている。
【００７４】
上記の作成画面が表示されると、開発者は、マウス２２やキーボード２０を介し、パレット７０内に表示されている複数の部品７２の中から所望の部品７２を選択して作業領域７４に配置し、必要に応じて、配置した部品７２が表す処理の内容を規定する情報を入力すると共に、配置した部品７２と作業領域７４に既に配置した部品７２との接続関係（各部品７２が表す処理の実行順序）を規定する操作を繰り返すことで、例として図４Ｂに示すように、提供対象のウェブサービスを実現する処理を規定するフローチャートを作成する。フローチャートの作成が完了すると、開発者は、作成したフローチャートに対応するプログラムの生成を指示する操作を行う。
【００７５】
パレット内に表示されている個々の部品には、個々の部品が表す処理を実現するためのプログラムが付加されており、ウェブサービス作成ツールは、プログラムの生成が指示されると、作成されたフローチャートを構成する個々の部品に付加されているプログラムを、開発者によって入力された処理内容を規定する情報及び変数定義情報に記述された個々の入力／出力変数の型等に基づいて修正し、作成されたフローチャートにおける個々の部品の接続関係に応じて並べ替える等の処理を行うことで、作成されたフローチャートが表す処理を実行するためのプログラム(ウェブサービス提供プログラム)を生成する処理をコンピュータによって行わせる。これにより、所望のウェブサービスを提供するウェブサービス提供プログラムが開発される。
【００７６】
続いて開発者は、ウェブサービス提供プログラムのためのマネージド・ビーン(画面制御プログラムとウェブサービス提供プログラムの間の変数の受け渡しを実現する新たなマネージド・ビーン)を得るために、クライアント端末１６上でマネージド・ビーン生成プログラムを起動する。これにより、図５に示すマネージド・ビーン生成処理がクライアント端末１６によって行われる。
【００７７】
マネージド・ビーン生成処理では、まずステップ１００において、ウェブサービス提供プログラムの入力／出力変数を記述した変数定義情報(例えばＢＰＥＬの規格ではＷＳＤＬ)を参照し、変数定義情報に記述されている入力変数及び出力変数を全て抽出する。次のステップ１０２では、新たに生成するマネージド・ビーンに組み込むコンポーネントの１つとして、ステップ１００で抽出した個々の変数毎に変数の格納領域(個別格納領域)を生成する。例えばウェブサービス提供プログラムの入力変数が変数"name"及び変数"writer"であり、出力変数が変数"publish"及び変数"date"である場合、例として図６に示すように、各変数を格納するための４個の個別格納領域５６が生成されることになる。なお、上記処理で生成される個別格納領域は本発明に係る第２格納領域に対応している
次のステップ１０４では、新たに生成するマネージド・ビーンに組み込むコンポーネントの１つとして、ステップ１０２で生成した個別格納領域とウェブサービス提供プログラムとの間で変数を受け渡す処理をコンピュータによって行わせるための変数受渡プログラムを生成する。例えばウェブサービス提供プログラムの入力変数が変数"name"及び変数"writer"である場合、上記のステップ１０４の処理により、変数受渡プログラムとして、ウェブサービス提供プログラムを呼び出し、変数"name"の個別格納領域に格納された値(データ)及び変数"writer"の個別格納領域に格納された値(データ)を読み出し、読み出したデータを呼び出したウェブサービス提供プログラムへ引き渡す処理をコンピュータによって行わせるためのプログラムが生成される。なお、マネージド・ビーンがＪａｖａプラットフォーム上で動作し、ウェブサービス提供プログラムがＢＰＥＬの規格に準拠している(ＢＰＥＬのプラットフォーム)プログラムの場合、上記のプログラムは、個別格納領域から読み出したｊａｖａのデータをＸＭＬ形式のデータへ変換する処理もコンピュータによって行わせるように構成する必要があり、図６では上記のプログラムを「Ｊａｖａ→ＸＭＬ変換部」と表記して示している。
【００７８】
また、例えばウェブサービス提供プログラムの出力変数が変数"publish"及び変数"date"である場合、上記のステップ１０４の処理により、変数受渡プログラムとして、ウェブサービス提供プログラムから呼び出されると共に、ウェブサービス提供プログラムから変数"publish"の値(データ)及び変数"date"の値(データ)が引き渡されると、引き渡された変数"publish"の値(データ)を変数"publish"の個別格納領域に格納すると共に、引き渡された変数"date"の値(データ)を変数"date"の個別格納領域に格納する処理をコンピュータによって行わせるためのプログラムも生成される。なお、マネージド・ビーンがＪａｖａプラットフォーム上で動作し、ウェブサービス提供プログラムがＢＰＥＬの規格に準拠している(ＢＰＥＬのプラットフォーム)プログラムの場合、上記のプログラムは、ウェブサービス提供プログラムから引き渡されたＸＭＬ形式のデータをｊａｖａのデータへ変換する処理もコンピュータによって行わせるように構成する必要があり、図６では上記のプログラムを「ＸＭＬ→Ｊａｖａ変換部」と表記して示している。
【００７９】
次のステップ１０６では、新たに生成するマネージド・ビーンに組み込むコンポーネントの１つとして、試作用スクリプトのためのマネージド・ビーンに組み込まれている一括格納領域(画面制御プログラムから受け渡される変数の一括格納領域及び画面制御プログラムへ受け渡す変数の一括格納領域)を前記マネージド・ビーンから抽出する。またステップ１０８では、新たに生成するマネージド・ビーンに組み込むコンポーネントの１つとして、ステップ１０６で抽出した一括格納領域と先のステップ１０２で生成した個別格納領域の間で変数を複写する変数複写プログラムを生成する。
【００８０】
例えばウェブサービス提供プログラムの入力変数が変数"name"及び変数"writer"であり、出力変数が変数"publish"及び変数"date"である場合、上記のステップ１０８の処理により、変数複写プログラムとして、画面制御プログラムから受け渡される変数の一括格納領域に変数"name"及び変数"writer"として新たな値が格納されると、格納された変数"name"の新たな値を変数"name"の個別格納領域に、格納された変数"writer"の新たな値を変数"writer"の個別格納領域に各々複写し、変数"publish"の個別格納領域及び変数"date"の個別格納領域に新たな値が格納されると、格納された変数"publish"及び変数"date"の新たな値を、画面制御プログラムへ受け渡す変数の一括格納領域にＫＥＹ−ＶＡＬＵＥ形式で各々複写する処理をコンピュータによって行わせるためのプログラムが生成される。なお、図６では上記のプログラムを「変数複写部」と表記して示している。
【００８１】
そしてステップ１１０では、ステップ１０６で抽出した一括格納領域、ステップ１０２で生成した個別格納領域、ステップ１０４で生成した変数受渡プログラム及びステップ１０８で生成した変数複写プログラムを組み込んだ新たなマネージド・ビーンに対し、試作用スクリプトのためのマネージド・ビーンと同一の名称を付与してコンパイルを行い、マネージド・ビーン生成処理を終了する。なお、ステップ１１０は請求項３に記載の生成手段に対応する処理である。
【００８２】
これにより、画面制御プログラムとウェブサービス提供プログラムとの間での変数の受け渡しを実現する新たなマネージド・ビーンが生成される。なお、マネージド・ビーン生成プログラムによって実現される上述のマネージド・ビーン生成処理は、本発明に係る生成手段に相当する処理であり、マネージド・ビーン生成プログラムは、本発明に係るアプリケーション開発支援プログラムの一部を構成している。また、上述のマネージド・ビーン生成処理によって生成されるウェブサービス提供プログラムのためのマネージド・ビーンは、請求項３に記載の第２ファイルに対応している。
【００８３】
上記のように変数定義情報の生成、ウェブサービス提供プログラムの開発及び新たなマネージド・ビーンの生成が終了すると、開発者は、ウェブサービス提供プログラム及び対応する変数定義情報をクライアント端末１６からサーバ・コンピュータ１２へアップロードさせ、アップロードさせたウェブサービス提供プログラムを、サーバ・コンピュータ１２が実行可能な状態で変数定義情報と共にウェブサービス・ライブラリに登録させる。なお、ウェブサービス提供プログラム及び変数定義情報をウェブサービス・ライブラリに登録することで、これらを他の開発者が使用することも可能となる。続いて開発者は、クライアント端末１６の記憶部１６Ｃに記憶されているマネージド・ビーン(試作用スクリプトのためのマネージド・ビーン)を、新たに生成したマネージド・ビーンと入れ替えることで、第１フェーズから第２フェーズへ移行する。
【００８４】
なお、第２フェーズでは試作用スクリプトを使用しないので、第１フェーズから第２フェーズへの移行に際し、クライアント端末１６の記憶部１６Ｃに記憶されている試作用スクリプトを消去するようにしてもよいが、マネージド・ビーンの入れ替えに伴い試作用スクリプトがマネージド・ビーンから呼び出されることは無くなるので、そのまま記憶させておいてもよい。第２フェーズでは、マネージド・ビーンの入れ替えに伴い、マネージド・ビーンを経由して画面制御プログラムと変数を受け渡すプログラムが試作用スクリプトからウェブサービス提供プログラムに切り替わり、サーバ・コンピュータ１２によってウェブサービス提供プログラムが実行されることで、試作用スクリプトによる擬似的な処理に代えて、指示されたウェブサービスを利用者に提供する処理が行われることになる。
【００８５】
すなわち、クライアント端末１６上で画面制御プログラムを起動した後に、ディスプレイ１８に表示されたＵＩ画面内の情報入力欄に情報を入力し、所定のウェブサービスを提供する処理の実行を指示するボタンを選択する操作が行われた場合、図６にも示すように、画面制御プログラムは、情報が入力された情報入力欄５０に設定されている属性情報に従い、当該属性情報で名称が指定されているマネージド・ビーンのうち、前記属性情報で名称が指定されている一括格納領域(画面制御プログラムから受け渡された変数の一括格納領域)に、入力された情報(の変数名及び値)をＫＥＹ−ＶＡＬＵＥ形式で格納する処理をクライアント端末１６によって行わせる。
【００８６】
ここで、入替後の新たなマネージド・ビーン(ウェブサービス提供プログラムのためのマネージド・ビーン)は、入替前のマネージド・ビーン(試作用スクリプトのためのマネージド・ビーン)と名称が同一であり、入替前のマネージド・ビーンと同一の名称の一括格納領域も組み込まれているので、情報入力欄５０に設定されている属性情報の変更を必要とすることなく、情報入力欄５０に入力された情報の変数名及び値は、マネージド・ビーン入替前と同様に、入替後の新たなマネージド・ビーンの一括格納領域にＫＥＹ−ＶＡＬＵＥ形式で格納され、マネージド・ビーンの変数受渡プログラムが呼び出される。
【００８７】
ここで、新たなマネージド・ビーンに組み込まれている変数複写プログラムは、図７に示す変数複写処理をクライアント端末１６によって行わせている。すなわち変数複写処理では、ステップ１２０において、マネージド・ビーンに組み込まれている一括格納領域に新たな変数の値が格納されたか否か判定する。判定が否定された場合はステップ１２２へ移行し、マネージド・ビーンに組み込まれている何れかの個別格納領域に変数の値が新たに格納されたか否か判定する。この判定も否定された場合はステップ１２０に戻り、何れかの判定が肯定される迄ステップ１２０,１２２を繰り返す。
【００８８】
前述のように、画面制御プログラムにより、情報入力欄５０に入力された情報の変数名及び値がマネージド・ビーンの一括格納領域にＫＥＹ−ＶＡＬＵＥ形式で格納されると、ステップ１２０の判定が肯定されてステップ１２４へ移行し、一括格納領域に新たに格納された変数の名称及び値を一括格納領域から読み出す。次のステップ１２６では、ステップ１２４で読み出した変数の名称に基づき、一括格納領域に値が新たに格納された変数に対応する個別格納領域(同一名称の変数を格納するための個別格納領域)を認識する。そしてステップ１２８では、ステップ１２４で読み出した変数の値を、ステップ１２６で認識した個別格納領域に複写し(図６に示す「複写Ａ」に相当)、ステップ１２０に戻る。なお、上記で一括格納領域から個別格納領域に値が複写された変数は本発明に係る第２入力変数に対応している。
【００８９】
変数複写プログラムによって上記の一括格納領域から個別格納領域への変数の値の複写が行われた後に、画面制御プログラムによって呼び出された変数受渡プログラムは、サーバ・コンピュータ１２上で動作し選択されたボタンに対応するウェブサービスを提供する処理を行うウェブサービス提供プログラムを呼び出し、マネージド・ビーンに組み込まれている個別格納領域のうち、変数定義情報によって規定されたウェブサービス提供プログラムの入力変数の個別格納領域(すなわち変数複写プログラムによって変数の値が複写された個別格納領域)に格納されている変数の値を、呼び出したウェブサービス提供プログラムに引数として引き渡す処理をクライアント端末１６によって行わせる。これにより、ＵＩ画面内の情報入力欄に入力された変数の値が画面制御プログラムからウェブサービス提供プログラムへ引き渡され、このウェブサービス提供プログラムがサーバ・コンピュータ１２によって実行されることで、引き渡された変数(入力変数)の値に応じたウェブサービスを提供する処理がサーバ・コンピュータ１２によって行われることになる。
【００９０】
また、ウェブサービス提供プログラムに基づく処理が終了すると、ウェブサービス提供プログラムによってマネージド・ビーンの変数受渡プログラムが呼び出され、変数定義情報によって規定されたウェブサービス提供プログラムの出力変数の値が、ウェブサービス提供プログラムから変数受渡プログラムへ引数として引き渡される。呼び出された変数受渡プログラムは、引き渡された変数の値を、マネージド・ビーンに組み込まれている個別格納領域のうち、変数定義情報によって規定されたウェブサービス提供プログラムの出力変数の個別格納領域に格納する処理をクライアント端末１６によって行わせる。なお、上記処理で個別格納領域に値が格納される変数は請求項２に記載の第１出力変数に対応している。
【００９１】
個別格納領域に変数の値が新たに格納されると、前述の変数複写処理(図７)のステップ１２２の判定が肯定されてステップ１３０へ移行し、変数の値が新たに格納された個別格納領域から前記変数の値を読み出す。次のステップ１３２では、ステップ１３０で個別格納領域から値を読み出した変数の名称を認識する。そしてステップ１３４では、ステップ１３０で個別格納領域から読み出した変数の値を、ステップ１３２で認識した変数の名称と共に、画面制御プログラムへ受け渡す変数の一括格納領域にＫＥＹ−ＶＡＬＵＥ形式で複写し、画面制御プログラムを呼び出した後にステップ１２０に戻る。なお、上記処理で一括格納領域から個別格納領域に値が複写された変数は請求項２に記載の第２出力変数に対応している。
【００９２】
マネージド・ビーンの変数複写プログラムから呼び出された画面制御プログラムは、ＵＩ画面の情報表示欄５４に設定されている属性情報に従い、当該属性情報で名称が指定されているマネージド・ビーンのうち、前記属性情報で名称が指定されている一括格納領域(画面制御プログラムへ受け渡す変数の一括格納領域)から、前記属性情報で名称が指定されている変数の値を読み出し、読み出した変数の値を情報表示欄５４に表示させる処理をクライアント端末１６によって行わせる。ここで、入替後の新たなマネージド・ビーン(ウェブサービス提供プログラムのためのマネージド・ビーン)は、入替前のマネージド・ビーン(試作用スクリプトのためのマネージド・ビーン)と名称が同一であり、入替前のマネージド・ビーンと同一の名称の一括格納領域も組み込まれているので、情報表示欄５４に設定されている属性情報の変更を必要とすることなく、画面制御プログラムへ受け渡す変数の一括格納領域に格納された変数の値は、マネージド・ビーン入替前と同様に、画面制御プログラムによって読み出されて情報表示欄５４に表示される。
【００９３】
このように、本実施形態では、画面制御プログラムと変数を受け渡すプログラムを試作用スクリプトからウェブサービス提供プログラムに切り替えることを、ウェブサービス提供プログラムをコンピュータが実行可能な状態でライブラリ等に登録すると共に、試作用スクリプトのためのマネージド・ビーンをウェブサービス提供プログラムのためのマネージド・ビーンに入れ替えるのみで実現することができ、画面制御プログラムの変更等を行う必要が無くなるので、変数定義情報の生成、ウェブサービス提供プログラムの開発及び新たなマネージド・ビーンの生成が終了後、画面制御プログラムと変数を受け渡すプログラムを試作用スクリプトからウェブサービス提供プログラムへ直ちに切り替えることができ、フェーズ２におけるウェブサービス提供プログラムのデバッグやアプリケーション・プログラム全体のデバッグに取り掛かることができる。従って、開発者の負担が軽減されると共に、アプリケーション・プログラムの開発期間を短縮することができる。
【００９４】
なお、ウェブアプリケーション提供プログラムのためのマネージド・ビーンに組み込まれている変数受渡プログラム及び変数複写プログラムによって実現される上述した処理は、本発明に係る第２制御手段(より詳しくは請求項２に記載の第２制御手段)に相当する処理であり、ウェブアプリケーション提供プログラムのためのマネージド・ビーンに組み込まれている変数受渡プログラム及び変数複写プログラムは、試作用スクリプトのためのマネージド・ビーンに組み込まれている変数受渡プログラム及びマネージド・ビーン生成プログラムと共に、本発明に係るアプリケーション開発支援プログラムを構成している。また、これらのプログラムを実行するクライアント端末１６は本発明に係るアプリケーション開発支援装置として機能する。
【００９５】
また、アプリケーション・プログラムの開発が完了し、アプリケーション・プログラム(によって実現されるウェブサイト)を図８に示す第２のコンピュータ・システム３０で稼働させる際には、開発が完了したアプリケーション・プログラムのうち、画面制御プログラム及びマネージド・ビーン(画面制御プログラムとウェブサービス提供プログラムの間の変数の受け渡しを実現するマネージド・ビーン)がアプリケーション・サーバ３４の記憶部３４Ｃに記憶(インストール)され、ウェブサービス提供プログラムがウェブサービス提供サーバ３６の記憶部３６Ｃに記憶(インストール)される。
【００９６】
また、アプリケーション・サーバ３４の記憶部３４Ｃには、画面制御プログラムを実行するためのプラットフォームとして機能する第１プラットフォーム・プログラムと、マネージド・ビーンに組み込まれているプログラムを実行するためのプラットフォームとして機能する第２プラットフォーム・プログラムも記憶(インストール)される。例えばＵＩ構築ツールがＪＳＦの規格に準拠している場合、第１プラットフォーム・プログラムとしてはＪＳＦエンジンと称されるプラットフォームを提供するプログラムが用いられ、画面制御プログラムは前記プラットフォーム（ＪＳＦエンジン）上で実行される。また、マネージド・ビーンに組み込まれているプログラムがＪａｖａのプログラムである場合、第２プラットフォーム・プログラムとしてはＪａｖａプラットフォームを提供するプログラムが用いられ、マネージド・ビーンに組み込まれているプログラムはＪａｖａプラットフォーム上で実行される。
【００９７】
また、ウェブサービス提供サーバ３６の記憶部３６Ｃには、ウェブサービス提供プログラムを実行するためのプラットフォームとして機能する第３プラットフォーム・プログラムも記憶(インストール)される。例えばウェブサービス作成プログラムがＢＰＥＬの規格に準拠している場合、第３プラットフォーム・プログラムとしてはＢＰＥＬエンジンと称されるプラットフォームを提供するプログラムが用いられ、ウェブサービス提供プログラムは前記プラットフォーム（ＢＰＥＬエンジン）上で実行される。
【００９８】
アプリケーション・サーバ３４上（詳しくはプラットフォーム・プログラムによって提供されるプラットフォーム上）で実行される画面制御プログラムは、クライアント端末４２を介して利用者からＵＩ画面の配信が要求される毎に、配信が要求されたＵＩ画面のデータを要求元のクライアント端末４２へ送信する処理をアプリケーション・サーバ３４によって行わせることで、配信が要求されたＵＩ画面を要求元のクライアント端末４２のディスプレイ４４に表示させる。また、利用者がキーボード４６等を操作することでディスプレイ４４に表示されたＵＩ画面内の情報入力欄に入力された情報は、クライアント端末４２のメモリ４２Ｂ等に一旦記憶された後に、所定のタイミング（例えば或るウェブサービスの提供を指示するためのボタンが選択された等のタイミング）でアプリケーション・サーバ３４へ転送される。
【００９９】
アプリケーション・サーバ３４へ転送された情報は、画面制御プログラムからマネージド・ビーンを経由して(図６に示すような処理を経て)ウェブサービス提供サーバ３６上で動作するウェブサービス提供プログラムへ受け渡され、ウェブサービス提供プログラムは利用者から指示されたウェブサービスを提供するための処理をウェブサービス提供サーバ３６によって行わせる。なお、ウェブサービスを提供するための処理がＤＢへのアクセスを含んでいる場合、アプリケーション・サーバ３４経由でウェブサービス提供サーバ３６からＤＢサーバ３８へＤＢへのアクセスが指示されることでＤＢへのアクセスが実現される。
【０１００】
ウェブサービスを提供するための処理が終了すると、ウェブサービス提供プログラムは、アプリケーション・サーバ３４へ情報(ウェブサービス提供プログラムの出力変数)を転送する処理をウェブサービス提供サーバ３６によって行わせ、転送された情報はマネージド・ビーン経由で(図６に示すような処理を経て)画面制御プログラムへ受け渡され、画面制御プログラムは、ウェブサービス提供サーバ３６からの情報が情報表示欄に表示されたＵＩ画面のデータをクライアント端末４２へ送信する処理をアプリケーション・サーバ３４によって行わせる。これにより、クライアント端末４２のディスプレイ４４上におけるＵＩ画面の表示が切り替わる。そして、利用者からウェブサービスの提供が指示される毎に上述した一連の処理が繰り返されることで、アプリケーション・プログラムによって実現されるウェブサイトにアクセスした利用者に対し、利用者が所望するウェブサービスが提供されることになる。
【０１０１】
なお、上記では、変数複写プログラムによって実現される変数複写処理において、一括格納領域及び個別格納領域に変数の新たな値が格納されたか否かを監視し、一括格納領域及び個別格納領域のうちの一方に新たな値が格納された場合に、格納された新たな値を一括格納領域及び個別格納領域のうちの他方に複写する処理を行う態様を説明したが、これに限定されるものではなく、画面制御プログラム又はウェブサービス提供プログラムによって呼び出される変数受渡プログラムによって実現される変数受渡処理において、呼出元が画面制御プログラムの場合は、まず変数複写プログラムを呼び出して一括格納領域から個別格納領域への変数の複写を行わせた後に、ウェブサービス提供プログラムの呼び出し及び個別格納領域に複写された変数の引き渡しを行い、呼出元がウェブサービス提供プログラムの場合は、まずウェブサービス提供プログラムから引き渡された変数を個別格納領域に格納しった後に、変数複写プログラムを呼び出して個別格納領域から一括格納領域への変数の複写を行わせるようにしてもよい。また、この態様において、変数受渡プログラムと変数複写プログラムに分けることなく、両プログラムによって実現される処理が単一のプログラムによって実現されるようにしてもよい。
【０１０２】
また、上記では試作用スクリプトを記述するスクリプト言語の一例としてＪＲｕｂｙを挙げて説明したが、試作用スクリプト(本発明に係る第１プログラム)を記述するプログラミング言語は、変数の事前定義が不要なプログラミング言語(プログラムの実行時に変数の型等が決定されるプログラム言語)であればよく、ＪＲｕｂｙやその他のスクリプト言語に限られるものではない。但し、適応的な開発手法によるアプリケーション・プログラムの開発において、例えば提示したＵＩの変更が必要となった場合に、その場でＵＩを変更し、変更後のＵＩを再提示する、等の用途を考慮すると、スクリプト言語等のコンパイル(機械語への変換)が不要な言語がより好ましい。
【０１０３】
また、上記ではアプリケーション・プログラムを稼働させる際に、アプリケーション・プログラムのうち画面制御プログラム及びマネージド・ビーン(のプログラム)をアプリケーション・サーバ３４で実行させ、ウェブサービス提供プログラムをウェブサービス提供サーバ３６で実行させる態様を説明したが、本発明はこれに限定されるものではなく、アプリケーション・プログラムを構成する各プログラムを同一のコンピュータで実行させるようにしてもよいし、画面制御プログラム、マネージド・ビーン(のプログラム)及びウェブサービス提供プログラムを互いに異なるコンピュータで実行させるようにしてもよい。
【０１０４】
更に、上記ではウェブサービス提供プログラムが出力変数を出力する構成であることを前提として説明したが、これに限定されるものではなく、ウェブサービス提供プログラムが提供するウェブサービスの内容によっては出力変数が存在しないことも考えられる。この場合、画面制御プログラムへ受け渡す変数の一括格納領域(例えば図３,６に示す一括格納領域map2)及び個別格納領域(例えば図６に示す変数"publish"及び"date"の個別格納領域)を省略すると共に、試作用スクリプトのためのマネージド・ビーンに組み込まれている変数受渡プログラムは、試作用スクリプトから受け渡された出力変数を一括格納領域に格納する処理を省略し、ウェブサービス提供プログラムのためのマネージド・ビーンに組み込まれている変数受渡プログラムは、ウェブサービス提供プログラムから受け渡された出力変数を対応する個別格納領域に格納する処理を省略し、ウェブサービス提供プログラムのためのマネージド・ビーンに組み込まれている変数複写プログラムは、個別格納領域から一括格納領域へ変数を複写する処理を省略するように構成してもよい。請求項１は上記の態様も権利範囲に含むものである。
【０１０５】
また、上記では、試作用スクリプトのためのマネージド・ビーンに、コンピュータを本発明に係る第１制御手段として機能させるための変数受渡プログラムと、一括格納領域とが各々組み込まれ、ウェブサービス提供プログラムのためのマネージド・ビーンに、コンピュータを本発明に係る第２制御手段として機能させるための変数受渡プログラム及び変数複写プログラムと、一括格納領域及び個別格納領域と、が各々組み込まれている構成を例に説明したが、これに限定されるものではなく、本発明に係る第１制御手段や第２制御手段として機能するプログラムと変数の格納領域を分離して各々設ける構成を採用することも可能である。
【０１０６】
また、上記では本発明に係るアプリケーション開発支援プログラムに対応する各プログラム(試作用スクリプトのためのマネージド・ビーンに組み込まれている変数受渡プログラム、マネージド・ビーン生成プログラム、及び、ウェブアプリケーション提供プログラムのためのマネージド・ビーンに組み込まれている変数受渡プログラム・変数複写プログラム)のうち、試作用スクリプトのためのマネージド・ビーンに組み込まれている変数受渡プログラム及びマネージド・ビーン生成プログラムがクライアント端末１６の記憶部１６Ｃに予め記憶（インストール）されている態様(なお、ウェブアプリケーション提供プログラムのためのマネージド・ビーンに組み込まれている各プログラムはマネージド・ビーン生成プログラムによって生成される)態様を説明したが、本発明に係るアプリケーション開発支援プログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体に記録されている形態で提供することも可能である。この態様における記録媒体は請求項１２に記載の記録媒体に対応している。
【０１０７】
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
【符号の説明】
【０１０８】
１０  コンピュータ・システム
１２  サーバ・コンピュータ
１４  イントラネット
１６  クライアント端末
３０  コンピュータ・システム
３２  ウェブサイト運営システム
３４  アプリケーション・サーバ
３６  ウェブサービス提供サーバ
３８  ＤＢサーバ
４２  クライアント端末
５０  情報入力欄
５２  検索指示ボタン
５４  情報表示欄
５６  個別格納領域
６０  画面作成領域
６２  パレット
６４  プロパティ設定領域
７０  パレット
７２  部品
【国際調査報告】
2011033644.tif 000012
2011033644.tif 000013
2011033644.tif 000014
2011033644.tif 000015