(57)【要約】【課題】機能単位（サービス）の動作環境を変更した場合であっても、再コンパイルを不要とし、品質の低下を防ぐ。【解決手段】画面のレイアウトを構成するオブジェクトであるコンポーネント１０５−１を表示する画面レイアウト部１０２に表示されたコンポーネント１０５−１に対して、利用者によって操作が行われた場合、シナリオエンジン１０７が、操作の内容に応じて、あらかじめ登録された互いに独立した複数の機能単位を任意の順序で組み立て、機能単位ごとにあらかじめ定義された動作定義情報を順序で解釈しながら機能単位の処理を実行し、実行結果を画面レイアウト部１０２へ出力し、画面レイアウト部１０２が、実行結果を表示する。【選択図】図１
2011003135.tif 000002
【特許請求の範囲】
【請求項１】
画面のレイアウトを構成するオブジェクトであるコンポーネントを表示する画面レイアウト部と、利用者によって前記コンポーネントに対して操作が行われた場合、該操作の内容に応じて、あらかじめ登録された互いに独立した複数の機能単位の処理を実行する業務ロジック実行部とを有する画面業務システムにおいて、
前記業務ロジック実行部は、前記複数の機能単位を任意の順序で組み立て、該機能単位ごとにあらかじめ定義された動作定義情報を前記順序で解釈しながら該機能単位の処理を実行し、該実行結果を前記画面レイアウト部へ出力するシナリオエンジンを有し、
前記画面レイアウト部は、前記シナリオエンジンから出力されてきた実行結果を表示することを特徴とする画面業務システム。
【請求項２】
請求項１に記載の画面業務システムにおいて、
前記シナリオエンジンは、前記動作定義情報のＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）情報を解釈しながら前記機能単位の処理を実行することを特徴とする画面業務システム。
【請求項３】
請求項１または請求項２に記載の画面業務システムにおいて、
前記シナリオエンジンは、前記機能単位の機能概要と実行順序とを前記画面レイアウト部へ出力し、
前記画面レイアウト部は、前記シナリオエンジンから出力されてきた前記機能単位の機能概要と実行順序とを表示することを特徴とする画面業務システム。
【請求項４】
所定の業務の業務ロジックを画面に表示する画面業務システムを構築する画面業務システム構築方法であって、
前記画面に表示されたコンポーネントに対して利用者によって操作が行われた場合、該操作の内容に応じて、あらかじめ登録された互いに独立した複数の機能単位を任意の順序で組み立て、該機能単位ごとにあらかじめ定義された動作定義情報を前記順序で解釈しながら該機能単位の処理を実行する実行ステップと、
前記実行結果を表示するステップとを有する画面業務システム構築方法。
【請求項５】
請求項４に記載の画面業務システム構築方法において、
前記実行ステップは、前記動作定義情報のＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）情報を解釈しながら前記機能単位の処理を実行することを特徴とする画面業務システム構築方法。
【請求項６】
請求項４または請求項５に記載の画面業務システム構築方法において、
前記機能単位の機能概要と実行順序とを表示するステップを有することを特徴とする画面業務システム構築方法。
【請求項７】
画面のレイアウトを構成するオブジェクトであるコンポーネントを表示する画面レイアウト部に表示された前記コンポーネントに対して利用者によって操作が行われた場合、該操作の内容に応じて、あらかじめ登録された互いに独立した複数の機能単位の処理を実行する業務ロジック実行部に、
前記操作が行われた場合、該操作の内容に応じて、前記複数の機能単位を任意の順序で組み立て、該機能単位ごとにあらかじめ定義された動作定義情報を前記順序で解釈しながら該機能単位の処理を実行する実行手順と、
前記実行結果を前記画面レイアウト部に表示させる手順とを実行させるためのプログラム。
【請求項８】
請求項７記載のプログラムにおいて、
前記実行手順は、前記動作定義情報のＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）情報を解釈しながら前記機能単位の処理を実行することを特徴とするプログラム。
【請求項９】
請求項７または請求項８に記載のプログラムにおいて、
前記機能単位の機能概要と実行順序とを前記画面レイアウト部に表示させる手順を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、業務ロジックを構成する画面業務システム、画面業務システム構築方法およびプログラムに関する。
【背景技術】
【０００２】
一般的な画面業務システムにおいては、画面のコンポーネントのイベントに対し、業務処理をプログラムで記述している。さらに、そのプログラムの中で、部品化、モジュール化したプログラムを呼び出すロジックをコーディングし、コンパイルをおこない業務画面オブジェクトを生成している。
【０００３】
例えば、特許文献１に記載されているように、画面をレイアウトする画面レイアウト部と、ロジック部分とを独立させた形態と、双方を統合した形態とにおいても、コード編集を可能とするシステムが考えられている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１５０３７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述したシステムにおいては、機能を追加、変更するためには、プログラム内のコーディングを変更し、呼び出すロジックを修正し、再コンパイルを行わなければならないという問題点がある。
【０００６】
また、プログラムのコーディングを変更するため、変更後に生成したプログラムの網羅性のテストを行う必要があり、常に、デグレードを起こすリスクが生じてしまうという問題点がある。
【０００７】
さらに、ロジックをコーディングするため、属人性が高いプログラムを標準化し、いかに均一な品質レベルのプログラムを記述させるかという課題が生じてしまう。
【０００８】
本発明の目的は、上述した課題を解決する画面業務システム、画面業務システム構築方法およびプログラムを提供することである。
【課題を解決するための手段】
【０００９】
本発明の画面業務システムは、
画面のレイアウトを構成するオブジェクトであるコンポーネントを表示する画面レイアウト部と、利用者によって前記コンポーネントに対して操作が行われた場合、該操作の内容に応じて、あらかじめ登録された互いに独立した複数の機能単位の処理を実行する業務ロジック実行部とを有する画面業務システムにおいて、
前記業務ロジック実行部は、前記複数の機能単位を任意の順序で組み立て、該機能単位ごとにあらかじめ定義された動作定義情報を前記順序で解釈しながら該機能単位の処理を実行し、該実行結果を前記画面レイアウト部へ出力するシナリオエンジンを有し、
前記画面レイアウト部は、前記シナリオエンジンから出力されてきた実行結果を表示することを特徴とする。
【００１０】
また、本発明の画面業務システム構築方法は、
所定の業務の業務ロジックを画面に表示する画面業務システムを構築する画面業務システム構築方法であって、
前記画面に表示されたコンポーネントに対して利用者によって操作が行われた場合、該操作の内容に応じて、あらかじめ登録された互いに独立した複数の機能単位を任意の順序で組み立て、該機能単位ごとにあらかじめ定義された動作定義情報を前記順序で解釈しながら該機能単位の処理を実行する実行ステップと、
前記実行結果を表示するステップとを有する。
【００１１】
また、本発明のプログラムは、
画面のレイアウトを構成するオブジェクトであるコンポーネントを表示する画面レイアウト部に表示された前記コンポーネントに対して利用者によって操作が行われた場合、該操作の内容に応じて、あらかじめ登録された互いに独立した複数の機能単位の処理を実行する業務ロジック実行部に実行させるためのプログラムであって、
前記操作が行われた場合、該操作の内容に応じて、前記複数の機能単位を任意の順序で組み立て、該機能単位ごとにあらかじめ定義された動作定義情報を前記順序で解釈しながら該機能単位の処理を実行する実行手順と、
前記実行結果を前記画面レイアウト部に表示させる手順とを実行させる。
【発明の効果】
【００１２】
以上説明したように本発明においては、画面のレイアウトを構成するオブジェクトであるコンポーネントを表示する画面レイアウト部に表示されたコンポーネントに対して、利用者によって操作が行われた場合、シナリオエンジンが、操作の内容に応じて、あらかじめ登録された互いに独立した複数の機能単位を任意の順序で組み立て、機能単位ごとにあらかじめ定義された動作定義情報を順序で解釈しながら機能単位の処理を実行し、実行結果を画面レイアウト部へ出力し、画面レイアウト部が、実行結果を表示する構成としたため、機能単位（サービス）の動作環境を変更した場合であっても、再コンパイルの必要がなくなり、品質の低下を防ぐことができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の画面業務システム構築方法および画面業務システムの実施の一形態を示す図である。
【図２】図１に示したコンポーネント・イベント別シナリオ定義情報の一例を示す図である。
【図３】図２に示した入力チェックサービスの構成の一例を示す図である。
【図４】図２に示したデータ加工サービスの構成の一例を示す図である。
【図５】図２に示した外部ＡＰサービスの構成の一例を示す図である。
【図６】図２に示した外部シナリオサービスの構成の一例を示す図である。
【図７】図２に示した画面遷移サービスの構成の一例を示す図である。
【図８】図２に示した画面表示サービスの構成の一例を示す図である。
【図９】図１に示したシナリオエンジンの処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１４】
以下に、本発明の実施の形態について図面を参照して説明する。
【００１５】
設計者は、デザイナが作成した画面レイアウトに対し、本発明を使用して、画面レイアウトを構成するコンポーネントのイベントに対して業務ロジックの組み立てをおこなう。業務ロジックの組み立ては、必要な機能単位（サービス）を任意の順番で定義することにより組み立てる。個々の機能単位（サービス）は、あらかじめ用意された機能単位（サービス）を選択し、必要なインターフェイス情報や動作環境情報を入力することにより定義する。
【００１６】
図１は、本発明の画面業務システム構築方法および画面業務システムの実施の一形態を示す図である。
【００１７】
本形態は図１に示すように、画面レイアウト部１０２と、業務ロジック実行部１０３とから構成された画面オブジェクト１０１となっている。
【００１８】
画面レイアウト部１０２には、画面１０４を構成するコンポーネント１０５−１〜１０５−３と、イベント１０６とが設けられている。
【００１９】
コンポーネント１０５−１〜１０５−３は、ボタンやチェックボックス、テキスト領域など画面のレイアウトを構成するオブジェクトである。ここでは、コンポーネントの数を３つで示したが、これに限らない。
【００２０】
イベント１０６は、ユーザが、画面１０４よりコンポーネント１０５−１に対して操作をおこなったとき、その操作の内容を示す。
【００２１】
また、業務ロジック実行部１０３には、シナリオエンジン１０７と、コンポーネントのイベントごとに定義されたコンポーネント・イベント別シナリオ定義情報１０８とが設けられている。
【００２２】
シナリオエンジン１０７は、後述する複数の機能単位を任意の順序で組み立て、コンポーネント１０５−１のイベント１０６ごとに定義された動作定義情報であるコンポーネント・イベント別シナリオ定義情報１０８を解釈しながら処理を実行するプログラムである。また、シナリオエンジン１０７は、コンポーネント・イベント別シナリオ定義情報１０８のＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）情報を解釈しながら機能単位の処理を実行する。
【００２３】
コンポーネント・イベント別シナリオ定義情報１０８は、コンポーネント１０５−１のシナリオごとに定義された処理の定義情報である。
【００２４】
図２は、図１に示したコンポーネント・イベント別シナリオ定義情報１０８の一例を示す図である。
【００２５】
シナリオ２０１は、業務ロジックを構成するサービスを機能単位としてあらかじめ定義する。図２に示した例ではシナリオ２０１は、入力チェックサービス３０１、データ加工サービス４０１、外部ＡＰサービス５０１、外部シナリオサービス６０１、画面遷移サービス７０１および画面表示サービス８０１を互いに独立した複数の機能単位として定義する。また、シナリオ２０１は、入力チェックサービス３０１、データ加工サービス４０１、外部ＡＰサービス５０１、外部シナリオサービス６０１、画面遷移サービス７０１、画面表示サービス８０１の順序で実行するように定義する。この順序は自由に定義することが可能である。
【００２６】
図３は、図２に示した入力チェックサービス３０１の構成の一例を示す図である。
【００２７】
図２に示した入力チェックサービス３０１は図３に示すように、入力チェックサービスエンジン３０２と、シナリオ別入力チェック起動定義情報３０３と、入力チェッククラスライブラリ３０４とから構成されている。
【００２８】
シナリオ別入力チェック起動定義情報３０３は、シナリオごとに入力チェック処理の内容を定義した定義情報である。また、シナリオ別入力チェック起動定義情報３０３には、入力チェックサービス３０１の機能概要が含まれていても良い。
【００２９】
入力チェッククラスライブラリ３０４には、入力チェックをおこなう共通のインターフェイスを持ったクラス・メソッドが格納されている。
【００３０】
入力チェックサービスエンジン３０２は、シナリオ別入力チェック起動定義情報３０３に基づいて、入力チェッククラスライブラリ３０４のチェック処理の実行を制御するプログラムである。
【００３１】
図４は、図２に示したデータ加工サービス４０１の構成の一例を示す図である。
【００３２】
図２に示したデータ加工サービス４０１は図４に示すように、データ加工サービスエンジン４０２と、シナリオ別データ加工起動定義情報４０３と、データ加工クラスライブラリ４０４とから構成されている。
【００３３】
シナリオ別データ加工起動定義情報４０３は、シナリオごとにデータ加工や編集処理の内容を定義した定義情報である。また、シナリオ別データ加工起動定義情報４０３には、データ加工サービス４０１の機能概要が含まれていても良い。
【００３４】
データ加工クラスライブラリ４０４には、データ加工や編集をおこなう共通のインターフェイスを持ったクラス・メソッドが格納されている。
【００３５】
データ加工サービスエンジン４０２は、シナリオ別データ加工起動定義情報４０３に基づいて、データ加工クラスライブラリ４０４のデータ加工処理の実行を制御するプログラムである。
【００３６】
図５は、図２に示した外部ＡＰサービス５０１の構成の一例を示す図である。
【００３７】
図２に示した外部ＡＰサービス５０１は図５に示すように、外部ＡＰサービスエンジン５０２と、シナリオ別外部ＡＰ起動定義情報５０３とから構成されている。
【００３８】
シナリオ別外部ＡＰ起動定義情報５０３は、シナリオごとに外部システムの業務プログラムの呼び出し情報を定義した定義情報である。また、シナリオ別外部ＡＰ起動定義情報５０３には、外部ＡＰサービス５０１の機能概要が含まれていても良い。
【００３９】
外部ＡＰサービスエンジン５０２は、シナリオ別外部ＡＰ起動定義情報５０３に基づいて、外部システムの業務プログラムを起動し、処理結果の取得をおこなうプログラムである。
【００４０】
図６は、図２に示した外部シナリオサービス６０１の構成の一例を示す図である。
【００４１】
図２に示した外部シナリオサービス６０１は図６に示すように、外部シナリオサービスエンジン６０２と、シナリオ別外部シナリオ起動定義情報６０３と、シナリオ６０４とから構成されている。
【００４２】
シナリオ別外部シナリオ起動定義情報６０３は、シナリオ６０４ごとに呼び出す外部シナリオを定義した定義情報である。また、シナリオ別外部シナリオ起動定義情報６０３には、外部シナリオサービス６０１の機能概要が含まれていても良い。
【００４３】
外部シナリオサービスエンジン６０２は、シナリオ別外部シナリオ起動定義情報６０３に基づいて、外部のシナリオ６０４を起動するプログラムである。
【００４４】
図７は、図２に示した画面遷移サービス７０１の構成の一例を示す図である。
【００４５】
図２に示した画面遷移サービス７０１は図７に示すように、画面遷移サービスエンジン７０２と、シナリオ別画面遷移定義情報７０３とから構成されている。
【００４６】
シナリオ別画面遷移定義情報７０３は、シナリオごとに遷移する画面を定義した定義情報である。また、シナリオ別画面遷移定義情報７０３には、画面遷移サービス７０１の機能概要が含まれていても良い。
【００４７】
画面遷移サービスエンジン７０２は、シナリオ別画面遷移定義情報７０３に基づいて、画面を遷移するプログラムである。
【００４８】
図８は、図２に示した画面表示サービス８０１の構成の一例を示す図である。
【００４９】
図２に示した画面表示サービス８０１は図８に示すように、画面表示サービスエンジン８０２と、シナリオ別画面表示属性定義情報８０３とから構成されている。
【００５０】
シナリオ別画面表示属性定義情報８０３は、シナリオごとに画面の表示属性を定義した定義情報である。また、シナリオ別画面表示属性定義情報８０３には、画面表示サービス８０１の機能概要が含まれていても良い。
【００５１】
画面表示サービスエンジン８０２は、シナリオ別画面表示属性定義情報８０３に基づいて、画面表示のスタイル属性を設定するプログラムである。
【００５２】
以下に、本形態における処理について説明する。
【００５３】
図９は、図１に示したシナリオエンジン１０７の処理を説明するためのフローチャートである。
【００５４】
まず、利用者によって図１に示したコンポーネント１０５−１に対して操作が行われることによりコンポーネント１０５−１にイベント１０６が発生したとき、シナリオエンジン１０７が、イベント１０６を取得し（ステップＳ１）、コンポーネント・イベント別シナリオ定義情報１０８より発生したイベント１０６に対するシナリオを取得する（ステップＳ２）。
【００５５】
シナリオエンジン１０７は、取得したシナリオ（図２に示したシナリオ２０１）に定義されたサービスを先頭から順番に順次実行する。以下、図２に示したコンポーネント・イベント別シナリオ定義情報１０８に沿って動作を説明する。
【００５６】
シナリオエンジン１０７は、シナリオ２０１に最初に定義された入力チェックサービス３０１を起動する（ステップＳ３）。
【００５７】
入力チェックサービス３０１が起動すると、図３に示した入力チェックサービスエンジン３０２が起動する。入力チェックサービスエンジン３０２は、シナリオ２０１に定義されたシナリオ別入力チェック起動定義情報３０３に定義されているパラメータを編集し、シナリオ別入力チェック起動定義情報３０３に定義されている入力チェッククラスライブラリ３０４に登録されている入力チェッククラスのチェックメソッドを起動する。
【００５８】
チェックメソッドの処理が終了すると、入力チェックサービス３０１が終了する。
【００５９】
入力チェックサービス３０１の処理が正常に終了した場合（ステップＳ４のＹｅｓ）、シナリオエンジン１０７は、次の順序で定義されたデータ加工サービス４０１を起動する（ステップＳ５）。
【００６０】
データ加工サービス４０１が起動すると、図４に示したデータ加工サービスエンジン４０２が起動する。データ加工サービスエンジン４０２は、シナリオ２０１に定義されたシナリオ別データ加工起動定義情報４０３に定義されているパラメータを編集し、シナリオ別データ加工起動定義情報４０３に定義されているデータ加工クラスライブラリ４０４に登録されているデータ加工クラスのデータ加工メソッドを起動する。
【００６１】
データ加工メソッドの処理が終了するとデータ加工サービス４０１が終了する。
【００６２】
データ加工サービス４０１が正常に終了した場合（ステップＳ６のＹｅｓ）、シナリオエンジン１０７は、次の順序で定義された外部ＡＰサービス５０１を起動する（ステップＳ７）。
【００６３】
外部ＡＰサービス５０１が起動すると、図５に示した外部ＡＰサービスエンジン５０２が起動する。外部ＡＰサービスエンジン５０２は、シナリオ２０１に定義されたシナリオ別外部ＡＰ起動定義情報５０３に定義されているパラメータを編集し、シナリオ別外部ＡＰ起動定義情報５０３に定義されているプロトコルで外部システムと接続し、外部システムの業務プログラムを起動する。
【００６４】
外部ＡＰサービスエンジン５０２は、起動された外部システムの業務プログラムの実行の終了を待ち合わせ、処理が正常に終了すると、処理結果を取得したのちに、外部ＡＰサービス５０１が終了する。
【００６５】
外部ＡＰサービス５０１が正常に終了した場合（ステップＳ８のＹｅｓ）、シナリオエンジン１０７は、次の順序で定義された外部シナリオサービス６０１を起動する（ステップＳ９）。
【００６６】
外部シナリオサービス６０１が起動すると、図６に示した外部シナリオサービスエンジン６０２が起動する。外部シナリオサービスエンジン６０２は、シナリオ２０１に定義されたシナリオ別外部シナリオ起動定義情報６０３に定義されているシナリオ６０４を起動する。
【００６７】
起動されたシナリオ６０４は、シナリオ２０１と同じレベルの定義情報で、他のシナリオから呼び出し可能な属性が設定されているシナリオである。
【００６８】
シナリオ６０４が終了すると、外部シナリオサービス６０１が終了する。
【００６９】
外部シナリオサービス６０１が正常に終了した場合（ステップＳ１０のＹｅｓ）、シナリオエンジン１０７は、次の順序で定義された画面遷移サービス７０１を起動する（ステップＳ１１）。
【００７０】
画面遷移サービス７０１が起動すると、図７に示した画面遷移サービスエンジン７０２が起動する。画面遷移サービスエンジン７０２は、シナリオ２０１に定義されたシナリオ別画面遷移定義情報７０３に定義されている画面に遷移をおこなうと、画面遷移サービス７０１は終了する。
【００７１】
画面遷移サービス７０１が正常に終了した場合（ステップＳ１２のＹｅｓ）、シナリオエンジン１０７は、シナリオ２０１にて最後の順序で定義された画面表示サービス８０１を起動する（ステップＳ１３）。
【００７２】
画面表示サービス８０１が起動すると、図８に示した画面表示サービスエンジン８０２が起動する。画面表示サービスエンジン８０２は、シナリオ２０１に定義されたシナリオ別画面表示属性定義情報８０３に定義されているコンポーネントのスタイル情報などの表示属性の変更をおこない、画面表示サービス８０１は終了する。
【００７３】
すべてのサービスが正常に終了すると（ステップＳ１４のＹｅｓ）、シナリオ２０１は終了する。また、シナリオエンジン１０７は、実行結果を画面レイアウト部１０２へ出力し、画面レイアウト部１０２は、シナリオエンジン１０７から出力されてきた実行結果を表示する。また、その際、シナリオエンジン１０７は、それぞれの機能単位の機能概要と実行順序とを画面レイアウト部１０２へ出力し、画面レイアウト部１０２は、シナリオエンジン１０７から出力されてきた機能単位の機能概要と実行順序とを表示するものであっても良い。
【００７４】
また、実行しているサービスが異常終了した場合は（ステップＳ４、Ｓ６、Ｓ８、Ｓ１０、Ｓ１２、Ｓ１４のＮｏ）、異常終了したサービスでシナリオは中断する。
【００７５】
なお、上述したシナリオエンジン１０７が行う処理は、目的に応じて作製された論理回路で行うようにしても良い。また、処理内容を記述したプログラムをシナリオエンジン１０７にて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムをシナリオエンジン１０７に読み込ませ、実行するものであっても良い。シナリオエンジン１０７にて読取可能な記録媒体とは、フロッピーディスク（登録商標）、光磁気ディスク、ＤＶＤ、ＣＤなどの移設可能な記録媒体の他、リスク分析システム内に内蔵されたＲＯＭ、ＲＡＭ等のメモリやＨＤＤ等を指す。この記録媒体に記録されたプログラムは、シナリオエンジン１０７にて読み込まれ、シナリオエンジン１０７の制御によって、上述したものと同様の処理が行われる。ここで、シナリオエンジン１０７は、プログラムが記録された記録媒体から読み込まれたプログラムを実行するコンピュータとして動作するものである。
【００７６】
このように、インターフェイスを持つ独立した処理単位を、業務を構成する機能単位として登録しておく。業務処理は、この独立した機能単位を任意の順番に組み立てることにより、業務ロジックを構成する。画面に配置されているコンポーネントのイベントに対し、この業務ロジックを紐付けることにより、画面のレイアウトと業務ロジックを疎結合で、業務画面システムを構築することができる。
【００７７】
本発明によれば、ＷＥＢシステムのＲＩＡ（Ｒｉｃｈ  Ｉｎｔｅｒｎｅｔ  Ａｐｐｌｉｃａｔｉｏｎ）クライアント画面構築といった用途に適用できる。また、クライアントサーバシステムの画面操作性をＷＥＢシステムへ移行するといった用途にも適用可能である。
【００７８】
上述したように本発明の実施の形態では、コンポーネントのイベントごとに定義されたシナリオの中に機能単位（サービス）の動作環境を定義するだけで、業務ロジックが構成されている。従来は、機能単位（サービス）である部品の呼び出しを変更することにより呼び出し元のロジックを変更し、コンパイルをおこない実行環境を作成していたため呼び出し元の網羅的なテストが必要であった。
【００７９】
本発明では、呼び出し元は、シナリオエンジンに実装されており、呼び出し元のロジック修正は発生せず、機能単位（サービス）の動作環境の定義の追加、変更をおこなうだけで機能追加・変更を可能とすることにより以下の２つの効果がある。
【００８０】
第１の効果は、機能追加・変更時の品質と生産性を向上できることにある。その理由は、業務機能の追加、変更をプログラムのコーディング修正ではなく、品質が担保された機能単位（サービス）の組立・組換でおこなうためである。
【００８１】
第２の効果は、プログラムによる保守に比べ、業務ロジックの保守性がよいことにある。その理由は、業務ロジックを機能単位（サービス）の構成として確認・保守できるためである。
【符号の説明】
【００８２】
１０１    画面オブジェクト
１０２    画面レイアウト部
１０３    業務ロジック実行部
１０４    画面
１０５−１〜１０５−３    コンポーネント
１０６    イベント
１０７    シナリオエンジン
１０８    コンポーネント・イベント別シナリオ定義情報
２０１，６０４    シナリオ
３０１    入力チェックサービス
３０２    入力チェックサービスエンジン
３０３    シナリオ別入力チェック起動定義情報
３０４    入力チェッククラスライブラリ
４０１    データ加工サービス
４０２    データ加工サービスエンジン
４０３    シナリオ別データ加工起動定義情報
４０４    データ加工クラスライブラリ
５０１    外部ＡＰサービス
５０２    外部ＡＰサービスエンジン
５０３    シナリオ別外部ＡＰ起動定義情報
６０１    外部シナリオサービス
６０２    外部シナリオサービスエンジン
６０３    シナリオ別外部シナリオ起動定義情報
７０１    画面遷移サービス
７０２    画面遷移サービスエンジン
７０３    シナリオ別画面遷移定義情報
８０１    画面表示サービス
８０２    画面表示サービスエンジン
８０３    シナリオ別画面表示属性定義情報
【図１】
2011003135.tif 000003
【図２】
2011003135.tif 000004
【図３】
2011003135.tif 000005
【図４】
2011003135.tif 000006
【図５】
2011003135.tif 000007
【図６】
2011003135.tif 000008
【図７】
2011003135.tif 000009
【図８】
2011003135.tif 000010
【図９】
2011003135.tif 000011