JP3732816B2 - アプリケーション開発支援システム及びアプリケーション開発支援方法ならびにコンピュータプログラム - Google Patents

アプリケーション開発支援システム及びアプリケーション開発支援方法ならびにコンピュータプログラム Download PDF

Info

Publication number
JP3732816B2
JP3732816B2 JP2002271499A JP2002271499A JP3732816B2 JP 3732816 B2 JP3732816 B2 JP 3732816B2 JP 2002271499 A JP2002271499 A JP 2002271499A JP 2002271499 A JP2002271499 A JP 2002271499A JP 3732816 B2 JP3732816 B2 JP 3732816B2
Authority
JP
Japan
Prior art keywords
scenario
identification information
file
screen
status
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2002271499A
Other languages
English (en)
Other versions
JP2004110362A (ja
Inventor
克己 辻
健士 清水
浩之 堂前
隆志 川崎
伸 千代延
ろり 宮下
Original Assignee
エヌ・ティ・ティ・コムウェア株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by エヌ・ティ・ティ・コムウェア株式会社 filed Critical エヌ・ティ・ティ・コムウェア株式会社
Priority to JP2002271499A priority Critical patent/JP3732816B2/ja
Publication of JP2004110362A publication Critical patent/JP2004110362A/ja
Application granted granted Critical
Publication of JP3732816B2 publication Critical patent/JP3732816B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、ネットワークを介して接続されるクライアントへアプリケーションを提供するアプリケーション提供システムの開発に用いられるアプリケーション開発支援システム及びアプリケーション開発支援方法に関する。
【0002】
【従来の技術】
近年、ユーザがパーソナルコンピュータからウェブを利用してインターネットやイントラネット上のアプリケーション提供システムにアクセスし、アプリケーション提供システムはクライアントサーバ方式によりクライアントへアプリケーションを提供するアプリケーション実行アーキテクチャが実現されている。すなわち、ユーザのパーソナルコンピュータ(クライアント)は、ブラウザなど、画面の表示やデータの入出力の機能のみを実行する。アプリケーション提供システム(サーバ)は画面生成処理、及び、アプリケーション処理の機能を備え、ネットワークを介してクライアントからリクエストを受信してアプリケーション処理を実行し、処理の結果を表示する画面を生成して再びネットワークを介してクライアントへ返送する。しかし、このようなアプリケーションにおいては、画面表示のために必要なファイルの中にアプリケーションの処理の一部が混在しているなど、画面生成処理とアプリケーション処理とが複雑に関連し合っている。
【0003】
そこで、データベース処理(アプリケーション処理)定義を設計する作業と、クライアント画面を設計する作業を分離し、ウェブアプリケーションを作成するアプリケーション開発支援方法及び開発支援システムが特許文献1に開示されている。特許文献1においては、データベース処理設計装置がデータベース処理定義ファイルを、クライアント画面設計装置がクライアント画面定義ファイルを生成し、ウェブアプリケーション生成装置がこれらデータベース処理定義ファイルとクライアント画面定義ファイルを基にウェブアプリケーションを生成している。
【0004】
また、特許文献2では、ウェブアプリケーション提供システムの開発において、サーブレット、サーバにおいて動的なビューを生成するためのJSP(Java(登録商標)Server Pages)、及び、部品化されたプログラムであるBeanの各コンポーネントを1対1の関係で定義し、各コンポーネントの対応を明確にすることにより、設計開発作業の負担を軽減させ、かつ設計開発のスピードアップを図るウェブアプリケーション開発方法及び開発支援システムが開示されている。すなわち、画面のデザインから各コンポーネントの定義を対応表として生成し、その対応表と設計ドキュメントの情報を利用して、サーブレット、JSP、および、Beanのコードを自動生成する。
【0005】
【特許文献1】
特開2002−155714号公報(段落0005−段落0040、第1図−第9図)
【特許文献2】
特開2001−344105号公報(段落0031−段落0103、第1図−第33図)
【0006】
【発明が解決しようとする課題】
アプリケーション提供システムが提供するアプリケーションの開発においては、まず、クライアントに表示する画面デザインと、表示された画面からどのようなリクエストがアプリケーション提供システムへ送信され、アプリケーション処理の結果どの画面を生成してクライアントに送信するかの画面遷移定義とを行うことが必要となる。
しかし、アプリケーションと関連した画面のデザインを決定する場合、クライアントからのリクエストやアプリケーション処理の結果によって画面の表示は動的に変化するため、画面に入力/出力されるデータ双方に関するシステムの仕様の理解が必要であった。従って、画面のデザインの仕様策定に時間を要していた。また、画面生成処理の開発においては、画面の表示を動的に生成するためのサーブレットやコーディング技術に関する高度な知識が要求され、加えて、これらの技術は密接にかかわっていた。これは、画面生成処理の開発において、分業や並行開発を困難にしており、画面生成処理の開発に時間を要していた。
さらに、画面生成処理が作成されていても、業務処理プログラム、あるいは、業務処理プログラムに相当する試験用プログラムが接続されていなければ画面遷移をシミュレーションして確認することはできなかった。よって、紙に画面のデザインを印刷して画面遷移定義を確認しており、潜在的する仕様のミスを見つけることは困難であった。
上述の特許文献1及び特許文献2においては、画面生成処理とアプリケーション処理を独立して開発し、コードを生成することはできるが、上記の問題を解決するものではなかった。
【0007】
この発明は、このような事情を考慮してなされたもので、その目的は、アプリケーション提供システムがネットワークを介して接続されるクライアントへ提供するアプリケーションの画面遷移をシミュレーションするとともに、画面生成処理とアプリケーション処理を連携させることができるアプリケーション開発支援システム、アプリケーション開発支援方法を提供することにある。
【0008】
【課題を解決するための手段】
この発明は、上記の課題を解決すべくなされたもので、請求項1に記載の発明は、ネットワークを介して接続されるクライアントへアプリケーションを提供するアプリケーション提供システムの開発に用いられるアプリケーション開発支援システムであって、前記クライアントへ表示する遷移元及び遷移先の画面ファイルの識別情報と、アプリケーション処理を実行するシナリオの識別情報及び該シナリオの出力するステータスの識別情報からなる遷移条件との入力を開発者から受ける画面遷移定義部と、前記画面遷移定義部が受けた画面ファイルの識別情報及び遷移条件を基に、前記アプリケーション提供システムが画面生成処理とシナリオとを連携するための画面遷移を定義したファイルと、シナリオの識別情報及び該シナリオの出力するステータスの識別情報の一覧であるビューフローシナリオ一覧ファイルとを生成する第1のファイル生成部と、前記アプリケーション提供システムが実装するシナリオの識別情報及び該シナリオの出力するステータスの識別情報を開発者から受ける入力部と、前記入力部が受けたシナリオの識別情報及び該シナリオの出力するステータスの識別情報の一覧であるビジネスシナリオステータス一覧ファイルを生成する第2のファイル生成部と、前記ビューフローシナリオ一覧ファイル及び前記ビジネスシナリオステータス一覧ファイルの間のシナリオまたはステータスのマッピングの入力を開発者から受け、該ビューフローシナリオ一覧ファイル内及び前記画面遷移を定義するファイル内のシナリオの識別情報またはステータスの識別情報を書き換えるビジネスシナリオ連携部と、を備えることを特徴とするアプリケーション開発支援システムである。
【0012】
請求項に記載の発明は、ネットワークを介して接続されるクライアントへアプリケーションを提供するアプリケーション提供システムの開発に用いられるアプリケーション開発支援方法であって、前記クライアントへ表示する遷移元及び遷移先の画面ファイルの識別情報と、アプリケーション処理を実行するシナリオの識別情報及び該シナリオの出力するステータスの識別情報からなる遷移条件との入力を開発者から受け、前記アプリケーション提供システムが画面生成処理とシナリオとを連携するための画面遷移を定義したファイルと、該シナリオの識別情報及び該シナリオの出力するステータスの識別情報の一覧であるビューフローシナリオ一覧ファイルとを生成し、前記アプリケーション提供システムが実装するシナリオの識別情報及び該シナリオの出力するステータスの識別情報を開発者から受け、該シナリオの識別情報及び該シナリオの出力するステータスの識別情報の一覧であるビジネスシナリオステータス一覧ファイルを生成し、前記ビューフローシナリオ一覧ファイル及び前記ビジネスシナリオステータス一覧ファイルの間のシナリオまたはステータスのマッピングの入力を開発者から受け、該ビューフローシナリオ一覧ファイル内及び前記画面遷移を定義するファイル内のシナリオの識別情報またはステータスの識別情報を書き換える、ことを特徴とするアプリケーション開発支援方法である。
【0014】
請求項に記載の発明は、ネットワークを介して接続されるクライアントへアプリケーションを提供するアプリケーション提供システムの開発に用いられるアプリケーション開発支援システム上で実行されるコンピュータプログラムであって、前記クライアントへ表示する遷移元及び遷移先の画面ファイルの識別情報と、アプリケーション処理を実行するシナリオの識別情報及び該シナリオの出力するステータスの識別情報からなる遷移条件との入力を開発者から受け、前記アプリケーション提供システムが画面生成処理とシナリオとを連携するための画面遷移を定義したファイルと、該シナリオの識別情報及び該シナリオの出力するステータスの識別情報の一覧であるビューフローシナリオ一覧ファイルとを生成するステップと、前記アプリケーション提供システムが実装するシナリオの識別情報及び該シナリオの出力するステータスの識別情報を開発者から受け、該シナリオの識別情報及び該シナリオの出力するステータスの識別情報の一覧であるビジネスシナリオステータス一覧ファイルを生成するステップと、前記ビューフローシナリオ一覧ファイル及び前記ビジネスシナリオステータス一覧ファイルの間のシナリオまたはステータスのマッピングの入力を開発者から受け、該ビューフローシナリオ一覧ファイル内及び前記画面遷移を定義するファイル内のシナリオの識別情報またはステータスの識別情報を書き換えるステップと、をコンピュータに実行させるためのアプリケーション開発支援システムのコンピュータプログラムである。
【0016】
請求項に記載の発明は、ネットワークを介して接続されるクライアントへアプリケーションを提供するアプリケーション提供システムの開発に用いられるアプリケーション開発支援システム上で実行されるコンピュータプログラムを記緑したコンピュータ読み取り可能な記録媒体であって、前記クライアントへ表示する遷移元及び遷移先の画面ファイルの識別情報と、アプリケーション処理を実行するシナリオの識別情報及び該シナリオの出力するステータスの識別情報からなる遷移条件との入力を開発者から受け、前記アプリケーション提供システムが画面生成処理とシナリオとを連携するための画面遷移を定義したファイルと、該シナリオの識別情報及び該シナリオの出力するステータスの識別情報の一覧であるビューフローシナリオ一覧ファイルとを生成するステップと、前記アプリケーション提供システムが実装するシナリオの識別情報及び該シナリオの出力するステータスの識別情報を開発者から受け、該シナリオの識別情報及び該シナリオの出力するステータスの識別情報の一覧であるビジネスシナリオステータス一覧ファイルを生成するステップと、前記ビューフローシナリオ一覧ファイル及び前記ビジネスシナリオステータス一覧ファイルの間のシナリオまたはステータスのマッピングの入力を開発者から受け、該ビューフローシナリオ一覧ファイル内及び前記画面遷移を定義するファイル内のシナリオの識別情報またはステータスの識別情報を書き換えるステップと、の各処理をコンピュータに実行させるアプリケーション開発支援システムのプログラムを記録する記録媒体である。
【0017】
【発明の実施の形態】
以下、図面を参照し、この発明の実施の形態について説明する。
1.アプリケーション提供システム
図12は、この発明の一実施の形態によるアプリケーション開発支援システムがアプリケーション開発の支援対象とするアプリケーション提供システム60の構成を示すブロック図である。
アプリケーション提供システム60に用いられるアプリケーション実行アーキテクチャは、企業の業務システムや電子商取引などに使われるサーバ側アプリケーション構築のフレームワークであるJ2EE(Java(登録商標) 2 Enterprise Edition)に従い、クライアント層、プレゼンテーション層、ビジネス層、インテグレーション層、及び、リソース層の5層に分割される。そして、アプリケーション提供システム60は、プレゼンテーション層、ビジネス層、インテグレーション層、及び、リソース層を備えた1つ又は複数のサーバからなり、インターネット網やイントラネット網などのネットワークNを介して接続されるクライアント層へアプリケーションを提供する。ただし、リソース層の外部システム53は、アプリケーション提供システム60を相互動作するシステムであり、アプリケーション提供システム60には含まれない。
なお、本実施の形態において、クライアント層からのリクエストに対して、レスポンスを返すまでの一連の処理を「業務」、「業務」の集合体を「アプリケーション」とする。例えば、「アプリケーション」が「オンラインバンキング」であった場合、「業務」は「銀行口座の照会」などである。
【0018】
アプリケーション提供システム60内の階層間のデータの交換は、データオブジェクトを利用したインタフェースにより行われる。プレゼンテーション層からビジネス層へは、リクエストオブジェクトを用い、リクエストオブジェクト内のリクエストデータにより入力データを引き渡し、ビジネス層からプレゼンテーション層へはレスポンスオブジェクトを用い、レスポンスオブジェクト内のレスポンスデータにより業務処理の結果のデータを引き渡す。また、ビジネス層−インテグレーション層間では、ビジネスオブジェクトを用いてデータの交換を行う。これにより、ビジネス層は、プレゼンテーション層に対してビジネス層内の動作及びインテグレーション層への接続を隠蔽し、インテグレーション層は、ビジネス層に対してンテグレーション層内の動作及びリソース層への接続を隠蔽する。
【0019】
以下に、各階層の機能及び構成を示す。
(1)クライアント層
クライアント層は、ネットワークNを介してアプリケーション提供システム60にアクセスし、アプリケーションの業務処理のリクエストの送信、及び、要求した業務処理のレスポンスの表示を行う。クライアント層は、ウェブクライアント11を有する。
【0020】
ウェブクライアント11は、ブラウザ12を備えたパーソナルコンピュータであり、TCP/IP(Transmission Control Protocol/Internet Protocol)を実装し、ネットワークNを介してプレゼンテーション層のビューフローコントローラ21と通信する機能を有する。ネットワークNとは、ネットワークNがイントラネット網の場合は10Base−T/100Base−T、無線LAN(Local Area Network)などにより、インターネット網の場合はダイヤルアップ、ブロードバンド回線などにより接続される。ブラウザ12は、キーボードなどによるユーザの入力に従って、HTTP(Hypertext Transfer Protocol)によりビューフローコントローラ21へ業務処理のリクエスト(HTTPリクエスト)を送信する機能と、HTTPにより業務処理の結果を示す画面、すなわち、ビューフローコントローラ21から受信したレスポンス(HTTPレスポンス)に含まれるビュー23−1〜23−n(以下、ビュー23)を表示する機能を有する。ビュー23は、例えば、HTML(Hypertext Markup Language)により記述される。なお、HTTPリクエストには、要求した業務処理を識別するイベントID及び業務処理に必要なパラメータが含まれる。
【0021】
(2)プレゼンテーション層
プレゼンテーション層は、アプリケーション提供システム60にアクセスしているウェブクライアント11のセッション管理及び画面制御を行う。プレゼンテーション層は、ビューフローコントローラ21、データベース22及びプロキシ25を有する。
【0022】
データベース22は、イベントIDと、イベントIDにより識別される業務処理を実行するビジネス層のビジネスシナリオ37−1〜37−n(以下、ビジネスシナリオ37)を選択するためシナリオIDとのマッピング情報を記憶する。また、イベントIDと業務処理の結果のステータスから、次にどの画面を表示するかの画面遷移情報と、ウェブクライアント11から受信したHTTPリクエスト内の入力パラメータの型や桁数、許容範囲、必須パラメータか否かをチェックするための入力チェック情報を記憶している。データベース22内の情報は、例えば、XML(extensible markup language)により記述される。
【0023】
ビューフローコントローラ21は、サーバにおいて動的な画面を生成するためのJSP(Java(登録商標)Server Pages)を実行するJSPコンテナ、及び、サーブレットを実行するサーブレットコンテナを備える。そして、ウェブクライアント11のブラウザ12からイベントID及び入力パラメータを含むHTTPリクエストを受け、データベース22内のマッピング情報を基にイベントIDをシナリオIDに変換し、得られたシナリオIDと入力パラメータとを内部インタフェースのリクエストオブジェクトにより、プロキシ25へ受け渡す機能を有する。また、プロキシ25を介して、業務処理の結果のステータス及び出力パラメータが設定されたレスポンスオブジェクトを受け、データベース22内の画面遷移情報を基に、ブラウザ12へ表示させるビュー23を生成して、HTTPレスポンスにより送信する機能を有する。
【0024】
プロキシ25は、ビジネス層におけるビジネスシナリオ37の参照の取得、メソッドの実行、リクエストオブジェクト・レスポンスオブジェクトのやりとりをプレゼンテーションに隠蔽しながら、プレゼンテーション層からビジネス層のビジネスシナリオ37へのアクセスを行う機能を有する。すなわち、ビューフローコントローラ21から受けたリクエストオブジェクトをファサード31に受け渡す機能と、ファサード31から受けたレスポンスオブジェクトをビューフローコントローラ21へ受け渡す機能を有する。
【0025】
(3)ビジネス層
ビジネス層は、クライアント層から要求されたアプリケーションの業務処理を実行する。ビジネス層は、ファサード31、ビジネスマッピング33、データベース34、デリゲート35−1〜35−n(以下、デリゲート35)及びビジネスシナリオ37を有する。
【0026】
データベース34は、シナリオIDに対応したビジネスシナリオ37の識別符号を記憶している。データベース34内の情報は、例えば、XMLにより記述される。
【0027】
ファサード31は、EJB(Enterprise Java(登録商標)Beans)を実行するEJBコンテナを備える。EJBとは、ネットワークを介して接続される他のサーバ上で動作するアプリケーションのオブジェクトをあたかも自身の備えるアプリケーション上に存在するオブジェクトと同じように扱うことのできる機構を提供するアプリケーションモデルである。そして、プレゼンテーション層のプロキシ25が生成したリクエストオブジェクトをビジネスマッピング33へ通知し、ビジネスマッピング33が選択したデリゲート35を起動して、入力データを引き渡す。また、デリゲート35が生成したレスポンスオブジェクトを、プロキシ25を介してビューフローコントローラ21へ受け渡す機能を有する。
【0028】
ビジネスマッピング33は、データベース34内の情報を基に、ファサード31から受け取ったシナリオIDによりアプリケーションを実行するビジネスシナリオ37を選択するとともに、選択したビジネスシナリオ37を実行するデリゲート35のインスタンスを生成し、ファサード31へ通知する機能を有する。
【0029】
デリゲート35は、ファサード31から受け取ったリクエストオブジェクトを、ビジネスシナリオ37へ入力するためのインタフェース、すなわち、ビジネスオブジェクトに変換して業務処理を指示する機能を有する。また、ビジネスシナリオ37から受信した業務処理の結果のビジネスオブジェクトを受け、レスポンスオブジェクトに変換してファサード31へ受け渡す機能を有する。なお、デリゲート35−1〜35−nはそれぞれ、ビジネスシナリオ37−1〜37−nに対応している。
【0030】
ビジネスシナリオ37は、EJBであり、業務処理を実施する機能と、業務処理の結果を、デリゲート35を介してプロキシ25へ返送する機能を有する。また、ビジネスシナリオ37は、インテグレーション層のDAO(Data Access Object)41やSAO(System Access Object)43にビジネスオブジェクトを受け渡し、インテグレーション層を介してリソース層のDBMS(Database Management System)51にアクセスしたり、外部システム53との連携を行う機能を有する。
【0031】
(4)インテグレーション層
インテグレーション層は、DAO41及びSAO43を備え、データベースへのアクセスや、外部システムとの連携を行う。ビジネス層のビジネスシナリオ37から受けたビジネスオブジェクト内の情報に基づき、アクセスオブジェクトであるDAO41及びSAO43が外部システム、リソースとの接続をする。インテグレーション層は、ビジネスシナリオ37の指示により、データベースを管理する一般のソフトウェアであるDBMS51へのアクセスを実行し、データを操作するDAO41、及び、外部システムへのアクセスを実行し、外部システム53との相互動作を行うSAO43を含む。
【0032】
(5)リソース層
リソース層は、インテグレーション層よりアクセスされるデータベースや外部システムであり、データを記憶し、データの管理を行うDBMS51及びアプリケーション提供システム60が提供するアプリケーションと相互動作する他のアプリケーションを提供する外部システム53を備える。
【0033】
次に、アプリケーション提供システム60の動作を説明する。図13は、アプリケーション提供システム60の動作フローを示す。
ウェブクライアント11は、ブラウザ12から、アプリケーションの実行を要求する。すなわち、ブラウザ12は、ネットワークNを介してビューフローコントローラ21へHTTPリクエストを送信する。HTTPリクエストの宛先であるURI(Universal Resource Identifier)は、ビューフローコントローラ21へのアクセスアドレス及び要求したアプリケーションの業務処理の種別を示すイベントIDからなる。例えば、URIが「http://hostname:port/eventId」であった場合、ビューフローコントローラ21のホスト名は「http://hostname」であり、イベントIDは続く「eventId」に示される値である。また、HTTPリクエストには、アプリケーションの業務処理に必要な入力パラメータが含まれる。例えば、「業務」が「オンラインバンキング」アプリケーションの「銀行口座の照会」であった場合、入力パラメータは、「口座番号」である。
【0034】
ビューフローコントローラ21は、ブラウザ12からのHTTPリクエストを受信すると、URIを解析し、アプリケーションの業務処理が要求されていることを認識する(ステップS100)。すると、データベース22に記憶されているマッピング情報、画面遷移情報及び入力チェック情報を取得し、ブラウザ12とのセッションを開始する。次に、読み出した入力チェック情報に基づき、受信したHTTPリクエストに含まれる入力パラメータの型や桁数、許容範囲内の値であるかなどをチェックし、さらに、必須パラメータが全て設定されているか否かをチェックする(ステップS110)。入力パラメータのチェックがOKであった場合、読み出したマッピング情報により、イベントIDに対応したシナリオIDを取得する。そして、取得したシナリオID及び受信した入力パラメータを設定したリクエストオブジェクトを生成し、プロキシ25へ受け渡す(ステップS120)。なお、入力パラメータのチェックがNGであった場合には、エラーを表示するためのビュー23をウェブクライアント11のブラウザ12へ返送する。
プロキシ25は、ファサード31へアクセスし、ビューフローコントローラ21から受信したリクエストオブジェクトを受け渡す。これにより、プレゼンテーション層において、ビジネス層内のEJBの参照の取得、メソッドの実行、リクエストオブジェクト・レスポンスオブジェクトのやりとりが隠蔽される。
【0035】
ファサード31は、プロキシ25からリクエストオブジェクトを受けると、ビジネスマッピング33へどのビジネスシナリオ37を実行すべきかを問い合わせる。すると、ビジネスマッピング33は、受け取ったリクエストオブジェクト内のシナリオIDから、業務処理を行うビジネスシナリオ37を選択すると、ビジネスシナリオ37をハンドリングするデリゲート35を生成し、ファサード31へ受け渡す。ここでは、ビジネスシナリオ37−1が選択され、デリゲート35−1が生成されてファサード31へ通知されたとする。ファサード31は、生成されたデリゲート35−1へリクエストオブジェクトを受け渡す。デリゲート35−1は、受け取ったリクエストオブジェクトからビジネスシナリオ37−1が業務処理に必要なデータを取り出して、ビジネスシナリオ37−1が使用するビジネスオブジェクト内に設定し、ビジネスシナリオ37−1へ受け渡して業務処理を要求する(ステップS130)。ビジネスシナリオ37−1は、デリゲート35−1から受けたビジネスオブジェクトに従って業務処理を行う。ビジネスシナリオ37−1は、必要に応じて、ビジネスオブジェクトをインテグレーション層のDAO41あるいはSAO43に受け渡し、DAO41を介してDBMS51によりデータの操作を行ったり、SAO43を介して外部システム53と相互動作する。これにより、インテグレーション層は、ビジネス層に対してリソース層への接続を隠蔽し、ビジネスオブジェクトにより処理結果を受け渡す。
【0036】
ビジネスシナリオ37−1は、業務処理を終えると、ビジネスオブジェクトによりデリゲート35−1へ業務の処理結果を受け渡す(ステップS140)。ビジネスオブジェクト内の処理結果には、処理の状態を示すステータスと、出力パラメータが含まれる。ステータスは、例えば、「全てOK」,「NG」,「データなし」などである。デリゲート35−1は、ビジネスシナリオ37−1から受け取ったビジネスオブジェクトをレスポンスオブジェクトに変換してファサード31へ受け渡し、ファサード31は、さらに、受け取ったレスポンスオブジェクトをプロキシ25へ返送する。プロキシ25は、受け取ったレスポンスオブジェクトをビューフローコントローラ21へ受け渡す。
【0037】
ビューフローコントローラ21は、レスポンスオブジェクトを受けると、レスポンスオブジェクト内のステータスを読み出し(ステップS150)、ステップS110においてデータベース22から読み出した画面遷移情報から次に表示する画面を選択し、レスポンスオブジェクト内の出力パラメータを基にビュー23を生成する(ステップS160)。すなわち、Java(登録商標)プログラムのコンポーネントであるJava(登録商標)Beans(Bean)を利用したJSPにより、ビュー23を作成する。なお、このとき、同一セッション内に保持しているデータを使用してもよい。ビューフローコントローラ21は、ネットワークNを介して、生成したビュー23を表示するHTTPレスポンスをウェブクライアント11のブラウザ12へ送信する(ステップS170)。クライアントのブラウザ12が受信したビューを表示することにより、ユーザは業務の処理結果を確認する。
【0038】
2.アプリケーション開発支援システム
2.1 構成
次に、本実施の形態によるアプリケーション開発支援システムの構成について説明する。図1は、一実施の形態によるアプリケーション開発支援システムの構成を示すブロック図である。
アプリケーション開発支援システム80は、例えば、パーソナルコンピュータであり、ビューフローツール部81及びビジネスシナリオツール部85から構成される。
【0039】
ビューフローツール部81は、アプリケーション提供システム60が提供するアプリケーションに従い、ウェブクライアント11のブラウザ12へ表示する画面の遷移、すなわち、アプリケーション提供システム60のプレゼンテーション層が生成するビュー23の遷移を定義し、シミュレーションする機能と、アプリケーション提供システム60におけるアプリケーション開発に有用なファイルを生成する機能とを有する。ビューフローツール部81は、画面遷移定義部82、ファイル生成部83、画面遷移シミュレーション部84及びビジネスシナリオ連携部88からなる。
【0040】
画面遷移定義部82は、キーボードやマウスなどの入力手段からのユーザの入力に従い、ウェブクライアント11のブラウザ12へ表示する画面の基本デザインである基本画面ファイル及び業務処理を擬似するオブジェクト間の遷移、及び、遷移の条件などからなる画面遷移定義の情報を取得し、記録媒体に記憶する機能を有する。
【0041】
ファイル生成部83は、画面遷移定義部82が取得した画面遷移定義の情報を基に、画面遷移シミュレーション部84が実行するシミュレーション及びアプリケーション提供システム60上のアプリケーションの開発に有用なファイルを自動生成する機能を有する。なお、生成されるファイルについては、後述する。
【0042】
画面遷移シミュレーション部84は、画面制御サーブレット91及び擬似プロキシ92を備え、ファイル生成部83が生成したファイルを読み込み、画面の遷移をシミュレーションする機能を有する。
擬似プロキシ92は、アプリケーションシステム60のプロキシ25の動作を擬似し、画面制御サーブレット91から入力情報を受け、業務処理を擬似するオブジェクトから処理結果を取得し、画面制御サーブレット91に返送する機能を有する。
画面制御サーブレット91は、JSPコンテナ及びサーブレットコンテナを備え、アプリケーション開発支援システム80が備える一般的なブラウザから受けた入力情報を擬似プロキシ92に受け渡す機能と、擬似プロキシ92から処理結果を取得し、画面情報を生成してブラウザへ返却する機能を有する。
【0043】
ビジネスシナリオ連携部88は、画面遷移定義部82により定義され、プレゼンテーション層の画面遷移を示すビューフローシナリオ一覧と、ビジネスシナリオツール部85により生成され、アプリケーション提供システム60に実装されるビジネスシナリオ37のシナリオID及び処理結果のステータスからなるビジネスシナリオステータス一覧ファイルとをマッピングする機能を有する。なお、ビューフローシナリオ一覧ファイルとビジネスシナリオステータス一覧ファイルの詳細については、後述する。
【0044】
ビジネスシナリオツール部85は、ビジネスシナリオ定義入力部86及びファイル生成部87からなる。
ビジネスシナリオ定義入力部86は、ビジネス層構築担当者がキーボードやマウスなどの入力手段から、アプリケーション提供システム60に実装されるビジネスシナリオ37のシナリオIDや処理結果のステータスなどを取得する機能を有する。
ファイル生成部87は、ビジネスシナリオ定義入力部86が取得したシナリオIDや処理結果のステータスから、ビジネスシナリオステータス一覧ファイルを生成する機能を有する。
【0045】
続いて、ビューフローツール部81のファイル生成部83が生成するファイルについて説明する。
<画面デザインファイル>
画面のデザインを示すHTMLファイルであり、ビューフローツール部81の画面遷移定義部82に読み込まれた基本画面ファイルを基に生成されるが、画面遷移定義に従って、HTMLタグである<form>のactionや、リンク先、変動データにより表示が変動する表示変動箇所などが設定される。なお、<form>のactionは、遷移元の画面からデータを引き渡すために使用される。また、変動データとは、アプリケーション提供システム60において、ビジネスシナリオ37の業務処理の結果や、ウェブクライアント11から受信したCookieなどにより、値や内容が変動するデータである。表示変動箇所には、使用する変動データのidと、変動データのHTMLタグが含まれる。
なお、シミュレーションする画面デザインに修正がある場合には、本画面デザインファイルのみを修正するだけでよく、以下の画面生成ファイルや変動データ表示生成ファイルを修正する必要はない。
【0046】
<画面生成ファイル>
画面デザインファイルを生成するためのJSPのコードであり、画面デザインファイルに設定された変動データのidと変動データのHTMLタグとを基に生成される。変動箇所は、変動データ表示生成ファイルを基に生成されるクラスから取得して生成される。
<変動データ表示生成ファイル>
画面生成ファイルは、JSPにより使用されるJava(登録商標)プログラムのコンポーネントであるJava(登録商標)Beans(Bean)のコードである。変動データ表示生成ファイルから生成されるクラスであるBeanは、JSPが表示する変動データを隠蔽する。
【0047】
<画面遷移定義ファイル>
画面遷移を定義するファイルであり、イベントID、イベント名、シナリオID、シナリオ名、リクエストハンドラー、プリミティブチェック情報、プリミティブチェックエラー時の画面、ステータス、ステータス毎の次画面、レスポンスハンドラーなどの情報からなる。このファイルはアプリケーション提供システム60のデータベース22内に登録することにより、マッピング情報、画面遷移情報及び入力チェック情報として使用される。なお、入力チェック情報は、プリミティブチェック情報に相当する。
【0048】
<リクエストハンドラーファイル>
アプリケーション提供システム60内のインタフェースであるリクエストオブジェクトをプレゼンテーション層からビジネス層へ受け渡すためのクラスのコードであり、リクエストオブジェクトで使用するリクエストデータを設定する。また、画面遷移シミュレーション部84の画面制御サーブレット91から擬似プロキシ92への入力情報を受け渡すためにも使用される。
<レスポンスハンドラーファイル>
アプリケーション提供システム60内のインタフェースであるレスポンスオブジェクトをビジネス層から受けたプレゼンテーション層が、レスポンスオブジェクト内のレスポンスデータから出力データを取得し、JSPが使用するBeanへ業務処理結果を渡すためのクラスのコードである。また、画面遷移シミュレーション部84の擬似プロキシ92から画面制御サーブレット91へ処理結果を受け渡すためにも使用される。
【0049】
<シミュレーション用ステータス設定ファイル>
シミュレーション時に使用されるファイルであり、シナリオIDと、シナリオIDに対して返されるステータスが含まれる。
<ビューフローシナリオ一覧ファイル>
プロジェクト(アプリケーション)で定義された全てのシナリオに対するシナリオID、シナリオ名、シナリオ概要、及び、それぞれのシナリオが持っている全てのステータスとその概要が設定される。ビジネス層のビジネスシナリオ37の開発時に、プレゼンテーション層でどのような定義を行ったかを確認するために使用さる。
<ドキュメントファイル>
画面遷移定義部82において定義した画面遷移に関する情報全てを含むファイルである。
【0050】
また、ビジネスシナリオツール部85のファイル生成部87が生成するファイルを以下に示す。
<ビジネスシナリオステータス定義ファイル>
ビューフローシナリオ一覧ファイルと同様の情報を保有し、アプリケーション提供システム60のビジネス層において実装された全てのビジネスシナリオ37に対するシナリオID、シナリオ名、シナリオ概要、及び、それぞれのシナリオが持っている全てのステータスとその概要が設定される。
【0051】
アプリケーション開発支援システム80及び生成されるファイルは、以下のように使用される。
・アプリケーションシステム60のアプリケーションの仕様策定者は、ウェブクライアント11のブラウザ12へ表示する画面の基本デザインである基本画面ファイルを基に、画面遷移定義部82により画面遷移を定義する。そして、画面遷移シミュレーション部84により、画面遷移定義部82で定義したアプリケーションの画面遷移をシミュレーションし、アプリケーションの開発依頼元の企業や部署と仕様を確認する。仕様に変更がある場合、対象箇所の基本画面ファイル生成や画面遷移の定義をし直し、シミュレーションによる確認を繰り返してアプリケーションの仕様を策定する。あるいは、アプリケーションを開発している企業が、アプリケーションの開発中に、画面遷移イメージを顧客にプレゼンテーションして販売促進を行うことも想定できる。
・アプリケーション提供システム60のプレゼンテーション層構築担当者は、仕様策定者が定義した画面遷移を基に生成された画面デザインファイル、リクエストハンドラーファイル、レスポンスハンドラーファイルを利用してプレゼンテーション層を構築する。
・アプリケーション提供システム60のビジネス層構築担当者は、ビューフローシナリオ一覧ファイルを参照して、ビジネス層のビジネスシナリオ37や、ビジネスマッピング33が使用するデータベース34内のデータを生成する。ビューフローシナリオ一覧ファイルには、プレゼンテーション層において定義した画面情報、リクエスト、シナリオ名及びシナリオIDが漏れなくリストアップされているため、ビジネス層の構築において、実装の漏れを防ぐことが可能となる。
・アプリケーションシステム60のビジネス層・プレゼンテーション層連結者は、ビューフローツール部81の画面遷移定義部82で定義したビューフローシナリオ一覧及びファイル生成部87が生成したビジネスシナリオステータス一覧ファイルとを、ビューフローツール部81のビジネスシナリオ連携部88を使用してマッピングし、画面遷移定義ファイルを生成する。プレゼンテーション層構築担当者は、生成された画面遷移定義ファイルをアプリケーション提供システム60のデータベース22に投入することにより、ビューフローコントローラ21が生成するビュー23と、ビジネスシナリオ37とをコーディングなしで連結することができる。
【0052】
2.2 アプリケーション開発支援システム80の動作
次に、アプリケーション開発支援システム80の動作について説明する。
2.2.1 画面遷移定義
まず、画面遷移定義の手順について説明する。図2は、画面遷移定義の手順を示す図である。
仕様策定者は、アプリケーション開発支援システム80を使用する前に、アプリケーション開発の依頼元の企業や部署などの要望をもとに、一般的なエディタを用いてHTMLにより基本画面ファイルを作成し、アプリケーション開発支援システム80内のメモリ、フレキシブルディスク、あるいは、ネットワークを介してアプリケーション開発支援システム80と通信可能なコンピュータなどに保存しておく。なお、ウェブクライアント11がHTTPリクエストを送信する画面に相当する基本画面ファイルには、例えば、<form name=”f1”action=””、あるいは、<a name=”a1” href=””>のように、リクエストを発生させる部分のHTMLタグに予め”name”属性値を記述しておく。また、処理結果などを表示するための変動データの箇所には、id属性値を設定しておく。
【0053】
仕様策定者は、アプリケーション開発支援システム80のビューフローツール部81を起動し、操作画面を表示させる。そして、アプリケーション開発支援システム80内にインストールされている一般的なファイル操作ソフト上からビューフローツール部81の操作画面に基本画面ファイルのアイコンをドラッグするなどして、事前に作成しておいた基本画面ファイルをビューフローツール部81の画面遷移定義部82内に読み込む操作を行う(ステップS200)。すると、画面遷移定義部82は、操作画面上に、基本画面ファイルを示す画面オブジェクトを表示し、基本画面ファイルからファイル名、画面からのリクエスト発生に関するタグ情報を読み出し、メモリ上に保持する(ステップS205)。
【0054】
次に、仕様策定者は、アプリケーション提供システム60のビジネスシナリオ37の業務処理、あるいは、ビューフローコントローラ21内の処理を具象化したシナリオオブジェクトを操作画面上に配置する操作を行う(ステップS210)。画面遷移定義部82は、操作画面上に、シナリオオブジェクトを表示する(ステップS215)。
【0055】
続いて、仕様策定者は、HTTPリクエストを送信するときにウェブクライアント11のブラウザ12に表示されている画面、すなわち、遷移元となる画面に対応する画面オブジェクトから、業務処理を行うビジネスシナリオ37に対応するシナリオオブジェクトへ遷移することを示す遷移線を引く(ステップS220)。すると、画面遷移定義部82は、遷移元の画面のどこからHTTPリクエストを発生させるかを選択するための「イベント発生元選択画面」を表示する(ステップS225)。仕様策定者は、「イベント発生元選択画面」から<form>タグ、あるいは、<a href>タグをイベント発生元として選択する(ステップS230)。画面遷移定義部82は、画面オブジェクトのイベント発生元と、遷移先のシナリオを対応付けて記憶する(ステップS235)。
【0056】
次に、仕様策定者が、操作画面上の画面オブジェクトを右クリックすると(ステップS240)、画面遷移定義部82は、「画面オブジェクト設定画面」を表示する(ステップS245)。仕様策定者は、「画面オブジェクト設定画面」に従い、画面ファイル名及び画面名の設定、データ変動箇所や遷移先情報の一覧の確認、及び、イベントの設定と確認を行う(ステップS250)。データ変動箇所は、予め基本画面ファイルに設定されている変動データを読み出して表示される。イベントの設定においては、イベントID、イベント概要、致命的エラー発生時に表示すべき画面ファイル(エラー画面)、プリミティブチェック情報を入力する。プリミティブチェック情報の設定では、チェック対象のデータのHTMLのタグ名、文字列/半角数字などの型、最大値・最小値または最大桁・最小桁、必須/オプションなどの情報、及び、プリミティブチェックエラー時に表示すべきエラー画面を入力する。また、イベントの確認においては、ステップS235において設定したイベントの発生元、遷移線の接続により遷移先として指定された遷移先の画面の情報などを確認する。そして、仕様策定者が設定の了解のボタンを押下すると、画面遷移定義部82は、当該画面オブジェクトから発生するイベントと、画面オブジェクトの遷移先を対応付け、「画面オブジェクト設定画面」に入力された情報を記憶する(ステップS255)。
なお、仕様策定者がステップS250において設定した致命的エラー発生時のエラー画面を操作画面上に配置すると、画面遷移定義部82は、画面オブジェクトの遷移先のシナリオオブジェクトから、配置されたエラー画面へ致命的エラーの遷移線を引く。同様に、仕様策定者がステップS250において設定したプリミティブエラー発生時のエラー画面を操作画面上に配置すると、画面遷移定義部82は、画面オブジェクトの遷移先のシナリオオブジェクトから、配置されたエラー画面へ致命的エラーの遷移線を引く。
【0057】
次に、仕様策定者が、操作画面上のシナリオオブジェクトを右クリックすると(ステップS260)、画面遷移定義部82は、「シナリオオブジェクト設定画面」を表示する(ステップS265)。仕様策定者は、「シナリオオブジェクト設定画面」に、シナリオオブジェクトのシナリオ名、シナリオID、シナリオ概要、処理結果として発生するステータスのステータス名及びステータス概要を設定する(ステップS270)。なお、シナリオIDはユニークでなければならず、画面遷移定義部82は、使用されているシナリオIDを内部に記憶している。そして、「シナリオオブジェクト設定画面」を開いたときに、これまでに使用されている最も大きい値のシナリオIDに1加算したシナリオIDをデフォルトで表示する。ただし、シナリオIDを変更することは可能である。画面遷移定義部82は、ステップS270において仕様策定者が設定した情報を記憶する(ステップS275)。
【0058】
次に、仕様策定者は、操作画面上のシナリオオブジェクトから遷移先の画面オブジェクトへ遷移線を引くと(ステップS300)、画面遷移定義部82は、「ステータス選択画面」を表示する(ステップS305)。仕様策定者は、「ステータス選択画面」に表示されるステータスの一覧から、シナリオオブジェクトが出力する処理結果のステータスを選択する(ステップS310)。「ステータス選択画面」に表示されるステータスの一覧は、ステップS275において、画面遷移定義部82が記憶したシナリオオブジェクトのステータスである。画面遷移定義部82は、ビジネスシナリオ37が出力する処理結果のステータスと遷移先画面オブジェクトを対応付けて記憶する(ステップS315)。そして、画面オブジェクトに対応した画面ファイルには、シナリオ名、ステータス名、遷移先画面名が設定される。
【0059】
次に、最初の画面表示に戻るなど、単なるリンクによる画面遷移があれば、遷移元の画面オブジェクトから遷移先の画面オブジェクトに遷移線を引く(ステップS320)。画面遷移定義部82は、画面オブジェクト間のリンクによる遷移を対応づけて一時的に記憶する(ステップS325)。例えば、リンク元の画面オブジェクトのタグ<a name=”a1” href=””>であり、リンク先の画面オブジェクトが「jump.html」であった場合、リンク元の画面オブジェクトのタグは、<a name=”a1” href=”jump.html”>に変化する。
【0060】
仕様策定者及び画面遷移定義部82は、上記のステップS200〜S325を繰り返すことにより、画面遷移を定義する(ステップS330)。
そして、画面遷移定義を終了すると、仕様策定者は、定義した画面遷移をシミュレーションするときに、シナリオオブジェクトからどのステータスを返送するかのシミュレーション用の処理結果を選択する(ステップS340)。すなわち、仕様策定者は、シナリオオブジェクトを右クリックし、シミュレーション用ステータス設定のメニューを選択すると、画面遷移定義部82は、「シミュレーション用ステータス設定画面」を開き、ステップS275において、画面遷移定義部82が記憶したシナリオオブジェクトのステータスの一覧を表示する。仕様策定者は、シミュレーション時に発生させるステータスを1つ選択する。画面遷移定義部82は、仕様策定者が選択したシミュレーション用のステータスを記憶する(ステップS345)。
【0061】
最後に、仕様策定者は、保存のための操作を行うと(ステップS350)、画面遷移定義部82は、内部に記憶していた情報を読み出し、画面遷移及びシミュレーションに必要な情報を記述したファイルを生成し、記録媒体に保存する(ステップS355)。なお、生成するファイルは、XML形式により記述される。
【0062】
ここで、画面遷移定義を行う操作画面について説明する。図3は、画面遷移定義を行うビューフローツール部81の操作画面を示す図である。
操作画面は、ツリーウィンドウ及びパレットからなる。
パレットは、画面遷移を定義する画面である。パレットには、画面オブジェクト及びシナリオオブジェクトが配置されている。そして、画面オブジェクトとシナリオオブジェクト間、あるいは、画面オブジェクト間をつなぐ線は、遷移線であり、矢印の方向へ遷移する、あるいは、参照関係があることを示している。図においては、画面オブジェクト「refer.html(参照)」からシナリオオブジェクト「参照処理」へ遷移し、次に、画面オブジェクト「result.html(参照結果)」に遷移することを示している。また、画面オブジェクト「result.html(参照結果)」は、画面オブジェクト「refer.html(参照)」を参照することを示している。
ツリーウィンドウに表示されるツリーには、存在する複数のパレットが並び、その下にシナリオフォルダ及び画面フォルダが1つづつ存在する。シナリオフォルダの配下には、シナリオオブジェクトが、画面フォルダの配下には画面オブジェクトが存在する。これらは、オブジェクトの実体であり、インスタンスと呼ばれる。図においては、プロジェクト名「プロジェクトX」の配下にパレット1、2が存在し、シナリオオブジェクトには、「参照処理」が存在し、画面オブジェクトには、「refer.html」、「result.html」及び「nodata.html」が存在することを示している。
また、画面オブジェクト「refer.html(参照)」からシナリオオブジェクト「参照処理」遷移線の上には、ステップS210〜S235において設定したイベント発生元が「f1」に、イベントID名が「event1」に表示される。また、シナリオオブジェクト「参照処理」から画面オブジェクト「result.html(参照結果)」への遷移線の上には、ステップS300〜S315において設定したステータス名である「All」が表示されている。そして、画面オブジェクト「result.html(参照結果)」から画面オブジェクト「refer.html(参照)」への遷移線には、ステップS320〜S325の手順により、リンクが設定されたことを示す「link」が表示されている。
【0063】
また、図4は、ステップS240〜S255において設定したエラー画面の配置に伴う遷移線の描画を示す図である。
例えば、ステップS240〜S255において、画面オブジェクト「refer.html(参照)」のプリミティブチェックエラー時に表示すべきエラー画面として「P-Err.html」を入力する。この場合、(1)ツリーウィンドウから画面オブジェクト「P-Err.html」を選択し、ドラッグしてパレット上に配置すると、(2)遷移先のシナリオオブジェクト「参照処理」から自動的に画面オブジェクト「P-Err.html」へ遷移線が引かれることを示している。また、遷移線の上には、プリミティブチェックエラー時に遷移することを示す「PrimitiveNG」が表示される。なお、致命的エラー発生時のエラー画面についても同様であるが、遷移線の上には「致命的エラー」が表示される。
【0064】
2.2.2 ファイル生成
次にファイル生成の手順について説明する。図5は、ファイル生成の手順を示す図である。
仕様策定者は、ビューフローツール部81の操作画面のメニューからファイル生成のためのメニューである「一括生成」を選択する(ステップS400)。すると、ファイル生成部83は、図2のステップS355において画面遷移定義部82が保存していたファイルを読み出し、画面デザインファイル、画面生成ファイル、変動データ表示生成ファイル、画面遷移定義ファイル、リクエストハンドラーファイル、レスポンスハンドラーファイル、シミュレーション用ステータス設定ファイル、ビューフローシナリオ一覧ファイル及びドキュメントファイルを生成し、記録媒体に記憶する(ステップS405)。
【0065】
生成された画面デザインファイルは、画面遷移定義において自動で埋め込まれた情報がある以外は、最初に画面遷移定義のステップS200で読み込んだ内容と同じである。プレゼンテーション構築担当者は、生成された画面デザインファイルを元に、画面デザインを変更、改良してアプリケーションシステム60に実装することができる。また、変更された画面デザインファイルを再びアプリケーション開発支援システム80内に上書きすることにより、シミュレーションに使用することが可能となる。
【0066】
画面生成ファイル及び変動データ表示生成ファイルは、画面遷移定義に埋め込まれた変動データの属性情報をもとに生成される。
図6は、変動データ表示生成ファイルの生成を示す図である。図は、基本画面ファイル「example.html」から、画面デザインファイル「example.html」、及び、変動データ表示生成ファイル「example.jsp」が生成される例を示している。画面デザインファイル「example.html」のHTMLタグに、変動データの属性情報が記述されている箇所
<a id=”a1” name=”a1” href=”jump.html”>
に対応する箇所は、変動データ表示生成ファイル「example.jsp」においては、<%=obj.toStringA1() %>
となる。これは、JSPが使用するBeanのインスタンスである「obj」により、メソッド「toStirng+設定したid属性値」がコールされるようなJSPが生成されることを示している。
【0067】
また、図7は、図6の変動データ表示生成ファイルに対応して生成されるBeanを示す図である。Beanのメソッドを以下に示す。なお、以下に示すXXは、変動データのid属性値に対応する。
ExampleBean():コンストラクタであり、変動データのid属性が定義されたTagElementを生成し、デフォルト値を設定する。
TagElement getElementXX():変動データのidに対応するTagElementのインスタンスを取得するためのメソッドである。取得したTagElementに対して、各種設定をすることにより、動的な画面を生成する。
void setTextXX(String text):指定されたテキストを持つTextElementを生成して、子TagElementとして設定するカバーメソッドを提供する。これにより、動的なテキストの設定がより簡略化される。
void setHrefXX(String href):指定されたhref属性値を設定するカバーメソッドを提供する。これにより、動的なハイパーリンクの設定がより簡略化される。void setSrcXX(String text):指定されたsrc属性値を設定するカバーメソッドを提供する。これにより、動的な画像の設定がより簡略化される。
void setAltXX(String text):指定されたalt属性値を設定するカバーメソッドを提供する。これにより、動的な画像の設定がより簡略化される。
toStringXX():変動データのidに対応するTagElementに対して出力を行うメソッドである。JSP内では、これだけを使用する。
また、レスポンスハンドラーファイルは、アプリケーション提供システム60のビジネス層からプレゼンテーション層へ返送されるレスポンスオブジェクトのレスポンスデータから出力データを取得し、JSPが使用するBeanが使用するsetTextXX、setHrefXX、setSrcXX、setAltXX等に設定して業務処理結果を渡すためのクラスのコードを含んでいる。
【0068】
2.2.3 シミュレーション
次に、シミュレーションの手順について説明する。図8は、シミュレーションの手順を示す図である。
仕様策定者は、ビューフローツール部81を起動することによって表示された操作画面のメニューから「シミュレーション準備」を選択する(ステップS500)。すると、画面遷移シミュレーション部84は、図3のステップS405において、ファイル生成部83が生成したファイルをコンパイルし、JSP及びBeanを含む実行環境を起動する(ステップS505)。続いて、画面制御サーブレット91及擬似プロキシ92を起動する(ステップS515)。
一方、仕様策定者は、アプリケーション開発支援システム80が備える一般的なブラウザから、シミュレーションしたい遷移元画面に相当する画面デザインファイルを読み込む(ステップS520)。そして、ブラウザに表示された遷移元画面内のサブミットボタンなどをクリックし、イベントを発生させる(ステップS530)。すると、ステップS515で起動した画面遷移シミュレーション部84内の画面制御サーブレット91がブラウザからの入力を受け付け、リクエストハンドラーファイルから生成されたクラスを使用して、擬似プロキシ92をコールして受信したイベントIDを受け渡す。擬似プロキシ92は、シミュレーション用ステータス設定ファイルを読み出し、受け取ったイベントIDに対するステータスを取得すると、レスポンスハンドラーファイルから生成されたクラスを使用して画面制御サーブレット91に受け渡す。このステータスは、ビジネス層の処理結果に相当する。画面制御サーブレット91は、受信したステータスを基に画面遷移定義ファイルを検索して遷移先画面を読み出し、JSPへ受け渡すことによって処理結果を表示する画面情報ファイルを生成し、ブラウザへ返送する(ステップS535)。すると、ブラウザ上には遷移先画面が表示される(ステップS540)。
【0069】
2.2.4 ビジネスシナリオとの連携
次に、プレゼンテーション層におけるビジネスシナリオとの連携の手順について図9に示す。
ビジネス層構築担当者は、パーソナルコンピュータなどを用いて、2.2.2節のファイル生成において生成されたビューフローシナリオ一覧ファイル内の業務処理名や処理結果を参照しながら(ステップS600)、アプリケーション提供システム60のビジネスシナリオ37、すなわち、アプリケーションの業務処理のプログラムであるシナリオを新規に作成するか、あるいは、既存プログラムを再利用するなどして作成して、もれなく全てのビジネスシナリオ37を準備する(ステップS605)。作成したビジネスシナリオ37は、アプリケーション開発支援システム80内のメモリ、フレキシブルディスク、あるいは、ネットワークを介してアプリケーション開発支援システム80と通信可能なコンピュータなどに保存しておく。
【0070】
ビジネス層構築担当者は、アプリケーション開発支援システム80のビジネスシナリオツール部85を起動することにより表示される操作画面上で、それぞれのビジネスシナリオ37のシナリオ名をツール上で参照するための操作を行う(ステップS620)。すると、ビジネスシナリオツール部85のビジネスシナリオ定義入力部86は、指定されたビジネスシナリオ37のシナリオ名を読み込み、操作画面上に表示する。そして、さらにビジネス層構築担当者が、各ビジネスシナリオ37の処理結果のステータス名を入力すると、ビジネスシナリオ定義入力部86は内部に記憶する。
続いて、ビジネス層構築担当者は、アプリケーションに合わせてシナリオを組み合わせ、例えば、「口座開設業務」というような、入力/出力のある一連の業務処理を構築する(ステップS625)。ビジネスシナリオ定義入力部86は、構築された一連の業務を記憶する。
【0071】
ビジネス層構築担当者は、一連の業務処理の構築を終了すると、操作画面のメニューより、「ビジネスシナリオファイル生成」を選択する(ステップS630)。すると、ビジネスシナリオツール部85のファイル生成部87は、ビジネスシナリオ定義入力部86が記憶していた情報を読み出し、シナリオ名に対してシナリオIDを、ステータス名にステータスIDを付与する。そして、シナリオ名、シナリオID,ステータス名、ステータスIDの対応一覧である、ビジネスシナリオステータス定義ファイルを生成する(ステップS650)。なお、ビジネスシナリオステータス定義ファイルファイルは、XMLにより記述される。
【0072】
続いて、ビジネス層・プレゼンテーション層連結者は、ビューフローツール部81を起動し、操作画面のメニューから、「シナリオマッピング」を選択し、ステップS650で生成されたビジネスシナリオステータス定義ファイルの読込みを指定する(ステップS670)。すると、ビューフローツール部81のビジネスシナリオ連携部88は、指定されたビジネスシナリオステータス定義ファイル及び画面遷移定義部82で定義したビューフローシナリオ一覧を読み込み、操作画面上に並べて表示する(ステップS675)。
ビジネス層・プレゼンテーション層連結者は、操作画面上で、ビジネスシナリオステータス定義ファイルのシナリオ名やステータス名をマウスで選択し、対応させるビューフローシナリオ一覧のシナリオ名やステータス名へドラッグすることによってマッピングを指定し(ステップS680)、マッピングの作業が終了すると、「了解」ボタンを押下する(ステップS685)。すると、ビジネスシナリオ連携部88は、プレゼンテーション層とビジネス層のシナリオとステータスを一致させたドキュメントファイルを生成し、元のドキュメントファイルに上書きして保存する(ステップS690)。さらに、ドキュメントファイルに従い、ファイル生成部83が生成した各種ファイルの情報が更新される。これにより、画面遷移とシナリオ、すなわち、アプリケーション提供システム60のプレゼンテーション層とビジネス層がリンクされる。
【0073】
図10は、ステップS670〜S680におけるビューフローシナリオ一覧ファイルとビジネスシナリオステータス一覧ファイルのマッピングを行うビューフローツール部81の操作画面を示す図である。
操作画面には、左側にビューフローシナリオ一覧ファイル内のシナリオ名及びステータス名が、右側にビジネスシナリオステータス一覧ファイル内のシナリオ名及びステータス名が表示されている。図において、ビューフローシナリオ及びビジネスシナリオの一段配下はシナリオ名を示し、シナリオ名の一段配下はステータス名を示している。
そして、操作画面上で、ビジネスシナリオ配下のシナリオ「PersonalDataEntry」を選択し、ビューフローシナリオ配下のシナリオ「entry」にドラッグすることで、両シナリオがマッピングされる。ビューフローシナリオ一覧ファイル内のシナリオ名の後ろには、マッピングされたビジネスシナリオステータス一覧ファイル内のシナリオ名が括弧書きで表示される。
また、ビジネスシナリオのシナリオ「PersonalDataEntry」配下のステータス「RegisterOK」を選択し、ビューフローシナリオのシナリオ「entry」配下のステータス「ok」にドラッグすることで、両ステータスがマッピングされる。ビューフローシナリオ一覧ファイル内のステータス名の配下には、マッピングされたビジネスシナリオステータス一覧ファイル内のステータス名が表示される。
【0074】
また、図11は、マッピングの結果、ステップS690において生成される画面遷移定義ファイルの内容を示す図である。
(a)は、マッピングを行う前の画面遷移定義ファイルを、(b)は、マッピングするビジネスシナリオステータス一覧ファイルの内容を示している。ビジネスシナリオステータス一覧ファイル内のシナリオ「PersonalDataEntry」と配下のステータス「RegisterOK」が、ビューフローシナリオ一覧ファイル内のシナリオ「entry」と配下のステータス「ok」とマッピングされることにより、(c)に示すように、画面遷移定義ファイルの対応する箇所が書き換わる。すなわち、画面遷移定義ファイル内のシナリオ名(scenario-idタグの箇所)が「entry」から、「PersonalDataEntry」に、シナリオに対応するシナリオ概要(scenario-descriptionタグの箇所)が「登録」から「個人情報に関する登録を行う」に、ステータス(statusタグの箇所)が「ok」から「RegisterOK」に書き換わる。
【0075】
3.その他
なお、アプリケーション開発支援システム80のシミュレーション機能は、アプリケーション提供システム60以外のアプリケーション提供システムが提供するアプリケーションの画面遷移のシミュレーションにも使用可能である。
【0076】
なお、上述のアプリケーション開発支援システム80、及び、アプリケーション提供システム60は、内部にコンピュータシステムを有している。そして、上述した動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいうコンピュータシステムとは、OSや周辺機器等のハードウェアを含むものである。
【0077】
また、「コンピュータ読み取り可能な記録媒体」とは、ROMの他に、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のシステムやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0078】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0079】
【発明の効果】
この発明によれば、アプリケーション提供システムがクライアントのブラウザへ表示する画面の基本デザインとなる画面ファイルを利用して、アプリケーションの画面遷移を簡易に定義し、シミュレーションすることができるアプリケーション開発支援システムを提供することが可能となる。従って、高度な画面生成処理のコーティング知識を必要とせずに、簡易な画面デザインのための知識のみでアプリケーションの画面遷移を容易に定義し、シミュレーションすることが可能となり、アプリケーションに必要な画面のデザイン及び動作の仕様を確定するまでの時間を短縮することができる。
また、アプリケーション開発支援システムにおいて定義した画面遷移から、アプリケーション提供システムの画面生成処理に有用なファイルを生成することができるため、画面生成処理の開発期間を短縮することが可能となる。さらに、画面遷移定義において想定したアプリケーション処理とその処理結果の一覧を生成することができる。よって、アプリケーション処理の実装時に生成された一覧を参照することにより、アプリケーション処理の実装漏れなどのミスを防ぐことが可能となる。
また、アプリケーション提供システムに実装された実際のアプリケーション処理とその処理結果との一覧を生成し、画面遷移定義から生成したアプリケーション処理とその処理結果の一覧とマッピングさせることにより、アプリケーション提供システムが使用され、画面生成処理とアプリケーション処理とを連携するための画面遷移定義ファイルを高度なプログラミング技術なしに生成することが可能となる。
また、アプリケーション提供システムがクライアントのブラウザへ表示する画面のデザイン作業と、画面生成処理の実装とを並行して行うことができるため、開発期間の大幅な短縮が可能である。さらに、画面生成処理の実装と、アプリケーション処理の実装とを分離し、並行して行うことができるため、開発期間の大幅な短縮が可能である。
【図面の簡単な説明】
【図1】 この発明の一実施の形態によるアプリケーション開発支援システムの構成を示すブロック図である。
【図2】 同実施の形態による画面遷移定義の手順を示す図である。
【図3】 同実施の形態による画面遷移定義を行うビューフローツール部81の操作画面を示す図である。
【図4】 同実施の形態によるエラー画面の配置に伴う遷移線の描画を示す図である。
【図5】 同実施の形態によるファイル生成の手順を示す図である。
【図6】 同実施の形態による変動データ表示生成ファイルの生成を示す図である。
【図7】 図6の変動データ表示生成ファイルに対応して生成されるBeanを示す図である。
【図8】 同実施の形態によるシミュレーションの手順を示す図である。
【図9】 同実施の形態によるプレゼンテーション層におけるビジネスシナリオとの連携の手順について示す。
【図10】 同実施の形態によるビューフローシナリオ一覧ファイルとビジネスシナリオステータス一覧ファイルのマッピングを行うビューフローツール部81の操作画面を示す図である。
【図11】 マッピングの結果生成される画面遷移定義ファイルの内容を示す図である。
【図12】 同実施の形態によるアプリケーション開発支援システムと連携するアプリケーション提供システム60の構成を示すブロック図である。
【図13】 図12に示すアプリケーション提供システム60の動作フローを示す図である。
【符号の説明】
11…ウェブクライアント
12…ブラウザ
25…プロキシ
23−1、23−2、23−n…ビュー
21…ビューフローコントローラ
22,34…データベース
31…ファサード
33…ビジネスマッピング
35−1、35−2、35−n…デリゲート
37−1、37−2、37−n…ビジネスシナリオ
41…DAO
43…SAO
51…DBMS
53…外部システム
60…アプリケーション提供システム
80…アプリケーション開発支援システム
81…ビューフローツール部
82…画面遷移定義部
83…ファイル生成部
84…画面遷移シミュレーション部
85…ビジネスシナリオツール部
86…ビジネスシナリオ定義入力部
87…ファイル生成部
88…ビジネスシナリオ連携部
91…画面制御サーブレット
92…擬似プロキシ

Claims (4)

  1. ネットワークを介して接続されるクライアントへアプリケーションを提供するアプリケーション提供システムの開発に用いられるアプリケーション開発支援システムであって、
    前記クライアントへ表示する遷移元及び遷移先の画面ファイルの識別情報と、アプリケーション処理を実行するシナリオの識別情報及び該シナリオの出力するステータスの識別情報からなる遷移条件との入力を開発者から受ける画面遷移定義部と、
    前記画面遷移定義部が受けた画面ファイルの識別情報及び遷移条件を基に、前記アプリケーション提供システムが画面生成処理とシナリオとを連携するための画面遷移を定義したファイルと、シナリオの識別情報及び該シナリオの出力するステータスの識別情報の一覧であるビューフローシナリオ一覧ファイルとを生成する第1のファイル生成部と、
    前記アプリケーション提供システムが実装するシナリオの識別情報及び該シナリオの出力するステータスの識別情報を開発者から受ける入力部と、
    前記入力部が受けたシナリオの識別情報及び該シナリオの出力するステータスの識別情報の一覧であるビジネスシナリオステータス一覧ファイルを生成する第2のファイル生成部と、
    前記ビューフローシナリオ一覧ファイル及び前記ビジネスシナリオステータス一覧ファイルの間のシナリオまたはステータスのマッピングの入力を開発者から受け、該ビューフローシナリオ一覧ファイル内及び前記画面遷移を定義するファイル内のシナリオの識別情報またはステータスの識別情報を書き換えるビジネスシナリオ連携部と、
    を備えることを特徴とするアプリケーション開発支援システム。
  2. ネットワークを介して接続されるクライアントへアプリケーションを提供するアプリケーション提供システムの開発に用いられるアプリケーション開発支援方法であって、
    前記クライアントへ表示する遷移元及び遷移先の画面ファイルの識別情報と、アプリケーション処理を実行するシナリオの識別情報及び該シナリオの出力するステータスの識別情報からなる遷移条件との入力を開発者から受け、前記アプリケーション提供システムが画面生成処理とシナリオとを連携するための画面遷移を定義したファイルと、該シナリオの識別情報及び該シナリオの出力するステータスの識別情報の一覧であるビューフローシナリオ一覧ファイルとを生成し、
    前記アプリケーション提供システムが実装するシナリオの識別情報及び該シナリオの出力するステータスの識別情報を開発者から受け、該シナリオの識別情報及び該シナリオの出力するステータスの識別情報の一覧であるビジネスシナリオステータス一覧ファイルを生成し、
    前記ビューフローシナリオ一覧ファイル及び前記ビジネスシナリオステータス一覧ファイルの間のシナリオまたはステータスのマッピングの入力を開発者から受け、該ビューフローシナリオ一覧ファイル内及び前記画面遷移を定義するファイル内のシナリオの識別情報またはステータスの識別情報を書き換える、
    ことを特徴とするアプリケーション開発支援方法。
  3. ネットワークを介して接続されるクライアントへアプリケーションを提供するアプリケーション提供システムの開発に用いられるアプリケーション開発支援システム上で実行されるコンピュータプログラムであって、
    前記クライアントへ表示する遷移元及び遷移先の画面ファイルの識別情報と、アプリケーション処理を実行するシナリオの識別情報及び該シナリオの出力するステータスの識別情報からなる遷移条件との入力を開発者から受け、前記アプリケーション提供システムが画面生成処理とシナリオとを連携するための画面遷移を定義したファイルと、該シナリオの識別情報及び該シナリオの出力するステータスの識別情報の一覧であるビューフローシナリオ一覧ファイルとを生成するステップと、
    前記アプリケーション提供システムが実装するシナリオの識別情報及び該シナリオの出力するステータスの識別情報を開発者から受け、該シナリオの識別情報及び該シナリオの出力するステータスの識別情報の一覧であるビジネスシナリオステータス一覧ファイルを生成するステップと、
    前記ビューフローシナリオ一覧ファイル及び前記ビジネスシナリオステータス一覧ファイルの間のシナリオまたはステータスのマッピングの入力を開発者から受け、該ビューフローシナリオ一覧ファイル内及び前記画面遷移を定義するファイル内のシナリオの識別情報またはステータスの識別情報を書き換えるステップと、
    をコンピュータに実行させるためのアプリケーション開発支援システムのコンピュータプログラム。
  4. ネットワークを介して接続されるクライアントへアプリケーションを提供するアプリケーション提供システムの開発に用いられるアプリケーション開発支援システム上で実行されるコンピュータプログラムを記緑したコンピュータ読み取り可能な記録媒体であって、
    前記クライアントへ表示する遷移元及び遷移先の画面ファイルの識別情報と、アプリケーション処理を実行するシナリオの識別情報及び該シナリオの出力するステータスの識別情報からなる遷移条件との入力を開発者から受け、前記アプリケーション提供システムが画面生成処理とシナリオとを連携するための画面遷移を定義したファイルと、該シナリオの識別情報及び該シナリオの出力するステータスの識別情報の一覧であるビューフローシナリオ一覧ファイルとを生成するステップと、
    前記アプリケーション提供システムが実装するシナリオの識別情報及び該シナリオの出力するステータスの識別情報を開発者から受け、該シナリオの識別情報及び該シナリオの出力するステータスの識別情報の一覧であるビジネスシナリオステータス一覧ファイルを生成するステップと、
    前記ビューフローシナリオ一覧ファイル及び前記ビジネスシナリオステータス一覧ファイルの間のシナリオまたはステータスのマッピングの入力を開発者から受け、該ビューフローシナリオ一覧ファイル内及び前記画面遷移を定義するファイル内のシナリオの識別情報またはステータスの識別情報を書き換えるステップと、
    の各処理をコンピュータに実行させるアプリケーション開発支援システムのプログラムを記録する記録媒体。
JP2002271499A 2002-09-18 2002-09-18 アプリケーション開発支援システム及びアプリケーション開発支援方法ならびにコンピュータプログラム Expired - Lifetime JP3732816B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002271499A JP3732816B2 (ja) 2002-09-18 2002-09-18 アプリケーション開発支援システム及びアプリケーション開発支援方法ならびにコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002271499A JP3732816B2 (ja) 2002-09-18 2002-09-18 アプリケーション開発支援システム及びアプリケーション開発支援方法ならびにコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2004110362A JP2004110362A (ja) 2004-04-08
JP3732816B2 true JP3732816B2 (ja) 2006-01-11

Family

ID=32268790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002271499A Expired - Lifetime JP3732816B2 (ja) 2002-09-18 2002-09-18 アプリケーション開発支援システム及びアプリケーション開発支援方法ならびにコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP3732816B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4889953B2 (ja) * 2005-03-09 2012-03-07 株式会社野村総合研究所 情報処理装置及び方法
JP2006260440A (ja) * 2005-03-18 2006-09-28 Nomura Research Institute Ltd 携帯端末のためのアプリケーションシステム
JP4695903B2 (ja) * 2005-03-22 2011-06-08 富士電機システムズ株式会社 Webアプリケーションシステム、そのプログラム
JP2007287025A (ja) * 2006-04-19 2007-11-01 Nec Corp 画面遷移プログラム生成方法及び装置
JP2011003135A (ja) * 2009-06-22 2011-01-06 Nec System Technologies Ltd 画面業務システム、画面業務システム構築方法およびプログラム
JP6265030B2 (ja) * 2014-04-25 2018-01-24 日本電気株式会社 アプリケーション開発システム、開発装置のデータ処理方法、およびプログラム
JP6536308B2 (ja) * 2015-09-14 2019-07-03 株式会社リコー 情報処理システム、情報処理装置、情報処理方法、及びプログラム

Also Published As

Publication number Publication date
JP2004110362A (ja) 2004-04-08

Similar Documents

Publication Publication Date Title
KR101292401B1 (ko) 풍부한 데이터 바인딩된 애플리케이션
US6868454B1 (en) Distributed-object development system and computer-readable recording medium recorded with program for making computer execute distributed-object development
US8370370B2 (en) Bridging real-world web applications and 3D virtual worlds
US7363628B2 (en) Data centric and protocol agnostic workflows for exchanging data between a workflow instance and a workflow host
US7287229B2 (en) Template-driven process system
US7895571B2 (en) Method and apparatus for resolving client-side logic
US7099939B2 (en) HTTP transaction monitor with sequence replay capacity
JP2004535606A (ja) クライアント上で表示されたユーザインターフェース要素およびウェブサーバ上で実行するソフトウェアアプリケーションコンポーネントを同期させる方法および装置
US20030023641A1 (en) Web page authoring tool
US20050256933A1 (en) Client-side callbacks to server events
WO2007053169A1 (en) A method and system for developing interactive web applications in a unified framework
MXPA06000085A (es) Puerta de refrigerador y refrigerardor con la misma.
WO2003088120A1 (en) System and method for automated workflow application development
WO2008002274A1 (en) Method and system for client-side user interface enhancement to enable application integration and portalisation
WO2002029641A2 (en) Http transaction monitor with replay capacity
US20060218164A1 (en) Document management device and document management program
JP3732816B2 (ja) アプリケーション開発支援システム及びアプリケーション開発支援方法ならびにコンピュータプログラム
JP5393242B2 (ja) データ提供方法および中間サーバ装置
US8656293B1 (en) Configuring mobile devices
JP2000112888A (ja) ブラウザ操作管理装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP3670261B2 (ja) アプリケーション提供システム及びアプリケーション提供方法ならびにアプリケーション提供システムのコンピュータプログラム
JPH10307745A (ja) ドキュメント処理システム
Myers An extensible component-based architecture for web-based simulation using standards-based web browsers
JP3842696B2 (ja) 画面遷移制御システム、クライアント、ウェブサーバ、画面遷移制御方法およびコンピュータプログラム
JP2008108093A (ja) Web上技術計算システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050603

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051004

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051013

R150 Certificate of patent or registration of utility model

Ref document number: 3732816

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081021

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091021

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091021

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101021

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111021

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121021

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131021

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141021

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term