(57)【要約】      （修正有）【課題】アプリケーション開発ツールにおいて、アプリケーションのエンドユーザが利用するドキュメントを容易に生成する情報処理装置と、その処理方法及びプログラムを提供する。【解決手段】アプリケーションとして用いられるプログラムを生成する情報処理装置であって、アプリケーションの画面を介して入力される項目を定義する入力定義情報と画面に出力する項目を定義する出力定義情報とを入出力定義情報として管理する。入出力定義情報を用いて、アプリケーションとして用いられるプログラムを生成し、入出力定義情報を用いて、アプリケーションのユーザが利用するドキュメントを生成する。【選択図】図５
2020129392.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションとして用いられるプログラムを生成する情報処理装置であって、
前記アプリケーションの画面を介して入力される項目を定義する入力定義情報と前記画面に出力する項目を定義する出力定義情報とを入出力定義情報として管理する入出力定義管理手段と、
前記入出力定義情報を用いて、前記アプリケーションとして用いられるプログラムを生成するプログラム生成手段と、
前記入出力定義情報を用いて、前記アプリケーションのユーザが利用するドキュメントを生成するドキュメント生成手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記入出力定義情報は、当該入出力定義情報が持つ属性、前記プログラムの種別、前記項目の種別又は前記項目が持つ属性のうち少なくとも１つを含み、
前記入出力定義情報のうち、当該入出力定義情報が持つ属性、前記プログラムの種別、前記項目の種別又は前記項目が持つ属性のうち少なくとも１つについて、前記ドキュメントに含める情報を決定するためのフィルタ情報を管理するフィルタ定義管理手段を更に備え、
前記ドキュメント生成手段は、
前記フィルタ定義管理手段により管理されているフィルタ情報に従って前記入出力定義情報を選別し、当該選別した入出力定義情報を用いて前記ドキュメントを生成すること
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記入出力定義情報を用いて、当該入力定義情報に対応する前記アプリケーションの画面のプレビュー画面を生成するプレビュー画面生成手段を更に備え、
前記ドキュメント生成手段は、
前記ドキュメント生成手段により生成されたドキュメントに対して、前記プレビュー画面生成手段により生成されたプレビュー画面を含ませること
を特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記アプリケーションの画面の識別情報に対応するディレクトリにファイルが存在するか否かを判定するファイル有無判定手段を更に備え、
前記ドキュメント生成手段は、
前記ファイル有無判定手段によりファイルが存在すると判定された場合は、前記ドキュメント生成手段により生成された、当該画面に対応する入出力定義情報のドキュメントに対して、当該ファイルへアクセスするためのリンクを含ませること
を特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記ドキュメント生成手段は、
前記ドキュメント生成手段により生成されたドキュメントに対して、当該ドキュメントに出力された、アプリケーションの画面の名称に対するユーザからの指示の受け付けに応じて、当該画面に対応する入出力定義情報を表示するためのリンクを含ませること
を更に備えることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記ドキュメント生成手段は、
前記ドキュメント生成手段により生成されたドキュメントに対して、検索キーワードを用いて当該ドキュメントを検索するための当該検索キーワードを受け付ける受付部を含ませること
を特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
アプリケーションとして用いられるプログラムを生成する情報処理装置における処理方法であって、
前記情報処理装置が、
前記アプリケーションの画面を介して入力される項目を定義する入力定義情報と前記画面に出力する項目を定義する出力定義情報とを入出力定義情報として管理する入出力定義管理ステップと、
前記入出力定義情報を用いて、前記アプリケーションとして用いられるプログラムを生成するプログラム生成ステップと、
前記入出力定義情報を用いて、前記アプリケーションのユーザが利用するドキュメントを生成するドキュメント生成ステップと
を実行することを特徴とする処理方法。
【請求項８】
アプリケーションとして用いられるプログラムを生成する情報処理装置で実行可能なプログラムであって、
前記情報処理装置を、
前記アプリケーションの画面を介して入力される項目を定義する入力定義情報と前記画面に出力する項目を定義する出力定義情報とを入出力定義情報として管理する入出力定義管理手段と、
前記入出力定義情報を用いて、前記アプリケーションとして用いられるプログラムを生成するプログラム生成手段と、
前記入出力定義情報を用いて、前記アプリケーションのユーザが利用するドキュメントを生成するドキュメント生成手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムを生成するための情報処理装置と、その処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来から、入出力定義やデータモデル定義などを設定し、アプリケーションのプログラムを生成するアプリケーション開発ツールが存在する。
【０００３】
このアプリケーション開発ツールによって、アプリケーションのプログラムを生成し、当該アプリケーションが動作する環境を構築することで開発工数及びテスト工数を削減することができた。
【０００４】
しかし、アプリケーション開発ツールによって、アプリケーションのエンドユーザのための操作マニュアルや画面仕様ドキュメントを生成することまではできないため、当該アプリケーションの開発者又は当該アプリケーションを管理する情報システム部若しくは管轄部門が、アプリケーションのサービスインまでに、当該アプリケーションの画面をキャプチャし、当該アプリケーションの要件定義書や設計書を基にして、操作マニュアルや画面仕様ドキュメントを作成しなければならなかった。
【０００５】
特許文献１には、アプリケーションプログラムの生成装置において、画面項目定義を用いて単体検査仕様書を生成する仕組みが示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１５４５７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１の仕組みは、アプリケーションの開発者及びテスト実施者が利用する単体検査仕様書を生成するのみであるため、アプリケーションのエンドユーザが利用する操作マニュアル等のドキュメントを生成することができない。
【０００８】
そこで、本発明の目的は、アプリケーション開発ツールにおいて、アプリケーションのエンドユーザが利用するドキュメントを容易に生成する仕組みを提供することである。
【課題を解決するための手段】
【０００９】
アプリケーションとして用いられるプログラムを生成する情報処理装置であって、前記アプリケーションの画面を介して入力される項目を定義する入力定義情報と前記画面に出力する項目を定義する出力定義情報とを入出力定義情報として管理する入出力定義管理手段と、前記入出力定義情報を用いて、前記アプリケーションとして用いられるプログラムを生成するプログラム生成手段と、前記入出力定義情報を用いて、前記アプリケーションのユーザが利用するドキュメントを生成するドキュメント生成手段とを備えることを特徴とする情報処理装置。
【発明の効果】
【００１０】
本発明によれば、アプリケーション開発ツールにおいて、アプリケーションのエンドユーザが利用するドキュメントを容易に生成する仕組みを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明に係るプログラム開発装置、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント、アプリケーションサーバの構成の一例を示すシステム構成図である。
【図２】本発明に係るプログラム開発装置、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント、アプリケーションサーバとして適用可能な各ハードウェア構成の一例を示すブロック図である。
【図３】本発明の実施の形態のソフトウェア構成を示すブロック図の一例である。
【図４】本発明に係るプログラム開発装置の構成図である。
【図５】Ｗｅｂアプリケーション及びドキュメント生成のフローチャート並びにドキュメント生成のフローチャートの一例を示す図である。
【図６】リポジトリ定義の一例を示す図である。
【図７】ドキュメント生成詳細のフローチャートの一例を示す図である。
【図８】ドキュメント出力のフローチャートの一例を示す図である。
【図９】関連文書・ヘッダ・フッタ等出力処理（Ｂ）のフローチャートの一例を示す図である。
【図１０】検索情報生成のフローチャートの一例を示す図である。
【図１１】画面一覧情報生成のフローチャートの一例を示す図である。
【図１２】画面仕様表示部の生成・出力のフローチャートの一例を示す図である。
【図１３】画面項目仕様表示部の生成・出力のフローチャートの一例を示す図である。
【図１４】入出力定義画面、入出力項目定義画面、ＮＯＤＯＣ定義画面の一例を示す図である。
【図１５】生成された画面仕様ドキュメント１５００の一例を示す図である。
【図１６】生成された画面仕様ドキュメントの表紙の一例を示す図である。
【図１７】ドキュメントフィルタ定義の一例を示す図である。
【図１８】ドキュメントフィルタ定義の一例を示す図である。
【図１９】ドキュメントフィルタ定義の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態を、図面を参照して詳細に説明するが、本発明の特徴の一例を表している箇所は、図１５である。
【００１３】
図１は、本発明に係わるプログラム開発装置（開発者がＷｅｂアプリケーション生成のために使用する情報処理装置）、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント（クライアント装置）、アプリケーションサーバ、Ｗｅｂサーバの構成の一例を示すシステム（情報処理システム）構成図である。
【００１４】
プログラム開発装置１０１は、開発者の操作に従って画面レイアウト及びデータベース検索指示などを定義する。なお、プログラム開発装置１０１では、開発者の入力受付を行い、後述するプログラム開発サーバ１０２に実際のプログラム生成処理、アプリケーション生成処理を行うというように役割を分けてもよいし、プログラム開発装置１０１単体でプログラム生成、アプリケーション生成までを行ってもよい。
【００１５】
なお、この実施形態においては、プログラム開発装置１０１で生成するアプリケーションはＷｅｂアプリケーションとしたが、これに限定するものではなく、携帯電話・スマートフォン・タブレットなどの情報処理装置で動作するアプリケーションや組込みソフトウェアなど、Ｗｅｂ技術による通信を利用したアプリケーションでなくてもよい。
【００１６】
また、本実施形態においては、プログラム開発装置１０１によってアプリケーションのプログラムを生成するとしたが、プログラムの生成に限定するものではなく、開発者の操作に従って設定された定義を用いて、アプリケーションが動作する環境を構築するとしてもよい。
【００１７】
プログラム開発サーバ１０２ａ〜１０２ｂ（情報処理装置）は、プログラム開発装置１０１により入力された開発者の設定及び指示に従って、プログラムを生成する。プログラム開発サーバ１０２ａはＬＡＮなどのネットワーク１０７内に配置されてもよいし、プログラム開発サーバ１０２ｂはインターネット上やクラウド上に配置されてもよい。
【００１８】
データベースサーバ１０３ａ〜１０３ｂ（情報処理装置）は、開発されたアプリケーションが使用するデータベースであり、また本発明では開発時にも動作確認などのために利用してもよい。例えば、開発者が利用するためにデータベースサーバ１０３は、プログラム開発装置１０１と同一の装置で構成されていてもよいし、ＬＡＮなどのネットワーク１０７内に配置されてもよい（データベースサーバ１０３ａ）。またインターネット上やクラウド上に配置されてもよい（データベースサーバ１０３ｂ）。また、プログラム開発装置１０１が、プログラム開発サーバ１０２と協調する場合には、プログラム開発サーバ１０２とデータベースサーバ１０３が同一の装置内に構成されていてもよい。
【００１９】
アプリケーションサーバ１０５（情報処理装置）は、プログラム開発装置１０１で生成されたアプリケーションプログラムを実行する。アプリケーションサーバ１０５は、ＬＡＮなどのネットワーク１０７内に配置されてもよい（アプリケーションサーバ１０５）し、またインターネット上やクラウド上に配置されてもよい（アプリケーションサーバ１０５ｂ）。また、ネットワーク１０７、インターネット、クラウド上のデータベースサーバ１０３と接続して動作することが可能である。
【００２０】
アプリケーションクライアント１０４ａ〜１０４ｂ（情報処理装置）は、アプリケーションサーバ１０５と協調してプログラム開発装置１０１で開発したアプリケーションプログラムを動作させる、ユーザの入力端末である。ＬＡＮなどのネットワーク１０７内に配置されてもよい（アプリケーションクライアント１０４ａ）し、またインターネット上やクラウド上に配置されてもよい（アプリケーションクライアント１０４ｂ）。携帯端末などの情報処理装置であってもよい。
【００２１】
Ｗｅｂサーバ１０６（情報処理装置）は、プログラム開発装置１０１で生成された画面仕様ドキュメント４４３をアプリケーションクライアント１０４からのリクエストに応じて送信する。Ｗｅｂサーバ１０６は、ＬＡＮなどのネットワーク１０７内に配置されてもよいし、またインターネット上やクラウド上等に配置されてもよい。
なお、本実施形態においては、アプリケーションサーバ１０５とＷｅｂサーバ１０６は別筐体の情報処理装置としたが、これに限定するものではなく、１つの情報処理装置であっても、仮想環境上に構築されてもよい。
【００２２】
図２は、本発明に係わるプログラム開発装置１０１、プログラム開発サーバ１０２、データベースサーバ１０３、アプリケーションクライアント１０４、アプリケーションサーバ１０５として適用可能な各ハードウェア構成の一例を示すブロック図である。
【００２３】
図２において、ＣＰＵ２０１は、システムバス２０４に接続される各デバイスを統括的に制御する。
【００２４】
また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるオペレーティングシステム（ＯＳ）や、各サーバ、クライアント、装置など情報処理装置の後述する各種機能を実現するためのプログラムが記憶されている。
【００２５】
ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア、一時待避領域等として機能する。
【００２６】
入力コントローラ２０５は、入力部２０９からの入力を制御する。この入力部２０９としては、情報処理装置では、キーボード、マウス等のポインティングデバイスが挙げられる。
【００２７】
出力コントローラ２０６は、出力部２１０の表示を制御する。この出力部２１０としては、例えば、ＣＲＴや液晶ディスプレイ等が挙げられる。
【００２８】
外部メモリコントローラ２０７は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ２１１へのアクセスを制御する。加えて、各サーバ、クライアント、装置等の各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ２１１としては、ハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）、ＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）、スマートメディア等が挙げられる。
【００２９】
通信Ｉ／Ｆコントローラ２０８は、ネットワークを介して外部機器との通信制御処理を実行する。
【００３０】
本発明を実現するためのプログラム２１２は外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０２にロードされることによりＣＰＵ２０１によって実行されるものである。
【００３１】
図３は、本発明の実施の形態のソフトウェア構成を示すブロック図の一例である。
プログラム開発装置１０１は、以下の機能部を備える。
【００３２】
入出力定義管理部３０１は、アプリケーションの画面を介して入力される項目を定義する入力定義情報と画面に出力する項目を定義する出力定義情報とを入出力定義情報として管理する機能部である。
【００３３】
プログラム生成部３０２は、入出力定義情報を用いて、アプリケーションとして用いられるプログラムを生成する機能部である。
【００３４】
ドキュメント生成部３０３は、入出力定義情報を用いて、アプリケーションのユーザが利用するドキュメントを生成する機能部である。
【００３５】
フィルタ定義管理部３０４は、入出力定義情報のうち、当該入出力定義情報が持つ属性、プログラムの種別、項目の種別又は項目が持つ属性のうち少なくとも１つについて、ドキュメントに含める情報を決定するためのフィルタ情報を管理する機能部である。
【００３６】
ドキュメント生成部３０３は、フィルタ定義管理部３０４により管理されているフィルタ情報に従って入出力定義情報を選別し、当該選別した入出力定義情報を用いてドキュメントを生成する機能部である。
【００３７】
プレビュー画面生成部３０５は、入出力定義情報を用いて、当該入力定義情報に対応するアプリケーションの画面のプレビュー画面を生成する機能部である。
【００３８】
ドキュメント生成部３０３は、ドキュメント生成部３０３により生成されたドキュメントに対して、プレビュー画面生成部３０５により生成されたプレビュー画面を含ませる機能部である。
【００３９】
ファイル有無判定部３０６は、アプリケーションの画面の識別情報に対応するディレクトリにファイルが存在するか否かを判定する機能部である。
【００４０】
ドキュメント生成部３０３は、ファイル有無判定部３０６によりファイルが存在すると判定された場合は、ドキュメント生成部３０３により生成された、当該画面に対応する入出力定義情報のドキュメントに対して、当該ファイルへアクセスするためのリンクを含ませる機能部である。
【００４１】
ドキュメント生成部３０３は、ドキュメント生成部３０３により生成されたドキュメントに対して、当該ドキュメントに出力された、アプリケーションの画面の名称に対するユーザからの指示の受け付けに応じて、当該画面に対応する入出力定義情報を表示するためのリンクを含ませる機能部である。
【００４２】
ドキュメント生成部３０３は、ドキュメント生成部３０３により生成されたドキュメントに対して、検索キーワードを用いて当該ドキュメントを検索するための当該検索キーワードを受け付ける受付部を含ませる機能部である。
【００４３】
第１文言管理部３１１は、第１の言語による、入出力定義情報に係る文言を管理する機能部である。
【００４４】
第２文言管理部３１２は、第２の言語による、入出力定義情報に係る文言を管理する機能部である。
【００４５】
第１ドキュメント生成部３１３は、入出力定義情報及び第１文言管理部３１１により管理されている文言を用いて、アプリケーションのユーザが利用する第１の言語によるドキュメントを生成する機能部である。
【００４６】
第２ドキュメント生成部３１４は、入出力定義情報及び第２文言管理部３１２により管理されている文言を用いて、アプリケーションのユーザが利用する第２の言語によるドキュメントを生成する機能部である。
【００４７】
第１ドキュメント生成部３１３は、第１ドキュメント生成部３１３により生成されたドキュメントに対して、第２ドキュメント生成部３１４により生成されたドキュメントを表示するための指示を受け付ける指示受付部を含ませる機能部である。
【００４８】
第１プレビュー画面生成部３１５は、入出力定義情報及び第１文言管理部３１１により管理されている文言を用いて、当該入力定義情報に対応するアプリケーションの画面のプレビュー画面を生成する機能部である。
【００４９】
第２プレビュー画面生成部３１６は、入出力定義情報及び第２文言管理部３１２により管理されている文言を用いて、当該入力定義情報に対応するアプリケーションの画面のプレビュー画面を生成する機能部である。
【００５０】
第１ドキュメント生成部３１３は、第１ドキュメント生成部３１３により生成されたドキュメントに対して、第１プレビュー画面生成部３１５により生成されたプレビュー画面を含まる機能部である。
【００５１】
第２ドキュメント生成部３１４は、第２ドキュメント生成部３１４により生成されたドキュメントに対して、第２プレビュー画面生成部３１６により生成されたプレビュー画面を含ませる機能部である。
【００５２】
図４は、プログラム開発装置１０１の構成図である。
プログラム開発装置１０１は、リポジトリ定義部４０１、Ｗｅｂアプリケーション生成部４１５及び画面仕様ドキュメント生成部４１９を備える。
【００５３】
プログラム開発装置１０１は、Ｗｅｂアプリケーションを開発する開発者により設定されたリポジトリ定義部４０１の各定義を用いて、Ｗｅｂアプリケーション生成部４１５によりＷｅｂアプリケーション４３８を生成する。また、プログラム開発装置１０１は、リポジトリ定義部４０１の各定義を用いて、画面仕様ドキュメント生成部４１９により画面仕様ドキュメントを生成する。
リポジトリ定義部４０１には、アプリケーション定義４０２、入出力定義４０３、データモデル定義４０４、ビジネスプロセス定義４０５、データベース定義４０６、ドキュメント用定義４０７、画面ＨＴＭＬデータ４０８、ドキュメントフィルタ定義４０９、表紙ファイル４１０、アプリケーションリソースファイル４１１、ドキュメントリソースファイル４１２、ヘッダ・フッタファイル４１３及び関連文書４１４が記憶されている。これら４０２〜４１４の定義は、Ｗｅｂアプリケーション開発ツールを介して、開発者によって入力設定または配置される。
【００５４】
なお、入出力定義４０３は、入力項目定義情報及び出力項目定義情報を含む。入力項目定義情報は、生成されたＷｅｂアプリケーションの画面を介して当該Ｗｅｂアプリケーションのユーザが入力する入力項目を定義した情報である。出力項目定義情報は、生成されたＷｅｂアプリケーションの画面に出力する出力項目を定義した情報である。以降、「入力項目定義情報」及び「出力項目定義情報」をまとめて「入出力項目定義情報」と呼ぶ。
【００５５】
また、画面ＨＴＭＬデータ４０８は、Ｗｅｂアプリケーション開発ツールの画面レイアウトエディタ（不図示）を用いて生成された画面レイアウトをＨＴＭＬ等に変換した画面情報である。なお、画面レイアウトエディタによる画面レイアウトの作成は、開発者が入出力定義画面１４００（図１４）における入出力定義４０３の設定と並行して行う作業である。画面レイアウトエディタを用いて、入出力項目（キャプション、ボタン、テキストボックス等）の配置を設定しつつ、入出力定義画面１４００を用いて、その入出力項目の属性を設定する。
【００５６】
また、アプリケーションリソースファイル４１１は、Ｗｅｂアプリケーションの画面に表示する文言等を定義したファイルであり、ドキュメントリソースファイル４１２は、画面仕様ドキュメント４４３に表示する文言等を定義したファイルである。
【００５７】
よって、リポジトリ定義部４０１は、生成されたプログラムの実行によって表示されるアプリケーションの画面を介して入力される項目を定義する入力定義情報と画面に出力する項目を定義する出力定義情報とを入出力定義情報として管理する手段の一例である。
Ｗｅｂアプリケーション生成部４１５は、Ｗｅｂアプリケーション生成用のリポジトリ定義解析部４１６を用いてリポジトリ定義部４０１に記憶されている各定義を解析し、Ｗｅｂアプリケーションコード生成部４１７及びソースコードコンパイル部４１８を介し、コンパイル済Ｊａｖａ（登録商標）コード４３９及びＨＴＭＬ／ＪＳＰ／ＪａｖａＳｃｒｉｐｔ（登録商標）４４０を含むＷｅｂアプリケーション４３８を生成する。すなわち、入出力定義情報を用いて、前記アプリケーションとして用いられるプログラムを生成する手段の一例である。
画面仕様ドキュメント生成部４１９は、画面仕様ドキュメント生成用のリポジトリ定義解析部４２０を用いてリポジトリ定義部４０１に記憶されている各定義を解析し、画面一覧生成部４２１、画面仕様生成部４２２、画面イメージ生成部４２３、画面項目仕様生成部４２４、検索機能生成部４２５、関連文書生成部４２７、表紙生成部４２８及びヘッダ・フッタ生成部４２９を用いて、ＨＴＭＬ／ＣＳＳ／ＪａｖａＳｃｒｉｐｔ（登録商標）４４４及び画像ファイル４４５を含む画面仕様ドキュメント４４３を生成する。
【００５８】
その際、レイアウト構成部４２６は、出力フィルタ管理部４３０を介し、ドキュメントエリア設定管理部４３２にて管理されているエリア出力設定４３３及びエリアサイズ設定４３４における設定を、画面一覧生成部４２１、画面仕様生成部４２２、画面イメージ生成部４２３、画面項目仕様生成部４２４及び検索機能生成部４２５が生成するドキュメントのレイアウトとして用いる。
【００５９】
更に、レイアウト構成部４２６は、ドキュメントテーマ管理部４３５にて管理されている組込デザイン情報４３６及び／又はユーザ作成デザイン情報４３７から取得したテーマ（スタイルシート等、ドキュメントのレイアウトや装飾）を画面仕様ドキュメント４４３に反映する。
【００６０】
また、言語別ドキュメント置換処理部４３１は、表紙生成部４２８及びヘッダ・フッタ生成部４２９へ言語別のファイルを設定する。
【００６１】
すなわち、画面仕様ドキュメント生成部４１９は、アプリケーションのユーザが利用するドキュメントを生成する手段の一例である。
【００６２】
図５は、Ｗｅｂアプリケーション及びドキュメント生成のフローチャート並びにドキュメント生成のフローチャートの一例を示す図である。
プログラム開発装置１０１は、ディレクトリ構造６００（図６）を用いて、リポジトリ定義部４０１の各定義をファイルとして管理する。なお、本実施形態においては、
ディレクトリ構造６００を用いて、リポジトリ定義部４０１の各定義をファイルとして管理するとしたが、これに限定するものではなく、例えば、データベースを用いてリポジトリ定義部４０１の各定義を管理してもよいし、クラウドなどネットワーク上の記憶装置を用いて管理する等としてもよい。
Ｗｅｂアプリケーション及びドキュメント生成のフローチャートについて説明する。
【００６３】
ステップＳ５０１において、プログラム開発装置１０１は、リポジトリ定義部４０１からアプリケーション定義４０２を取得する。
【００６４】
ステップＳ５０２において、プログラム開発装置１０１は、リポジトリ定義部４０１からデータモデル定義４０４を取得する。
【００６５】
ステップＳ５０３において、プログラム開発装置１０１は、リポジトリ定義部４０１から入出力定義４０３を取得する。
【００６６】
ここで、図１４を用いて、入出力定義４０３について説明しておく。
入出力定義画面１４００（図１４）は、Ｗｅｂアプリケーションの開発者による入出力定義４０３の入力設定操作を受け付ける画面である。また、入出力定義画面１４００を用いて設定される入出力定義４０３は、画面仕様ドキュメントの基となる情報である。名前１４０２は、Ｗｅｂアプリケーションの画面名である。入出力タイプ１４０３は、入出力定義画面１４００にて設定された入出力定義４０３を用いて、どのようなプログラムを生成するかを決定する項目である。
【００６７】
例えば、Ｗｅｂアプリケーションの画面を表示するプログラムを生成する場合は“ＩＯ”、メニューを表示するプログラムを生成する場合は“ＭＥＮＵ”、ダイアログを表示するプログラムを生成する場合は“ＤＩＡＬＯＧ”、ファイルを出力するプログラムを生成する場合は“ＥＸＰＯＲＴ”、ファイルを入力するためのプログラムを生成する場合は“ＩＭＰＯＲＴ”、マトリクス画面を表示するプログラムを生成する場合は“ＭＡＴＲＩＸ”、帳票を印刷するプログラムを生成する場合は“ＰＲＩＮＴ＿ＦＩＬＥ”、モバイル用の画面を表示するプログラムを生成する場合は“ＭＯＢＩＬＥ”、バッチ用の画面を表示するプログラムを生成する場合は“ＢＡＴＣＨ”、Ｗｅｂサービス用のプログラムを生成する場合は“ＷＥＢＳＥＲＶＩＣＥ”を選択する。つまり、入出力タイプ１４０３に“ＥＸＰＯＲＴ”、“ＩＭＰＯＲＴ”、“ＰＲＩＮＴ＿ＦＩＬＥ”、“ＢＡＴＣＨ”又は“ＷＥＢＳＥＲＶＩＣＥ”を選択することにより、画面表示を伴わないアプリケーション又はサービスのプログラムを生成することもできる。
【００６８】
入出力項目定義１４１０（図１４）は、画面名が名前１４０２の画面を介してＷｅｂアプリケーションのユーザが入力する入力項目及び生成されたＷｅｂアプリケーションの画面名が名前１４０２の画面に出力する出力項目の定義情報である。入出力項目の項目タイプ１４１１には、Ｉ（入力）、Ｏ（出力）、ＩＯ（入出力）及びＡ（アクション）等があり、“Ｉ”であれば入力定義、“Ｏ”であれば出力定義、“ＩＯ”であれば入出力定義を意味する。
【００６９】
ＮＯＤＯＣ定義１４２０（図１４）は、入出力定義（図１４の１４００）及び入出力項目定義（図１４の１４１０）に対して設定でき、「ＮＯＤＯＣ」という指定をすることにより、画面仕様ドキュメント４４３として出力しないようにすることができる。これにより、Ｗｅｂアプリケーションのユーザにとっては不要な画面・画面項目は、画面仕様ドキュメント４４３に出力しないようにすることができるため、ユーザにとってわかりやすいドキュメント
【００７０】
ステップＳ５０４において、プログラム開発装置１０１は、リポジトリ定義部４０１からビジネスプロセス定義４０５を取得する。
ステップＳ５０５において、プログラム開発装置１０１は、リポジトリ定義部４０１からデータベース定義４０６を取得する。
【００７１】
ステップＳ５０６において、プログラム開発装置１０１は、Ｗｅｂアプリケーション生成部４１５を用いて、Ｗｅｂアプリケーション４３８に用いるプログラムを生成する。すなわち、ステップＳ５０６は、アプリケーションとして用いられるプログラムを生成する処理の一例を示すステップである。
【００７２】
ステップＳ５０７において、プログラム開発装置１０１は、画面仕様ドキュメント生成部４１９を用いて、画面仕様ドキュメント４４３を生成する。すなわち、ステップＳ５０７は、アプリケーションのユーザが利用するドキュメントを生成する処理の一例を示すステップである。これにより、アプリケーションのエンドユーザが利用するドキュメントを容易に生成することができる。
【００７３】
リポジトリ定義解析部４２０は、読み込んだ定義を解析したうえでメモリに保管しておき、各生成部から適宜参照される。
【００７４】
レイアウト構成部４２６は、生成部の生成したドキュメントの各構成要素をレイアウトする。
【００７５】
ステップＳ５０８において、プログラム開発装置１０１は、ステップＳ５０６にて生成したプログラムをアプリケーションサーバ１０５に配置（デプロイ）し、ステップＳ５０６にて生成した画面仕様ドキュメント４４３をＷｅｂサーバ１０６に配置する。これにより、アプリケーションサーバ１０５上でＷｅｂアプリケーションが動作し、Ｗｅｂサーバ１０６から画面仕様ドキュメント４４３を配信することができるようになる。
【００７６】
図１５は、生成された画面仕様ドキュメント１５００の一例を示す図である。
１５０１は、検索キーワード受付部である。生成された画面仕様ドキュメント１５００から、入力を受け付けた文字列を含む画面仕様ドキュメント１５００を検索して表示する。
【００７７】
１５０２は、画面一覧表示部であり、入出力定義４０３の一覧を表示する。表示された画面名がクリックされると、クリックされた画面の入出力定義情報を右ペインに表示する。
【００７８】
１５０３は、画面仕様表示部であり、入出力定義４０３の属性及びその設定値を表示する。
【００７９】
１５０４は、画面イメージ表示部であり、画面ＨＴＭＬデータ４０８を用いて、入出力定義４０３の画面イメージを表示する。
【００８０】
１５０５は、画面項目仕様表示部であり、入出力定義４０３の入出力項目の属性及びその設定値を一覧表示する。
【００８１】
１５０６は、関連文書表示部であり、当該入出力定義４０３に関連する文書へのリンクを表示する。
【００８２】
１５０７は、ヘッダ表示部であり、全ページの画面最上部に表示する。
【００８３】
１５０８は、フッタ表示部であり、全ページの画面最下部に表示する。
【００８４】
１５０９は、言語切替部であり、画面仕様ドキュメント１５００の表示言語（例：日本語・英語等）を切り替えることができる。
【００８５】
以上で、図１５の説明を終了する。
【００８６】
図１６は、生成された画面仕様ドキュメントの表紙の一例を示す図である。
１６０１は、表紙表示部である。画面仕様ドキュメント１５００の表示の指示を受け付けた場合、最初に表紙表示部１６０１を表示する。
以上で、図５のＷｅｂアプリケーション及びドキュメント生成のフローチャートの説明を終了する。
【００８７】
なお、ステップＳ５０１〜Ｓ５０８により、Ｗｅｂアプリケーションに用いるプログラム及び画面仕様ドキュメント１５００を続けて生成することができるが、画面仕様ドキュメント１５００のみを生成することもできる。その場合は、ステップＳ５０１、Ｓ５０２、Ｓ５０３、Ｓ５０７を行えばよい。（図５の右のフローチャート）
以上で、図５の説明を終了する。
【００８８】
図７は、ドキュメント生成詳細のフローチャートの一例を示す図である。
ステップＳ７０１において、プログラム開発装置１０１は、出力フィルタ管理部４３０により管理されているドキュメントフィルタ定義４０９を取得する。
【００８９】
ドキュメントフィルタ定義４０９には、図１７〜図１９のようなフィルタがあり、これらの定義の設定値に従って。画面仕様ドキュメント４４３として出力する情報をフィルタリング（選別）する。図１７〜図１９を用いて、各フィルタについて説明する。
【００９０】
入出力タイプフィルタ１７１０（図１７）は、入出力定義４０３を入出力タイプの値に従ってフィルタリングする。
【００９１】
入出力属性フィルタ１７２０（図１７）は、入出力定義４０３を入出力（定義）の属性に従ってフィルタリングする。
【００９２】
入出力項目タイプフィルタ１８１０（図１８）は、入出力定義４０３を入出力項目タイプの値に従ってフィルタリングする。
【００９３】
入出力項目属性フィルタ１８２０（図１８）は、入出力定義４０３を入出力項目の属性の値に従ってフィルタリングする。
【００９４】
エリアフィルタ１９００の（図１９）は、画面仕様ドキュメント４４３として出力する情報を、各表示部（図１５の１５０３〜１５０６）の出力可否の値（図１９の１９１１〜１９１５）に従ってフィルタリングし、各表示部の設定されたサイズ（図１９の１９２１〜１９２５）に従って表示するサイズを決定する。
【００９５】
出力フィルタ管理部４３０は、取得したドキュメントフィルタ定義４０９（特に１７００〜１８０１）の設定値をＲＡＭ２０２に記憶させて管理する。なお、これらの設定値は、各生成部（４２１〜４２５）により適宜参照される。
【００９６】
ドキュメントエリア設定管理部４３２は、取得したドキュメントフィルタ定義４０９（特に１９００）の設定値を、エリア出力設定４３３（特に１９１１〜１９１５）及びエリアサイズ設定４３４（特に１９２１〜１９２５）として、ＲＡＭ２０２に記憶させて管理する。なお、これらの設定値は、各生成部（４２１〜４２５）により適宜参照される。
【００９７】
すなわち、図１７〜図１９は、入出力定義情報のうち、当該入出力定義情報が持つ属性、プログラムの種別、項目の種別又は項目が持つ属性のうち少なくとも１つについて、ドキュメントに含める情報を決定するためのフィルタ情報を管理する手段の一例である。
【００９８】
図１７〜図１９の説明を終了し、図７の説明に戻る。
ステップＳ７０２において、プログラム開発装置１０１は、ドキュメントテーマ管理部４３５を用いて、画面仕様ドキュメント４４３のデザインに用いると指定されたテーマが組込テーマであるか否かを判定し、組込テーマの場合はステップＳ７０３に進み、組込テーマでない場合はステップＳ７０４に進む。「組込テーマ」とは、Ｗｅｂアプリケーション開発ツールに最初から組み込まれているテーマであり、一方、開発者が新たに作成したテーマは「ユーザ作成テーマ」と呼ぶ。
【００９９】
ステップＳ７０３において、プログラム開発装置１０１は、ドキュメントテーマ管理部４３５を用いて、組込デザイン情報４３６から指定されたテーマを取得し、レイアウト構成部４２６は、画面仕様ドキュメント４４３のデザインに取得したテーマを反映する。
【０１００】
ステップＳ７０４において、プログラム開発装置１０１は、ドキュメントテーマ管理部４３５を用いて、ユーザ作成デザイン情報４３７から指定されたテーマを取得し、レイアウト構成部４２６は、画面仕様ドキュメント４４３のデザインに取得したテーマを反映する。
【０１０１】
これにより、画面仕様ドキュメント４４３のデザインを自由にカスタマイズすることができ、かつ、すべての画面仕様ドキュメント４４３に対して統一したデザインを適用することができる。よって、アプリケーション開発ツールにおいて、アプリケーションのエンドユーザの利用に好適なドキュメントを容易に生成することができるようになる。
【０１０２】
ステップＳ７０５において、プログラム開発装置１０１は、言語別ドキュメント置換処理部４３１を用いて、ドキュメントリソースファイル４１２から、指定された言語のドキュメントリソースファイルを取得する。ドキュメントリソースファイル４１２は、言語ごとにファイルが分かれており、ファイル名は「ＤｏｃｕｍｅｎｔＲｅｓｏｕｒｃｅｓ_言語ＩＤ．ｃｏｎｆ」のようになっている。例えば、日本語のドキュメントリソースファイル４１２は、「ＤｏｃｕｍｅｎｔＲｅｓｏｕｒｃｅｓ_ｊｐ．ｃｏｎｆ」、英語のドキュメントリソースファイル４１２は、「ＤｏｃｕｍｅｎｔＲｅｓｏｕｒｃｅｓ_ｅｎ．ｃｏｎｆ」である。
すなわち、日本語のドキュメントリソースファイル４１２は、第１の言語による、入出力定義情報に係る文言を管理する手段の一例である。また、英語のドキュメントリソースファイル４１２は、第２の言語による、入出力定義情報に係る文言を管理する手段の一例である。
【０１０３】
ステップＳ７０６において、プログラム開発装置１０１は、指定された言語の数だけ、ステップＳ７０７からステップＳ７１６までの処理を繰り返す。
【０１０４】
ステップＳ７０７において、プログラム開発装置１０１は、リポジトリ定義解析部４２０を用いて、指定された言語のアプリケーションリソースファイル４１１及びドキュメントリソースファイル４１２の解析を行う。
【０１０５】
ステップＳ７０８において、プログラム開発装置１０１は、言語別ドキュメント置換処理部４３１を用いて、ステップＳ７０７にて解析したリソース（文言）を指定言語のリソース（文言）に置き換える。例えば、日本語のドキュメントリソースファイル４１２を用いて置き換えた場合は、ステップＳ７０９以降の（図８〜図１３を含む）処理によって、日本語用の画面仕様ドキュメント４４３が生成され、英語のドキュメントリソースファイル４１２を用いて置き換えた場合は、同様に、英語用の画面仕様ドキュメント４４３が生成される。
【０１０６】
ステップＳ７０９において、プログラム開発装置１０１は、所定のディレクトリにヘッダ・フッタファイル４１３の有無を判定する。有る場合はステップＳ７１０に進み、無い場合はステップＳ７１１に進む。
ステップＳ７１０において、プログラム開発装置１０１は、ヘッダ・フッタ生成部４２９及び言語別ドキュメント置換処理部４３１を用いて、指定言語に対応するヘッダ表示部１５０７およびフッタ表示部１５０８を生成する。
【０１０７】
ステップＳ７１１において、プログラム開発装置１０１は、検索機能生成部４２５を用いて、検索情報を生成する。この処理については、図１０にて詳細を説明する。
【０１０８】
ステップＳ７１２において、プログラム開発装置１０１は、画面一覧生成部４２１を用いて、画面一覧情報を生成する。この処理については、図１１にて詳細を説明する。
【０１０９】
ステップＳ７１３において、プログラム開発装置１０１は、入出力定義の数だけ、ステップＳ７１４の処理を繰り返す。
【０１１０】
ステップＳ７１４において、プログラム開発装置１０１は、入出力定義毎にドキュメント出力処理を行う。この処理については、図８にて詳細を説明する。すなわち、ステップＳ７１４は、入出力定義情報及び文言を用いて、アプリケーションのユーザが利用する第１の言語によるドキュメントを生成する処理の一例を示すステップである。また、ステップＳ７１４は、入出力定義情報及び文言を用いて、アプリケーションのユーザが利用する第２の言語によるドキュメントを生成する処理の一例を示すステップである。
【０１１１】
ステップＳ７１５において、プログラム開発装置１０１は、所定のディレクトリに表紙ファイル４１０の有無を判定する。有る場合はステップＳ７１６に進み、無い場合はステップＳ７１７に進む。
【０１１２】
ステップＳ７１６において、プログラム開発装置１０１は、表紙生成部４２８及び言語別ドキュメント置換処理部４３１を用いて、指定言語に対応する画面仕様ドキュメント表紙１６００を生成する。
【０１１３】
以上で、図７の説明を終了する。
【０１１４】
図８は、ドキュメント出力のフローチャートの一例を示す図である。
ステップＳ８０１において、プログラム開発装置１０１は、当該入出力定義４０３のＮＯＤＯＣ定義１４２０において「ＮＯＤＯＣ」（＝出力しない）の指定があるか否かを判定する。指定が無い（＝出力する）場合はステップＳ８０２に進み、指定が有る（＝出力しない）場合は図８のフローチャートを終了する。つまり、「ＮＯＤＯＣ」の指定がある入出力定義４０３については、画面仕様ドキュメント４４３を生成しない。
【０１１５】
ステップＳ８０２において、プログラム開発装置１０１は、出力フィルタ管理部４３０により管理されている入出力タイプフィルタ１７１０において、当該入出力定義４０３が出力対象として設定されているか否かを判定する。出力対象として設定されている場合はステップＳ８０３に進み、出力対象として設定されていない場合は図８のフローチャートを終了する。つまり、出力対象として設定されていない入出力タイプ１４０３の入出力定義４０３については、画面仕様ドキュメント４４３を生成しない。すなわち、ステップＳ８０２は、フィルタ情報に従って入出力定義情報を選別し、当該選別した入出力定義情報を用いてドキュメントを生成する処理の一例を示すステップである。これにより、バッチ処理などエンドユーザにとって不要な入出力定義４０３のドキュメントを省くことができるため、アプリケーションのエンドユーザにとって必要と思われる、選別したドキュメントを容易に生成することができる。
【０１１６】
ステップＳ８０３において、プログラム開発装置１０１は、ステップＳ７１２にて生成した画面一覧情報を用いて、当該入出力定義４０３の画面仕様ドキュメント４４３に画面一覧表示部１５０２を出力する。すなわち、ステップＳ８０３は、生成されたドキュメントに対して、当該ドキュメントに出力された、アプリケーションの画面の名称に対するユーザからの指示の受け付けに応じて、当該画面に対応する入出力定義情報を表示するためのリンクを含ませる処理の一例を示すステップである。
ステップＳ８０４において、プログラム開発装置１０１は、当該入出力定義４０３の画面仕様ドキュメント４４３に画面仕様表示部１５０３を出力するか否かを判定する。具体的には、ドキュメントエリア設定管理部４３２により管理されているエリア出力設定４３３の画面仕様出力設定１９１１の設定値「出力する」「出力しない」によって判定する。出力する場合はステップＳ８０５に進み、出力しない場合はステップＳ８０８に進む。すなわち、ステップＳ８０４は、フィルタ情報に従って入出力定義情報を選別し、当該選別した入出力定義情報を用いてドキュメントを生成する処理の一例を示すステップである。これにより、画面仕様表示部１５０３のコードや名前はエンドユーザにとって不要な情報である考えた場合は画面仕様ドキュメント４４３から省くことができるため、アプリケーションのエンドユーザにとって必要と思われる、選別したドキュメントを容易に生成することができる。
【０１１７】
ステップＳ８０５において、プログラム開発装置１０１は、画面仕様表示部１５０３の表示サイズが設定されているか否かを判定する。具体的には、ドキュメントエリア設定管理部４３２により管理されているエリアサイズ設定４３４の画面仕様サイズ設定１９２１の設定値の有無によって判定する。設定されている場合はステップＳ８０６に進み、設定されていない場合はステップＳ８０７に進む。
【０１１８】
ステップＳ８０６において、プログラム開発装置１０１は、ステップＳ８０５の判定に用いた表示サイズを画面仕様表示部１５０３の表示サイズとして指定する
ステップＳ８０７において、プログラム開発装置１０１は、画面仕様生成部４２２を用いて、当該入出力定義４０３の画面仕様ドキュメント４４３に画面仕様表示部１５０３を生成・出力する。この処理については、図１２にて詳細を説明する。
ステップＳ８０８において、プログラム開発装置１０１は、当該入出力定義４０３の画面仕様ドキュメント４４３に画面イメージ表示部１５０４を出力するか否かを判定する。具体的には、ドキュメントエリア設定管理部４３２により管理されているエリア出力設定４３３の画面ＨＴＭＬ出力設定１９１２の設定値「出力する」「出力しない」によって判定する。出力する場合はステップＳ８０９に進み、出力しない場合はステップＳ８１２に進む。すなわち、ステップＳ８０８は、フィルタ情報に従って入出力定義情報を選別し、当該選別した入出力定義情報を用いてドキュメントを生成する処理の一例を示すステップである。これにより、ｈｉｄｄｅｎ項目などエンドユーザにとって不要な情報を画面仕様ドキュメント４４３から省くことができるため、アプリケーションのエンドユーザにとって必要と思われる、選別したドキュメントを容易に生成することができる。
【０１１９】
ステップＳ８０９において、プログラム開発装置１０１は、画面イメージ表示部１５０４の表示サイズが設定されているか否かを判定する。具体的には、ドキュメントエリア設定管理部４３２により管理されているエリアサイズ設定４３４の画面ＨＴＭＬ出力サイズ設定１９２２の設定値の有無によって判定する。設定されている場合はステップＳ８１０に進み、設定されていない場合はステップＳ８１１に進む。
【０１２０】
ステップＳ８１０において、プログラム開発装置１０１は、ステップＳ８０９の判定に用いた表示サイズを画面イメージ表示部１５０４の表示サイズとして指定する。
ステップＳ８１１において、プログラム開発装置１０１は、画面イメージ生成部４２３を用いて、画面仕様ドキュメント４４３に画面イメージ表示部１５０４を生成・出力する。すなわち、ステップＳ８１１は、入出力定義情報を用いて、当該入力定義情報に対応するアプリケーションの画面のプレビュー画面を生成する処理の一例を示すステップである。また、ステップＳ８１１は、生成されたドキュメントに対して、生成されたプレビュー画面を含ませる処理の一例を示すステップである。
【０１２１】
これによって、画面仕様ドキュメント４４３生成時における最新の設定情報を用いた画面イメージが生成できるため、開発フェーズにおいて生成するドキュメントは最新の設計情報が反映しづらく、ドキュメント生成、更新及び管理に工数がかかってしまうという問題を解決することができるようになる。つまり、開発フェーズであってもドキュメント生成及びドキュメント管理の工数を気にすることなく、最新の設計情報に基づいた画面仕様ドキュメント４４３を繰り返し生成することができるようになる。また、多国籍のエンドユーザが利用するアプリケーションの画面仕様ドキュメント４４３をその言語に対応する形で容易に生成することができる。
【０１２２】
また、ステップＳ８１１は、入出力定義情報及び第１の言語による文言を用いて、当該入力定義情報に対応するアプリケーションの画面のプレビュー画面を生成する処理の一例を示すステップである。また、生成された第１の言語によるドキュメントに対して、生成された第１の言語によるプレビュー画面を含ませる処理の一例を示すステップである。
【０１２３】
また、ステップＳ８１１は、入出力定義情報及び第２の言語による文言を用いて、当該入力定義情報に対応するアプリケーションの画面のプレビュー画面を生成する処理の一例を示すステップである。また、生成された第２の言語によるドキュメントに対して、生成された第２の言語によるプレビュー画面を含ませる処理の一例を示すステップである。
【０１２４】
これにより、多国籍のエンドユーザが利用するアプリケーションの画面仕様ドキュメント４４３をその言語に対応するプレビュー画面を含む形で容易に生成することができる。つまり、多国籍のエンドユーザが利用するアプリケーションの画面仕様ドキュメント４４３にプレビュー画面を含める場合、それぞれの言語を用いたアプリケーションの画面をキャプチャし、そのキャプチャ画像を管理し、各言語に対応した画面仕様ドキュメント４４３に貼り付ける手間がかかってしまうという問題あったが、それを省くことができるようになる。
【０１２５】
なお、画面イメージ表示部１５０４には、入出力定義４０３と画面レイアウトエディタを用いて作成された画面レイアウトとを用いて画面ＨＴＭＬデータ４０８を生成し、当該画面ＨＴＭＬデータ４０８を用いて画面イメージを表示する。
【０１２６】
なお、本実施形態においては、ステップＳ８１１にて画面ＨＴＭＬデータ４０８を生成するとしたが、これに限定するものではなく、事前に生成した画面ＨＴＭＬデータ４０８を用いてもよい。ただし、ステップＳ８１１にて生成した方がドキュメント生成時点における最新の情報を用いた画面イメージが生成できるため好ましい。
【０１２７】
なお、本実施形態においては、画面ＨＴＭＬデータ４０８のように、ＨＴＭＬを用いて画面仕様ドキュメント４４３に含まれる画面イメージを描画するとしたが、これに限定するものではなく、アプリケーション用のプログラム（ＪＳＰ等）を用いて画面イメージを描画してもよいし、画面レイアウトエディタを用いて生成された画面レイアウトを画像ファイルとして記憶し、その画像ファイルを用いる等、他の描画方法を用いてもよい。
ステップＳ８１２において、プログラム開発装置１０１は、当該入出力定義４０３の画面仕様ドキュメント４４３に画面項目仕様表示部１５０５を出力するか否かを判定する。具体的には、ドキュメントエリア設定管理部４３２により管理されているエリア出力設定４３３の画面項目仕様出力設定１９１３の設定値「出力する」「出力しない」によって判定する。出力する場合はステップＳ８１３に進み、出力しない場合はステップＳ８１６に進む。すなわち、ステップＳ８１２は、フィルタ情報に従って入出力定義情報を選別し、当該選別した入出力定義情報を用いてドキュメントを生成する処理の一例を示すステップである。これにより、画面項目仕様出力設定１９１３がエンドユーザにとって不要な情報である考えた場合は画面仕様ドキュメント４４３から省くことができるため、アプリケーションのエンドユーザにとって必要と思われる、選別したドキュメントを容易に生成することができる。
【０１２８】
ステップＳ８１３において、プログラム開発装置１０１は、画面項目仕様表示部１５０５の表示サイズが設定されているか否かを判定する。具体的には、ドキュメントエリア設定管理部４３２により管理されているエリアサイズ設定４３４の画面項目仕様サイズ設定１９２３の設定値の有無によって判定する。設定されている場合はステップＳ８１４に進み、設定されていない場合はステップＳ８１５に進む。
【０１２９】
ステップＳ８１４において、プログラム開発装置１０１は、ステップＳ８１３の判定に用いた表示サイズを画面項目仕様表示部１５０５の表示サイズとして指定する。
ステップＳ８１５において、プログラム開発装置１０１は、画面項目仕様生成部４２４を用いて、画面仕様ドキュメント４４３に画面項目仕様表示部１５０５を生成・出力する。この処理については、図１３にて詳細を説明する。
【０１３０】
ステップＳ８１６において、プログラム開発装置１０１は、関連文書・ヘッダ・フッタ等出力処理を行う。この処理については、図９にて詳細を説明する。
以上で、図８の説明を終了する。
【０１３１】
図９は、関連文書・ヘッダ・フッタ等出力処理（Ｂ）のフローチャートの一例を示す図である。
【０１３２】
ステップＳ９０１において、プログラム開発装置１０１は、当該入出力定義４０３に対応するディレクトリに関連文書４１４の有無を判定する。有る場合はステップＳ９０２に進み、無い場合はステップＳ９０６に進む。具体的には、当該入出力定義４０３のコード１４０１（図１４）に対応するディレクトリを検索しファイルの有無を判定する。また、すべての入出力定義４０３に対応するディレクトリを事前に定義しておき、そのディレクトリにファイルが存在した場合は、そのファイルをすべての入出力定義４０３の関連文書４１４としてもよい。すなわち、ステップＳ９０１は、アプリケーションの画面の識別情報に対応するディレクトリにファイルが存在するか否かを判定する処理の一例を示すステップである。
【０１３３】
なお、本実施形態においては、入出力定義４０３に対応するディレクトリを用いて判定するとしたが、これに限定するものではなく、入出力定義画面１４００（図１４）に関連文書４１４の項目を用意し、その項目に対する関連文書４１４の設定に従って判定するとしてもよい。ただし、本実施形態のように、関連文書をディレクトリに配置した方が関連文書４１４の設定及びメンテナンス容易かつ効率的に行うことができる。
ステップＳ９０２において、プログラム開発装置１０１は、画面仕様ドキュメント４４３に関連文書表示部１５０６を出力するか否かを判定する。具体的には、ドキュメントエリア設定管理部４３２により管理されているエリア出力設定４３３の関連文書出力設定１９１５の設定値「出力する」「出力しない」によって判定する。出力する場合はステップＳ９０３に進み、出力しない場合はステップＳ９０５に進む。すなわち、ステップＳ９０２は、フィルタ情報に従って入出力定義情報を選別し、当該選別した入出力定義情報を用いてドキュメントを生成する処理の一例を示すステップである。これにより、関連文書出力設定１９１５がエンドユーザにとって不要な情報である考えた場合は画面仕様ドキュメント４４３から省くことができるため、アプリケーションのエンドユーザにとって必要と思われる、選別したドキュメントを容易に生成することができる。
【０１３４】
ステップＳ９０３において、プログラム開発装置１０１は、関連文書表示部１５０６の表示サイズが設定されているか否かを判定する。具体的には、ドキュメントエリア設定管理部４３２により管理されているエリアサイズ設定４３４の関連文書サイズ設定１９２５の設定値の有無によって判定する。設定されている場合はステップＳ９０４に進み、設定されていない場合はステップＳ９０５に進む。
【０１３５】
ステップＳ９０４において、プログラム開発装置１０１は、ステップＳ９０３の判定に用いた表示サイズを関連文書表示部１５０６の表示サイズとして指定する。これにより、所定のディレクトリに関連文書を配置するだけで、画面仕様ドキュメント４４３からアクセスするためのリンクが張られるため、関連文書の管理や各関連文書へのリンクの作成といった手間が省けるようになる。
ステップＳ９０５において、プログラム開発装置１０１は、関連文書生成部４２７を用いて、当該入出力定義４０３の画面仕様ドキュメント４４３に関連文書表示部１５０６を生成・出力する。すなわち、ステップＳ９０５は、ファイルが存在すると判定された場合は、画面に対応する入出力定義情報のドキュメントに対して、当該ファイルへアクセスするためのリンクを含ませる処理の一例を示すステップである。
ステップＳ９０６において、プログラム開発装置１０１は、ステップＳ７１０にて生成されたヘッダ・フッタの有無を判定する。有る場合はステップＳ９０７に進み、無い場合はステップＳ９０８に進む。
【０１３６】
ステップＳ９０７において、プログラム開発装置１０１は、ヘッダ・フッタ生成部４２９を用いて、当該入出力定義４０３の画面仕様ドキュメント４４３にヘッダ表示部１５０７及び／又はフッタ表示部１５０８並びに言語切替部１５０９を出力する。すなわち、ステップＳ９０７は、第１の言語によるドキュメントに対して、第２の言語によるドキュメントを表示するための指示を受け付ける指示受付部を含ませる処理の一例を示すステップである。これにより、多国籍のエンドユーザが利用するアプリケーションの画面仕様ドキュメント４４３を容易に生成することができる。
【０１３７】
ステップＳ９０８において、プログラム開発装置１０１は、検索機能生成部４２５を用いて、当該入出力定義４０３の画面仕様ドキュメント４４３に検索キーワード受付部１５０１を出力する。すなわち、ステップＳ９０８は、生成されたドキュメントに対して、検索キーワードを用いて当該ドキュメントを検索するための当該検索キーワードを受け付ける受付部を含ませる処理の一例を示すステップである。
以上で、図９の説明を終了する。
【０１３８】
図１０は、検索情報生成のフローチャートの一例を示す図である。
【０１３９】
ステップＳ１００１において、プログラム開発装置１０１は、入出力定義の数だけ、ステップＳ１００２〜ステップＳ１００４の処理を繰り返す。
【０１４０】
ステップＳ１００２において、プログラム開発装置１０１は、当該入出力定義４０３のＮＯＤＯＣ定義１４２０において「ＮＯＤＯＣ」（＝出力しない）の指定があるか否かを判定する。指定が無い（＝出力する）場合はステップＳ１００３に進み、指定が有る（＝出力しない）場合はステップＳ１００５に進む。つまり、「ＮＯＤＯＣ」の指定がある入出力定義４０３については、検索情報を生成しない。
【０１４１】
ステップＳ１００３において、プログラム開発装置１０１は、出力フィルタ管理部４３０により管理されている入出力タイプフィルタ１７１０において、当該入出力定義４０３が出力対象として設定されているか否かを判定する。出力対象として設定されている場合はステップＳ１００４に進み、出力対象として設定されていない場合はステップＳ１００５に進む。つまり、出力対象として設定されていない入出力タイプ１４０３の入出力定義４０３については、検索情報を生成しない。すなわち、ステップＳ１００３は、フィルタ情報に従って入出力定義情報を選別し、当該選別した入出力定義情報を用いてドキュメントを生成する処理の一例を示すステップである。これにより、バッチ処理などエンドユーザにとって不要な入出力定義４０３の検索情報の生成を省くことができるため、アプリケーションのエンドユーザにとって必要と思われる、選別したドキュメントをファイルサイズを不必要に大きくすることなく生成することができる。
【０１４２】
ステップＳ１００４において、プログラム開発装置１０１は、検索情報を生成する。具体的には、検索キーワード受付部１５０１の検索機能によって、当該入出力定義４０３の設定値が検索できるよう、当該設定値を検索情報として外部メモリ２１１に記憶する。
以上で、図１０の説明を終了する。
【０１４３】
図１１は、画面一覧情報生成のフローチャートの一例を示す図である。
【０１４４】
ステップＳ１１０１において、プログラム開発装置１０１は、入出力定義の数だけ、ステップＳ１１０２〜ステップＳ１１０４の処理を繰り返す。
【０１４５】
ステップＳ１１０２において、プログラム開発装置１０１は、当該入出力定義４０３のＮＯＤＯＣ定義１４２０において「ＮＯＤＯＣ」（＝出力しない）の指定があるか否かを判定する。指定が無い（＝出力する）場合はステップＳ１１０３に進み、指定が有る（＝出力しない）場合はステップＳ１１０５に進む。つまり、「ＮＯＤＯＣ」の指定がある入出力定義４０３については、画面一覧情報を生成しない。
【０１４６】
ステップＳ１１０３において、プログラム開発装置１０１は、出力フィルタ管理部４３０により管理されている入出力タイプフィルタ１７１０において、当該入出力定義４０３が出力対象として設定されているか否かを判定する。出力対象として設定されている場合はステップＳ１１０４に進み、出力対象として設定されていない場合はステップＳ１１０５に進む。すなわち、ステップＳ１１０３は、フィルタ情報に従って入出力定義情報を選別し、当該選別した入出力定義情報を用いてドキュメントを生成する処理の一例を示すステップである。これにより、バッチ処理などエンドユーザにとって不要な入出力定義４０３の画面一覧情報の生成を省くことができるため、アプリケーションのエンドユーザにとって必要と思われる、選別したドキュメントを生成することができる。
【０１４７】
つまり、出力対象として設定されていない入出力タイプ１４０３の入出力定義４０３については、画面一覧情報を生成しない。例えば、図１７の入出力タイプフィルタ１７１０では、「ＩＯ」「ＭＥＮＵ」「ＤＩＡＬＯＧ」「ＭＡＴＲＩＸ」「ＭＯＢＩＬＥ」が出力対象として選択されており、図１４の入出力定義画面１４００において入出力タイプ１４０３＝「ＩＯ」と設定されているため、当該入出力定義４０３について画面一覧情報が生成され、図１５の画面一覧表示部１５０２に「ユーザマスタ・一覧」というメニューが表示されている。
【０１４８】
ステップＳ１１０４において、プログラム開発装置１０１は、画面一覧情報を生成する。具体的には、当該入出力定義４０３の名前１４０２を取得し、ステップＳ８０３（図８）にて画面一覧表示部１５０２（図１５）を出力するための画面情報（例：ＨＴＭＬ）を生成し、外部メモリ２１１に記憶する。なお、この画面情報には、画面一覧表示部１５０２として表示しユーザによって指示を受け付けたときに、１５０３〜１５０６の表示内容を更新させるためのリンク情報を組み込んでおく。
以上で、図１１の説明を終了する。
【０１４９】
図１２は、画面仕様表示部の生成・出力のフローチャートの一例を示す図である。
【０１５０】
ステップＳ１２０１において、プログラム開発装置１０１は、当該入出力定義４０３の入出力（定義）の属性（例：「コード」「名前」「入出力タイプ」「対象データモデル」
等）の数だけ、ステップＳ１２０２〜ステップＳ１２０３の処理を繰り返す。
【０１５１】
ステップＳ１２０２において、プログラム開発装置１０１は、出力フィルタ管理部４３０により管理されている入出力属性フィルタ１７２０において、当該入出力定義４０３に設定されている入出力（定義）の属性が出力対象として設定されているか否かを判定する。出力対象として設定されている場合はステップＳ１２０３に進み、出力対象として設定されていない場合はステップＳ１２０４に進む。すなわち、ステップＳ１２０２は、フィルタ情報に従って入出力定義情報を選別し、当該選別した入出力定義情報を用いてドキュメントを生成する処理の一例を示すステップである。これにより、当該入出力（定義）属性のうち「コード」「名前」はエンドユーザにとって不要な情報である考えた場合は画面仕様ドキュメント４４３から省くことができるため、アプリケーションのエンドユーザにとって必要と思われる、選別したドキュメントを容易に生成することができる。
【０１５２】
つまり、出力対象として設定されていない入出力属性については、画面仕様情報を生成しない。例えば、図１７の入出力属性フィルタ１７２０では、「コード」「名前」「仕様」が出力対象として選択されているため、画面仕様表示部１５０３（図１５）には、属性が「コード」「名前」「仕様」である定義について表示されている。
【０１５３】
ステップＳ１２０３において、プログラム開発装置１０１は、画面仕様生成部４２２を用いて、画面仕様情報を生成する。具体的には、当該入出力定義４０３の属性の値を取得し、ステップＳ１２０５にて画面仕様表示部１５０３（図１５）を出力するための画面情報（例；ＨＴＭＬファイル）を生成し、外部メモリ２１１に記憶する。
【０１５４】
ステップＳ１２０５において、プログラム開発装置１０１は、画面仕様生成部４２２及びステップＳ１２０３にて生成した画面情報を用いて、画面仕様表示部１５０３を出力する。
以上で、図１２の説明を終了する。
【０１５５】
図１３は、画面項目仕様表示部の生成・出力のフローチャートの一例を示す図である。
【０１５６】
ステップＳ１３０１において、プログラム開発装置１０１は、当該入出力定義４０３に設定されている入出力項目の数だけ、ステップＳ１３０２〜ステップＳ１３０９の処理を繰り返す。
【０１５７】
ステップＳ１３０２において、プログラム開発装置１０１は、当該入出力項目のＮＯＤＯＣ定義１４２０において「ＮＯＤＯＣ」（＝出力しない）の指定があるか否かを判定する。指定が無い（＝出力する）場合はステップＳ１３０３に進み、指定が有る（＝出力しない）場合はステップＳ１３１０に進む。つまり、「ＮＯＤＯＣ」の指定がある入出力項目については、画面一覧情報を生成しない。
【０１５８】
ステップＳ１３０３において、プログラム開発装置１０１は、当該入出力項目が非表示項目（例：ｈｉｄｄｅｎ項目など、Ｗｅｂアプリケーション画面自体に非表示の画面項目）か否かを判定する。非表示項目である場合はステップＳ１３０４に進み、非表示項目でない（つまり、通常の画面項目）場合はステップＳ１３０５に進む。つまり、出力対象として設定されていない入出力属性については、画面仕様情報を生成しない。
【０１５９】
ステップＳ１３０４において、プログラム開発装置１０１は、出力フィルタ管理部４３０により管理されている入出力項目タイプフィルタ１８１０の非表示項目出力１８１２において、「出力する」と設定されているか「出力しない」と設定されているかを判定する。「出力する」と設定されている場合はステップＳ１３０５に進み、「出力しない」として設定されている場合はステップＳ１３１０に進む。つまり、入出力項目のうち非表示項目の仕様は、入出力項目タイプフィルタ１８１０の非表示項目出力１８１２において「出力する」として設定されていない限り、画面仕様ドキュメント４４３には出力しない。
【０１６０】
ステップＳ１３０５において、プログラム開発装置１０１は、出力フィルタ管理部４３０により管理されている入出力項目タイプフィルタ１８１０の入出力項目タイプフィルタ１８１１において、出力対象として選択されているか否かを判定する。出力対象として設定されている場合はステップＳ１３０６に進み、出力対象として選択されていない場合はステップＳ１３１０に進む。すなわち、ステップＳ１３０５は、フィルタ情報に従って入出力定義情報を選別し、当該選別した入出力定義情報を用いてドキュメントを生成する処理の一例を示すステップである。これにより、項目タイプ１４１１「グループ」はエンドユーザにとって不要な情報であると考えた場合は画面仕様ドキュメント４４３から省くことができるため、アプリケーションのエンドユーザにとって必要と思われる、選別したドキュメントを容易に生成することができる。
【０１６１】
つまり、入出力項目定義１４１０のうち、出力対象として設定されていない項目タイプ１４１１については、画面項目仕様情報を生成しない。例えば、図１８の入出力項目タイプフィルタ１８１０では、「入力」「入出力」「出力」「アクション」「グループ」が出力対象として選択されているため、画面項目仕様表示部１５０５（図１５）には、入出力項目タイプが「入力」「入出力」「出力」「アクション」「グループ」に該当する入出力項目について表示されている。
【０１６２】
ステップＳ１３０６において、プログラム開発装置１０１は、当該入出力項目の属性（例：項目タイプ、項目コード、名前等）の数だけ、ステップＳ１３０７〜ステップＳ１３０８の処理を繰り返す。
【０１６３】
ステップＳ１３０７において、プログラム開発装置１０１は、出力フィルタ管理部４３０により管理されている入出力項目属性フィルタ１８２０において、出力対象として選択されているか否かを判定する。出力対象として設定されている場合はステップＳ１３０８に進み、出力対象として選択されていない場合はステップＳ１３０９に進む。つまり、入出力項目定義１４１０のうち、出力対象として設定されていない入出力項目属性については、画面項目仕様情報を生成しない。例えば、図１８の入出力項目属性フィルタ１８２０では、「項目タイプ」「名前」「必須」「桁数」「仕様」が出力対象として選択されているため、画面項目仕様表示部１５０５（図１５）には、属性が「項目タイプ」「名前」「必須」「桁数」「仕様」である定義について表示されている。
【０１６４】
ステップＳ１３０８において、プログラム開発装置１０１は、画面項目仕様生成部４２４を用いて、当該入出力項目の当該入出力項目属性について、画面項目仕様情報を生成する。具体的には、当該入出力項目の当該入出力項目属性の値を取得し、ステップＳ１３１１にて画面項目仕様表示部１５０５（図１５）を出力するための画面情報（例；ＨＴＭＬファイル）を生成し、外部メモリ２１１に記憶する。
【０１６５】
ステップＳ１３１１において、プログラム開発装置１０１は、画面項目仕様生成部４２４及びステップＳ１３０８にて生成した画面項目仕様情報を用いて、画面項目仕様表示部１５０５を出力する。
以上で、図１３の説明を終了する。
【０１６６】
以上により、アプリケーション開発ツールにおいて、アプリケーションのエンドユーザが利用するドキュメントを容易に生成する仕組みを提供することができる。また、アプリケーション開発ツールにおいて、アプリケーションのエンドユーザの利用に好適なドキュメントを容易に生成する仕組みを提供することができる。
【０１６７】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【０１６８】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることが出来る。
【０１６９】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１７０】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１７１】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１７２】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、ＯＳ（オペレーティングシステム）に供給されるスクリプトデータ等の形態から成ってもよい。
【０１７３】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１７４】
１０１  プログラム開発装置
１０２  プログラム開発サーバ
１０３  データベースサーバ
１０４  アプリケーションクライアント
１０５  アプリケーションサーバ
１０６  Ｗｅｂサーバ
１０７  ネットワーク
【図１】
2020129392.tif 000003
【図２】
2020129392.tif 000004
【図３】
2020129392.tif 000005
【図４】
2020129392.tif 000006
【図５】
2020129392.tif 000007
【図６】
2020129392.tif 000008
【図７】
2020129392.tif 000009
【図８】
2020129392.tif 000010
【図９】
2020129392.tif 000011
【図１０】
2020129392.tif 000012
【図１１】
2020129392.tif 000013
【図１２】
2020129392.tif 000014
【図１３】
2020129392.tif 000015
【図１４】
2020129392.tif 000016
【図１５】
2020129392.tif 000017
【図１６】
2020129392.tif 000018
【図１７】
2020129392.tif 000019
【図１８】
2020129392.tif 000020
【図１９】
2020129392.tif 000021