(57)【要約】【課題】業務層コンポーネントが出力するデータを自動生成することで表示層コンポーネントの動作確認を行い、表示層コンポーネントの実装にかかる工数を削減すること。【解決手段】表示層コンポーネントにより動的に表示する複数の擬似データが予め記憶された擬似データテーブルと、クライアントからの要求に対し、前記表示層コンポーネントの静的レイアウト情報を取得する要求受付手段と、前記静的レイアウト情報に基づき表示層コンポーネントの静的レイアウトを解析するレイアウト部分解析手段と、静的レイアウトの解析結果に対応する擬似データを前記擬似データテーブルから取得し、表示層コンポーネントの動作確認に必要なデータを生成し、表示層コンポーネントに対して動的に表示させるための表示データの設定を行うデータ生成手段とを備える。【選択図】        図２
2004295512.tif 000002
【特許請求の範囲】
【請求項１】
表示層コンポーネントと業務層コンポーネントから構成され、クライアントとサーバ間でデータのやり取りを行うＷｅｂアプリケーションの開発を支援する装置であって、
前記表示層コンポーネントにより動的に表示する複数の擬似データが予め記憶された擬似データテーブルと、
前記クライアントからの要求に対し、前記表示層コンポーネントの静的レイアウト情報を取得する要求受付手段と、
前記静的レイアウト情報に基づき表示層コンポーネントの静的レイアウトを解析するレイアウト部分解析手段と、
静的レイアウトの解析結果に対応する擬似データを前記擬似データテーブルから取得し、表示層コンポーネントの動作確認に必要なデータを生成し、表示層コンポーネントに対して動的に表示させるための表示データの設定を行うデータ生成手段と
を備えることを特徴とするＷｅｂアプリケーション開発支援装置。
【請求項２】
表示層コンポーネントと業務層コンポーネントから構成され、クライアントとサーバ間でデータのやり取りを行うＷｅｂアプリケーションの開発を支援する方法であって、
前記表示層コンポーネントにより動的に表示する複数の擬似データを擬似データテーブルに予め記憶させる第１のステップと、
前記クライアントからの要求に対し、前記表示層コンポーネントの静的レイアウト情報を取得する第２のステップと、
前記静的レイアウト情報に基づき表示層コンポーネントの静的レイアウトを解析する第３のステップと、
静的レイアウトの解析結果に対応する擬似データを前記擬似データテーブルから取得し、表示層コンポーネントの動作確認に必要なデータを生成し、表示層コンポーネントに対して動的に表示させるための表示データの設定を行う第４のステップと
を備えることを特徴とするＷｅｂアプリケーション開発支援方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、Ｗｅｂアプリケーションシステムが表示層コンポーネントと業務層コンポーネントによって構成され、クライアントからの要求を受け付けて処理結果を返送するＷｅｂアプリケーションの開発支援装置及び方法に関するものである。
【０００２】
【従来の技術】
近年、インターネット、イントラネット上のＷｅｂアプリケーションシステムでサーバサイドの技術を利用したシステムが普及してきているが、そのシステム開発サイクルはますます短くなってきている。特に、業務系のシステムや業務サービスをＷｅｂ上で公開する場合、その開発サイクルを短縮することは顧客ニーズとして強い要求事項であり、Ｗｅｂページのデザインや情報を定期的に変更するだけでなく、そのシステム上で新規サービスを早期に公開したり、サービスを迅速に拡張したりするなど、短期間に開発を行うことが求められている。それらの顧客ニーズに対応し、Ｗｅｂアプリケーションシステムの開発サイクルに対応するためにも、その開発作業を軽減させ、かつ、スピードアップを図る必要がある。
【０００３】
開発作業を軽減させ、かつスピードアップを図るために、Ｗｅｂアプリケーションシステムを表示層コンポーネントと業務層コンポーネントに分割した開発が進められてきている。表示層コンポーネントとは、Ｗｅｂアプリケーションの表示レイアウト部分に関する機能を持ったコンポーネントである。業務層コンポーネントとは、例えばユーザを認証する処理や、データベースにアクセスしてデータを取得する処理などである。このように分割して開発することにより、表示層コンポーネントと業務層コンポーネントをそれぞれ並列に開発でき、開発作業のスピードアップが図れる。さらにコンポーネント変更時の影響範囲の局所化が図れ開発作業を軽減できる。また、各コンポーネントの依存度が低いため、再利用性が高まるという利点もある。
表示層コンポーネントは、動的レイアウトと静的レイアウトに分けられる。動的レイアウトは、業務層コンポーネントの処理結果に応じてレイアウトが変化して、動的なレイアウトをＨＴＭＬとして生成するロジックであり、業務層コンポーネントの処理結果を入力データとしてレイアウトを決定する。
静的レイアウトは業務層コンポーネントの処理結果に応じてレイアウトが変化しない、静的なレイアウトをＨＴＭＬとして生成するロジックである。
【０００４】
一方、表示層コンポーネントと業務層コンポーネントを分割して開発した際は、実装後にそれぞれを独立して動作確認をする必要がある。
表示層コンポーネントの動作確認をするには、業務層コンポーネントのスタブを作成していた。
また、表示層コンポーネントへの入力データを予め保存しておき、動作確認時に取り出して表示層コンポーネントの動的レイアウトへの入力とすることで、表示層コンポーネントの動作確認を行う方法を本願出願人が提案している（特許文献１参照）。
【０００５】
【特許文献１】
特願２００１−３７１４３２号
また、業務層コンポーネントができるまでは、動的レイアウトの代わりに、固定のＨＴＭＬを埋め込むことで表示層コンポーネントの動作確認を行う方法を本願出願人が提案している（特許文献２参照）。
【０００６】
【特許文献２】
特願２００２−１０５２０８号
【０００７】
【発明が解決しようとする課題】
しかしながら、業務層コンポーネントのスタブ作成には大きな工数がかかる。また、表示層・業務層のコンポーネント間の仕様に変更があり、再度動作確認を行う場合、業務層コンポーネントのスタブを変更する工数が必要である。加えて業務層コンポーネントのスタブもソース管理の対象になるので、管理工数が増大するという問題もある。
また、特願２００１−３７１４３２号に記載の技術では、前もって動作確認対象の表示層コンポーネントへの入力データを登録しておく必要がある。そのため、入力データを登録する工数がかかる。また、入力データ変更の際も、変更に対する工数がかかる。
また、特願２００２−１０５２０８号に記載の技術では、動的レイアウト部分の処理を行わず、静的レイアウトと置き換えているだけなので、動的レイアウトの動作を確かめられないという問題がある。
【０００８】
本発明の目的は、上記課題を解決するためのもので、業務層コンポーネントが出力するデータを自動生成することで表示層コンポーネントの動作確認を行い、表示層コンポーネントの実装にかかる工数を削減することができるＷｅｂアプリケーション開発支援装置及びその方法を提供することにある。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、本発明に係るＷｅｂアプリケーション開発支援装置は、表示層コンポーネントにより動的に表示する複数の擬似データが予め記憶された擬似データテーブルと、前記クライアントからの要求に対し、前記表示層コンポーネントの静的レイアウト情報を取得する要求受付手段と、前記静的レイアウト情報に基づき表示層コンポーネントの静的レイアウトを解析するレイアウト部分解析手段と、静的レイアウトの解析結果に対応する擬似データを前記擬似データテーブルから取得し、表示層コンポーネントの動作確認に必要なデータを生成し、表示層コンポーネントに対して動的に表示させるための表示データの設定を行うデータ生成手段とを備えることを特徴とする。
【００１０】
また、本発明に係るＷｅｂアプリケーション開発支援方法は、表示層コンポーネントにより動的に表示する複数の擬似データを擬似データテーブルに予め記憶させる第１のステップと、前記クライアントからの要求に対し、前記表示層コンポーネントの静的レイアウト情報を取得する第２のステップと、前記静的レイアウト情報に基づき表示層コンポーネントの静的レイアウトを解析する第３のステップと、静的レイアウトの解析結果に対応する擬似データを前記擬似データテーブルから取得し、表示層コンポーネントの動作確認に必要なデータを生成し、表示層コンポーネントに対して動的に表示させるための表示データの設定を行う第４のステップとを備えることを特徴とする。
【００１１】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を具体的に説明する。
図１は、本発明を適用するＷｅｂアプリケーションの構成例を示す構成図である。
まず、図１に示したＷｅｂアプリケーションの構成の一例において、ユーザ１０１がブラウザ１０２を操作してから、処理結果を表示するまでの流れを説明する。
ユーザ１０１は、ブラウザ１０２を表示し、そのブラウザ１０２から送信されたＵＲＬへアクセスする。そのとき、ユーザ１０１によって入力されたデータやブラウザ１０２の情報など、クライアント側１０３にある情報はサーバ１０４に用意されているＷｅｂサーバ１０５への要求として送信される。
【００１２】
ブラウザ１０２からの要求を送信したＷｅｂサーバ１０５は、Ｗｅｂアプリケーション１０７を実行する環境が整っているアプリケーションサーバ１０６を使用して、Ｗｅｂアプリケーション１０７を実行するための窓口となる表示層コンポーネント１０８を実行する。
アプリケーションサーバ１０６により実行された表示層コンポーネント１０８は、ブラウザ１０２から送信されたデータをアプリケーションサーバ１０６から取得して、業務層コンポーネント１１１を実行する。
ここで、業務層コンポーネント１１１とは、例えばユーザ１０１を認証する処理や、データベース１１２にアクセスしてデータを取得する処理や、すでに実装されたＣ＃（オブジェクト指向の言語）のクラスなどの実行可能なコンポーネント１１３を呼び出したりして開発対象のＷｅｂアプリケーション１０７に実装された顧客の要求を満たす一連の処理をするコンポーネントのことを指す。
【００１３】
表示層コンポーネント１０８を構成する動的レイアウト１１０は、業務層コンポーネント１１１から処理結果を受け取ってＨＴＭＬ形式のデータを生成し、静的レイアウト１０９のＨＴＭＬ形式のデータと合わせて、Ｗｅｂサーバ１０５経由でブラウザ１０２に送信する。
このＨＴＭＬ形式のデータは業務層コンポーネント１１１により処理された結果を含んでいる。例えば、ユーザＩＤを使用してデータベース１１２から取得したユーザ名や実行可能なコンポーネント１１３で行った認証結果、検索条件に合った検索結果の一覧などである。
本実施形態では、それらの情報の保持には、ブラウザ１０２から送信されてくるデータと同じ方法を使うようにするために、動的なデータをキーワードとそのキーワードに対応するデータというように対にして保持することにしている。
ブラウザ１０２は、受信したＨＴＭＬ形式のデータをクライアント１０２の表示画面に表示する。
以上でユーザ１０１が処理を要求し、処理結果をブラウザ１０２に表示するまでの一連の処理が終了する。
【００１４】
図２は、本発明に係るＷｅｂアプリケーション開発支援装置の実施の形態を示す図である。
本発明に係るＷｅｂアプリケーション開発支援装置２０２は、Ｗｅｂアプリケーション１０７内に実装され、表示層コンポーネント１０８からの要求を受け付けて要求を判別する要求受付部２０３、要求受付部２０３の判別結果を解析するレイアウト部分解析部２０４、解析データ２０７と擬似データテーブル２０６の情報を突き合わせて設定データ２０８を生成するデータ生成装置２０５から構成される。
以下、図２を基に、開発者２０１が表示層コンポーネント１０８の動作を確認する手順と各部分の機能を説明する。
まず、開発者２０１がブラウザ１０２に動作確認対象の表示層コンポーネントへの要求をサーバ１０４に送信する。要求された情報はＷｅｂサーバ１０５、表示層コンポーネント１０８を経て、要求受付部２０３へ送信される。
表示層コンポーネント１０８は、Ｗｅｂアプリケーション１０７の表示に関する機能を持ったコンポーネントである。表示層コンポーネント１０８は動的レイアウト１１０と静的レイアウト１０９から構成される。
動的レイアウト１１０は、業務層コンポーネントの処理結果に応じてレイアウトが変化し、動的なレイアウトをＨＴＭＬとして生成するロジックである。
静的レイアウト１０９は、業務層コンポーネントの処理結果に応じてレイアウトが変化しない、静的なレイアウトをＨＴＭＬとして生成するロジックである。
【００１５】
要求を受けた要求受付部２０３は、要求を解析して、要求先の表示層コンポーネント１０８の静的レイアウト１０９を要求判別結果として取得し、要求判別結果をレイアウト部分解析部２０４へ送信する。
レイアウト部分解析部２０４は、要求判別結果をもとにして、要求先の表示層コンポーネント１０８の静的レイアウト１０９を解析し、解析データ２０７をデータ生成部２０５へ送信する。
データ生成部２０５は、解析データ２０７と、擬似データテーブル２０６の情報を突き合わせて、設定データ２０８を生成し、動的レイアウト１１０へ送信する。
擬似データテーブル２０６は、表示層コンポーネント１０８の動作確認のためのブラウザ１０２に表示させる擬似的な文字列データであり、開発者２０１が前もって記憶装置に登録しておいたものである。
【００１６】
動的レイアウト１１０は、設定データ２０８を取得し、動的なレイアウト部分をＨＴＭＬとして生成し、静的レイアウト１０９と合わせてＷｅｂサーバ１０５へ１つのＨＴＭＬファイルとして送信する。
Ｗｅｂサーバ１０５は、表示層コンポーネント１０８から取得したＨＴＭＬファイルをクライアント１０３のブラウザ１０２へ送信する。
開発者２０１は、表示確認対象画面の表示結果をブラウザ１０２で確かめ、表示層コンポーネント１０８の動作確認を行う。
【００１７】
図３は、レイアウト部分解析部２０４がデータ生成部２０５へ送信する解析データ２０７の情報の構造例を示す図である。
型３０１は、静的レイアウト１０９から読み取った、動的に表示するデータの型である。キー３０２は動的に表示するデータを識別するためのキーワードである。
【００１８】
図４は、擬似データテーブル２０６の構造例である。
型４０１は、静的レイアウト１０９から読み取られる、動的に表示するデータの型である。擬似データ４０２は、動作確認の際に、表示したい情報を型にしたがって開発者２０１が予め登録する文字列である。
【００１９】
図５は、データ生成装置２０５から動的レイアウト１１０へ送信する設定データ２０８の構造例である。図３の解析データと図４の擬似データテーブルを突き合わせて生成される。キー５０１は動的に表示するデータを識別するためのキーワードである。キー５０１は図３のキー３０２と対応する。擬似データ５０２は動作確認の際に、表示したい情報を型に従って開発者２０１が予め登録する文字列である。擬似データ５０２は図４の擬似データ４０２と対応する。
【００２０】
図６は、本発明を適用した場合にＷｅｂアプリケーションの表示層コンポーネントを開発する際のフロー図である。
本発明を適用した表示層コンポーネント開発を図６に従って説明する。
まず、表示層コンポーネント１０８の動作確認のための擬似データ４０２を、レイアウトの型４０１に応じて擬似データテーブル２０６に設定する（ステップ６０１）。
次に、表示層コンポーネント１０８の動作確認を行うため、本発明のＷｅｂアプリケーション開発支援装置２０２をＷｅｂアプリケーションの実行環境に配置する（ステップ６０２）。
次に、静的レイアウトの実装、編集作業を行う（ステップ６０３）。また、動的レイアウトの実装、編集作業を行う（ステップ６０４）。
次に、ステップ６０３、ステップ６０４で実装・編集した表示層コンポーネント１０８へアクセスして動作確認を行う（ステップ６０５）。
最後に、動作確認対象画面の表示層コンポーネント１０８の動作確認した結果が正しければ、対象画面の実装を終了する。動作確認に問題があれば、表示層コンポーネント１０８の修正を行う（ステップ６０６）。
【００２１】
次に、実際のＷｅｂアプリケーションを例に挙げて、本発明を適用した表示層コンポーネントの動作確認の例について説明する。
図７は、Ｗｅｂアプリケーションの画面の一例である。以下、図７の画面をサンプル画面とする。静的レイアウトのファイル名をＳａｍｐｌｅ．ａｓｐｘとする。
例示するサンプル画面は、検索条件７０４を選んで、再検索ボタン７０３を押すと、データベースから検索結果を取得し、検索ヒット件数７０２と共に結果一覧７０１を表示するものである。
検索ヒット件数７０２、結果一覧７０１は業務層コンポーネントの処理結果である動的なデータが表示される動的レイアウト部分である。
【００２２】
以下、サンプル画面の表示層コンポーネントを開発する場合の手順について、図６のフローに従って説明する。
まず、ステップ６０１では、擬似データテーブル２０６を作成する。図８は作成された擬似データテーブルの例であり、８０１は型がＤａｔａＧｒｉｄの場合の擬似データを示している。８０２は型がＬａｂｅｌの場合の擬似データを示している。
次に、ステップ６０２では、本発明に係るｗｅｂアプリケーション開発支援装置２０２をＷｅｂアプリケーション１０７内に配置する。
【００２３】
次に、ステップ６０３では、静的レイアウト１０９を実装する。
図９は、サンプル画面の静的レイアウト１０９のソースコード実装例である。動的なデータの表示が必要な部分は、ｄａｔａｇｒｉｄ９０１とｌａｂｅｌ９０２である。
次に、ステップ６０４では、動的レイアウト１１０を実装する。
図１０はサンプル画面の動的レイアウトのソースコード実装例である。
１００１のＯｕｔは業務処理結果が格納されているオブジェクトであり、１００２はヒット件数の表示設定を示す部分である。１００３は結果一覧の表示設定を示す部分である。
【００２４】
次に、ステップ６０５では、サンプル画面の表示層コンポーネント１０８の動作確認を行う。
開発者２０１がブラウザ１０２によってサンプル画面に対する要求をサーバ１０４に送信する。要求された情報はＷｅｂサーバ１０５、表示層コンポーネント１０８を経て、要求受付部２０３へ送信される。
要求を受けた要求受付部２０３は、要求を解析し、要求先のＳａｍｐｌｅ．ａｓｐｘファイルの内容を要求判別結果として取得し、レイアウト部分解析部２０４へ送信する。
レイアウト部分解析部２０４は、要求判別結果をもとにして、サンプル画面を解析し、解析データ２０６をデータ生成部２０４へ送信する。
【００２５】
図１１は、サンプル画面の静的レイアウト１０９の解析結果２０７の例であり、１１０１は図９の９０１に対応した解析結果である。１１０２は図９の９０２に対応した解析結果である。
データ生成部２０５は、解析データ２０７と、図８の擬似データテーブル２０６の情報を突き合わせて、設定データ２０８を生成し、動的レイアウト１１０へ送信する。
【００２６】
図１２は、図１１の解析データ２０７と図８の擬似データテーブル２０５を突き合わせて生成された、サンプル画面に設定するデータ２０８の例を示すものであり、１２０１は図８の８０１と図１１の１１０１を突き合わせて生成されたデータである。１２０２は図８の８０２と図１１の１１０２を突き合わせて生成されたデータである。
動的レイアウト１１０は、設定データ２０７を取得し、動的なレイアウト部分をＨＴＭＬとして生成し、静的レイアウト２０３と合わせてＷｅｂサーバ１０５へ１つのＨＴＭＬファイルとして送信する。
Ｗｅｂサーバ１０５は表示層コンポーネント１０８から取得したＨＴＭＬファイルをクライアント１０３のブラウザ１０２へ送信する。ブラウザはＨＴＭＬファイルを解析して、画面表示する。
【００２７】
図１３は、Ｗｅｂサーバ１０５の応答を経て、ブラウザ１０２に表示されたサンプル画面の例である。
１３０１では、動的レイアウトであるヒット件数として、擬似データの”ラベル文字列”が表示されている。
１３０２では、動的レイアウトである結果一覧の各セルに、擬似データの”表内文字列”が表示されている。
次に、ステップステップ６０６では、開発者２０１は、サンプル画面の表示結果をブラウザ１０２で確かめ、表示層コンポーネント１０８の動作確認を完了する。
このように、本発明は動的に表示層コンポーネントの動作確認に必要なデータを生成するように構成したので、業務層コンポーネントのスタブを作成することなく、表示層コンポーネントの動的レイアウトの動作確認ができる。
【００２８】
図１４は、本発明を適用しない場合に実際にコーディングするスタブである。１４０１のＳｅｔは業務処理結果を格納するオブジェクトである。
本発明を適用しない場合、表示層コンポーネントの個数分だけ、図１４のようなスタブを実装しなければならない。しかし、本発明を適用して表示層コンポーネントの開発を行えば、図１４の破線１４０２で囲む部分のコードのコーディング量を削減できる。
【００２９】
【発明の効果】
以上説明したように、本発明によれば、動的に表示層コンポーネントの動作確認に必要なデータを生成するように構成したので、表示層コンポーネントの開発において表示層コンポーネントの動作確認を行う際に、業務層コンポーネントのスタブを作成する必要がない。従って、スタブを作成する工数を削減できる。
さらに、スタブの管理にかかる工数も削減できる。また、前もって動作確認対象コンポーネントに対する入力データを用意する必要もない。そして、設定データを動的レイアウトに入力して動的なレイアウト部分を生成することで動的レイアウトの正当性をも確認できるという効果がある。
【図面の簡単な説明】
【図１】本発明を適用するＷｅｂアプリケーションの構成例を示す構成図である。
【図２】本発明に係るＷｅｂアプリケーション開発支援装置の実施の形態を示す図である。
【図３】レイアウト部分解析部２０４がデータ生成部２０５へ送信する解析データ２０７の情報の構造例を示す図である。
【図４】擬似データテーブル２０６の構造例である。
【図５】データ生成装置２０５から動的レイアウト１１０へ送信する設定データ２０８の構造例である。
【図６】本発明を適用した場合にＷｅｂアプリケーションの表示層コンポーネントを開発する際のフロー図である。
【図７】Ｗｅｂアプリケーションの画面の一例である。
【図８】作成された擬似データテーブルの例であり、
【図９】サンプル画面の静的レイアウト１０９のソースコード実装例である。
【図１０】サンプル画面の動的レイアウトのソースコード実装例である。
【図１１】サンプル画面の静的レイアウト１０９の解析結果２０７の例であり、
【図１２】図１１の解析データ２０７と図８の擬似データテーブル２０５を突き合わせて生成されたサンプル画面に設定するデータ２０８の例を示すもので
【図１３】Ｗｅｂサーバ１０５の応答を経てブラウザ１０２に表示されたサンプル画面の例である。
【図１４】本発明を適用しない場合に実際にコーディングするスタブの例を示す図である。
【符号の説明】
１０１…ユーザ、１０２…ブラウザ、１０３…クライアント、１０４…サーバ、Ｗｅｂサーバ、１０６…アプリケーションサーバ、１０７…Ｗｅｂアプリケーション、１０８…表示層コンポーネント、１０９…静的レイアウト、１１０…動的レイアウト、１１１…業務層コンポーネント、１１３…コンポーネント、１１２…データベース、２０３…要求受付部、２０４…レイアウト部分解析部、２０５…データ生成部、２０６…擬似データテーブル、２０７…解析データ、２０８…設定データ。
【図１】
2004295512.tif 000003
【図２】
2004295512.tif 000004
【図３】
2004295512.tif 000005
【図４】
2004295512.tif 000006
【図５】
2004295512.tif 000007
【図６】
2004295512.tif 000008
【図７】
2004295512.tif 000009
【図８】
2004295512.tif 000010
【図９】
2004295512.tif 000011
【図１０】
2004295512.tif 000012
【図１１】
2004295512.tif 000013
【図１２】
2004295512.tif 000014
【図１３】
2004295512.tif 000015
【図１４】
2004295512.tif 000016