(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-13
(45)【発行日】2023-01-23
(54)【発明の名称】情報処理装置と、その処理方法及びプログラム
(51)【国際特許分類】
G06F 8/30 20180101AFI20230116BHJP
G06F 8/73 20180101ALI20230116BHJP
【FI】
G06F8/30
G06F8/73
(21)【出願番号】P 2020078918
(22)【出願日】2020-04-28
(62)【分割の表示】P 2017081690の分割
【原出願日】2017-04-17
【審査請求日】2020-05-26
【審判番号】
【審判請求日】2021-11-16
(73)【特許権者】
【識別番号】390002761
【氏名又は名称】キヤノンマーケティングジャパン株式会社
(73)【特許権者】
【識別番号】592135203
【氏名又は名称】キヤノンITソリューションズ株式会社
(74)【代理人】
【識別番号】100189751
【氏名又は名称】木村 友輔
(72)【発明者】
【氏名】上田 勲
(72)【発明者】
【氏名】柴本 文洋
【合議体】
【審判長】篠原 功一
【審判官】児玉 崇晶
【審判官】山崎 慎一
(56)【参考文献】
【文献】特開2003-303100号公報
【文献】特開2006-048561号公報
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/30
G06F 8/73
(57)【特許請求の範囲】
【請求項1】
プログラムの入出力にかかる情報が定義された入出力定義情報を用いてプログラムを生成する情報処理装置であって、
前記入出力定義情報で定義される項目の属性から、前記プログラムに関する
画面仕様ドキュメントに含める属性の選択入力を受け付ける属性選択受付手段と、
前記入出力定義情報で定義される項目に対応する前記属性選択受付手段で入力を受け付けた属性に従ってフィルタリングした属性の情報
からなる前記画面仕様ドキュメントを生成するドキュメント生成手段と、
を有することを特徴とする情報処理装置。
【請求項2】
前記属性選択受付手段は、前記入出力定義情報で定義される項目の属性を一覧で表示し、前記一覧から、前記プログラムに関する
前記画面仕様ドキュメントに含める属性の選択入力を受け付けることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記属性選択受付手段で選択可能な属性は、前記入出力定義情報で定義される項目の属性のうち、名前に関する属性、桁数に関する属性、項目タイプに関する属性、仕様に関する属性、必須項目に関する属性の少なくとも1つを含むことを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記属性選択受付手段は、前記プログラムにより表示される画面に前記入出力定義情報で定義される項目の属性に関する
前記画面仕様ドキュメントを生成しない選択を受け付け、
前記ドキュメント生成手段は、前記属性選択受付手段により
前記画面仕様ドキュメントを生成しない選択を受け付けると、前記画面に前記入出力定義情報で定義される項目の属性の
前記画面仕様ドキュメントを生成しないことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記ドキュメント生成手段は、前記入出力定義情報で定義される項目を表示するか否かの判定を受け付け、
前記ドキュメント生成手段は、前記入出力定義情報で定義される項目を表示するか否かの判定結果により前記
画面仕様ドキュメントに表示しないと選択された項目の
前記画面仕様ドキュメントを生成しないことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
プログラムの入出力にかかる情報が定義された入出力定義情報を用いてプログラムを生成する情報処理装置であって、
前記入出力定義情報で定義されるプログラムの入出力タイプから、該プログラムの
画面仕様ドキュメントを生成する入出力タイプ毎の選択を受け付ける入出力タイプ受付手段と、
前記入出力タイプ受付手段により受け付けた入出力タイプに従ってフィルタリングした入出力タイプ毎の
前記画面仕様ドキュメントを出力対象として生成するドキュメント生成手段と、
を有することを特徴とする情報処理装置。
【請求項7】
前記入出力タイプ受付手段は、前記入出力定義情報で定義されるプログラムの入出力タイプを一覧で表示し、前記一覧から、前記プログラムに関する
前記画面仕様ドキュメントを生成する入出力タイプ毎の選択を受け付けることを特徴とする請求項6に記載の情報処理装置。
【請求項8】
前記入出力タイプ受付手段で選択可能な入出力タイプは、前記入出力定義情報で定義されるプログラムの入出力タイプのうち、入出力画面に関するタイプ、メニュー画面に関するタイプ、ダイアログ画面に関するタイプ、印刷に関するタイプ、バッチ処理に関するタイプ、WebServicesに関するタイプの少なくとも1つを含むことを特徴とする請求項6又は7に記載の情報処理装置。
【請求項9】
前記入出力タイプ受付手段は、前記プログラムの入出力タイプの
前記画面仕様ドキュメントを画面に生成しない選択を受け付け、
前記ドキュメント生成手段は、前記入出力タイプ受付手段により
前記画面仕様ドキュメントを生成しない選択を受け付けると、前記画面に前記プログラムの入出力タイプの
前記画面仕様ドキュメントを生成しないことを特徴とする請求項6乃至8のいずれか1項に記載の情報処理装置。
【請求項10】
前記ドキュメント生成手段は、前記プログラムの入出力タイプの
前記画面仕様ドキュメントを表示するか否かの判定を受け付け、
前記ドキュメント生成手段は、前記プログラムの入出力タイプの
前記画面仕様ドキュメントを表示するか否かの判定結果により前記
画面仕様ドキュメントに表示しないと選択された入出力タイプの
前記画面仕様ドキュメントを生成しないことを特徴とする請求項6乃至9のいずれか1項に記載の情報処理装置。
【請求項11】
前記プログラムの識別情報に対応するディレクトリにファイルが存在するか否かを判定するファイル有無判定手段とを有し、
前記ドキュメント生成手段は、前記ファイル有無判定手段によりファイルが存在すると判定された場合は、当該ファイルへアクセスするためのリンクを含めた、前記入出力定義情報の
前記画面仕様ドキュメントを生成することを特徴とする請求項1乃至10のいずれか1項に記載の情報処理装置。
【請求項12】
前記ドキュメント生成手段は、
ユーザからの指示の受け付け可能なプログラムの識別情報と、該識別情報に対応する入出力定義情報を表示するためのリンクを生成することを特徴とする請求項1乃至11のいずれか1項に記載の情報処理装置。
【請求項13】
プログラムの入出力にかかる情報が定義された入出力定義情報を用いてプログラムを生成する情報処理装置における処理方法であって、
前記情報処理装置が、
前記入出力定義情報で定義される項目の属性から、前記プログラムに関する
画面仕様ドキュメントに含める属性の選択入力を受け付ける属性選択受付ステップと、
前記入出力定義情報で定義される項目に対応する前記属性選択受付ステップで入力を受け付けた属性に従ってフィルタリングした属性の情報
からなる前記画面仕様ドキュメントを生成するドキュメント生成ステップとを有することを特徴とする処理方法。
【請求項14】
プログラムの入出力にかかる情報が定義された入出力定義情報を用いてプログラムを生成する情報処理装置における処理方法であって、
前記情報処理装置が、
前記入出力定義情報で定義されるプログラムの入出力タイプから、該プログラムの
画面仕様ドキュメントを生成する入出力タイプ毎の選択を受け付ける入出力タイプ受付手段と、
前記入出力タイプ受付手段により受け付けた入出力タイプに従ってフィルタリングした入出力タイプ毎の
前記画面仕様ドキュメントを出力対象として生成するドキュメント生成手段とを有することを特徴とする処理方法。
【請求項15】
プログラムの入出力にかかる情報が定義された入出力定義情報を用いてプログラムを生成する情報処理装置で実行可能なプログラムであって、
前記情報処理装置を、
前記入出力定義情報で定義される項目の属性から、前記プログラムに関する
画面仕様ドキュメントに含める属性の選択入力を受け付ける属性選択受付手段と、
前記入出力定義情報で定義される項目に対応する前記属性選択受付手段で入力を受け付けた属性に従ってフィルタリングした属性の情報
からなる前記画面仕様ドキュメントを生成するドキュメント生成手段
として機能させるためのプログラム。
【請求項16】
プログラムの入出力にかかる情報が定義された入出力定義情報を用いてプログラムを生成する情報処理装置で実行可能なプログラムであって、
前記情報処理装置を、
前記入出力定義情報で定義されるプログラムの入出力タイプから、該プログラムの
画面仕様ドキュメントを生成する入出力タイプ毎の選択を受け付ける入出力タイプ受付手段と、
前記入出力タイプ受付手段により受け付けた入出力タイプに従ってフィルタリングした入出力タイプ毎の
前記画面仕様ドキュメントを出力対象として生成するドキュメント生成手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラムを生成するための情報処理装置と、その処理方法及びプログラムに関する。
【背景技術】
【0002】
従来から、入出力定義やデータモデル定義などを設定し、アプリケーションのプログラムを生成するアプリケーション開発ツールが存在する。
【0003】
このアプリケーション開発ツールによって、アプリケーションのプログラムを生成し、当該アプリケーションが動作する環境を構築することで開発工数及びテスト工数を削減することができた。
【0004】
しかし、アプリケーション開発ツールによって、アプリケーションのエンドユーザのための操作マニュアルや画面仕様ドキュメントを生成することまではできないため、当該アプリケーションの開発者又は当該アプリケーションを管理する情報システム部若しくは管轄部門が、アプリケーションのサービスインまでに、当該アプリケーションの画面をキャプチャし、当該アプリケーションの要件定義書や設計書を基にして、操作マニュアルや画面仕様ドキュメントを作成しなければならなかった。
【0005】
特許文献1には、アプリケーションプログラムの生成装置において、画面項目定義を用いて単体検査仕様書を生成する仕組みが示されている。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、特許文献1の仕組みは、アプリケーションの開発者及びテスト実施者が利用する単体検査仕様書を生成するのみであるため、アプリケーションのエンドユーザが利用する操作マニュアル等のドキュメントを生成することができない。
【0008】
本発明は、プログラムの入出力にかかる情報が定義された入出力定義情報を用いてプログラムを生成する情報処理装置であって、前記入出力定義情報で定義される項目の属性から、前記プログラムに関する画面仕様ドキュメントに含める属性の選択入力を受け付ける属性選択受付手段と、前記入出力定義情報で定義される項目に対応する前記属性選択受付手段で入力を受け付けた属性に従ってフィルタリングした属性の情報からなる前記画面仕様ドキュメントを生成するドキュメント生成手段と、を有することを特徴とする
【課題を解決するための手段】
【0009】
本発明は、プログラムの入出力にかかる情報が定義された入出力定義情報を用いてプログラムを生成する情報処理装置であって、前記入出力定義情報で定義される項目の属性から、前記プログラムに関するドキュメントに含める属性の選択入力を受け付ける属性選択受付手段と、前記入出力定義情報で定義される項目に対応する前記属性選択受付手段で入力を受け付けた属性に従ってフィルタリングした属性の情報を含むドキュメントを生成するドキュメント生成手段と、を有することを特徴とする。
【発明の効果】
【0010】
本発明によれば、プログラム開発ツールにおいて、プログラムを利用するユーザのためのドキュメントを容易に生成する仕組みを提供することができる。
【図面の簡単な説明】
【0011】
【
図1】本発明に係るプログラム開発装置、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント、アプリケーションサーバの構成の一例を示すシステム構成図である。
【
図2】本発明に係るプログラム開発装置、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント、アプリケーションサーバとして適用可能な各ハードウェア構成の一例を示すブロック図である。
【
図3】本発明の実施の形態のソフトウェア構成を示すブロック図の一例である。
【
図4】本発明に係るプログラム開発装置の構成図である。
【
図5】Webアプリケーション及びドキュメント生成のフローチャート並びにドキュメント生成のフローチャートの一例を示す図である。
【
図7】ドキュメント生成詳細のフローチャートの一例を示す図である。
【
図8】ドキュメント出力のフローチャートの一例を示す図である。
【
図9】関連文書・ヘッダ・フッタ等出力処理(B)のフローチャートの一例を示す図である。
【
図10】検索情報生成のフローチャートの一例を示す図である。
【
図11】画面一覧情報生成のフローチャートの一例を示す図である。
【
図12】画面仕様表示部の生成・出力のフローチャートの一例を示す図である。
【
図13】画面項目仕様表示部の生成・出力のフローチャートの一例を示す図である。
【
図14】入出力定義画面、入出力項目定義画面、NODOC定義画面の一例を示す図である。
【
図15】生成された画面仕様ドキュメント1500の一例を示す図である。
【
図16】生成された画面仕様ドキュメントの表紙の一例を示す図である。
【
図17】ドキュメントフィルタ定義の一例を示す図である。
【
図18】ドキュメントフィルタ定義の一例を示す図である。
【
図19】ドキュメントフィルタ定義の一例を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態を、図面を参照して詳細に説明するが、本発明の特徴の一例を表している箇所は、
図15である。
【0013】
図1は、本発明に係わるプログラム開発装置(開発者がWebアプリケーション生成のために使用する情報処理装置)、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント(クライアント装置)、アプリケーションサーバ、Webサーバの構成の一例を示すシステム(情報処理システム)構成図である。
【0014】
プログラム開発装置101は、開発者の操作に従って画面レイアウト及びデータベース検索指示などを定義する。なお、プログラム開発装置101では、開発者の入力受付を行い、後述するプログラム開発サーバ102に実際のプログラム生成処理、アプリケーション生成処理を行うというように役割を分けてもよいし、プログラム開発装置101単体でプログラム生成、アプリケーション生成までを行ってもよい。
【0015】
なお、この実施形態においては、プログラム開発装置101で生成するアプリケーションはWebアプリケーションとしたが、これに限定するものではなく、携帯電話・スマートフォン・タブレットなどの情報処理装置で動作するアプリケーションや組込みソフトウェアなど、Web技術による通信を利用したアプリケーションでなくてもよい。
【0016】
また、本実施形態においては、プログラム開発装置101によってアプリケーションのプログラムを生成するとしたが、プログラムの生成に限定するものではなく、開発者の操作に従って設定された定義を用いて、アプリケーションが動作する環境を構築するとしてもよい。
【0017】
プログラム開発サーバ102a~102b(情報処理装置)は、プログラム開発装置101により入力された開発者の設定及び指示に従って、プログラムを生成する。プログラム開発サーバ102aはLANなどのネットワーク107内に配置されてもよいし、プログラム開発サーバ102bはインターネット上やクラウド上に配置されてもよい。
【0018】
データベースサーバ103a~103b(情報処理装置)は、開発されたアプリケーションが使用するデータベースであり、また本発明では開発時にも動作確認などのために利用してもよい。例えば、開発者が利用するためにデータベースサーバ103は、プログラム開発装置101と同一の装置で構成されていてもよいし、LANなどのネットワーク107内に配置されてもよい(データベースサーバ103a)。またインターネット上やクラウド上に配置されてもよい(データベースサーバ103b)。また、プログラム開発装置101が、プログラム開発サーバ102と協調する場合には、プログラム開発サーバ102とデータベースサーバ103が同一の装置内に構成されていてもよい。
【0019】
アプリケーションサーバ105(情報処理装置)は、プログラム開発装置101で生成されたアプリケーションプログラムを実行する。アプリケーションサーバ105は、LANなどのネットワーク107内に配置されてもよい(アプリケーションサーバ105)し、またインターネット上やクラウド上に配置されてもよい(アプリケーションサーバ105b)。また、ネットワーク107、インターネット、クラウド上のデータベースサーバ103と接続して動作することが可能である。
【0020】
アプリケーションクライアント104a~104b(情報処理装置)は、アプリケーションサーバ105と協調してプログラム開発装置101で開発したアプリケーションプログラムを動作させる、ユーザの入力端末である。LANなどのネットワーク107内に配置されてもよい(アプリケーションクライアント104a)し、またインターネット上やクラウド上に配置されてもよい(アプリケーションクライアント104b)。携帯端末などの情報処理装置であってもよい。
【0021】
Webサーバ106(情報処理装置)は、プログラム開発装置101で生成された画面仕様ドキュメント443をアプリケーションクライアント104からのリクエストに応じて送信する。Webサーバ106は、LANなどのネットワーク107内に配置されてもよいし、またインターネット上やクラウド上等に配置されてもよい。
なお、本実施形態においては、アプリケーションサーバ105とWebサーバ106は別筐体の情報処理装置としたが、これに限定するものではなく、1つの情報処理装置であっても、仮想環境上に構築されてもよい。
【0022】
図2は、本発明に係わるプログラム開発装置101、プログラム開発サーバ102、データベースサーバ103、アプリケーションクライアント104、アプリケーションサーバ105として適用可能な各ハードウェア構成の一例を示すブロック図である。
【0023】
図2において、CPU201は、システムバス204に接続される各デバイスを統括的に制御する。
【0024】
また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるオペレーティングシステム(OS)や、各サーバ、クライアント、装置など情報処理装置の後述する各種機能を実現するためのプログラムが記憶されている。
【0025】
RAM202は、CPU201の主メモリ、ワークエリア、一時待避領域等として機能する。
【0026】
入力コントローラ205は、入力部209からの入力を制御する。この入力部209としては、情報処理装置では、キーボード、マウス等のポインティングデバイスが挙げられる。
【0027】
出力コントローラ206は、出力部210の表示を制御する。この出力部210としては、例えば、CRTや液晶ディスプレイ等が挙げられる。
【0028】
外部メモリコントローラ207は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ211へのアクセスを制御する。加えて、各サーバ、クライアント、装置等の各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ211としては、ハードディスク(HD)やフレキシブルディスク(FD)、PCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)、スマートメディア等が挙げられる。
【0029】
通信I/Fコントローラ208は、ネットワークを介して外部機器との通信制御処理を実行する。
【0030】
本発明を実現するためのプログラム212は外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。
【0031】
図3は、本発明の実施の形態のソフトウェア構成を示すブロック図の一例である。
プログラム開発装置101は、以下の機能部を備える。
【0032】
入出力定義管理部301は、アプリケーションの画面を介して入力される項目を定義する入力定義情報と画面に出力する項目を定義する出力定義情報とを入出力定義情報として管理する機能部である。
【0033】
プログラム生成部302は、入出力定義情報を用いて、アプリケーションとして用いられるプログラムを生成する機能部である。
【0034】
ドキュメント生成部303は、入出力定義情報を用いて、アプリケーションのユーザが利用するドキュメントを生成する機能部である。
【0035】
フィルタ定義管理部304は、入出力定義情報のうち、当該入出力定義情報が持つ属性、プログラムの種別、項目の種別又は項目が持つ属性のうち少なくとも1つについて、ドキュメントに含める情報を決定するためのフィルタ情報を管理する機能部である。
【0036】
ドキュメント生成部303は、フィルタ定義管理部304により管理されているフィルタ情報に従って入出力定義情報を選別し、当該選別した入出力定義情報を用いてドキュメントを生成する機能部である。
【0037】
プレビュー画面生成部305は、入出力定義情報を用いて、当該入力定義情報に対応するアプリケーションの画面のプレビュー画面を生成する機能部である。
【0038】
ドキュメント生成部303は、ドキュメント生成部303により生成されたドキュメントに対して、プレビュー画面生成部305により生成されたプレビュー画面を含ませる機能部である。
【0039】
ファイル有無判定部306は、アプリケーションの画面の識別情報に対応するディレクトリにファイルが存在するか否かを判定する機能部である。
【0040】
ドキュメント生成部303は、ファイル有無判定部306によりファイルが存在すると判定された場合は、ドキュメント生成部303により生成された、当該画面に対応する入出力定義情報のドキュメントに対して、当該ファイルへアクセスするためのリンクを含ませる機能部である。
【0041】
ドキュメント生成部303は、ドキュメント生成部303により生成されたドキュメントに対して、当該ドキュメントに出力された、アプリケーションの画面の名称に対するユーザからの指示の受け付けに応じて、当該画面に対応する入出力定義情報を表示するためのリンクを含ませる機能部である。
【0042】
ドキュメント生成部303は、ドキュメント生成部303により生成されたドキュメントに対して、検索キーワードを用いて当該ドキュメントを検索するための当該検索キーワードを受け付ける受付部を含ませる機能部である。
【0043】
第1文言管理部311は、第1の言語による、入出力定義情報に係る文言を管理する機能部である。
【0044】
第2文言管理部312は、第2の言語による、入出力定義情報に係る文言を管理する機能部である。
【0045】
第1ドキュメント生成部313は、入出力定義情報及び第1文言管理部311により管理されている文言を用いて、アプリケーションのユーザが利用する第1の言語によるドキュメントを生成する機能部である。
【0046】
第2ドキュメント生成部314は、入出力定義情報及び第2文言管理部312により管理されている文言を用いて、アプリケーションのユーザが利用する第2の言語によるドキュメントを生成する機能部である。
【0047】
第1ドキュメント生成部313は、第1ドキュメント生成部313により生成されたドキュメントに対して、第2ドキュメント生成部314により生成されたドキュメントを表示するための指示を受け付ける指示受付部を含ませる機能部である。
【0048】
第1プレビュー画面生成部315は、入出力定義情報及び第1文言管理部311により管理されている文言を用いて、当該入力定義情報に対応するアプリケーションの画面のプレビュー画面を生成する機能部である。
【0049】
第2プレビュー画面生成部316は、入出力定義情報及び第2文言管理部312により管理されている文言を用いて、当該入力定義情報に対応するアプリケーションの画面のプレビュー画面を生成する機能部である。
【0050】
第1ドキュメント生成部313は、第1ドキュメント生成部313により生成されたドキュメントに対して、第1プレビュー画面生成部315により生成されたプレビュー画面を含まる機能部である。
【0051】
第2ドキュメント生成部314は、第2ドキュメント生成部314により生成されたドキュメントに対して、第2プレビュー画面生成部316により生成されたプレビュー画面を含ませる機能部である。
【0052】
図4は、プログラム開発装置101の構成図である。
プログラム開発装置101は、リポジトリ定義部401、Webアプリケーション生成部415及び画面仕様ドキュメント生成部419を備える。
【0053】
プログラム開発装置101は、Webアプリケーションを開発する開発者により設定されたリポジトリ定義部401の各定義を用いて、Webアプリケーション生成部415によりWebアプリケーション438を生成する。また、プログラム開発装置101は、リポジトリ定義部401の各定義を用いて、画面仕様ドキュメント生成部419により画面仕様ドキュメントを生成する。
リポジトリ定義部401には、アプリケーション定義402、入出力定義403、データモデル定義404、ビジネスプロセス定義405、データベース定義406、ドキュメント用定義407、画面HTMLデータ408、ドキュメントフィルタ定義409、表紙ファイル410、アプリケーションリソースファイル411、ドキュメントリソースファイル412、ヘッダ・フッタファイル413及び関連文書414が記憶されている。これら402~414の定義は、Webアプリケーション開発ツールを介して、開発者によって入力設定または配置される。
【0054】
なお、入出力定義403は、入力項目定義情報及び出力項目定義情報を含む。入力項目定義情報は、生成されたWebアプリケーションの画面を介して当該Webアプリケーションのユーザが入力する入力項目を定義した情報である。出力項目定義情報は、生成されたWebアプリケーションの画面に出力する出力項目を定義した情報である。以降、「入力項目定義情報」及び「出力項目定義情報」をまとめて「入出力項目定義情報」と呼ぶ。
【0055】
また、画面HTMLデータ408は、Webアプリケーション開発ツールの画面レイアウトエディタ(不図示)を用いて生成された画面レイアウトをHTML等に変換した画面情報である。なお、画面レイアウトエディタによる画面レイアウトの作成は、開発者が入出力定義画面1400(
図14)における入出力定義403の設定と並行して行う作業である。画面レイアウトエディタを用いて、入出力項目(キャプション、ボタン、テキストボックス等)の配置を設定しつつ、入出力定義画面1400を用いて、その入出力項目の属性を設定する。
【0056】
また、アプリケーションリソースファイル411は、Webアプリケーションの画面に表示する文言等を定義したファイルであり、ドキュメントリソースファイル412は、画面仕様ドキュメント443に表示する文言等を定義したファイルである。
【0057】
よって、リポジトリ定義部401は、生成されたプログラムの実行によって表示されるアプリケーションの画面を介して入力される項目を定義する入力定義情報と画面に出力する項目を定義する出力定義情報とを入出力定義情報として管理する手段の一例である。
Webアプリケーション生成部415は、Webアプリケーション生成用のリポジトリ定義解析部416を用いてリポジトリ定義部401に記憶されている各定義を解析し、Webアプリケーションコード生成部417及びソースコードコンパイル部418を介し、コンパイル済Java(登録商標)コード439及びHTML/JSP/JavaScript(登録商標)440を含むWebアプリケーション438を生成する。すなわち、入出力定義情報を用いて、前記アプリケーションとして用いられるプログラムを生成する手段の一例である。
画面仕様ドキュメント生成部419は、画面仕様ドキュメント生成用のリポジトリ定義解析部420を用いてリポジトリ定義部401に記憶されている各定義を解析し、画面一覧生成部421、画面仕様生成部422、画面イメージ生成部423、画面項目仕様生成部424、検索機能生成部425、関連文書生成部427、表紙生成部428及びヘッダ・フッタ生成部429を用いて、HTML/CSS/JavaScript(登録商標)444及び画像ファイル445を含む画面仕様ドキュメント443を生成する。
【0058】
その際、レイアウト構成部426は、出力フィルタ管理部430を介し、ドキュメントエリア設定管理部432にて管理されているエリア出力設定433及びエリアサイズ設定434における設定を、画面一覧生成部421、画面仕様生成部422、画面イメージ生成部423、画面項目仕様生成部424及び検索機能生成部425が生成するドキュメントのレイアウトとして用いる。
【0059】
更に、レイアウト構成部426は、ドキュメントテーマ管理部435にて管理されている組込デザイン情報436及び/又はユーザ作成デザイン情報437から取得したテーマ(スタイルシート等、ドキュメントのレイアウトや装飾)を画面仕様ドキュメント443に反映する。
【0060】
また、言語別ドキュメント置換処理部431は、表紙生成部428及びヘッダ・フッタ生成部429へ言語別のファイルを設定する。
【0061】
すなわち、画面仕様ドキュメント生成部419は、アプリケーションのユーザが利用するドキュメントを生成する手段の一例である。
【0062】
図5は、Webアプリケーション及びドキュメント生成のフローチャート並びにドキュメント生成のフローチャートの一例を示す図である。
プログラム開発装置101は、ディレクトリ構造600(
図6)を用いて、リポジトリ定義部401の各定義をファイルとして管理する。なお、本実施形態においては、
ディレクトリ構造600を用いて、リポジトリ定義部401の各定義をファイルとして管理するとしたが、これに限定するものではなく、例えば、データベースを用いてリポジトリ定義部401の各定義を管理してもよいし、クラウドなどネットワーク上の記憶装置を用いて管理する等としてもよい。
Webアプリケーション及びドキュメント生成のフローチャートについて説明する。
【0063】
ステップS501において、プログラム開発装置101は、リポジトリ定義部401からアプリケーション定義402を取得する。
【0064】
ステップS502において、プログラム開発装置101は、リポジトリ定義部401からデータモデル定義404を取得する。
【0065】
ステップS503において、プログラム開発装置101は、リポジトリ定義部401から入出力定義403を取得する。
【0066】
ここで、
図14を用いて、入出力定義403について説明しておく。
入出力定義画面1400(
図14)は、Webアプリケーションの開発者による入出力定義403の入力設定操作を受け付ける画面である。また、入出力定義画面1400を用いて設定される入出力定義403は、画面仕様ドキュメントの基となる情報である。名前1402は、Webアプリケーションの画面名である。入出力タイプ1403は、入出力定義画面1400にて設定された入出力定義403を用いて、どのようなプログラムを生成するかを決定する項目である。
【0067】
例えば、Webアプリケーションの画面を表示するプログラムを生成する場合は“IO”、メニューを表示するプログラムを生成する場合は“MENU”、ダイアログを表示するプログラムを生成する場合は“DIALOG”、ファイルを出力するプログラムを生成する場合は“EXPORT”、ファイルを入力するためのプログラムを生成する場合は“IMPORT”、マトリクス画面を表示するプログラムを生成する場合は“MATRIX”、帳票を印刷するプログラムを生成する場合は“PRINT_FILE”、モバイル用の画面を表示するプログラムを生成する場合は“MOBILE”、バッチ用の画面を表示するプログラムを生成する場合は“BATCH”、Webサービス用のプログラムを生成する場合は“WEBSERVICE”を選択する。つまり、入出力タイプ1403に“EXPORT”、“IMPORT”、“PRINT_FILE”、“BATCH”又は“WEBSERVICE”を選択することにより、画面表示を伴わないアプリケーション又はサービスのプログラムを生成することもできる。
【0068】
入出力項目定義1410(
図14)は、画面名が名前1402の画面を介してWebアプリケーションのユーザが入力する入力項目及び生成されたWebアプリケーションの画面名が名前1402の画面に出力する出力項目の定義情報である。入出力項目の項目タイプ1411には、I(入力)、O(出力)、IO(入出力)及びA(アクション)等があり、“I”であれば入力定義、“O”であれば出力定義、“IO”であれば入出力定義を意味する。
【0069】
NODOC定義1420(
図14)は、入出力定義(
図14の1400)及び入出力項目定義(
図14の1410)に対して設定でき、「NODOC」という指定をすることにより、画面仕様ドキュメント443として出力しないようにすることができる。これにより、Webアプリケーションのユーザにとっては不要な画面・画面項目は、画面仕様ドキュメント443に出力しないようにすることができるため、ユーザにとってわかりやすいドキュメント
【0070】
ステップS504において、プログラム開発装置101は、リポジトリ定義部401からビジネスプロセス定義405を取得する。
ステップS505において、プログラム開発装置101は、リポジトリ定義部401からデータベース定義406を取得する。
【0071】
ステップS506において、プログラム開発装置101は、Webアプリケーション生成部415を用いて、Webアプリケーション438に用いるプログラムを生成する。すなわち、ステップS506は、アプリケーションとして用いられるプログラムを生成する処理の一例を示すステップである。
【0072】
ステップS507において、プログラム開発装置101は、画面仕様ドキュメント生成部419を用いて、画面仕様ドキュメント443を生成する。すなわち、ステップS507は、アプリケーションのユーザが利用するドキュメントを生成する処理の一例を示すステップである。これにより、アプリケーションのエンドユーザが利用するドキュメントを容易に生成することができる。
【0073】
リポジトリ定義解析部420は、読み込んだ定義を解析したうえでメモリに保管しておき、各生成部から適宜参照される。
【0074】
レイアウト構成部426は、生成部の生成したドキュメントの各構成要素をレイアウトする。
【0075】
ステップS508において、プログラム開発装置101は、ステップS506にて生成したプログラムをアプリケーションサーバ105に配置(デプロイ)し、ステップS506にて生成した画面仕様ドキュメント443をWebサーバ106に配置する。これにより、アプリケーションサーバ105上でWebアプリケーションが動作し、Webサーバ106から画面仕様ドキュメント443を配信することができるようになる。
【0076】
図15は、生成された画面仕様ドキュメント1500の一例を示す図である。
1501は、検索キーワード受付部である。生成された画面仕様ドキュメント1500から、入力を受け付けた文字列を含む画面仕様ドキュメント1500を検索して表示する。
【0077】
1502は、画面一覧表示部であり、入出力定義403の一覧を表示する。表示された画面名がクリックされると、クリックされた画面の入出力定義情報を右ペインに表示する。
【0078】
1503は、画面仕様表示部であり、入出力定義403の属性及びその設定値を表示する。
【0079】
1504は、画面イメージ表示部であり、画面HTMLデータ408を用いて、入出力定義403の画面イメージを表示する。
【0080】
1505は、画面項目仕様表示部であり、入出力定義403の入出力項目の属性及びその設定値を一覧表示する。
【0081】
1506は、関連文書表示部であり、当該入出力定義403に関連する文書へのリンクを表示する。
【0082】
1507は、ヘッダ表示部であり、全ページの画面最上部に表示する。
【0083】
1508は、フッタ表示部であり、全ページの画面最下部に表示する。
【0084】
1509は、言語切替部であり、画面仕様ドキュメント1500の表示言語(例:日本語・英語等)を切り替えることができる。
【0085】
【0086】
図16は、生成された画面仕様ドキュメントの表紙の一例を示す図である。
1601は、表紙表示部である。画面仕様ドキュメント1500の表示の指示を受け付けた場合、最初に表紙表示部1601を表示する。
以上で、
図5のWebアプリケーション及びドキュメント生成のフローチャートの説明を終了する。
【0087】
なお、ステップS501~S508により、Webアプリケーションに用いるプログラム及び画面仕様ドキュメント1500を続けて生成することができるが、画面仕様ドキュメント1500のみを生成することもできる。その場合は、ステップS501、S502、S503、S507を行えばよい。(
図5の右のフローチャート)
以上で、
図5の説明を終了する。
【0088】
図7は、ドキュメント生成詳細のフローチャートの一例を示す図である。
ステップS701において、プログラム開発装置101は、出力フィルタ管理部430により管理されているドキュメントフィルタ定義409を取得する。
【0089】
ドキュメントフィルタ定義409には、
図17~
図19のようなフィルタがあり、これらの定義の設定値に従って。画面仕様ドキュメント443として出力する情報をフィルタリング(選別)する。
図17~
図19を用いて、各フィルタについて説明する。
【0090】
入出力タイプフィルタ1710(
図17)は、入出力定義403を入出力タイプの値に従ってフィルタリングする。
【0091】
入出力属性フィルタ1720(
図17)は、入出力定義403を入出力(定義)の属性に従ってフィルタリングする。
【0092】
入出力項目タイプフィルタ1810(
図18)は、入出力定義403を入出力項目タイプの値に従ってフィルタリングする。
【0093】
入出力項目属性フィルタ1820(
図18)は、入出力定義403を入出力項目の属性の値に従ってフィルタリングする。
【0094】
エリアフィルタ1900の(
図19)は、画面仕様ドキュメント443として出力する情報を、各表示部(
図15の1503~1506)の出力可否の値(
図19の1911~1915)に従ってフィルタリングし、各表示部の設定されたサイズ(
図19の1921~1925)に従って表示するサイズを決定する。
【0095】
出力フィルタ管理部430は、取得したドキュメントフィルタ定義409(特に1700~1801)の設定値をRAM202に記憶させて管理する。なお、これらの設定値は、各生成部(421~425)により適宜参照される。
【0096】
ドキュメントエリア設定管理部432は、取得したドキュメントフィルタ定義409(特に1900)の設定値を、エリア出力設定433(特に1911~1915)及びエリアサイズ設定434(特に1921~1925)として、RAM202に記憶させて管理する。なお、これらの設定値は、各生成部(421~425)により適宜参照される。
【0097】
すなわち、
図17~
図19は、入出力定義情報のうち、当該入出力定義情報が持つ属性、プログラムの種別、項目の種別又は項目が持つ属性のうち少なくとも1つについて、ドキュメントに含める情報を決定するためのフィルタ情報を管理する手段の一例である。
【0098】
図17~
図19の説明を終了し、
図7の説明に戻る。
ステップS702において、プログラム開発装置101は、ドキュメントテーマ管理部435を用いて、画面仕様ドキュメント443のデザインに用いると指定されたテーマが組込テーマであるか否かを判定し、組込テーマの場合はステップS703に進み、組込テーマでない場合はステップS704に進む。「組込テーマ」とは、Webアプリケーション開発ツールに最初から組み込まれているテーマであり、一方、開発者が新たに作成したテーマは「ユーザ作成テーマ」と呼ぶ。
【0099】
ステップS703において、プログラム開発装置101は、ドキュメントテーマ管理部435を用いて、組込デザイン情報436から指定されたテーマを取得し、レイアウト構成部426は、画面仕様ドキュメント443のデザインに取得したテーマを反映する。
【0100】
ステップS704において、プログラム開発装置101は、ドキュメントテーマ管理部435を用いて、ユーザ作成デザイン情報437から指定されたテーマを取得し、レイアウト構成部426は、画面仕様ドキュメント443のデザインに取得したテーマを反映する。
【0101】
これにより、画面仕様ドキュメント443のデザインを自由にカスタマイズすることができ、かつ、すべての画面仕様ドキュメント443に対して統一したデザインを適用することができる。よって、アプリケーション開発ツールにおいて、アプリケーションのエンドユーザの利用に好適なドキュメントを容易に生成することができるようになる。
【0102】
ステップS705において、プログラム開発装置101は、言語別ドキュメント置換処理部431を用いて、ドキュメントリソースファイル412から、指定された言語のドキュメントリソースファイルを取得する。ドキュメントリソースファイル412は、言語ごとにファイルが分かれており、ファイル名は「DocumentResources_言語ID.conf」のようになっている。例えば、日本語のドキュメントリソースファイル412は、「DocumentResources_jp.conf」、英語のドキュメントリソースファイル412は、「DocumentResources_en.conf」である。
すなわち、日本語のドキュメントリソースファイル412は、第1の言語による、入出力定義情報に係る文言を管理する手段の一例である。また、英語のドキュメントリソースファイル412は、第2の言語による、入出力定義情報に係る文言を管理する手段の一例である。
【0103】
ステップS706において、プログラム開発装置101は、指定された言語の数だけ、ステップS707からステップS716までの処理を繰り返す。
【0104】
ステップS707において、プログラム開発装置101は、リポジトリ定義解析部420を用いて、指定された言語のアプリケーションリソースファイル411及びドキュメントリソースファイル412の解析を行う。
【0105】
ステップS708において、プログラム開発装置101は、言語別ドキュメント置換処理部431を用いて、ステップS707にて解析したリソース(文言)を指定言語のリソース(文言)に置き換える。例えば、日本語のドキュメントリソースファイル412を用いて置き換えた場合は、ステップS709以降の(
図8~
図13を含む)処理によって、日本語用の画面仕様ドキュメント443が生成され、英語のドキュメントリソースファイル412を用いて置き換えた場合は、同様に、英語用の画面仕様ドキュメント443が生成される。
【0106】
ステップS709において、プログラム開発装置101は、所定のディレクトリにヘッダ・フッタファイル413の有無を判定する。有る場合はステップS710に進み、無い場合はステップS711に進む。
ステップS710において、プログラム開発装置101は、ヘッダ・フッタ生成部429及び言語別ドキュメント置換処理部431を用いて、指定言語に対応するヘッダ表示部1507およびフッタ表示部1508を生成する。
【0107】
ステップS711において、プログラム開発装置101は、検索機能生成部425を用いて、検索情報を生成する。この処理については、
図10にて詳細を説明する。
【0108】
ステップS712において、プログラム開発装置101は、画面一覧生成部421を用いて、画面一覧情報を生成する。この処理については、
図11にて詳細を説明する。
【0109】
ステップS713において、プログラム開発装置101は、入出力定義の数だけ、ステップS714の処理を繰り返す。
【0110】
ステップS714において、プログラム開発装置101は、入出力定義毎にドキュメント出力処理を行う。この処理については、
図8にて詳細を説明する。すなわち、ステップS714は、入出力定義情報及び文言を用いて、アプリケーションのユーザが利用する第1の言語によるドキュメントを生成する処理の一例を示すステップである。また、ステップS714は、入出力定義情報及び文言を用いて、アプリケーションのユーザが利用する第2の言語によるドキュメントを生成する処理の一例を示すステップである。
【0111】
ステップS715において、プログラム開発装置101は、所定のディレクトリに表紙ファイル410の有無を判定する。有る場合はステップS716に進み、無い場合はステップS717に進む。
【0112】
ステップS716において、プログラム開発装置101は、表紙生成部428及び言語別ドキュメント置換処理部431を用いて、指定言語に対応する画面仕様ドキュメント表紙1600を生成する。
【0113】
【0114】
図8は、ドキュメント出力のフローチャートの一例を示す図である。
ステップS801において、プログラム開発装置101は、当該入出力定義403のNODOC定義1420において「NODOC」(=出力しない)の指定があるか否かを判定する。指定が無い(=出力する)場合はステップS802に進み、指定が有る(=出力しない)場合は
図8のフローチャートを終了する。つまり、「NODOC」の指定がある入出力定義403については、画面仕様ドキュメント443を生成しない。
【0115】
ステップS802において、プログラム開発装置101は、出力フィルタ管理部430により管理されている入出力タイプフィルタ1710において、当該入出力定義403が出力対象として設定されているか否かを判定する。出力対象として設定されている場合はステップS803に進み、出力対象として設定されていない場合は
図8のフローチャートを終了する。つまり、出力対象として設定されていない入出力タイプ1403の入出力定義403については、画面仕様ドキュメント443を生成しない。すなわち、ステップS802は、フィルタ情報に従って入出力定義情報を選別し、当該選別した入出力定義情報を用いてドキュメントを生成する処理の一例を示すステップである。これにより、バッチ処理などエンドユーザにとって不要な入出力定義403のドキュメントを省くことができるため、アプリケーションのエンドユーザにとって必要と思われる、選別したドキュメントを容易に生成することができる。
【0116】
ステップS803において、プログラム開発装置101は、ステップS712にて生成した画面一覧情報を用いて、当該入出力定義403の画面仕様ドキュメント443に画面一覧表示部1502を出力する。すなわち、ステップS803は、生成されたドキュメントに対して、当該ドキュメントに出力された、アプリケーションの画面の名称に対するユーザからの指示の受け付けに応じて、当該画面に対応する入出力定義情報を表示するためのリンクを含ませる処理の一例を示すステップである。
ステップS804において、プログラム開発装置101は、当該入出力定義403の画面仕様ドキュメント443に画面仕様表示部1503を出力するか否かを判定する。具体的には、ドキュメントエリア設定管理部432により管理されているエリア出力設定433の画面仕様出力設定1911の設定値「出力する」「出力しない」によって判定する。出力する場合はステップS805に進み、出力しない場合はステップS808に進む。すなわち、ステップS804は、フィルタ情報に従って入出力定義情報を選別し、当該選別した入出力定義情報を用いてドキュメントを生成する処理の一例を示すステップである。これにより、画面仕様表示部1503のコードや名前はエンドユーザにとって不要な情報である考えた場合は画面仕様ドキュメント443から省くことができるため、アプリケーションのエンドユーザにとって必要と思われる、選別したドキュメントを容易に生成することができる。
【0117】
ステップS805において、プログラム開発装置101は、画面仕様表示部1503の表示サイズが設定されているか否かを判定する。具体的には、ドキュメントエリア設定管理部432により管理されているエリアサイズ設定434の画面仕様サイズ設定1921の設定値の有無によって判定する。設定されている場合はステップS806に進み、設定されていない場合はステップS807に進む。
【0118】
ステップS806において、プログラム開発装置101は、ステップS805の判定に用いた表示サイズを画面仕様表示部1503の表示サイズとして指定する
ステップS807において、プログラム開発装置101は、画面仕様生成部422を用いて、当該入出力定義403の画面仕様ドキュメント443に画面仕様表示部1503を生成・出力する。この処理については、
図12にて詳細を説明する。
ステップS808において、プログラム開発装置101は、当該入出力定義403の画面仕様ドキュメント443に画面イメージ表示部1504を出力するか否かを判定する。具体的には、ドキュメントエリア設定管理部432により管理されているエリア出力設定433の画面HTML出力設定1912の設定値「出力する」「出力しない」によって判定する。出力する場合はステップS809に進み、出力しない場合はステップS812に進む。すなわち、ステップS808は、フィルタ情報に従って入出力定義情報を選別し、当該選別した入出力定義情報を用いてドキュメントを生成する処理の一例を示すステップである。これにより、hidden項目などエンドユーザにとって不要な情報を画面仕様ドキュメント443から省くことができるため、アプリケーションのエンドユーザにとって必要と思われる、選別したドキュメントを容易に生成することができる。
【0119】
ステップS809において、プログラム開発装置101は、画面イメージ表示部1504の表示サイズが設定されているか否かを判定する。具体的には、ドキュメントエリア設定管理部432により管理されているエリアサイズ設定434の画面HTML出力サイズ設定1922の設定値の有無によって判定する。設定されている場合はステップS810に進み、設定されていない場合はステップS811に進む。
【0120】
ステップS810において、プログラム開発装置101は、ステップS809の判定に用いた表示サイズを画面イメージ表示部1504の表示サイズとして指定する。
ステップS811において、プログラム開発装置101は、画面イメージ生成部423を用いて、画面仕様ドキュメント443に画面イメージ表示部1504を生成・出力する。すなわち、ステップS811は、入出力定義情報を用いて、当該入力定義情報に対応するアプリケーションの画面のプレビュー画面を生成する処理の一例を示すステップである。また、ステップS811は、生成されたドキュメントに対して、生成されたプレビュー画面を含ませる処理の一例を示すステップである。
【0121】
これによって、画面仕様ドキュメント443生成時における最新の設定情報を用いた画面イメージが生成できるため、開発フェーズにおいて生成するドキュメントは最新の設計情報が反映しづらく、ドキュメント生成、更新及び管理に工数がかかってしまうという問題を解決することができるようになる。つまり、開発フェーズであってもドキュメント生成及びドキュメント管理の工数を気にすることなく、最新の設計情報に基づいた画面仕様ドキュメント443を繰り返し生成することができるようになる。また、多国籍のエンドユーザが利用するアプリケーションの画面仕様ドキュメント443をその言語に対応する形で容易に生成することができる。
【0122】
また、ステップS811は、入出力定義情報及び第1の言語による文言を用いて、当該入力定義情報に対応するアプリケーションの画面のプレビュー画面を生成する処理の一例を示すステップである。また、生成された第1の言語によるドキュメントに対して、生成された第1の言語によるプレビュー画面を含ませる処理の一例を示すステップである。
【0123】
また、ステップS811は、入出力定義情報及び第2の言語による文言を用いて、当該入力定義情報に対応するアプリケーションの画面のプレビュー画面を生成する処理の一例を示すステップである。また、生成された第2の言語によるドキュメントに対して、生成された第2の言語によるプレビュー画面を含ませる処理の一例を示すステップである。
【0124】
これにより、多国籍のエンドユーザが利用するアプリケーションの画面仕様ドキュメント443をその言語に対応するプレビュー画面を含む形で容易に生成することができる。つまり、多国籍のエンドユーザが利用するアプリケーションの画面仕様ドキュメント443にプレビュー画面を含める場合、それぞれの言語を用いたアプリケーションの画面をキャプチャし、そのキャプチャ画像を管理し、各言語に対応した画面仕様ドキュメント443に貼り付ける手間がかかってしまうという問題あったが、それを省くことができるようになる。
【0125】
なお、画面イメージ表示部1504には、入出力定義403と画面レイアウトエディタを用いて作成された画面レイアウトとを用いて画面HTMLデータ408を生成し、当該画面HTMLデータ408を用いて画面イメージを表示する。
【0126】
なお、本実施形態においては、ステップS811にて画面HTMLデータ408を生成するとしたが、これに限定するものではなく、事前に生成した画面HTMLデータ408を用いてもよい。ただし、ステップS811にて生成した方がドキュメント生成時点における最新の情報を用いた画面イメージが生成できるため好ましい。
【0127】
なお、本実施形態においては、画面HTMLデータ408のように、HTMLを用いて画面仕様ドキュメント443に含まれる画面イメージを描画するとしたが、これに限定するものではなく、アプリケーション用のプログラム(JSP等)を用いて画面イメージを描画してもよいし、画面レイアウトエディタを用いて生成された画面レイアウトを画像ファイルとして記憶し、その画像ファイルを用いる等、他の描画方法を用いてもよい。
ステップS812において、プログラム開発装置101は、当該入出力定義403の画面仕様ドキュメント443に画面項目仕様表示部1505を出力するか否かを判定する。具体的には、ドキュメントエリア設定管理部432により管理されているエリア出力設定433の画面項目仕様出力設定1913の設定値「出力する」「出力しない」によって判定する。出力する場合はステップS813に進み、出力しない場合はステップS816に進む。すなわち、ステップS812は、フィルタ情報に従って入出力定義情報を選別し、当該選別した入出力定義情報を用いてドキュメントを生成する処理の一例を示すステップである。これにより、画面項目仕様出力設定1913がエンドユーザにとって不要な情報である考えた場合は画面仕様ドキュメント443から省くことができるため、アプリケーションのエンドユーザにとって必要と思われる、選別したドキュメントを容易に生成することができる。
【0128】
ステップS813において、プログラム開発装置101は、画面項目仕様表示部1505の表示サイズが設定されているか否かを判定する。具体的には、ドキュメントエリア設定管理部432により管理されているエリアサイズ設定434の画面項目仕様サイズ設定1923の設定値の有無によって判定する。設定されている場合はステップS814に進み、設定されていない場合はステップS815に進む。
【0129】
ステップS814において、プログラム開発装置101は、ステップS813の判定に用いた表示サイズを画面項目仕様表示部1505の表示サイズとして指定する。
ステップS815において、プログラム開発装置101は、画面項目仕様生成部424を用いて、画面仕様ドキュメント443に画面項目仕様表示部1505を生成・出力する。この処理については、
図13にて詳細を説明する。
【0130】
ステップS816において、プログラム開発装置101は、関連文書・ヘッダ・フッタ等出力処理を行う。この処理については、
図9にて詳細を説明する。
以上で、
図8の説明を終了する。
【0131】
図9は、関連文書・ヘッダ・フッタ等出力処理(B)のフローチャートの一例を示す図である。
【0132】
ステップS901において、プログラム開発装置101は、当該入出力定義403に対応するディレクトリに関連文書414の有無を判定する。有る場合はステップS902に進み、無い場合はステップS906に進む。具体的には、当該入出力定義403のコード1401(
図14)に対応するディレクトリを検索しファイルの有無を判定する。また、すべての入出力定義403に対応するディレクトリを事前に定義しておき、そのディレクトリにファイルが存在した場合は、そのファイルをすべての入出力定義403の関連文書414としてもよい。すなわち、ステップS901は、アプリケーションの画面の識別情報に対応するディレクトリにファイルが存在するか否かを判定する処理の一例を示すステップである。
【0133】
なお、本実施形態においては、入出力定義403に対応するディレクトリを用いて判定するとしたが、これに限定するものではなく、入出力定義画面1400(
図14)に関連文書414の項目を用意し、その項目に対する関連文書414の設定に従って判定するとしてもよい。ただし、本実施形態のように、関連文書をディレクトリに配置した方が関連文書414の設定及びメンテナンス容易かつ効率的に行うことができる。
ステップS902において、プログラム開発装置101は、画面仕様ドキュメント443に関連文書表示部1506を出力するか否かを判定する。具体的には、ドキュメントエリア設定管理部432により管理されているエリア出力設定433の関連文書出力設定1915の設定値「出力する」「出力しない」によって判定する。出力する場合はステップS903に進み、出力しない場合はステップS905に進む。すなわち、ステップS902は、フィルタ情報に従って入出力定義情報を選別し、当該選別した入出力定義情報を用いてドキュメントを生成する処理の一例を示すステップである。これにより、関連文書出力設定1915がエンドユーザにとって不要な情報である考えた場合は画面仕様ドキュメント443から省くことができるため、アプリケーションのエンドユーザにとって必要と思われる、選別したドキュメントを容易に生成することができる。
【0134】
ステップS903において、プログラム開発装置101は、関連文書表示部1506の表示サイズが設定されているか否かを判定する。具体的には、ドキュメントエリア設定管理部432により管理されているエリアサイズ設定434の関連文書サイズ設定1925の設定値の有無によって判定する。設定されている場合はステップS904に進み、設定されていない場合はステップS905に進む。
【0135】
ステップS904において、プログラム開発装置101は、ステップS903の判定に用いた表示サイズを関連文書表示部1506の表示サイズとして指定する。これにより、所定のディレクトリに関連文書を配置するだけで、画面仕様ドキュメント443からアクセスするためのリンクが張られるため、関連文書の管理や各関連文書へのリンクの作成といった手間が省けるようになる。
ステップS905において、プログラム開発装置101は、関連文書生成部427を用いて、当該入出力定義403の画面仕様ドキュメント443に関連文書表示部1506を生成・出力する。すなわち、ステップS905は、ファイルが存在すると判定された場合は、画面に対応する入出力定義情報のドキュメントに対して、当該ファイルへアクセスするためのリンクを含ませる処理の一例を示すステップである。
ステップS906において、プログラム開発装置101は、ステップS710にて生成されたヘッダ・フッタの有無を判定する。有る場合はステップS907に進み、無い場合はステップS908に進む。
【0136】
ステップS907において、プログラム開発装置101は、ヘッダ・フッタ生成部429を用いて、当該入出力定義403の画面仕様ドキュメント443にヘッダ表示部1507及び/又はフッタ表示部1508並びに言語切替部1509を出力する。すなわち、ステップS907は、第1の言語によるドキュメントに対して、第2の言語によるドキュメントを表示するための指示を受け付ける指示受付部を含ませる処理の一例を示すステップである。これにより、多国籍のエンドユーザが利用するアプリケーションの画面仕様ドキュメント443を容易に生成することができる。
【0137】
ステップS908において、プログラム開発装置101は、検索機能生成部425を用いて、当該入出力定義403の画面仕様ドキュメント443に検索キーワード受付部1501を出力する。すなわち、ステップS908は、生成されたドキュメントに対して、検索キーワードを用いて当該ドキュメントを検索するための当該検索キーワードを受け付ける受付部を含ませる処理の一例を示すステップである。
以上で、
図9の説明を終了する。
【0138】
図10は、検索情報生成のフローチャートの一例を示す図である。
【0139】
ステップS1001において、プログラム開発装置101は、入出力定義の数だけ、ステップS1002~ステップS1004の処理を繰り返す。
【0140】
ステップS1002において、プログラム開発装置101は、当該入出力定義403のNODOC定義1420において「NODOC」(=出力しない)の指定があるか否かを判定する。指定が無い(=出力する)場合はステップS1003に進み、指定が有る(=出力しない)場合はステップS1005に進む。つまり、「NODOC」の指定がある入出力定義403については、検索情報を生成しない。
【0141】
ステップS1003において、プログラム開発装置101は、出力フィルタ管理部430により管理されている入出力タイプフィルタ1710において、当該入出力定義403が出力対象として設定されているか否かを判定する。出力対象として設定されている場合はステップS1004に進み、出力対象として設定されていない場合はステップS1005に進む。つまり、出力対象として設定されていない入出力タイプ1403の入出力定義403については、検索情報を生成しない。すなわち、ステップS1003は、フィルタ情報に従って入出力定義情報を選別し、当該選別した入出力定義情報を用いてドキュメントを生成する処理の一例を示すステップである。これにより、バッチ処理などエンドユーザにとって不要な入出力定義403の検索情報の生成を省くことができるため、アプリケーションのエンドユーザにとって必要と思われる、選別したドキュメントをファイルサイズを不必要に大きくすることなく生成することができる。
【0142】
ステップS1004において、プログラム開発装置101は、検索情報を生成する。具体的には、検索キーワード受付部1501の検索機能によって、当該入出力定義403の設定値が検索できるよう、当該設定値を検索情報として外部メモリ211に記憶する。
以上で、
図10の説明を終了する。
【0143】
図11は、画面一覧情報生成のフローチャートの一例を示す図である。
【0144】
ステップS1101において、プログラム開発装置101は、入出力定義の数だけ、ステップS1102~ステップS1104の処理を繰り返す。
【0145】
ステップS1102において、プログラム開発装置101は、当該入出力定義403のNODOC定義1420において「NODOC」(=出力しない)の指定があるか否かを判定する。指定が無い(=出力する)場合はステップS1103に進み、指定が有る(=出力しない)場合はステップS1105に進む。つまり、「NODOC」の指定がある入出力定義403については、画面一覧情報を生成しない。
【0146】
ステップS1103において、プログラム開発装置101は、出力フィルタ管理部430により管理されている入出力タイプフィルタ1710において、当該入出力定義403が出力対象として設定されているか否かを判定する。出力対象として設定されている場合はステップS1104に進み、出力対象として設定されていない場合はステップS1105に進む。すなわち、ステップS1103は、フィルタ情報に従って入出力定義情報を選別し、当該選別した入出力定義情報を用いてドキュメントを生成する処理の一例を示すステップである。これにより、バッチ処理などエンドユーザにとって不要な入出力定義403の画面一覧情報の生成を省くことができるため、アプリケーションのエンドユーザにとって必要と思われる、選別したドキュメントを生成することができる。
【0147】
つまり、出力対象として設定されていない入出力タイプ1403の入出力定義403については、画面一覧情報を生成しない。例えば、
図17の入出力タイプフィルタ1710では、「IO」「MENU」「DIALOG」「MATRIX」「MOBILE」が出力対象として選択されており、
図14の入出力定義画面1400において入出力タイプ1403=「IO」と設定されているため、当該入出力定義403について画面一覧情報が生成され、
図15の画面一覧表示部1502に「ユーザマスタ・一覧」というメニューが表示されている。
【0148】
ステップS1104において、プログラム開発装置101は、画面一覧情報を生成する。具体的には、当該入出力定義403の名前1402を取得し、ステップS803(
図8)にて画面一覧表示部1502(
図15)を出力するための画面情報(例:HTML)を生成し、外部メモリ211に記憶する。なお、この画面情報には、画面一覧表示部1502として表示しユーザによって指示を受け付けたときに、1503~1506の表示内容を更新させるためのリンク情報を組み込んでおく。
以上で、
図11の説明を終了する。
【0149】
図12は、画面仕様表示部の生成・出力のフローチャートの一例を示す図である。
【0150】
ステップS1201において、プログラム開発装置101は、当該入出力定義403の入出力(定義)の属性(例:「コード」「名前」「入出力タイプ」「対象データモデル」
等)の数だけ、ステップS1202~ステップS1203の処理を繰り返す。
【0151】
ステップS1202において、プログラム開発装置101は、出力フィルタ管理部430により管理されている入出力属性フィルタ1720において、当該入出力定義403に設定されている入出力(定義)の属性が出力対象として設定されているか否かを判定する。出力対象として設定されている場合はステップS1203に進み、出力対象として設定されていない場合はステップS1204に進む。すなわち、ステップS1202は、フィルタ情報に従って入出力定義情報を選別し、当該選別した入出力定義情報を用いてドキュメントを生成する処理の一例を示すステップである。これにより、当該入出力(定義)属性のうち「コード」「名前」はエンドユーザにとって不要な情報である考えた場合は画面仕様ドキュメント443から省くことができるため、アプリケーションのエンドユーザにとって必要と思われる、選別したドキュメントを容易に生成することができる。
【0152】
つまり、出力対象として設定されていない入出力属性については、画面仕様情報を生成しない。例えば、
図17の入出力属性フィルタ1720では、「コード」「名前」「仕様」が出力対象として選択されているため、画面仕様表示部1503(
図15)には、属性が「コード」「名前」「仕様」である定義について表示されている。
【0153】
ステップS1203において、プログラム開発装置101は、画面仕様生成部422を用いて、画面仕様情報を生成する。具体的には、当該入出力定義403の属性の値を取得し、ステップS1205にて画面仕様表示部1503(
図15)を出力するための画面情報(例;HTMLファイル)を生成し、外部メモリ211に記憶する。
【0154】
ステップS1205において、プログラム開発装置101は、画面仕様生成部422及びステップS1203にて生成した画面情報を用いて、画面仕様表示部1503を出力する。
以上で、
図12の説明を終了する。
【0155】
図13は、画面項目仕様表示部の生成・出力のフローチャートの一例を示す図である。
【0156】
ステップS1301において、プログラム開発装置101は、当該入出力定義403に設定されている入出力項目の数だけ、ステップS1302~ステップS1309の処理を繰り返す。
【0157】
ステップS1302において、プログラム開発装置101は、当該入出力項目のNODOC定義1420において「NODOC」(=出力しない)の指定があるか否かを判定する。指定が無い(=出力する)場合はステップS1303に進み、指定が有る(=出力しない)場合はステップS1310に進む。つまり、「NODOC」の指定がある入出力項目については、画面一覧情報を生成しない。
【0158】
ステップS1303において、プログラム開発装置101は、当該入出力項目が非表示項目(例:hidden項目など、Webアプリケーション画面自体に非表示の画面項目)か否かを判定する。非表示項目である場合はステップS1304に進み、非表示項目でない(つまり、通常の画面項目)場合はステップS1305に進む。つまり、出力対象として設定されていない入出力属性については、画面仕様情報を生成しない。
【0159】
ステップS1304において、プログラム開発装置101は、出力フィルタ管理部430により管理されている入出力項目タイプフィルタ1810の非表示項目出力1812において、「出力する」と設定されているか「出力しない」と設定されているかを判定する。「出力する」と設定されている場合はステップS1305に進み、「出力しない」として設定されている場合はステップS1310に進む。つまり、入出力項目のうち非表示項目の仕様は、入出力項目タイプフィルタ1810の非表示項目出力1812において「出力する」として設定されていない限り、画面仕様ドキュメント443には出力しない。
【0160】
ステップS1305において、プログラム開発装置101は、出力フィルタ管理部430により管理されている入出力項目タイプフィルタ1810の入出力項目タイプフィルタ1811において、出力対象として選択されているか否かを判定する。出力対象として設定されている場合はステップS1306に進み、出力対象として選択されていない場合はステップS1310に進む。すなわち、ステップS1305は、フィルタ情報に従って入出力定義情報を選別し、当該選別した入出力定義情報を用いてドキュメントを生成する処理の一例を示すステップである。これにより、項目タイプ1411「グループ」はエンドユーザにとって不要な情報であると考えた場合は画面仕様ドキュメント443から省くことができるため、アプリケーションのエンドユーザにとって必要と思われる、選別したドキュメントを容易に生成することができる。
【0161】
つまり、入出力項目定義1410のうち、出力対象として設定されていない項目タイプ1411については、画面項目仕様情報を生成しない。例えば、
図18の入出力項目タイプフィルタ1810では、「入力」「入出力」「出力」「アクション」「グループ」が出力対象として選択されているため、画面項目仕様表示部1505(
図15)には、入出力項目タイプが「入力」「入出力」「出力」「アクション」「グループ」に該当する入出力項目について表示されている。
【0162】
ステップS1306において、プログラム開発装置101は、当該入出力項目の属性(例:項目タイプ、項目コード、名前等)の数だけ、ステップS1307~ステップS1308の処理を繰り返す。
【0163】
ステップS1307において、プログラム開発装置101は、出力フィルタ管理部430により管理されている入出力項目属性フィルタ1820において、出力対象として選択されているか否かを判定する。出力対象として設定されている場合はステップS1308に進み、出力対象として選択されていない場合はステップS1309に進む。つまり、入出力項目定義1410のうち、出力対象として設定されていない入出力項目属性については、画面項目仕様情報を生成しない。例えば、
図18の入出力項目属性フィルタ1820では、「項目タイプ」「名前」「必須」「桁数」「仕様」が出力対象として選択されているため、画面項目仕様表示部1505(
図15)には、属性が「項目タイプ」「名前」「必須」「桁数」「仕様」である定義について表示されている。
【0164】
ステップS1308において、プログラム開発装置101は、画面項目仕様生成部424を用いて、当該入出力項目の当該入出力項目属性について、画面項目仕様情報を生成する。具体的には、当該入出力項目の当該入出力項目属性の値を取得し、ステップS1311にて画面項目仕様表示部1505(
図15)を出力するための画面情報(例;HTMLファイル)を生成し、外部メモリ211に記憶する。
【0165】
ステップS1311において、プログラム開発装置101は、画面項目仕様生成部424及びステップS1308にて生成した画面項目仕様情報を用いて、画面項目仕様表示部1505を出力する。
以上で、
図13の説明を終了する。
【0166】
以上により、アプリケーション開発ツールにおいて、アプリケーションのエンドユーザが利用するドキュメントを容易に生成する仕組みを提供することができる。また、アプリケーション開発ツールにおいて、アプリケーションのエンドユーザの利用に好適なドキュメントを容易に生成する仕組みを提供することができる。
【0167】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(又はCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【0168】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、DVD-ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。
【0169】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0170】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0171】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0172】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、OS(オペレーティングシステム)に供給されるスクリプトデータ等の形態から成ってもよい。
【0173】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【0174】
101 プログラム開発装置
102 プログラム開発サーバ
103 データベースサーバ
104 アプリケーションクライアント
105 アプリケーションサーバ
106 Webサーバ
107 ネットワーク