(57)【要約】【課題】ウィザード形式により遷移する画面のカスタマイズを容易に行える情報処理装置及び情報処理プログラムを提供する。【解決手段】情報処理装置１００は、ウィザード形式による画面遷移を実現するソフトウェア環境を有する装置であって、画面遷移順が定義された制御情報３１Ｄを保持する情報保持手段３１と、制御情報３１Ｄに基づき、ＵＩ部１１により生成される画面の遷移を制御する制御手段１２と、画面を介して受け付けた入力情報を保持し、処理対象データとして確定されるまで入力情報を管理する管理手段１３と、機能部２２に入力情報に基づく処理を要求する処理手段２１と、を有し、管理手段１３は、画面遷移中、ＵＩ部１１からの入力情報を保持し、制御手段１２は、画面遷移順に基づき、保持された入力情報を処理対象データとして確定し、処理手段２１は、確定された入力情報に基づき、機能部２２に処理の実行を要求することを特徴とする。【選択図】図４
2012194939.tif 000002
【特許請求の範囲】
【請求項１】
ウィザード形式による画面遷移を実現するソフトウェア環境を有する情報処理装置であって、
画面遷移順が定義された制御情報を所定の記憶領域に保持する情報保持手段と、
前記制御情報に基づき、前記ソフトウェア環境が有するＵＩ部により生成される画面の遷移を制御する制御手段と、
画面を介して受け付けた入力情報を所定の記憶領域に保持し、処理対象データとして確定されるまで前記入力情報を管理する管理手段と、
前記ソフトウェア環境が有する機能部に前記入力情報に基づく処理を要求する処理手段と、を有し、
前記管理手段は、画面が遷移している間、前記ＵＩ部から受け取った入力情報を所定の記憶領域に保持し、
前記制御手段は、前記制御情報に定義された画面遷移順に基づき、前記管理手段が管理する前記入力情報を処理対象データとして確定し、
前記処理手段は、前記制御手段により確定された入力情報に基づき、前記機能部に処理の実行を要求することを特徴とする情報処理装置。
【請求項２】
前記制御手段は、前記画面遷移順に従って、前記ＵＩ部に画面生成を要求し、画面遷移を制御することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、前記ＵＩ部から画面遷移イベントの通知を受け付けると、前記画面遷移順に基づき、制御対象画面が最後の遷移先画面か否かを判定し、前記制御対象画面が最後の遷移先画面と判定された場合に、前記管理手段が管理する前記入力情報を処理対象データとして確定することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記制御手段は、前記制御対象画面が最後の遷移先画面と判定された場合に、前記管理手段から確定した入力情報を取得し、
前記管理手段は、前記制御手段から前記入力情報が取得されると、取得された入力情報を所定の記憶領域から消去することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
ウィザード形式による画面遷移を実現するソフトウェア環境を有し、画面遷移順が定義された制御情報を所定の記憶領域に保持する情報保持手段を備える情報処理装置における情報処理プログラムであって、
コンピュータを、
前記情報保持手段にアクセスし、参照した前記制御情報に基づき、前記ソフトウェア環境が有するＵＩ部により生成される画面の遷移を制御する制御手段と、
画面を介して受け付けた入力情報を所定の記憶領域に保持し、処理対象データとして確定されるまで前記入力情報を管理する管理手段と、
前記ソフトウェア環境が有する機能部に前記入力情報に基づく処理を要求する処理手段として機能させ、
前記管理手段が、画面が遷移している間、前記ＵＩ部から受け取った入力情報を所定の記憶領域に保持し、
前記制御手段が、前記制御情報に定義された画面遷移順に基づき、前記管理手段で管理する前記入力情報を処理対象データとして確定し、
前記処理手段が、前記制御手段により確定された入力情報に基づき、前記機能部に処理の実行を要求するように動作させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウィザード（Wizard）形式により遷移する画面のカスタマイズ技術に関するものである。
【背景技術】
【０００２】
例えば、特許文献１には、複数のファイルを組み合わせて１文書情報に編集し、該編集された文書情報に印刷体裁設定を行う際、印刷設定アプリケーション起動中に、ユーザによる指示ごとに、次に設定すべき印刷体裁項目を確定するための操作画面を表示装置上で遷移表示させるように動作するコンピュータに関する技術が開示されている。
【０００３】
このように、従来では、ウィザード形式で画面を遷移し、利用者から各種入力情報を取得する画面制御方法が知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の画面制御方法では、新規画面の追加や遷移順の変更といったカスタマイズが困難である。
【０００５】
ウィザード形式の場合には、画面から受け付けた入力情報の取得に、次のような特徴がある。入力情報は、画面遷移時に、遷移元から遷移先へ順次渡され、最後の画面操作後に、処理対象データとして確定される。そのため、例えば、最後の遷移先に新規画面の追加を行う場合には、追加画面の操作後に、入力情報を処理対象データとして確定しなければならない。また、遷移途中に新規画面の追加を行う場合には、新たな入力情報の流れ（画面遷移順）を設定しなければならない。遷移順の変更を行う場合も同様である。
【０００６】
また、このような問題点を挙げる理由には、次の理由がある。近年では、利用者に提供する機能を容易に拡張可能なソフトウェア環境が提供されている。これは、利用者に対して、利便性の高い機能を迅速に提供するためである。そのため、このような環境を提供するメーカなどと異なるソフトウェアベンダ（以下「サードベンダ」という）が、機能を実現するソフトウェアを開発する場面が多くなってきた。
【０００７】
このようなことから、サードベンダなどが、ウィザード形式により画面遷移する環境であっても、拡張機能に対応する画面のカスタマイズを容易に行える環境が望まれる。
【０００８】
本発明は上記従来技術の問題点を鑑み提案されたものであり、ウィザード形式により遷移する画面のカスタマイズを容易に行える情報処理装置及び情報処理プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明に係る情報処理装置は、ウィザード形式による画面遷移を実現するソフトウェア環境を有する情報処理装置であって、画面遷移順が定義された制御情報を所定の記憶領域に保持する情報保持手段と、前記制御情報に基づき、前記ソフトウェア環境が有するＵＩ部により生成される画面の遷移を制御する制御手段と、画面を介して受け付けた入力情報を所定の記憶領域に保持し、処理対象データとして確定されるまで前記入力情報を管理する管理手段と、前記ソフトウェア環境が有する機能部に前記入力情報に基づく処理を要求する処理手段と、を有し、前記管理手段は、画面が遷移している間、前記ＵＩ部から受け取った入力情報を所定の記憶領域に保持し、前記制御手段は、前記制御情報に定義された画面遷移順に基づき、前記管理手段が管理する前記入力情報を処理対象データとして確定し、前記処理手段は、前記制御手段により確定された入力情報に基づき、前記機能部に処理の実行を要求することを特徴とする。
【００１０】
このような構成によって、本発明に係る情報処理装置は、外部データとして、ウィザード形式による画面遷移順が定義された制御情報に基づき、ＵＩソフトウェア（User Interface software）に対し、画面生成要求を行うことで画面遷移を制御する。その間、情報処理装置は、画面を介して受け付けた入力情報を所定の記憶領域に一時保持（バッファリング）し、処理対象データとして確定されるまでの入力情報を管理する。その後、情報処理装置は、制御情報に基づき、制御対象の画面が最後の遷移先の画面（終端画面）か否かを判定し、終端画面であった場合に、保持している入力情報を取得し、取得した入力情報を機能ソフトウェアに渡すことでデータの確定を通知する。その結果、情報処理装置では、処理対象データとして確定された入力情報が機能ソフトウェアにより処理される。
【００１１】
これによって、本発明に係る情報処理装置が提供するソフトウェア環境では、サードベンダなどが拡張機能による画面のカスタマイズを行う際に、機能画面を生成するＵＩ部や機能を実現する機能部などに、入力情報の流れ（画面遷移順）の設定やデータ確定の処理などを組み込む必要がない。このように、本発明に係る情報処理装置では、ウィザード形式により遷移する画面のカスタマイズを容易に行える。
【発明の効果】
【００１２】
本発明によれば、画面遷移順の設定を外部データ化し、画面遷移中の入力情報をバッファリングし、入力情報のデータ確定を画面に対応する機能で行わない構成とすることで、ウィザード形式により遷移する画面のカスタマイズを容易に行える情報処理装置及び情報処理プログラムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態に係る情報処理装置のハードウェア構成例を示す図である。
【図２】本発明の第１の実施形態に係る情報処理装置のソフトウェア構成例を示す図である。
【図３】ウィザード形式による画面遷移の動作例を示す図である。
【図４】本発明の第１の実施形態に係る画面制御の機能構成例を示す図である。
【図５】本発明の第１の実施形態に係る制御情報のデータ例を示す図である。
【図６】本発明の第１の実施形態に係る入力情報を管理するデータ例を示す図である。
【図７】本発明の第１の実施形態に係る画面制御の処理手順例（その１）を示すシーケンス図である。
【図８】本発明の第１の実施形態に係る画面制御の処理手順例（その２）を示すシーケンス図である。
【発明を実施するための形態】
【００１４】
以下、本発明の好適な実施の形態（以下「実施形態」という）について、図面を用いて詳細に説明する。
【００１５】
［第１の実施形態］
＜ハードウェア構成＞
図１は、本実施形態に係る情報処理装置１００のハードウェア構成例を示す図である。
図１に示すように、情報処理装置１００は、入力装置１０１、表示装置１０２、ドライブ装置１０３、ＲＡＭ（Random Access Memory）１０４、ＲＯＭ（Read Only Memory）１０５、ＣＰＵ（Central Processing Unit）１０６、インタフェース装置１０７、及びＨＤＤ（Hard Disk Drive）１０８などを備え、それぞれがバスＢで相互に接続されている。
【００１６】
入力装置１０１は、キーボードやマウスなどを含み、情報処理装置１００に各操作信号を入力するのに用いられる。表示装置１０２は、ディスプレイなどを含み、情報処理装置１００による処理結果を表示する。
【００１７】
インタフェース装置１０７は、情報処理装置１００をデータ伝送路（例えば「ＬＡＮ：Local Area Network」）に接続するインタフェースである。これにより、情報処理装置１００は、インタフェース装置１０７を介して、通信機能を有する他の機器（非図示）とデータ通信を行うことができる。
【００１８】
ＨＤＤ１０８は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、装置全体を制御する情報処理システム（例えば「Ｗｉｎｄｏｗｓ（商標又は登録商標）」や「ＵＮＩＸ（商標又は登録商標）」などの基本ソフトウェアであるＯＳ（Operating System））、及びシステム上において各種機能を提供するアプリケーションなどがある。また、ＨＤＤ１０８は、格納しているプログラムやデータを、所定のファイルシステム及び／又はＤＢ（Data Base）により管理している。
【００１９】
ドライブ装置１０３は、着脱可能な記録媒体１０３ａとのインタフェースである。これにより、情報処理装置１００は、ドライブ装置１０３を介して、記録媒体１０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体１０３ａには、例えば、フロッピー（商標又は登録商標）ディスク、ＣＤ（Compact Disk）、及びＤＶＤ（Digital Versatile Disk）、ならびに、ＳＤメモリカード（SD Memory card）やＵＳＢメモリ（Universal Serial Bus memory）などがある。
【００２０】
ＲＯＭ１０５は、電源を切っても内部データを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１０５には、情報処理装置１００の起動時に実行されるＢＩＯＳ（Basic Input/Output System）、情報処理システム設定、及びネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ１０４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。ＣＰＵ１０６は、上記記憶装置（例えば「ＨＤＤ」や「ＲＯＭ」など）から、プログラムやデータをＲＡＭ上に読み出し、処理を実行することで、装置全体の制御や搭載機能を実現する演算装置である。
【００２１】
＜ソフトウェア＞
図２は、本実施形態に係る情報処理装置１００のソフトウェア構成例を示す図である。
図２には、情報処理装置１００が有する、ウィザード形式による画面遷移を実現するソフトウェア構成例が示されている。
【００２２】
図２に示すように、情報処理装置１００が有するソフトウェアには、主に、ＵＩソフトウェア１０及び機能ソフトウェア２０などがある。
【００２３】
ＵＩソフトウェア１０は、画面生成、入力操作受付、及び情報表示などのＵＩ機能を実現するためのソフトウェアである。ＵＩソフトウェア１０には、ＵＩプログラムや、表示構成／表示部品／表示情報などのデータが含まれる。
【００２４】
機能ソフトウェア２０は、アプリケーションソフトウェアであり、情報処理装置１００の搭載機能を実現するソフトウェアである。機能ソフトウェア２０には、アプリケーションプログラムや動作設定情報などのデータが含まれる。
【００２５】
上述したように、これらのソフトウェアは、情報処理装置１００を制御する情報処理システム（ＯＳ）上で動作する。また、これらのソフトウェアは、例えば、情報処理装置１００が備える記憶装置（ＨＤＤ）に構築されたＤＢなどのデータ保持部３０にアクセスできる。
【００２６】
また、本実施形態では、これらのソフトウェアを開発するための環境（例えば「ＳＤＫ（Software Development Kit）」）をサードベンダに提供する。これにより、本実施形態では、サードベンダで開発されたＵＩソフトウェア１０や機能ソフトウェア２０などが、情報処理装置１００で動作し、機能拡張が実現される。
【００２７】
以上のように、本実施形態に係る情報処理装置１００は、上記ハードウェア及びソフトウェア構成により、各種情報処理サービスを提供することができる。
【００２８】
＜画面制御機能＞
ここからは、上記情報処理サービスの１つである画面制御機能について説明する。
本実施形態に係る情報処理装置１００では、外部データとして、ウィザード形式による画面遷移順が定義された制御情報に基づき、ＵＩソフトウェア１０に対し、画面生成要求を行うことで画面遷移を制御する。その間、情報処理装置１００は、画面を介して受け付けた入力情報を所定の記憶領域（ＲＡＭ）に一時保持（バッファリング）し、処理対象データとして確定されるまでの入力情報を管理する。その後、情報処理装置１００は、制御情報に基づき、制御対象の画面が最後の遷移先の画面（以下「終端画面」という）か否かを判定し、終端画面であった場合に、保持している入力情報を取得し、取得した入力情報を機能ソフトウェア２０に渡すことでデータの確定を通知する。その結果、情報処理装置１００では、処理対象データとして確定された入力情報が機能ソフトウェア２０により処理される。本実施形態に係る情報処理装置１００は、このような画面制御機能を有している。
【００２９】
従来のウィザード形式による画面制御では、新規画面の追加や遷移順の変更といったカスタマイズが困難であった。
【００３０】
図３は、ウィザード形式による画面遷移の動作例を示す図である。
（Ａ）には、ウィザード形式で機能Ａの画面から機能Ｂの画面に遷移する際の動作例が示されている。なお、機能Ａや機能Ｂは、情報処理装置１００の搭載機能にあたる。この場合、機能Ａの画面で受け付けた入力値（ａ）が、遷移元の機能Ａから遷移先である機能Ｂに渡され、終端画面である機能Ｂの画面操作後に、各画面で受け付けた入力値（ａ，ｂ）が処理対象データとして確定される。つまり、ウィザード形式の場合には、画面遷移時に、入力情報が、遷移元から遷移先へ順次渡され、最後の画面操作後に、処理対象データとして確定される。
【００３１】
そのため、例えば、（Ｂ）に示すように、終端画面に拡張機能の画面の追加を行う場合には、拡張機能の画面操作後に、入力値（ａ，ｂ，ｎ）を処理対象データとして確定しなければならない。また、（Ｃ）に示すように、遷移途中に、拡張機能の画面の追加を行う場合には、新たな入力値の流れ（機能Ａ→拡張機能→機能Ｂの遷移順）を設定しなければならない。遷移順の変更を行う場合も同様である。
【００３２】
このようなことから、サードベンダなどが、ウィザード形式により画面遷移する環境であっても、拡張機能に対応する画面のカスタマイズを容易に行うことができなかった。
【００３３】
そこで、本実施形態に係る情報処理装置１００では、画面遷移順の設定を外部データ化し、画面遷移中の入力情報をバッファリングし、入力情報のデータ確定を画面に対応する機能で行わない構成とする仕組みとした。
【００３４】
これにより、本実施形態に係る情報処理装置１００では、ウィザード形式により遷移する画面のカスタマイズを容易に行える。
【００３５】
以下に、本実施形態に係る画面制御機能の構成とその動作について説明する。
図４は、本実施形態に係る画面制御の機能構成例を示す図である。
図４に示すように、本実施形態に係る画面制御機能は、画面制御部１２、データ管理部１３、及びデータ処理部２１などを有している。画面制御部１２及びデータ管理部１３は、ＵＩソフトウェア１０により実現される機能である。また、データ処理部２１は、機能ソフトウェア２０により実現される機能である。
【００３６】
また、ＵＩソフトウェア１０により実現される機能には、情報処理装置１００の搭載機能に対応するＵＩがある。図４には、搭載機能である機能Ａ，機能Ｂ、及びサードベンダが提供する拡張機能それぞれに対応するＵＩ部１１ａ，１１ｂ，１１ｎ（以下総称する場合「ＵＩ部１１」という）が示されている。
【００３７】
ＵＩ部１１は、要求に応じて、対応する機能Ａ，機能Ｂ，拡張機能の画面を生成する。ＵＩ部１１は、予め用意された表示構成のデータに基づき、表示部品／表示情報などのデータを用いて画面を生成する。表示構成のデータとは、例えば、表示部品／表示情報の配置座標や表示部品の大きさなどが定義されたデータなどである。また、表示部品のデータとは、例えば、テキストボックスや選択ボタンなどのＧＵＩパーツ（Graphical UI parts）などである。また、表示情報のデータとは、例えば、文字列や数値などである。
【００３８】
ＵＩ部１１は、利用者からの操作イベントに基づき、入力情報を取得する。入力情報とは、例えば、テキストボックスに入力された値やボタン選択により入力された値などである。
【００３９】
また、機能ソフトウェア２０により実現される機能には、情報処理装置１００の搭載機能がある。図４には、搭載機能である機能Ａ，機能Ｂ、及びサードベンダが提供する拡張機能それぞれに対応する機能部２２ａ，２２ｂ，２２ｎ（以下総称する場合「機能部２２」という）が示されている。
【００４０】
機能部２２は、入力情報に基づき、対応する機能Ａ，機能Ｂ，拡張機能の処理を行う。
【００４１】
なお、上記拡張機能のＵＩ部１１ｎや機能部２２ｎは、上述したソフトウェア開発環境（ＳＤＫ）上で開発された機能である。よって、本実施形態では、これらの機能の開発に影響しないように、画面のカスタマイズが行える環境を提供する。
【００４２】
では、画面制御部１２、データ管理部１３、及びデータ処理部２１について説明する。
【００４３】
《ＵＩソフトウェア》
画面制御部１２は、ウィザード形式による画面遷移順が定義された制御情報に基づき、ＵＩ部１１に対し、画面生成要求を行うことで画面遷移を制御する。制御情報は、データ保持部３０の制御情報保持部３１で保持される。なお、制御情報保持部３１は、情報処理装置１００が備える記憶装置（ＨＤＤ）の所定の記憶領域にあたる。
【００４４】
ここで、制御情報について説明する。
図５は、本実施形態に係る制御情報３１Ｄのデータ例を示す図である。
図５には、機能Ａ，機能Ｂの順に画面を遷移させることが定義されたＸＭＬデータ（Extensible Markup Language data）が示されている。また、図５に示すデータには、タグにより、例えば、画面が対応する"機能名"，画面から受け付ける"入力項目"，画面操作により実行される"処理項目"などが、画面単位で定義されている。また、図５に示すデータには、画面単位で定義されたデータ（以下「画面の定義データ」という）順によって、画面遷移順が定義されている。つまり、制御情報３１Ｄでは、画面の定義データを追加したり、画面の定義データを入れ替えたりすることで、画面遷移順を変更できる。
【００４５】
また、本実施形態では、上記制御情報３１Ｄを、ＵＩソフトウェア１０からアクセス可能な構成で外部データ化している。従来、画面遷移順は、ＵＩソフトウェア１０などに設定されており、画面のカスタマイズを行う場合には、ＵＩソフトウェア１０を変更する必要があった。そこで、本実施形態では、画面遷移順の設定を外部データ化することで画面のカスタマイズを容易に行うことができる。
【００４６】
図４の説明に戻る。画面制御部１２は、制御情報保持部３１にアクセスし、参照した制御情報３１Ｄに基づき、次のような画面制御を行う。なお、画面制御部１２は、同機能部１２が起動された際に、制御情報３１Ｄを参照する。
【００４７】
画面制御部１２は、画面の定義データに基づき、画面を生成させる機能のＵＩ部１１を特定し、特定したＵＩ部１１に対して、画面生成を要求する。なお、画面制御部１２では、図５に示した制御情報３１Ｄの場合、定義データ内の"機能名"から、画面を生成させる機能のＵＩ部１１を特定できる。その結果、ＵＩ部１１では、機能の画面が生成され、表示装置１０２に表示される。これにより、利用者は、表示画面を介して、情報入力や画面遷移操作を行う。
【００４８】
また、画面制御部１２は、ＵＩ部１１から、画面遷移イベント（例えば［次へ］ボタンや［ＯＫ］ボタンなどの押下イベント）を受け付けると、画面の定義データ順に基づき、利用者により操作された画面（以下「操作画面」という）が、画面遷移における終端画面か否かを判定する。なお、画面制御部１２は、図５に示した制御情報３１Ｄの場合、制御情報３１Ｄ内において、操作画面の定義データの次に、遷移先画面の定義データが存在するか否かの判定結果から、操作画面が終端画面か否かを判定できる。
【００４９】
画面制御部１２は、操作画面の定義データの次に、遷移先画面の定義データが存在することから、操作画面が終端画面でないと判定した場合、遷移先画面の定義データに基づき特定したＵＩ部１１に対して、画面生成を要求し、次の画面を生成させる。
【００５０】
一方、画像制御部２１は、操作画面の定義データの次に、遷移先画面の定義データが存在しないことから、操作画面が終端画面であると判定した場合、機能ソフトウェア２０（データ処理部）に対して、入力情報が処理対象データとして確定した旨を通知する。このとき、画面制御部１２は、後述するデータ管理部１３から、画面を介して受け付けた全ての入力情報を取得し、取得した入力情報を機能ソフトウェア２０（データ処理部）に対して渡すことで、入力情報のデータ確定を通知する。なお、上記「入力情報が処理対象データとして確定した旨」とは、機能部２２の処理対象データとする旨を意味する。
【００５１】
データ管理部１３は、画面を介して受け付けた入力情報を一時保持（バッファリング）し、処理対象データとして確定されるまでの入力情報を管理する。データ管理部１３は、画面に対応するＵＩ部１１から入力情報のデータを受け取り、情報処理装置１００が備える記憶装置（ＲＡＭ）の所定の記憶領域に保持する。入力情報は、例えば、図６に示すような形式で保持される。
【００５２】
図６は、本実施形態に係る入力情報を管理するデータ例を示す図である。
図６には、機能Ａ，機能Ｂそれぞれに対応する画面から受け付けた入力情報が管理されるＸＭＬデータ（以下「管理データ１３Ｄ」という）が示されている。図６に示すデータには、タグにより、例えば、画面が対応する"機能名"，画面から受け付けた"入力値"などが、機能単位で管理されている。
【００５３】
図４の説明に戻る。データ管理部１３は、ＵＩ部１１から受け取った入力情報を、次のように管理する。データ管理部１３は、記憶装置（ＲＡＭ）の所定の記憶領域にアクセスし、入力情報を、所定のデータ形式に従って記録する（データ化し保存する）。このとき、データ管理部１３は、ＵＩ部１１から、入力情報を受け付けた画面に対応する機能を特定し、入力情報を機能単位で記録する。その結果、記憶装置（ＲＡＭ）の所定の記憶領域には、上記管理データ１３Ｄが保持され、画面を介して受け付けた全ての入力情報が管理される。
【００５４】
また、データ管理部１３は、画面制御部１２から取得要求に応じて、管理データ１３Ｄにより管理する入力情報を画面制御部１２に渡し、要求先に応答する。その結果、データ管理部１３は、画面制御部１２に入力情報を渡し終えると、記憶装置（ＲＡＭ）の所定の記憶領域に保持している管理データ１３Ｄを消去する。
【００５５】
このように、本実施形態では、画面制御部１２が、外部データ化された画面遷移順の設定に従って、ウィザード形式の画面遷移を制御し、その間、データ管理部２２が、画面遷移中の入力情報をバッファリングし、画面制御部１２が、操作画面が終端画面か否かの判定結果から、入力情報のデータ確定を判断する。これにより、本実施形態では、入力情報のデータ確定を画面に対応する機能で行わない構成を実現している。
【００５６】
《機能ソフトウェア》
データ処理部２１は、処理対象データとして確定された入力情報を、処理する機能部２２に渡し、処理の実行を要求する。データ処理部２１は、画面制御部１２から、入力情報のデータ確定通知を受け付けると、通知時に受け取った管理データ１３Ｄ（全ての入力情報）を参照し、入力情報を処理させる機能部２２を特定し、特定した機能部２２に対して、入力情報の処理を要求する。なお、データ処理部２１は、図６に示した管理データ１３Ｄの場合、管理データ１３Ｄ内の"機能名"から、入力情報を処理させる機能部２２を特定でき、管理データ１３Ｄ内の"入力値"から、機能部２２に渡す入力情報を特定できる。その結果、機能部２２では、データ処理部２１から処理実行要求に応じて、要求時に受け取った入力情報に基づき、所定の処理が実行される。
【００５７】
以上のように、本実施形態に係る画面制御機能は、上記各機能部が連携動作することにより実現される。なお、上記各機能部は、情報処理装置１００に搭載（インストール）されるプログラム（画面制御機能を実現するソフトウェア）が、演算装置（ＣＰＵ）により、記憶装置（ＨＤＤ）からメモリ（ＲＡＭ）上に読み出され、以下の処理が実行されることで実現される。
【００５８】
本実施形態に係る画面制御機能の詳細な動作（機能部群の連携動作）について、処理手順を示すシーケンス図を用いて説明する。なお、以下には、標準機能である機能Ａ及び機能Ｂに加えて、機能ソフトウェア２０にサードベンダによる拡張機能が追加された場合に、情報処理装置１００で実行される画面制御の処理手順例が示されている。具体的には、拡張機能に対応する画面が終端画面として追加され、画面遷移順が変更された場合の処理（その１）と、拡張機能に対応する画面が機能Ａと機能Ｂそれぞれに対応する画面の間に追加され、機能Ｂに対応する画面が終端画面となる画面遷移順に変更された場合の処理（その２）である。また、以下の処理では、図５に示した制御情報３１Ｄ及び図６に示した管理データ１３Ｄを用いることを想定している。
【００５９】
《画面制御の処理：その１》
図７は、本実施形態に係る画面制御の処理手順例（その１）を示すシーケンス図である。
図７に示すように、画面制御部１２は、制御情報保持部３１にアクセスし、画面遷移順が定義される制御情報３１Ｄを参照する（ステップＳ１０１）。
【００６０】
次に、画面制御部１２は、参照した制御情報３１Ｄ内の画面の定義データに基づき、画面を生成させる機能ＡのＵＩ部１１ａを特定し、特定したＵＩ部１１ａに対して、画面生成を要求する（ステップＳ１０２）。このとき、画面制御部１２では、定義データ内の"機能Ａ"から、機能ＡのＵＩ部１１ａを特定する。
【００６１】
その結果、ＵＩ部１１ａでは、機能Ａの画面が生成され、表示装置１０２に表示される。ＵＩ部１１ａは、画面を介して、入力値（ａ）を受け付けると（ステップＳ１０３）、受け付けた入力値（ａ）をデータ管理部１３に渡し、入力情報のデータ保存を要求する（ステップＳ１０４）。これにより、データ管理部１３では、ＵＩ部１１ａから受け取った機能Ａの入力値（ａ）が、管理データ１３Ｄとして、メモリ（ＲＡＭ）上に保持される。
【００６２】
次に、ＵＩ部１１ａは、画面を介して、画面遷移操作を受け付けると、画面遷移イベントを画面制御部１２に通知する（ステップＳ１０５）。
【００６３】
画面制御部１２は、ＵＩ部１１ａから、画面遷移イベントの通知を受け付けると、参照中の制御情報３１Ｄ内の画面の定義データ順に基づき、操作画面が終端画面か否かを判定する（ステップＳ２０１）。このとき、画面制御部１２は、制御情報３１Ｄ内において、操作画面の定義データの次に、遷移先画面の定義データが存在するか否かの判定結果から、操作画面が終端画面か否かを判定する。
【００６４】
画面制御部１２は、操作画面の定義データの次に、遷移先画面の定義データ（機能Ｂに対応する画面の定義データ）が存在することから、操作画面が終端画面でないと判定し、遷移先画面の定義データに基づき特定した機能ＢのＵＩ部１１ｂに対して、画面生成を要求する（ステップＳ２０２）。
【００６５】
その結果、ＵＩ部１１ｂでは、機能Ｂの画面が生成され、表示装置１０２に表示される。ＵＩ部１１ｂは、画面を介して、入力値（ｂ）を受け付けると（ステップＳ２０３）、受け付けた入力値（ｂ）をデータ管理部１３に渡し、入力情報のデータ保存を要求する（ステップＳ２０４）。これにより、データ管理部１３では、ＵＩ部１１ｂから受け取った機能Ｂの入力値（ｂ）が、管理データ１３Ｄとして、メモリ（ＲＡＭ）上に保持される。なお、このときの管理データ１３Ｄには、機能Ａと機能Ｂの入力値（ａ，ｂ）が含まれる。
【００６６】
次に、ＵＩ部１１ｂは、画面を介して、画面遷移操作を受け付けると、画面遷移イベントを画面制御部１２に通知する（ステップＳ２０５）。
【００６７】
画面制御部１２は、ＵＩ部１１ｂから、画面遷移イベントの通知を受け付けると、参照中の制御情報３１Ｄ内の画面の定義データ順に基づき、操作画面が終端画面か否かを判定する（ステップＳ３０１）。なお、画面制御部１２による終端画面判定方法は、ステップＳ２０１と同様である。
【００６８】
画面制御部１２は、操作画面の定義データの次に、遷移先画面の定義データ（拡張機能に対応する画面の定義データ）が存在することから、操作画面が終端画面でないと判定し、遷移先画面の定義データに基づき特定した拡張機能のＵＩ部１１ｎに対して、画面生成を要求する（ステップＳ３０２）。
【００６９】
その結果、ＵＩ部１１ｎでは、拡張機能の画面が生成され、表示装置１０２に表示される。ＵＩ部１１ｎは、画面を介して、入力値（ｎ）を受け付けると（ステップＳ３０３）、受け付けた入力値（ｎ）をデータ管理部１３に渡し、入力情報のデータ保存を要求する（ステップＳ３０４）。これにより、データ管理部１３では、ＵＩ部１１ｎから受け取った拡張機能の入力値（ｎ）が、管理データ１３Ｄとして、メモリ（ＲＡＭ）上に保持される。なお、このときの管理データ１３Ｄには、機能Ａ，機能Ｂ，拡張機能の入力値（ａ，ｂ，ｎ）が含まれる。
【００７０】
次に、ＵＩ部１１ｎは、画面を介して、画面遷移操作を受け付けると、画面遷移イベントを画面制御部１２に通知する（ステップＳ３０５）。
【００７１】
画面制御部１２は、ＵＩ部１１ｎから、画面遷移イベントの通知を受け付けると、参照中の制御情報３１Ｄ内の画面の定義データ順に基づき、操作画面が終端画面か否かを判定する（ステップＳ４０１）。なお、画面制御部１２による終端画面判定方法は、ステップＳ２０１，Ｓ３０１と同様である。
【００７２】
画面制御部１２は、操作画面の定義データの次に、遷移先画面の定義データが存在しないことから、操作画面が終端画面であると判定し、入力情報が処理対象データとして確定したと判断し、データ管理部１３から、画面を介して受け付けた全ての入力情報の管理データ１３Ｄ（ａ，ｂ，ｎ）を取得する（ステップＳ４０２）。その結果、データ管理部１３では、画面制御部１２に入力情報を渡し終えると、メモリ（ＲＡＭ）上に保持している管理データ１３Ｄを消去する。
【００７３】
次に、画面制御部１２は、データ処理部２１に対して、入力情報が処理対象データとして確定した旨を通知する（ステップＳ４０３）。このとき、画面制御部１２は、データ管理部１３から取得した管理データ１３Ｄ（ａ，ｂ，ｎ）を、データ処理部２１に渡すことで、入力情報のデータ確定を通知する。
【００７４】
その結果、データ処理部２１は、画面制御部１２から受け取った管理データ１３Ｄ（ａ，ｂ，ｎ）に基づき、入力情報を処理させる機能Ａ，機能Ｂ，拡張機能それぞれの機能部２２ａ，２２ｂ，２２ｎを特定する（ステップＳ５０１）。このとき、データ処理部２１は、管理データ１３Ｄ内の"機能名"から、入力情報を処理させる機能Ａ，機能Ｂ，拡張機能それぞれの機能部２２ａ，２２ｂ，２２ｎを特定する。
【００７５】
次に、データ処理部２１は、機能Ａ，機能Ｂ，拡張機能の入力情報（ａ），（ｂ），（ｎ）を、特定した機能部２２ａ，２２ｂ，２２ｎに渡し、処理の実行を要求する（ステップＳ５０２〜Ｓ５０４）。
【００７６】
《画面制御の処理：その２》
図８は、本実施形態に係る画面制御の処理手順例（その２）を示すシーケンス図である。
図８に示すように、画面制御部１２は、制御情報保持部３１にアクセスし、画面遷移順が定義される制御情報３１Ｄを参照する（ステップＳ６０１）。
【００７７】
次に、画面制御部１２は、参照した制御情報３１Ｄ内の画面の定義データに基づき、画面を生成させる機能ＡのＵＩ部１１ａを特定し、特定したＵＩ部１１ａに対して、画面生成を要求する（ステップＳ６０２）。
【００７８】
その結果、ＵＩ部１１ａでは、機能Ａの画面が生成され、表示装置１０２に表示される。ＵＩ部１１ａは、画面を介して、入力値（ａ）を受け付けると（ステップＳ６０３）、受け付けた入力値（ａ）をデータ管理部１３に渡し、入力情報のデータ保存を要求する（ステップＳ６０４）。これにより、データ管理部１３では、ＵＩ部１１ａから受け取った機能Ａの入力値（ａ）が、管理データ１３Ｄとして、メモリ（ＲＡＭ）上に保持される。
【００７９】
次に、ＵＩ部１１ａは、画面を介して、画面遷移操作を受け付けると、画面遷移イベントを画面制御部１２に通知する（ステップＳ６０５）。
【００８０】
画面制御部１２は、ＵＩ部１１ａから、画面遷移イベントの通知を受け付けると、参照中の制御情報３１Ｄ内の画面の定義データ順に基づき、操作画面が終端画面か否かを判定する（ステップＳ７０１）。
【００８１】
画面制御部１２は、操作画面の定義データの次に、遷移先画面の定義データ（拡張に対応する画面の定義データ）が存在することから、操作画面が終端画面でないと判定し、遷移先画面の定義データに基づき特定した拡張機能のＵＩ部１１ｎに対して、画面生成を要求する（ステップＳ７０２）。
【００８２】
その結果、ＵＩ部１１ｎでは、拡張機能の画面が生成され、表示装置１０２に表示される。ＵＩ部１１ｎは、画面を介して、入力値（ｎ）を受け付けると（ステップＳ７０３）、受け付けた入力値（ｎ）をデータ管理部１３に渡し、入力情報のデータ保存を要求する（ステップＳ７０４）。これにより、データ管理部１３では、ＵＩ部１１ｎから受け取った拡張機能の入力値（ｎ）が、管理データ１３Ｄとして、メモリ（ＲＡＭ）上に保持される。なお、このときの管理データ１３Ｄには、機能Ａと拡張機能の入力値（ａ，ｎ）が含まれる。
【００８３】
次に、ＵＩ部１１ｎは、画面を介して、画面遷移操作を受け付けると、画面遷移イベントを画面制御部１２に通知する（ステップＳ７０５）。
【００８４】
画面制御部１２は、ＵＩ部１１ｎから、画面遷移イベントの通知を受け付けると、参照中の制御情報３１Ｄ内の画面の定義データ順に基づき、操作画面が終端画面か否かを判定する（ステップＳ８０１）。
【００８５】
画面制御部１２は、操作画面の定義データの次に、遷移先画面の定義データ（機能Ｂに対応する画面の定義データ）が存在することから、操作画面が終端画面でないと判定し、遷移先画面の定義データに基づき特定した拡張機能のＵＩ部１１ｂに対して、画面生成を要求する（ステップＳ８０２）。
【００８６】
その結果、ＵＩ部１１ｂでは、機能Ｂの画面が生成され、表示装置１０２に表示される。ＵＩ部１１ｂは、画面を介して、入力値（ｂ）を受け付けると（ステップＳ８０３）、受け付けた入力値（ｂ）をデータ管理部１３に渡し、入力情報のデータ保存を要求する（ステップＳ８０４）。これにより、データ管理部１３では、ＵＩ部１１ｂから受け取った機能Ｂの入力値（ｂ）が、管理データ１３Ｄとして、メモリ（ＲＡＭ）上に保持される。なお、このときの管理データ１３Ｄには、機能Ａ，拡張機能，機能Ｂの入力値（ａ，ｎ，ｂ）が含まれる。
【００８７】
次に、ＵＩ部１１ｂは、画面を介して、画面遷移操作を受け付けると、画面遷移イベントを画面制御部１２に通知する（ステップＳ８０５）。
【００８８】
画面制御部１２は、ＵＩ部１１ｂから、画面遷移イベントの通知を受け付けると、参照中の制御情報３１Ｄ内の画面の定義データ順に基づき、操作画面が終端画面か否かを判定する（ステップＳ９０１）。
【００８９】
画面制御部１２は、操作画面の定義データの次に、遷移先画面の定義データが存在しないことから、操作画面が終端画面であると判定し、入力情報が処理対象データとして確定したと判断し、データ管理部１３から、画面を介して受け付けた全ての入力情報の管理データ１３Ｄ（ａ，ｎ，ｂ）を取得する（ステップＳ９０２）。その結果、データ管理部１３では、画面制御部１２に入力情報を渡し終えると、メモリ（ＲＡＭ）上に保持している管理データ１３Ｄを消去する。
【００９０】
次に、画面制御部１２は、データ処理部２１に対して、入力情報が処理対象データとして確定した旨を通知する（ステップＳ９０３）。このとき、画面制御部１２は、データ管理部１３から取得した管理データ１３Ｄ（ａ，ｎ，ｂ）を、データ処理部２１に渡すことで、入力情報のデータ確定を通知する。
【００９１】
その結果、データ処理部２１は、画面制御部１２から受け取った管理データ１３Ｄ（ａ，ｎ，ｂ）に基づき、入力情報を処理させる機能Ａ，拡張機能，機能Ｂそれぞれの機能部２２ａ，２２ｎ，２２ｂを特定する（ステップＳ１００１）。
【００９２】
次に、データ処理部２１は、機能Ａ，拡張機能，機能Ｂの入力情報（ａ），（ｎ），（ｂ）を、特定した機能部２２ａ，２２ｎ，２２ｂに渡し、処理の実行を要求する（ステップＳ１００２〜Ｓ１００４）。
【００９３】
＜まとめ＞
以上のように、本実施形態に係る情報処理装置１００によれば、画面制御部１２により、外部データとして、ウィザード形式による画面遷移順が定義された制御情報３１Ｄに従って、ＵＩソフトウェア１０（機能に対応するＵＩ部）に対し、画面生成要求を行うことで画面遷移を制御する。その間、情報処理装置１００は、データ管理部１３により、画面を介して受け付けた入力情報を所定の記憶領域（ＲＡＭ）に一時保持（バッファリング）し、処理対象データとして確定されるまでの入力情報を管理する。その後、情報処理装置１００は、画面制御部１２により、制御情報３１Ｄに基づき、操作画面が終端画面か否かを判定し、終端画面であった場合に、保持している入力情報を取得し、取得した入力情報を機能ソフトウェア２０（機能部）に渡すことでデータの確定を通知する。その結果、情報処理装置１００では、処理対象データとして確定された入力情報が機能ソフトウェア２０により処理される。
【００９４】
これによって、本実施形態に係る情報処理装置１００が提供するソフトウェア環境では、サードベンダなどが拡張機能による画面のカスタマイズを行う際に、機能画面を生成するＵＩ部１１ｎや機能を実現する機能部２２ｎなどに、入力情報の流れ（画面遷移順）の設定やデータ確定の処理などを組み込む必要がない。このように、本実施形態に係る情報処理装置１００では、ウィザード形式により遷移する画面のカスタマイズを容易に行える。
【００９５】
ここまで、上記実施形態の説明を行ってきたが、上記実施形態に係る「画面制御機能」は、図を用いて説明を行った各処理手順を、動作環境（プラットフォーム）にあったプログラミング言語でコード化したプログラムが、情報処理装置１００が備える演算装置（ＣＰＵ）により実行されることで実現される。
【００９６】
上記プログラムは、コンピュータが読み取り可能な記録媒体１０３ａに格納することができる。これにより、例えば、上記プログラムは、ドライブ装置１０３を介して、情報処理装置１００にインストールすることができる。また、情報処理装置１００は、インタフェース装置１０７を備えていることから、電気通信回線を用いて上記プログラムをダウンロードし、インストールすることもできる。
【００９７】
また、上記実施形態では、情報処理装置１００を例に説明を行ったが、例えば、ウィザード形式による画面遷移を実現するソフトウェア環境を有する表示装置や該表示装置を備えた画像処理装置にも適用でき、情報処理装置１００と同様の効果が得られる。
【００９８】
また、上記実施形態では、制御情報３１Ｄのデータ例にＸＭＬデータを示したが、この限りでない。画面制御順を定義可能な形式のデータであればよい。また、画面制御順の定義方法は、画面の定義データ順でなくてもよく、例えば、画面の定義データ内に、画面遷移順の設定値を含むようにしてもよい。
【００９９】
最後に、上記実施形態に挙げた形状や構成に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０１００】
１０    ＵＩソフトウェア
１１    ＵＩ部（ａ：機能Ａ，ｂ：機能Ｂ，ｎ：拡張機能）
１２    画面制御部
１３    データ管理部（Ｄ：管理データ）
２０    機能ソフトウェア
２１    データ処理部
２２    機能部（ａ：機能Ａ，ｂ：機能Ｂ，ｎ：拡張機能）
３０    データ保持部
３１    制御情報保持部（Ｄ：制御情報）
１００  情報処理装置
１０１  入力装置
１０２  表示装置
１０３  ドライブ装置（ａ：記録媒体）
１０４  ＲＡＭ（揮発性の半導体メモリ）
１０５  ＲＯＭ（不揮発性の半導体メモリ）
１０６  ＣＰＵ（演算装置）
１０７  インタフェース装置
１０８  ＨＤＤ（不揮発性の記憶装置）
Ｂ      バス
Ｎ      データ伝送路（ネットワーク）
【先行技術文献】
【特許文献】
【０１０１】
【特許文献１】特開２００７−２０００６４号公報
【図１】
2012194939.tif 000003
【図２】
2012194939.tif 000004
【図３】
2012194939.tif 000005
【図４】
2012194939.tif 000006
【図５】
2012194939.tif 000007
【図６】
2012194939.tif 000008
【図７】
2012194939.tif 000009
【図８】
2012194939.tif 000010