(57)【要約】【課題】  １つ以上のコンポーネントを含むアプリケーションを更新する場合であっても、その更新を効率よく適用する。【解決手段】  画面プログラム生成装置１は、画面定義情報１０１と、第１のアプリケーション情報１０２とを解析した結果に基づいて、同一内容のフィールドを抽出すると共に、抽出したフィールドにグループＩＤを付与し、解析結果とグループＩＤと関連付けるグループ化部２と、関連付けられた情報に基づいて、コンポーネントを含む第２のアプリケーションを生成し、第２のアプリケーションの更新を要求された場合には、その更新を要求する情報と前記関連付けられた情報とに基づいて、第２のアプリケーションを生成するアプリケーション生成部３と、第１の更新情報１０３を取得するのに応じて、更新対象のコンポーネントを抽出し、該抽出したコンポーネントを、第１の更新情報１０３に基づき更新し、第２のアプリケーションの更新を要求する更新情報制御部４とを備える。【選択図】      図１
2014164309.tif 000002
【特許請求の範囲】
【請求項１】
第１のアプリケーションを実行する際に表示される画面の表示様態を定義する画面定義情報に含まれるフィールドの情報と、該第１のアプリケーションのソースコードを含む第１のアプリケーション情報とを解析した結果に基づいて、同一内容のフィールドを抽出すると共に、抽出した前記同一内容のフィールドにグループＩＤを付与し、前記解析結果と前記グループＩＤとを関連付けるグループ化部と、
前記関連付けられた情報に基づいて、コンポーネントを含む前記第１のアプリケーションとは種類の異なる第２のアプリケーションを生成し、前記第２のアプリケーションの更新を要求された場合には、その更新を要求する情報と前記関連付けられた情報とに基づいて、前記第２のアプリケーションを生成するアプリケーション生成部と、
前記コンポーネントの更新情報を含む第１の更新情報を取得するのに応じて、前記関連付けられた情報と、生成した前記コンポーネントを含む前記第２のアプリケーショの情報とを関連付けた情報を生成し、生成した該情報から、前記コンポーネントと関連付けられたグループＩＤを求めると共に、そのグループＩＤに関連付けられたコンポーネントを抽出し、該抽出したコンポーネントのソースコードを、前記第１の更新情報に基づき更新し、前記第２のアプリケーションの更新を要求する更新情報制御部と、
を備えることを特徴とする画面プログラム生成装置。
【請求項２】
前記グループ化部は、
前記画面定義情報から画面名、フィールド名、そのフィールドの属性情報を取得し、前記フィールド名に基づき前記第１のアプリケーション情報を検索すると共に、前記第１のアプリケーション情報からフィールドの値を取得し、取得した前記画面名と前記フィールド名と前記属性情報と前記フィールドの値とに基づいて、前記同一内容のフィールドを抽出することを特徴とする請求項１に記載の画面プログラム生成装置。
【請求項３】
前記コンポーネントを更新する際に、更新前の前記コンポーネントのソースコードと更新後の前記コンポーネントのソースコードとに基づいて、前記コンポーネントの更新内容を解析する更新情報入力部を、さらに、備えることを特徴とする請求項１または請求項２に記載の画面プログラム生成装置。
【請求項４】
前記画面定義情報、または前記第１のアプリケーション情報が更新された場合、または所定の時間間隔において前記画面定義情報と前記第１のアプリケーション情報とを取得する画面定義取得部を、さらに、備えることを特徴とする請求項１乃至請求項３の何れかに記載の画面プログラム生成装置。
【請求項５】
前記第２のアプリケーションの更新を要求する情報は、
更新した前記コンポーネントを含む画面名と、更新した前記コンポーネントを識別可能な識別ＩＤと表示位置とソースコードとの情報を含むことを特徴とする請求項１乃至請求項４の何れかに記載の画面プログラム生成装置。
【請求項６】
前記第１の更新情報は、
前記識別ＩＤと、前記コンポーネントの更新前のソースコードと更新後のソースコードを含むことを特徴とする請求項１乃至請求項５の何れかに記載の画面プログラム生成装置。
【請求項７】
請求項１乃至請求項６の何れかに記載された画面プログラム生成装置を備えることを特徴とする情報処理装置。
【請求項８】
情報処理装置が、
第１のアプリケーションを実行する際に表示される画面の表示様態を定義する画面定義情報に含まれるフィールドの情報と、該第１のアプリケーションのソースコードを含む第１のアプリケーション情報とを解析した結果に基づいて、同一内容のフィールドを抽出すると共に、抽出した前記同一内容のフィールドにグループＩＤを付与し、前記解析結果と前記グループＩＤとを関連付けし、
前記関連付けられた情報に基づいて、コンポーネントを含む前記第１のアプリケーションとは種類の異なる第２のアプリケーションを生成し、前記第２のアプリケーションの更新を要求された場合には、その更新を要求する情報と前記関連付けられた情報とに基づいて、前記第２のアプリケーションを生成し、
前記コンポーネントの更新情報を含む第１の更新情報を取得するのに応じて、前記関連付けられた情報と、生成した前記コンポーネントを含む前記第２のアプリケーショの情報とを関連付けた情報を生成し、生成した該情報から、前記コンポーネントと関連付けられたグループＩＤを求めると共に、そのグループＩＤに関連付けられたコンポーネントを抽出し、該抽出したコンポーネントのソースコードを、前記第１の更新情報に基づき更新し、前記第２のアプリケーションの更新を要求することを特徴とする画面プログラム生成方法。
【請求項９】
前記情報処理装置が、
前記画面定義情報から画面名、フィールド名、そのフィールドの属性情報を取得し、前記フィールド名に基づき前記第１のアプリケーション情報を検索すると共に、前記第１のアプリケーション情報からフィールドの値を取得し、取得した前記画面名と前記フィールド名と前記属性情報と前記フィールドの値とに基づいて、前記同一内容のフィールドを抽出することを特徴とする請求項８に記載の画面プログラム生成方法。
【請求項１０】
第１のアプリケーションを実行する際に表示される画面の表示様態を定義する画面定義情報に含まれるフィールドの情報と、該第１のアプリケーションのソースコードを含む第１のアプリケーション情報とを解析した結果に基づいて、同一内容のフィールドを抽出すると共に、抽出した前記同一内容のフィールドにグループＩＤを付与し、前記解析結果と前記グループＩＤとを関連付ける機能と、
前記関連付けられた情報に基づいて、コンポーネントを含む前記第１のアプリケーションとは種類の異なる第２のアプリケーションを生成し、前記第２のアプリケーションの更新を要求された場合には、その更新を要求する情報と前記関連付けられた情報とに基づいて、前記第２のアプリケーションを生成する機能と、
前記コンポーネントの更新情報を含む第１の更新情報を取得するのに応じて、前記関連付けられた情報と、生成した前記コンポーネントを含む前記第２のアプリケーショの情報とを関連付けた情報を生成し、生成した該情報から、前記コンポーネントと関連付けられたグループＩＤを求めると共に、そのグループＩＤに関連付けられたコンポーネントを抽出し、該抽出したコンポーネントのソースコードを、前記第１の更新情報に基づき更新し、前記第２のアプリケーションの更新を要求する機能と、
をコンピュータに実現させることを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なるシステム間においてプログラムを移行する情報処理の技術分野に関する。
【背景技術】
【０００２】
現在、企業の基幹業務システムには、高い信頼性と堅牢性とを備えるメインフレームが採用されている。その一方で、係る基幹業務システムは、管理コストや変化する業務形態への柔軟な対応のために、メインフレームからオープン系のシステム（以降、「オープンシステム」と称する）環境に切替えられる傾向にある。
【０００３】
メインフレームからオープンシステムに移行する（以降、「レガシーマイグレーション」、単に「マイグレーション」とも記す）際に、例えば、企業は、メインフレームにおいて動作する業務アプリケーションを、オープンシステムにおいて動作可能なように変更する必要がある。
【０００４】
このような背景から、係る業務プログラムをオープンシステムにおいて動作可能なように変更する技術は、多岐にわたり存在する。
【０００５】
例えば、特許文献１は、情報処理装置及び情報処理プログラムに関する技術を開示する。
【０００６】
特許文献１に開示された情報処理装置は、業務プログラムを実行する際に表示される画面の構造（以下、「画面レイアウト」、「画面構造」とも記す）や画面の項目（フィールド）等を定義する画面の設計書（以降、「画面定義情報」と称する）に基づいて、ソフトウェア部品のソースコードを生成することができる。
【０００７】
特許文献２は、データ処理システムに関する技術を開示する。特許文献２には、オブジェクトの親と子の関係を管理する手法が記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−２１１１４３号公報
【特許文献２】特開平０６−１６１７６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
一般的に知られた業務プログラムをオープンシステムにおいて動作可能なように変更する技術としては、例えば、業務プログラムの画面定義情報に基づいて、ウェブ（以降、「Ｗｅｂ」と称する）アプリケーションを生成する方法がある。
【００１０】
係るＷｅｂアプリケーションは、メインフレームにて動作する業務プログラムでは表現できない画面や機能を、例えば、Ｗｅｂアプリケーションを利用するユーザに提供することができる。
【００１１】
しかしながら、一般的に知られたＷｅｂアプリケーションを生成する方法では、例えば、画面定義情報に変更を加えた場合に、変更を加える前に生成したＷｅｂアプリケーションと、変更を加えた後に生成したＷｅｂアプリケーションとを異なるアプリケーションとして扱う。
【００１２】
また、係る方法は、例えば、１つ以上の画面定義情報に同一内容の項目（以降、「フィールド」と称する）が複数ある場合であっても、異なるフィールドとして扱う。
【００１３】
そのため、１つ以上の画面定義情報に同一内容のフィールドが複数ある場合に、作成者は、画面定義情報毎、且つフィールド毎に変更する手間が必要である。また、作成者が行う変更作業は、煩雑となる虞がある。
【００１４】
上述した特許文献１及び特許文献２は、１つ以上の画面定義情報に同一内容のフィールドが複数あり、且つ画面定義情報が変更された場合に、その変更を効率よく適用することが考慮されておらず、何ら画面定義情報毎、且つフィールド毎に効率よく変更することが記載されていない。
【００１５】
さらに、特許文献１及び特許文献２に開示された技術は、ユーザが作業することによって、画面定義情報とテンプレートからプログラムを生成する、またはオブジェクトの関連付けをする必要がある。即ち、特許文献１及び特許文献２では、ユーザが作業する手間が発生するため、効率よくプログラムを生成することができない。
【００１６】
本発明の主たる目的は、１つ以上のコンポーネントを含むアプリケーションを更新する場合であっても、その更新を効率よく適用することが可能な画面プログラム生成装置等を提供することにある。
【課題を解決するための手段】
【００１７】
上記の課題を達成すべく、本発明に係る画面プログラム生成装置は、以下の構成を備えることを特徴とする。
【００１８】
即ち、本発明に係る画面プログラム生成装置は、
第１のアプリケーションを実行する際に表示される画面の表示様態を定義する画面定義情報に含まれるフィールドの情報と、該第１のアプリケーションのソースコードを含む第１のアプリケーション情報とを解析した結果に基づいて、同一内容のフィールドを抽出すると共に、抽出した前記同一内容のフィールドにグループＩＤを付与し、前記解析結果と前記グループＩＤとを関連付けるグループ化部と、
前記関連付けられた情報に基づいて、コンポーネントを含む前記第１のアプリケーションとは種類の異なる第２のアプリケーションを生成し、前記第２のアプリケーションの更新を要求された場合には、その更新を要求する情報と前記関連付けられた情報とに基づいて、前記第２のアプリケーションを生成するアプリケーション生成部と、
前記コンポーネントの更新情報を含む第１の更新情報を取得するのに応じて、前記関連付けられた情報と、生成した前記コンポーネントを含む前記第２のアプリケーショの情報とを関連付けた情報を生成し、生成した該情報から、前記コンポーネントと関連付けられたグループＩＤを求めると共に、そのグループＩＤに関連付けられたコンポーネントを抽出し、該抽出したコンポーネントのソースコードを、前記第１の更新情報に基づき更新し、前記第２のアプリケーションの更新を要求する更新情報制御部と、
を備ることを特徴とする。
【００１９】
或いは、上記に示す画面プログラム生成装置を含む情報処理装置によっても、同目的を達成される。
【００２０】
また、同目的を達成すべく、本発明に係る画面プログラム生成方法は、以下の構成を備えることを特徴とする。
【００２１】
即ち、本発明に係る画面プログラム生成方法は、
情報処理装置が、
第１のアプリケーションを実行する際に表示される画面の表示様態を定義する画面定義情報に含まれるフィールドの情報と、該第１のアプリケーションのソースコードを含む第１のアプリケーション情報とを解析した結果に基づいて、同一内容のフィールドを抽出すると共に、抽出した前記同一内容のフィールドにグループＩＤを付与し、前記解析結果と前記グループＩＤとを関連付けし、
前記関連付けられた情報に基づいて、コンポーネントを含む前記第１のアプリケーションとは種類の異なる第２のアプリケーションを生成し、前記第２のアプリケーションの更新を要求された場合には、その更新を要求する情報と前記関連付けられた情報とに基づいて、前記第２のアプリケーションを生成し、
前記コンポーネントの更新情報を含む第１の更新情報を取得するのに応じて、前記関連付けられた情報と、生成した前記コンポーネントを含む前記第２のアプリケーショの情報とを関連付けた情報を生成し、生成した該情報から、前記コンポーネントと関連付けられたグループＩＤを求めると共に、そのグループＩＤに関連付けられたコンポーネントを抽出し、該抽出したコンポーネントのソースコードを、前記第１の更新情報に基づき更新し、前記第２のアプリケーションの更新を要求することを特徴とする。
【００２２】
尚、同目的は、上記の各構成を有する画面プログラム生成装置及び画面プログラム生成方法を、コンピュータによって実現するコンピュータ・プログラム、及びそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
【発明の効果】
【００２３】
本発明によれば、１つ以上のコンポーネントを含むアプリケーションを更新する場合であっても、その更新を効率よく適用することが可能な画面プログラム生成装置等を提供することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の第１の実施形態における画面プログラム生成装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態における構成情報の構成（フォーマット）を具体的に例示した図である。
【図３】本発明の第１の実施形態におけるアプリケーション生成部が生成した第２のアプリケーションを構成するコンポーネントの中から１つのコンポーネントを具体的に例示した図である。
【図４】本発明の第１の実施形態における更新情報の構成を具体的に例示した図である。
【図５】本発明の第１の実施形態における更新管理情報の構成（フォーマット）を具体的に例示した図である。
【図６】本発明の第２の実施形態における画面プログラム生成装置を含む情報処理装置の構成を示すブロック図である。
【図７】本発明の第２の実施形態における画面プログラム生成装置が行う第２のアプリケーションを生成する際の動作を示すフローチャートである。
【図８】本発明の第２の実施形態におけるグループ化部が行う画面定義情報と第１のアプリケーション情報とを解析する際の動作を示すフローチャートである。
【図９】グループ化部が画面定義情報と第１のアプリケーション情報とを解析する項目を具体的に例示する図である。
【図１０】Ｗｅｂアプリケーションが更新された際に、本発明の第２の実施形態における画面プログラム生成装置が行う動作を示すフローチャートである。
【図１１】本発明に係る各実施形態を実現可能な情報処理装置のハードウェア構成を例示的に説明するブロック図である。
【発明を実施するための形態】
【００２５】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００２６】
＜第１の実施形態＞
図１は、本発明の第１の実施形態における画面プログラム生成装置１の構成を示すブロック図である。図１において、画面プログラム生成装置１は、グループ化部２と、アプリケーション生成部３と、更新情報制御部４とを有する。
【００２７】
より具体的に、グループ化部２は、画面定義情報１０１と第１のアプリケーション情報１０２とを解析する。
【００２８】
ここで、画面定義情報１０１とは、例えば、業務プログラム（第１のアプリケーション）を実行する際に、端末装置が備えるディスプレイ等のユーザインタフェースに表示される画面の構造や画面を構成する項目（フィールド）等の情報（つまり、画面の表示様態を定義する情報）を含む。
【００２９】
より具体的に、画面定義情報１０１は、表示される画面の画面名、フィールド名、そのフィールドの属性情報（画面に表示されるフィールドのサイズや表示位置、文字種別、フィールドの入出力種別、フィールドの繰り返しの有無等）を含む。
【００３０】
また、第１のアプリケーション情報１０２とは、例えば、業務プログラム（第１のアプリケーション）を実行する際に、上述した画面定義情報１０１に基づいて表示された画面を、ユーザが操作するのに応じて処理を行うプログラムのソースコードを示す。
【００３１】
より具体的に、第１のアプリケーション情報１０２は、一例として、ＣＯＢＯＬによって記述されたプログラム（以降、「ＣＯＢＯＬプログラム」と称する）のソースコードである。
【００３２】
次に、グループ化部２は、解析した結果、画面定義情報１０１に含まれる１つ以上のフィールドの中に同一内容のフィールドが複数あるか否かを判別する。
【００３３】
グループ化部２は、判別の結果、１つ以上のフィールドの中に同一内容のフィールドが複数ある場合に、それら同一内容のフィールドを、内容別（毎）にグループ化すると共に、そのグループを識別可能なようにグループ識別子（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ：以降、「ＩＤ」と称する）を付与する。
【００３４】
また、グループ化部２は、解析結果とグループＩＤとを記憶部６の構成情報７に格納する。
【００３５】
ここで、構成情報７とは、画面名、フィールド名、フィールドの属性情報、グループＩＤとが関連付けられた情報を含む。また、これら情報を識別可能なように識別ＩＤを付与する。
【００３６】
尚、グループ化部２が画面定義情報１０１と第１のアプリケーション情報１０２とを解析すると共に、解析結果を記憶部６に格納する動作については、第２の実施形態における図７及び図８に示すフローチャートにおいて後述する。
【００３７】
図２は、本発明の第１の実施形態における構成情報７の構成（フォーマット）を具体的に例示した図である。
【００３８】
より具体的に、図２において１列目は、識別ＩＤを示す。２列目は、画面名を示す。また、３列目は、フィールド名を示す。４列目は、グループＩＤを示す。５列目乃至９列目は、フィールドの属性情報を示す。そして、１０列目は、フィールドの値を示す。
【００３９】
次に、アプリケーション生成部３は、記憶部６に格納された構成情報７に基づいて、第１のアプリケーションと、種類の異なる第２のアプリケーションを生成する。さらに、アプリケーション生成部３は、生成した第２のアプリケーションを記憶部６のアプリケーション情報８に格納する。
【００４０】
ここで、種類の異なるとは、例えば、アプリケーションを開発する際に、使用するプログラミング言語が異なることを意味する。
【００４１】
図３は、本発明の第１の実施形態におけるアプリケーション生成部３が生成した第２のアプリケーションを構成するコンポーネントの中から１つのコンポーネントを具体的に例示した図である。
【００４２】
より具体的に、図３において１行目と７行目は、コンポーネントを識別可能なタグを示す。さらに、２行目乃至６行目は、コンポーネントのソースコードを示す。
【００４３】
より具体的に、図３において１行目は、「画面名＿フィールド名  識別ＩＤ」を示す。ここでは、一例として、画面名を「ＰＣ３０１」、フィールド名を「ＳＨＯＰ」、識別ＩＤを「０１」とする。そのため、１列目には、「ＰＣ３０１＿ＳＨＯＰ  ＩＤ＝０１」とタグを示す。
【００４４】
ここで、アプリケーション生成部３は、各画面定義情報１０１に対応する第２のアプリケーションを生成することとする。さらに、係る第２のアプリケーションは、画面定義情報１０１に含まれる各フィールドに対応して生成されたコンポーネントによって構成されることとする。
【００４５】
そのため、アプリケーション情報８は、識別ＩＤと、その識別ＩＤに関連付けられた画面名とフィールド名とに対応する第２のアプリケーション名とコンポーネント名と、そのソースコード（実体）とが関連付けられた情報を含む。
【００４６】
尚、アプリケーション生成部３が構成情報７に基づいて、第２のアプリケーションを生成する技術自体は、現在では一般的な技術を採用することができるので、本実施形態における詳細な説明は省略する（以下、各実施形態においても同様）。
【００４７】
アプリケーション生成部３は、第２のアプリケーションを生成する際に、後述する更新情報制御部４からアプリケーション更新要求情報を取得したか否かを判別する。
【００４８】
アプリケーション生成部３は、更新情報制御部４からアプリケーション更新要求情報を取得したか否かを判別した結果、アプリケーション更新要求情報を取得したと判別した場合に、係る更新を要求する情報（アプリケーション更新要求情報）と構成情報７とに基づいて、第２のアプリケーションを生成する。
【００４９】
尚、アプリケーション更新要求情報については、本実施形態において後述する。
【００５０】
次に、更新情報制御部４は、更新情報５を有する。更新情報制御部４は、第１の更新情報１０３を取得すると共に、取得した第１の更新情報１０３を更新情報５に格納する。
【００５１】
尚、以下の説明において、説明の便宜上、「修正」や「カスタマイズ」を総称して「更新」と称する。
【００５２】
ここで、第１の更新情報１０３とは、アプリケーションにおけるコンポーネントの更新情報を含む。より具体的に、第１の更新情報１０３は、係るコンポーネントの識別ＩＤと、そのコンポーネントの更新前のソースコードと更新後のソースコードを含む。
【００５３】
図４は、本発明の第１の実施形態における更新情報５の構成を具体的に例示した図である。
【００５４】
図４において１列目は、第１の更新情報１０３に含まれるコンポーネントの識別ＩＤを示す。次に、２列目は、第１の更新情報１０３に含まれる変更前のソースコードを示す。３列目は、第１の更新情報１０３に含まれる更新後のソースコードを示す。
【００５５】
より具体的に、本発明の第１の実施形態における更新情報５について、図３及び図４を参照して説明する。
【００５６】
ここで、図４において２行目は、図３に示すコンポーネントの更新情報である。
【００５７】
図３において１行目には、識別ＩＤ「０１」を含む。そのため、図４において１列目には、識別ＩＤ「０１」を示す。
【００５８】
図４において２列目は、図３に示すコンポーネントの変更前のソースコードを示す。さらに、図４において３列目は、係るコンポーネントの変更後のソースコードを示す。即ち、図４において３列目は、図３において２行目乃至６行目に示すコンポーネントのソースコードを示す。
【００５９】
次に、更新情報制御部４は、記憶部６から構成情報７とアプリケーション情報８とを取得する。
【００６０】
更新情報制御部４は、取得した構成情報７とアプリケーション情報８とに基づいて、更新管理情報９を生成する。
【００６１】
より具体的に、更新情報制御部４は、構成情報７に含まれる識別ＩＤとアプリケーション情報８に含まれる識別ＩＤとに基づいて、構成情報７とアプリケーション情報８とを関連付けることによって、更新管理情報９を生成する。
【００６２】
図５は、本発明の第１の実施形態における更新管理情報９の構成（フォーマット）を具体的に例示した図である。
【００６３】
より具体的に、図５において１１列目は、アプリケーション名を示す。また、１２列目は、コンポーネント名を示す。尚、図５において１列目乃至１０列目は、構成情報７において説明した図２に示す１列目乃至１０列目と同様である。そのため、重複する説明は省略する。
【００６４】
また、更新情報制御部４は、生成した更新管理情報９を記憶部６に格納する。これにより、更新情報制御部４は、更新管理情報９によって、構成情報７とコンポーネントを含むアプリケーション情報８とを一元管理することができる。
【００６５】
次に、更新情報制御部４は、生成した更新管理情報９を参照すると共に、第１の更新情報１０３に含まれる識別ＩＤに基づいて、更新管理情報９を検索する。
【００６６】
更新情報制御部４は、更新管理情報９を検索した結果、係る識別ＩＤと関連付けられたグループＩＤを求める。即ち、更新情報制御部４は、コンポーネントに付与されたグループＩＤを求める。
【００６７】
さらに、更新情報制御部４は、求めたグループＩＤに基づいて、更新管理情報９を検索する。
【００６８】
更新情報制御部４は、更新管理情報９を検索した結果、同じグループＩＤを持つ識別ＩＤを求める。即ち、更新情報制御部４は、同じグループＩＤを持つ（つまり、グループＩＤと関連付けられた）コンポーネントを抽出することができる。
【００６９】
更新情報制御部４は、求めた識別ＩＤに基づいて、アプリケーション情報８を検索する。さらに、更新情報制御部４は、検索した結果、第１の更新情報１０３に含まれる更新内容に基づいて、求めた識別ＩＤに関連付けられたコンポーネントのソースコードを更新する。
【００７０】
次に、更新情報制御部４は、アプリケーション生成部３にアプリケーション更新要求情報を送信する。
【００７１】
ここで、アプリケーション更新要求情報とは、第２のアプリケーションの更新を要求する情報である。より具体的に、アプリケーション更新要求情報は、更新したコンポーネントを含む画面名と、更新したコンポーネントの識別ＩＤと、更新したコンポーネントの表示位置と、更新したコンポーネントのソースコードとの情報を含む。
【００７２】
尚、上述した本実施形態では、説明の便宜上、一例として、グループ化部２とアプリケーション生成部３と更新情報制御部４とは、画面プログラム生成装置１が有する構成を例に説明した。しかしながら本発明に係る実施形態は、係る構成に限定されず、グループ化部２とアプリケーション生成部３と更新情報制御部４とは、それぞれ異なる装置が有する（つまり、別体）構成を採用してもよい。
【００７３】
また、上述した本実施形態では、説明の便宜上、一例として、画面プログラム生成装置１は、１つの画面定義情報１０１と第１のアプリケーション情報１０２とを取得する構成を例に説明した。しかしながら、画面プログラム生成装置１は、１つ以上の画面定義情報１０１と第１のアプリケーション情報１０２とを取得する構成を採用してもよい。
【００７４】
その場合に、画面プログラム生成装置１は、１つ以上の画面定義情報１０１と第１のアプリケーション情報１０２とを解析すると共に、１つ以上の画面定義情報１０１に含まれるフィールドの中から同一内容のフィールドをグループ化する構成を採用することができる。
【００７５】
記憶部６は、コンピュータによる読み書きが可能な記憶デバイスである。より具体的に、一例として、記憶部６は、サーバ装置等の電子機器に搭載されたハードディスクドライブ（Ｈａｒｄ＿ｄｉｓｋ＿ｄｒｉｖｅ：以降、「ＨＤＤ」と称する）等の不揮発性記憶素子を採用することができる。
【００７６】
また、例えば、記憶部６は、不図示のネットワークに通信可能に接続されたストレージデバイス（不図示）を採用してもよい。但し、本実施形態を例に説明する本発明は、これらに限定されない（以下、各実施形態においても同様）。
【００７７】
記憶部６は、上述した構成情報７と、アプリケーション情報８及び更新管理情報９とを有する。
【００７８】
尚、上述した本実施形態では、説明の便宜上、一例として、構成情報７と、アプリケーション情報８及び更新管理情報９とは、記憶部６が有する構成を例に説明した。しかしながら本発明に係る実施形態は、係る構成に限定されず、構成情報７と、アプリケーション情報８及び更新管理情報９とは、１つ以上の異なる記憶デバイスが有する構成を採用してもよい。
【００７９】
また、上述した本実施形態では、説明の便宜上、一例として、第１のアプリケーション情報１０２は、ＣＯＢＯＬプログラムのソースコードを示す構成を例に説明した。
【００８０】
しかしながら本発明に係る実施形態は、係る構成に限定されず、第１のアプリケーション情報１０２は、Ｊａｖａ（登録商標）プログラムのソースコードを示す構成を採用してもよい。但し、本実施形態を例に説明する本発明は、これらに限定されない（以下、各実施形態においても同様）。
【００８１】
このように本実施の形態に係る画面プログラム生成装置１によれば、１つ以上のコンポーネントを含むアプリケーションを更新する場合であっても、その更新を効率よく適用することができる。その理由は、以下に述べる通りである。
【００８２】
即ち、画面プログラム生成装置１は、画面定義情報１０１と第１のアプリケーション情報１０２との解析結果に基づいて、画面定義情報１０１に含まれる１つ以上のコンポーネントの中から同一内容のコンポーネントを検出する。そのため、画面プログラム生成装置１は、何れか１つのコンポーネントが更新された場合に、検出結果に基づいて、係る更新がなされたコンポーネントと同一内容のコンポーネントに、その更新内容を適用することができるからである。
【００８３】
さらに、画面プログラム生成装置１は、１つ以上の画面定義情報１０１と第１のアプリケーション情報１０２とがある場合であっても、同一内容のコンポーネントを検出することができる。
【００８４】
つまり、作成者は、アプリケーションにおけるコンポーネントの更新作業を効率よく行うことができる。
【００８５】
尚、上述した本実施形態では、説明の便宜上、一例として、グループ化部２は、同一内容のフィールドが複数ある場合に、その同一内容のフィールドにグループＩＤを付与する構成を例に説明した。しかしながら本発明に係る実施形態は、係る構成に限定されず、グループ化部２は、単一のフィールド（つまり、同一内容のフィールドでないフィールド）にもグループＩＤを付与する構成を採用してもよい（以下、各実施形態においても同様）。
【００８６】
＜第２の実施形態＞
次に、上述した本発明の第１の実施形態に係る画面プログラム生成装置１を基本とする第２の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明する。その際、上述した各実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。
【００８７】
本発明の第２の実施形態における画面プログラム生成装置１０について、図６を参照して説明する。
【００８８】
図６は、本発明の第２の実施形態における画面プログラム生成装置１０を含む情報処理装置２０の構成を示すブロック図である。
【００８９】
ここで、情報処理装置２０は、例えば、ホストコンピュータを採用してもよい。
【００９０】
図６において、画面プログラム生成装置１０は、画面定義取得部１１と更新情報入力部１２とを有する点が第１の実施形態における画面プログラム生成装置１と異なる。
【００９１】
画面定義取得部１１は、情報処理装置２０において管理する画面定義情報１０１と第１のアプリケーション情報１０２とを情報処理装置２０から取得する。
【００９２】
画面定義取得部１１は、画面定義情報１０１や第１のアプリケーション情報１０２が更新された場合、または、所定の時間間隔において画面定義情報１０１と第１のアプリケーション情報１０２とを取得する構成を採用してもよい。
【００９３】
次に、アプリケーション情報８に含まれるコンポーネントを更新する際に、更新情報入力部１２は、更新されたコンポーネントの更新内容を解析する。
【００９４】
ここで、作成者がコンポーネントのソースコードを更新する際に、作成者は、係るコンポーネントとは異なるコンポーネントとしてアプリケーション情報８に保存することとする。
【００９５】
これにより、更新情報入力部１２は、更新後のコンポーネントのソースコードと更新前のコンポーネントのソースコードとに基づいて、更新内容を解析することができる。
【００９６】
更新情報入力部１２は、解析した結果を第１の更新情報１０３として更新情報制御部４に送信する。
【００９７】
次に、以下の説明において、説明の便宜上、一例として、本実施形態における画面プログラム生成装置１０が第２のアプリケーションを生成する際の動作について説明する。
【００９８】
図７は、本発明の第２の実施形態における画面プログラム生成装置１０が行う第２のアプリケーションを生成する際の動作を示すフローチャートである。図７に示すフローチャートに沿って画面プログラム生成装置１０の動作手順を説明する。
【００９９】
ここでは、画面プログラム生成装置１０が生成する第２のアプリケーションは、Ｗｅｂアプリケーションとする。
【０１００】
尚、説明の便宜上、上述した構成を例に説明するが、本実施形態を例に説明する本発明は、この構成にはこれに限定されない（以下の実施形態においても同様）。
【０１０１】
ステップＳ１：
画面定義取得部１１は、画面定義情報１０１と第１のアプリケーション情報１０２とを取得すると共に、取得した画面定義情報１０１と第１のアプリケーション情報１０２とをグループ化部２に送信する。
【０１０２】
ステップＳ２：
グループ化部２は、画面定義取得部１１から画面定義情報１０１と第１のアプリケーション情報１０２とを受信すると共に、画面定義情報１０１と第１のアプリケーション情報１０２とを解析する。
【０１０３】
図８は、本発明の第２の実施形態におけるグループ化部２が行う画面定義情報１０１と第１のアプリケーション情報１０２とを解析する際の動作を示すフローチャートである。図８に示すフローチャートに沿ってグループ化部２の動作手順を説明する。
【０１０４】
ステップＳ２１：
グループ化部２は、受信した画面定義情報１０１から各種情報を取得する。
【０１０５】
より具体的に、グループ化部２は、受信した画面定義情報１０１から画面名、フィールド名、そのフィールドの属性情報（画面に表示されるフィールドのサイズや表示位置、文字種別、入出力種別、繰り返しの有無等）を取得する。
【０１０６】
図９は、グループ化部２が画面定義情報１０１と第１のアプリケーション情報１０２とを解析する項目を具体的に例示する図である。
【０１０７】
図９において１列目は、グループ化部２が画面定義情報１０１と第１のアプリケーション情報１０２とを解析する項目を示す。また、２列目は、グループ化部２が画面定義情報１０１と第１のアプリケーション情報１０２とを解析する単位を示す。
【０１０８】
ステップＳ２２：
グループ化部２は、取得したフィールド名に基づいて、第１のアプリケーション情報１０２を検索する。より具体的に、グループ化部２は、第１のアプリケーション情報１０２から取得したフィールド名と同じ名前の変数を検索する。
【０１０９】
ステップＳ２３：
グループ化部２は、検索した変数の値を取得する。また、検索した変数の値が条件に応じて（例えば、ＣＡＳＥ文やＩＦ文等）設定されている場合には、グループ化部２は、その条件に応じて設定される値を、範囲のある値として取得する。
【０１１０】
ここでは、フィールド名と変数名とは、同一であることとする。
【０１１１】
ステップＳ２４：
グループ化部２は、フィールド名、そのフィールドの属性情報、変数の値に基づいて、フィールド名、そのフィールドの属性情報、変数の値が同一のフィールドがあるか否かを判別する。
【０１１２】
ステップＳ２５において「ＹＥＳ」：
グループ化部２は、変数の値が同一のフィールドがあるか否かを判別した結果、変数の値が同一のフィールドがあると判別した場合に、処理をステップＳ２６に進める。
【０１１３】
ステップＳ２５において「ＮＯ」：
グループ化部２は、変数の値が同一のフィールドがあるか否かを判別した結果、変数の値が同一のフィールドが無いと判別した場合に、処理を終了する。
【０１１４】
ステップＳ２６：
グループ化部２は、フィールド名と、そのフィールドの属性情報とが同一内容のフィールドが複数あるか否かを判別する。
【０１１５】
ステップＳ２７において「ＹＥＳ」：
グループ化部２は、フィールド名と属性情報とが同一内容のフィールドが複数あるか否かを判別した結果、フィールド名、そのフィールドの属性情報が同一内容のフィールドが複数あると判別した場合に、処理をステップＳ２８に進める。
【０１１６】
ステップＳ２７において「ＮＯ」：
グループ化部２は、フィールド名と属性情報とが同一内容のフィールドが複数あるか否かを判別した結果、フィールド名、そのフィールドの属性情報が同一内容のフィールドが複数無いと判別した場合に、処理を終了する。
【０１１７】
ステップＳ２８：
グループ化部２は、同一内容のフィールドをグループ化する。即ち、グループ化部２は、グループ化したフィールドにグループを識別可能なようにグループＩＤを付与する。
【０１１８】
ステップＳ３：
グループ化部２は、取得した画面名、フィールド名、そのフィールドの属性情報、変数の値、グループＩＤを識別可能なように識別ＩＤを付与すると共に、記憶部６の構成情報７に格納する。
【０１１９】
ステップＳ４：
アプリケーション生成部３は、更新情報制御部４からアプリケーション更新要求情報を取得したか否かを判別する。即ち、アプリケーション生成部３は、アプリケーション更新要求情報の有無を判別する。
【０１２０】
ステップＳ５において「ＹＥＳ」：
アプリケーション生成部３は、更新情報制御部４からアプリケーション更新要求情報を取得したか否かを判別した結果、更新情報制御部４からアプリケーション更新要求情報を取得したと判別した場合に、処理をステップＳ６に進める。
【０１２１】
ステップＳ５において「ＮＯ」：
アプリケーション生成部３は、更新情報制御部４からアプリケーション更新要求情報を取得したか否かを判別した結果、更新情報制御部４からアプリケーション更新要求情報を取得していないと判別した場合に、処理をステップＳ７に進める。
【０１２２】
ステップＳ６：
アプリケーション生成部３は、アプリケーション更新要求情報と記憶部６に格納された構成情報７とに基づいて、Ｗｅｂアプリケーションを生成する。
【０１２３】
より具体的に、アプリケーション生成部３は、構成情報７に基づいて、Ｗｅｂアプリケーションを生成する際に、アプリケーション更新要求情報に含まれる情報に基づいて、更新対象のコンポーネントのソースコードを更新すると共に、Ｗｅｂアプリケーションを生成する。
【０１２４】
ステップＳ７：
アプリケーション生成部３は、記憶部６に格納された構成情報７に基づいて、Ｗｅｂアプリケーションを生成する。
【０１２５】
ステップＳ８：
アプリケーション生成部３は、生成したＷｅｂアプリケーションを記憶部６のアプリケーション情報８に格納する。
【０１２６】
次に、以下の説明において、説明の便宜上、一例として、Ｗｅｂアプリケーションが更新された際に、本実施形態において画面プログラム生成装置１０が行う動作について説明する。
【０１２７】
図１０は、Ｗｅｂアプリケーションが更新された際に、本発明の第２の実施形態における画面プログラム生成装置１０が行う動作を示すフローチャートである。図１０に示すフローチャートに沿って画面プログラム生成装置１０の動作手順を説明する。
【０１２８】
ここでは、既に生成したＷｅｂアプリケーションにおけるコンポーネントを、例えば、作成者によって更新されたこととする。
【０１２９】
尚、説明の便宜上、上述した構成を例に説明するが、本実施形態を例に説明する本発明は、この構成にはこれに限定されない（以下の実施形態においても同様）。
【０１３０】
ステップＳ３１：
更新情報入力部１２は、アプリケーション情報８に格納された更新前のコンポーネントのソースコードと更新後のコンポーネントのソースコードとに基づいて、係るコンポーネントの更新内容を解析する。
【０１３１】
ステップＳ３２：
更新情報入力部１２は、解析した結果（第１の更新情報）を更新情報制御部４に送信する。
【０１３２】
ステップＳ３３：
更新情報制御部４は、更新情報入力部１２から受信した第１の更新情報１０３を更新情報５に格納する。
【０１３３】
ステップＳ３４：
更新情報制御部４は、記憶部６から構成情報７を取得する。さらに、更新情報制御部４は、記憶部６からアプリケーション情報８を取得する。
【０１３４】
ステップＳ３５：
更新情報制御部４は、取得した構成情報７とアプリケーション情報８とに基づいて、更新管理情報９を生成する。
【０１３５】
ステップＳ３６：
更新情報制御部４は、生成した更新管理情報９を参照すると共に、第１の更新情報１０３に含まれる識別ＩＤに基づいて、更新管理情報９を検索する。
【０１３６】
さらに、更新情報制御部４は、更新管理情報９を検索した結果、係る識別ＩＤと関連付けられたグループＩＤを求める。
【０１３７】
ステップＳ３７：
更新情報制御部４は、求めたグループＩＤに基づいて、更新管理情報９を検索する。
【０１３８】
更新情報制御部４は、更新管理情報９を検索した結果、同じグループＩＤを持つ識別ＩＤを求める。即ち、更新情報制御部４は、グループＩＤに関連付けられた識別ＩＤを求める。
【０１３９】
ステップＳ３８：
更新情報制御部４は、求めした識別ＩＤに基づいて、アプリケーション情報８を検索する。さらに、更新情報制御部４は、検索した結果、第１の更新情報１０３に含まれる更新内容に基づいて、求めた識別ＩＤに関連付けられたコンポーネントのソースコードを更新する。
【０１４０】
ステップＳ３９：
更新情報制御部４は、アプリケーション生成部３にアプリケーション更新要求情報を送信する。
【０１４１】
尚、上述した本実施形態では、説明の便宜上、一例として、画面プログラム生成装置１０は、情報処理装置２０に含まれる構成を例に説明した。
【０１４２】
しかしながら本発明に係る実施形態は、係る構成に限定されず、画面プログラム生成装置１０は、１つ以上の情報処理装置２０に画面プログラム生成装置１０を構成する一部が含まれる構成を採用してもよい。
【０１４３】
即ち、画面プログラム生成装置１０は、例えば、不図示のネットワークに通信可能なように接続された１つ以上の情報処理装置２０に画面プログラム生成装置１０を構成する各部を別体で備える構成を採用してもよい。
【０１４４】
このように本実施の形態に係る画面プログラム生成装置１０によれば、上述した第１の実施形態において説明した効果を享受できると共に、さらに、画面プログラム生成装置１０は、例えば、作成者によってコンポーネントが更新されるのに応じて、同一内容のグループＩＤを持つ複数のコンポーネントに、その更新内容を速やかに適用することができる。
【０１４５】
その理由は、更新情報入力部１２は、作成者によってコンポーネントが更新されるのに応じて、その更新内容を取得すると共に、更新内容を含む第１の更新情報１０３を更新情報制御部４に送信することができるからである。
【０１４６】
また、画面定義取得部１１は、画面定義情報１０１や第１のアプリケーション情報１０２が更新された場合、または所定の時間間隔において画面定義情報１０１と第１のアプリケーション情報１０２とを取得することができるからである。即ち、画面プログラム生成装置１０は、速やかに更新内容を反映することができる。
【０１４７】
また、画面プログラム生成装置１０は、例えば、一般的に知られたホストコンピュータやパーソナルコンピュータ等の情報処理装置に適用して好適である。
【０１４８】
（ハードウェア構成例）
上述した実施形態において図１、図６に示した各部は、ソフトウェアプログラムの機能（処理）単位（ソフトウェアモジュール）と捉えることができる。但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図１１を参照して説明する。
【０１４９】
図１１は、本発明の模範的な実施形態に係る画面プログラム生成装置を実行可能な情報処理装置３００（コンピュータ）の構成を例示的に説明する図である。即ち、図１１は、図１に示した画面プログラム生成装置１、或いは、図６に示した画面プログラム生成装置１０の全体または一部の画面プログラム生成装置を実現可能なサーバやホストコンピュータ等のコンピュータ（情報処理装置）の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
【０１５０】
図１１に示した情報処理装置３００は、ＣＰＵ（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ）３０１、ＲＯＭ（Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）３０２、ＲＡＭ（Ｒａｎｄｏｍ＿Ａｃｃｅｓｓ＿Ｍｅｍｏｒｙ）３０３、ハードディスク３０４（記憶装置）、並びに外部装置との通信インタフェース（Ｉｎｔｅｒｆａｃｅ：以降、「Ｉ／Ｆ」と称する）３０５、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ＿Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）等の記憶媒体３０７に格納されたデータを読み書き可能なリーダライタ３０８を備え、これらの構成がバス３０６（通信線）を介して接続された一般的なコンピュータである。
【０１５１】
そして、上述した各実施形態を例に説明した本発明は、図１１に示した情報処理装置３００に対して、その実施形態の説明において参照したブロック構成図（図１、図６）或いはフローチャート（図７、図８、図１０）の機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、当該ハードウェアのＣＰＵ３０１に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータ・プログラムは、読み書き可能な揮発性の記憶メモリ（ＲＡＭ３０３）またはハードディスク３０４等の不揮発性の記憶デバイスに格納すれば良い。
【０１５２】
また、前記の場合において、当該ハードウェア内へのコンピュータ・プログラムの供給方法は、ＣＤ−ＲＯＭ等の各種記憶媒体３０７を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。そして、このような場合において、本発明は、係るコンピュータ・プログラムを構成するコード或いは、そのコードが格納された記憶媒体３０７によって構成されると捉えることができる。
【産業上の利用可能性】
【０１５３】
本発明は、上述した各実施形態には限定されない。本発明は、例えば、パーソナルコンピュータ、サーバ、携帯端末等のメインフレームと連携するアプリケーションを開発することが可能な各種の電子機器に適用可能である。
【符号の説明】
【０１５４】
１    画面プログラム生成装置
２    グループ化部
３    アプリケーション生成部
４    更新情報制御部
５    更新情報
６    記憶部
７    構成情報
８    アプリケーション情報
９    更新管理情報
１０    画面プログラム生成装置
１１    画面定義取得部
１２    更新情報入力部
２０    情報処理装置
１０１    画面定義情報
１０２    第１のアプリケーション情報
１０３    第１の更新情報
３００    情報処理装置
３０１    ＣＰＵ
３０２    ＲＯＭ
３０３    ＲＡＭ
３０４    ハードディスク
３０５    通信インタフェース
３０６    バス
３０７    記憶媒体
３０８    リーダライタ
【図１】
2014164309.tif 000003
【図２】
2014164309.tif 000004
【図３】
2014164309.tif 000005
【図４】
2014164309.tif 000006
【図５】
2014164309.tif 000007
【図６】
2014164309.tif 000008
【図７】
2014164309.tif 000009
【図８】
2014164309.tif 000010
【図９】
2014164309.tif 000011
【図１０】
2014164309.tif 000012
【図１１】
2014164309.tif 000013