(57)【要約】【課題】再利用性が高く多様なビジネスロジックプログラムを実行・実装できる装置を提供する。【解決手段】要求電文からサービスオブジェクト識別子を取得し、それによって所定のサービスオブジェクトを呼び出す電文分解部と、  前記サービスオブジェクト識別子に対応するサービスオブジェクトを生成し、それによってトランザクション管理またはジャーナル記録を実行し、モデルマネージャーを呼び出す、サービス部と、  モデルマネージャーを生成し、定義ファイルのシナリオに従って必要なシーン部品を呼び出して実行する、モデルマネージャー部と、  エンティティーを有するエンティティー部と、  シーン部品からデータの取得あるいは更新が要求されると、マッピングとシーン部品の要求に従って前記エンティティー部への値の代入と取得を行う、レコード部と、を有し、  前記シーン部品は、チェックシーン部品と、制御シーン部品と、アプライシーン部品と、データオブジェクト制御部品とを含む。【選択図】図１
2007242051.tif 000002
【特許請求の範囲】
【請求項１】
データセットとサービスオブジェクトの識別子を含む要求電文をデータセットとサービスオブジェクト識別子に分解し、前記サービスオブジェクト識別子によって所定のサービスオブジェクトを呼び出す電文分解部と、
前記電文分解部から前記サービスオブジェクト識別子によって所定のサービスオブジェクトの呼び出しが行われると、対応するサービスオブジェクトを生成し、前記サービスオブジェクトはトランザクション管理かジャーナル記録かの処理形態とモデルマネージャーとシナリオの情報とを含む定義ファイルから前記サービスオブジェクト識別子に対応する定義ファイルを取得し、前記対応する定義ファイルに基づいてトランザクション管理またはジャーナル記録を実行し、前記対応する定義ファイルで指定されているモデルマネージャーを呼び出す、サービス部と、
前記サービス部のサービスオブジェクトによって所定のモデルマネージャーの呼び出しが行われると、対応するモデルマネージャーを生成し、前記モデルマネージャーは前記定義ファイルに定義されたシナリオに従って必要なシーン部品を呼び出して実行する、モデルマネージャー部と、
前記モデルマネージャーのシーン部品の実行により所定のシーン部品から所定のデータの取得あるいは更新が要求されると、エンティティーの定義と属性のファイルから対応するエンティティーのコンフィグを取得し、要求されたエンティティーにアクセスするためのマッピングを取得し、前記マッピングと前記シーン部品の要求に従って前記エンティティー部のエンティティーへの値の代入と取得を行う、レコード部と、
数値化されたアドレスに格納されたデータを有するエンティティー部と、
を有するビジネスロジックプログラムを実装・実行するための装置において、
前記シーン部品は、データの存在やデータ関の矛盾をチェックするチェックシーン部品と、分岐制御やループ制御を行う制御シーン部品と、データの登録や更新や削除を行うアプライシーン部品と、入出力データの代入や結合を行うデータオブジェクト制御部品とを含むことを特徴とするビジネスロジックプログラムを実装・実行するための装置。
【請求項２】
ビジネスロジックの処理で使用される定型処理を規定したシーン部品と、前記シーン部品の組合せと動作を定義することによってビジネスロジック処理を定義し実行できるモデルマネージャーとを有し、するビジネスロジックプログラムを実装・実行するための装置において、
前記シーン部品は、入力項目の存在や入力項目間の関連チェックを行うチェックシーン部品と、分岐制御を行う分岐制御シーン部品とを含むことを特徴とするビジネスロジックプログラムを実装・実行するための装置。
【請求項３】
トランザクション管理またはジャーナル記録の処理形態を規定するサービスオブジェクトを有することを特徴とする請求項２に記載のビジネスロジックプログラムを実装・実行するための装置。
【請求項４】
ビジネスロジック処理で使用するデータを抽象的なアドレスに格納するデータベースと、前記データベースのデータとビジネスロジック処理で取得あるいは更新する有意なデータとを対応させるマッピング手段とを有することを特徴とする請求項２または３に記載のビジネスロジックプログラムを実装・実行するための装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビジネスロジックプログラムを実装・実行するための装置に係り、特に、プログラミング言語を習熟していない人間でも、プログラム部品の組合せ、定義によってビジネスロジックプログラムを実装でき、実装されたビジネスロジックプログラムが支障なく実行される装置、方法、及びプログラムに関する。
【０００２】
本明細書において、「ビジネスロジックプログラム」とは、ビジネスロジック処理を行うためのプログラムをいう。「ビジネスロジック処理」とは、いわゆる業務処理と呼ばれるような、データの照会、検索、変換等の範囲に属する企業内の事務処理をいうものとする。
【０００３】
また、本発明は、種々のビジネスロジックプログラムの実装に流用することができるプログラム部品を有する、ビジネスロジックプログラムを実装・実行するための装置、方法、及びプログラムに関する。
【背景技術】
【０００４】
一般に企業等では、たとえば人事、財務等の情報に関してデータの照会、検索、変換等の範囲に属する業務処理（これを本明細書ではビジネスロジック処理という）をコンピュータを用いて行っている。
【０００５】
この業務処理用のプログラム（ビジネスロジックプログラム）は、通常はインハウスで制作され、企業の事情や個々の処理の特有の要求を満足するようにカスタマイズされている。
【０００６】
ところで、ビジネスロジックプログラムは、データの照会、検索、変換等の共通した処理が多いのが実情である。
【０００７】
たとえば、入力項目から出力項目へのコピー、ループ制御、分岐制御など、使用するデータや条件が異なるだけで、処理そのものは一定のパターンが繰り返し記述されることが多い。また、経験的に、ビジネスロジック処理では、そのような一定の処理パターンはそれほど多くないことも知られている。
【０００８】
このため、既存のプログラムの一部をプログラム部品として可能な限り再利用したいという要求があった。また、ビジネスロジックプログラムの実装に関して、再利用可能にプログラム部品を利用しつつ可能な限り省力化したいという要求があった。
【０００９】
従来は、プログラムの実装の省力化に関して、ＣＡＳＥツールと呼ばれるものが存在していた。
【００１０】
ＣＡＳＥツールは、ビジネスロジック処理に必要に思われる要求（設計情報という）を入力させ、自動的にソースコードを生成するツールである。
【００１１】
ＣＡＳＥツールを使用することにより、人間によってソースコードを実装する手間が軽減される。
【００１２】
一方、典型的なビジネスロジック処理の半製品コンポーネントも従来から市場に提供されていた。これらの半製品コンポーネントを使用すれば、ビジネスロジックプログラムの実装の手間が一部軽減される。
【特許文献１】特開２００１−１５５０９６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかし、ビジネスロジックプログラムの実装では、要件によってデータ構造が違ったり、データベースの項目が違ったり、ルールのチェックロジックが微妙に変わり、かつ、それらが相互に影響し合う。
【００１４】
上記半製品コンポーネントは、使用者のカスタマイズの要求に応えるためには、その分実装の手間が多くかかるようになる。
【００１５】
また、ＣＡＳＥツールでは、ソースコードを生成した後に、ソースコードを改変する必要があることがしばしば生じる。
【００１６】
しかし、ソースコード生成後にソースコードを改変すると、最初の設計情報と実装されたプログラムの間に不一致な点が生じてしまう。このため、最初の設計情報と実装されたプログラムの間の矛盾を人間の目によってチェックしなければ信頼できるビジネスロジックプログラムを得ることができなかった。
【００１７】
また、このようなソースコードの改変により、それぞれのビジネスロジックプログラムは、その処理に適したようにカスタマイズされるほど、再利用性が低下してしまう。このため、従来は完全に部品の修正なしで再利用を行うことは困難であった。
【００１８】
プログラム部品を再利用するためには、そのプログラム部品を使用した生産性も考慮しなければならない。
【００１９】
すなわち、プログラム部品を小さくすれば再利用性が高くなるが、そのような小さなプログラム部品を使用しても効率よくビジネスロジックプログラムを実装することができないという問題があった。逆に、プログラム部品を大きくすれば効率よくプログラムを実装することができるが、種々の要求に応えることができずにカスタマイズ性が低下するという問題があった。
【００２０】
そこで、本発明が解決しようとする課題は、以上の従来のビジネスロジックプログラムの実装の問題に鑑み、再利用性が高いプログラム部品を有し、プログラム言語に習熟していない者でも、それらのプログラム部品を組み立てることによって効率よく多様な要求のビジネスロジックプログラムを実装・実行することができるビジネスロジックプログラムを実装・実行するための装置、方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００２１】
本発明に係るビジネスロジックプログラムを実装・実行するための装置は、
データセットとサービスオブジェクトの識別子を含む要求電文をデータセットとサービスオブジェクト識別子に分解し、前記サービスオブジェクト識別子によって所定のサービスオブジェクトを呼び出す電文分解部と、
前記電文分解部から前記サービスオブジェクト識別子によって所定のサービスオブジェクトの呼び出しが行われると、対応するサービスオブジェクトを生成し、前記サービスオブジェクトはトランザクション管理かジャーナル記録かの処理形態とモデルマネージャーとシナリオの情報とを含む定義ファイルから前記サービスオブジェクト識別子に対応する定義ファイルを取得し、前記対応する定義ファイルに基づいてトランザクション管理またはジャーナル記録を実行し、前記対応する定義ファイルで指定されているモデルマネージャーを呼び出す、サービス部と、
前記サービス部のサービスオブジェクトによって所定のモデルマネージャーの呼び出しが行われると、対応するモデルマネージャーを生成し、前記モデルマネージャーは前記定義ファイルに定義されたシナリオに従って必要なシーン部品を呼び出して実行する、モデルマネージャー部と、
前記モデルマネージャーのシーン部品の実行により所定のシーン部品から所定のデータの取得あるいは更新が要求されると、エンティティーの定義と属性のファイルから対応するエンティティーのコンフィグを取得し、要求されたエンティティーにアクセスするためのマッピングを取得し、前記マッピングと前記シーン部品の要求に従って前記エンティティー部のエンティティーへの値の代入と取得を行う、レコード部と、
数値化されたアドレスに格納されたデータを有するエンティティー部と、
を有するビジネスロジックプログラムを実装・実行するための装置において、
前記シーン部品は、データの存在やデータ関の矛盾をチェックするチェックシーン部品と、分岐制御やループ制御を行う制御シーン部品と、データの登録や更新や削除を行うアプライシーン部品と、入出力データの代入や結合を行うデータオブジェクト制御部品とを含むことを特徴とする。
【００２２】
また、本発明に係るビジネスロジックプログラムを実装・実行するための装置は、ビジネスロジックの処理で使用される定型処理を規定したシーン部品と、前記シーン部品の組合せと動作を定義することによってビジネスロジック処理を定義し実行できるモデルマネージャーとを有し、するビジネスロジックプログラムを実装・実行するための装置において、前記シーン部品は、入力項目の存在や入力項目間の関連チェックを行うチェックシーン部品と、分岐制御を行う分岐制御シーン部品とを含むことを特徴とする。
【００２３】
本発明は、トランザクション管理またはジャーナル記録の処理形態を規定するサービスオブジェクトを有することもできる。
【００２４】
また、本発明は、ビジネスロジック処理で使用するデータを抽象的なアドレスに格納するデータベースと、前記データベースのデータとビジネスロジック処理で取得あるいは更新する有意なデータとを対応させるマッピング手段とを有することもできる。
【発明の効果】
【００２５】
本発明によれば、業務処理における定型処理をシーン部品として用意し、シーン部品の組み立てによってビジネスロジックプログラムを記述し、それを実行することができる。また、本発明によれば、レコード部を有し、プログラム実行中にシーン部品が使用するデータを取得してシーン部品に提供し、あるいはデータを更新する。データは抽象化されたアドレスに記憶され、レコード部によってアクセスされる。これにより、複数のプログラムが共用するデータが重複なく記憶され、データの変更に対してはレコード部のマッピング手段の定義を変更させることによって容易に対応することができる。
【発明を実施するための最良の形態】
【００２６】
次に、本発明によるビジネスロジックプログラムを実装・実行するための装置、方法、及びプログラムの実施の形態について以下に説明する。
【００２７】
理解容易のために、最初にビジネスロジックプログラムを実行する装置・方法について説明し、後に実装する装置・方法について説明する。
【００２８】
図１は、本発明の一実施形態によるビジネスロジックプログラムを実装・実行するための装置の構成とその概略の処理の流れを説明的に示している。
【００２９】
本発明のビジネスロジックプログラムを実装・実行するための装置は、クライアントサーバーシステムに限られないが、本実施形態のビジネスロジックプログラムを実装・実行するための装置１は、図１のようにクライアントサーバーシステムの形態をとる。
【００３０】
ビジネスロジックプログラムを実装・実行するための装置１は、クライアント側に配置された電文分解部２、サーバー側に配置されたサービス部３、モデルマネージャー部４、レコード部５、サーバーに属するとは限らないがサーバーから参照可能な場所にあるエンティティー部６を有している。
【００３１】
また、サーバーは、各種の情報を含むコンテキストを記憶するための記憶手段７を備えている。コンテキストは、サービス部３、モデルマネージャー部４がプログラムを実行する際に、参照する種々の情報である。
【００３２】
電文分解部２は、クライアントからの要求電文を分解し、データの定義と、サービスオブジェクトの呼び出しに変換する手段である。
【００３３】
電文分解部２は、クライアント側に位置して、クライアントからビジネスロジック処理の要求を受けて、そのビジネスロジック処理名に対応する処理結果をクライアントに返す。
【００３４】
サービス部３は、個々のビジネスロジック処理に依存しないファシリティ処理、すなわち、ジャーナル記録やトランザクション管理、あるいは業務フローの制御、あるいは前記電文分解部２との接続、モデルマネージャーの呼び出し等、の処理を行う手段である。
【００３５】
サービス部３は、クライアント側からビジネスロジック処理に入る入り口となるレイヤーとなる。
【００３６】
サービスオブジェクトはサービス部３にあって、サービス部３で行う処理を管理するオブジェクトである。サービス部３で行う処理、すなわちサービスオブジェクトが管理する処理をサービスフローという。
【００３７】
サービス部３は、電文分解部２から入力した情報に基づいてサービスフローを特定し、その処理を実行する。実際にはサービス部３は、トランザクションを管理し、または、ジャーナルを記録し、サービスフローに対応するモデルマネージャーを呼び出す機能を果たす。
【００３８】
サービス部３は、個々のビジネスロジック処理の内容に関係がない部分のファシリティ処理をビジネスロジック処理の内容に関するプログラムから切り離す役割を果たす。
【００３９】
モデルマネージャーを呼び出すにあたっては、サービス部３は、記憶手段７に記憶されたビジネスロジック処理名とモデルマネージャーとシナリオの関係を定義した定義ファイルを参照して該当するモデルマネージャーを呼び出す。
【００４０】
モデルマネージャー部４は、ビジネスロジック処理を実行する手段である。すなわち、モデルマネージャー部４がビジネスロジックの実際の処理、たとえばデータの照合、検索、変換等を行うのである。
【００４１】
モデルマネージャー部４は、個々のビジネスロジック処理に対応して定義された複数のモデルマネージャーを有している。各モデルマネージャーはその作動内容がカスタマイズされている。
【００４２】
ここで、「シーン部品」とは、ビジネスロジック処理の一片、すなわちデータの存在や関連をチェックする処理、分岐を制御する処理、データの登録更新削除を行う（アプライ）処理、データの結合代入を行う処理等、個々の定型処理を記述したプログラム部品である。
【００４３】
「シナリオ」とは、ビジネスロジック処理をシーン部品の組合せによって記述したものである。すなわち、シナリオはシーン部品の構造体ということができる。
【００４４】
シナリオはたとえば、項目がＡだったらＢに変換し、項目の補充を行い、関連チェックを行い、計算を行い、返り電文を構築し、・・・というような一連の処理を記述したものである。
【００４５】
「データオブジェクト」とは、ビジネスロジック処理の実行時に使用されるデータを保持したものである。データオブジェクトはシナリオによって参照される。なお、データオブジェクトは記憶手段７によって保持される。
【００４６】
各モデルマネージャーは、それぞれシナリオを定義されており、そのシナリオに応じて必要なシーン部品を呼び出し、実行させる。実行時には必要に応じてデータオブジェクトを参照する。
【００４７】
すなわち、モデルマネージャーは、必要なシーン部品をシナリオから取得し、動的にローディングし、それらのシーン部品の動作をシナリオから取得し、動的動作をシーン部品に指示し、必要なデータ（エンティティー：データの実体をいう）を動的に取得し、電文との動的マッピングを行う。
【００４８】
レコード部５は、データへのアクセスを抽象化する手段である。すなわち、レコード部５は、ビジネスロジック処理における有意なデータを抽象化されたアドレスに格納されたデータに対応させる手段ということができる。「抽象化されたアドレス」とは、データの項目や属性等とは関係なく数値化されたアドレスを言う。
【００４９】
レコード部５は、抽象化されたデータベースのデータとビジネスロジック処理で取得あるいは更新する有意なデータとを対応させるマッピング手段を有している。
【００５０】
レコード部５は、ビジネスロジック処理に使用されるデータベースのデータを抽象化させることに意味がある。
【００５１】
すなわち、データを抽象化させることにより、複数のビジネスロジック処理が参照する共通データについては、レコード部５のマッピング手段によって対応させればよく、複数のデータを重複して用意する必要がなくなる。また、より重要なこととして、データベースの再利用性を高めることができるのである。
【００５２】
エンティティー部６は、抽象化されたアドレスにデータを格納するデータベースを有する手段である。
【００５３】
図１に示すように、ビジネスロジックプログラムを実装・実行するための装置１によれば、クライアントから所定のビジネスロジック処理の要求電文が発せられると、電文分解部２がその要求電文を分解しサービスオブジェクトを呼び出す。サービスオブジェクトの呼び出しはサービスオブジェクトの識別子による。次に、サービス部３がビジネスロジック処理名に応じてジャーナル記録、あるいは、トランザクション管理を行い、ビジネスロジック処理名に対応するモデルマネージャーを呼び出す。次に、モデルマネージャー部４はその処理を行うモデルマネージャーを呼びだし、そのモデルマネージャーは定義されたシナリオに従って必要なシーン部品を呼び出し、それらのシーン部品を定められた順序通りに実行する。シーン部品の実行の間にシーン部品はレコード部５を通じてエンティティー部６に対してデータの取得あるいは更新を行う。そのようにして処理した結果は、出力のデータオブジェクトとしてサービス部３に返され、サービス部３は、当該処理結果を電文分解部２に返す。電文分解部２は必要な電文変換を行って発信元のクライアントに処理結果を返すのである。
【００５４】
図２は、ビジネスロジックプログラムを実装・実行するための装置１の処理で使用される処理手段とソフトウェア上の要素とそれらの内容または機能を示している。
【００５５】
図２に示すように、ビジネスロジックプログラムを実装・実行するための装置１は、処理手段として既述の電文分解部２とサービス部３とモデルマネージャー部４とレコード部５とエンティティー部６を有している。
【００５６】
その他に、ビジネスロジックプログラムを実装・実行するための装置１は、ソフトウェア上の要素として、シーン部品８と、データオブジェクト９とを有している。
【００５７】
シーン部品８は、ビジネスロジック処理の定型処理を規定したプログラム部品である。図２に示すように、シーン部品８の主要なものとして、チェックシーン部品、アプライシーン部品、制御シーン部品、データオブジェクト制御部品等が挙げられる。
【００５８】
チェックシーン部品は、データの存在やデータ間の矛盾をチェックするプログラム部品である。アプライシーン部品は、データの登録、更新、削除を行うプログラム部品である。制御シーン部品は、分岐制御、ループ制御を行うプログラム部品である。データオブジェクト制御部品は、入出力データの代入、結合等の操作を行うプログラム部品である。
【００５９】
ビジネスロジック処理は、上述したシーン部品によってほとんど記述することができる点は注目すべきである。
【００６０】
データオブジェクト９は、データの参照、保管等を行うオブジェクトである。
【００６１】
データオブジェクト９は、シナリオから参照可能であり、単票型（一行データ）と伝票型（ヘッダ部、明細行部をもつデータ）が用意されている。データオブジェクト９には、入力データオブジェクトと出力データオブジェクトの２種類がある。
【００６２】
なお、図２に示したロギング機能とは、要求電文の処理権限をチェックするなど、安全性（セキュリティー）を確保する機能である。また、キャッシュ機能は、すべに参照したデータ等を一時的に保持し、たとえば同一エンティティーへのアクセスを省略し、キャッシュメモリから読みとるようにした機能である。
【００６３】
次に、サービス部３、モデルマネージャー部４、レコード部５のそれぞれの処理について図３〜図５を用いて説明する。
【００６４】
図３はサービス部３の処理を示している。
【００６５】
図３に示すように、サービス部３は電文分解部２からサービスオブジェクトの識別子を指定されることにより、対応するサービスオブジェクトを呼び出す。次に、定義ファイルからそのサービスオブジェクトが実行すべきコマンド等の情報を取得する。なお、定義ファイルには、処理形態（ジャーナル記録まはたトランザクション管理）、モデルマネージャー、シナリオ等が定義されている。
【００６６】
サービス部３は、上記定義ファイルから取得した情報に基づいて各コマンドを実行する。すなわち、ジャーナル記録またはトランザクション管理を行い、モデルマネージャー部４に対してモデルマネージャーとシナリオを呼び出す。
【００６７】
図４はモデルマネージャー部４の処理を示している。
【００６８】
図４に示すように、モデルマネージャー部４は、サービス部３からモデルマネージャーやシナリオ等の情報を含む入力データオブジェクトを受け取り、そのシナリオ名に対応するように、シナリオを記録したファイルとモデルマネージャーを記録したファイルとエンティティー名を記録したファイルから必要な情報を得てシナリオを形成する。次にモデルマネージャーにより、形成したシナリオを実行する。シナリオの実行においては、入力データオブジェクトの値を参照しながらビジネスロジック処理を実行し、必要に応じてレコード部５を通じてエンティティー部６にアクセスし、入力データオブジェクトの値を更新する。
【００６９】
図５はレコード部５の処理を示している。
【００７０】
図５に示すように、レコード部５は、モデルマネージャー部４からエンティティーへのアクセスを要求されると、エンティティー定義とエンティティー属性のファイルから要求されたエンティティーのコンフィグ（定義）を取得する。次にレコード部５は、要求されたエンティティーにアクセスするためのマッピングを取得し、そのマッピングに従ってエンティティーへの値の代入、エンティティーの値の取得等を行う。その際に、すでにアクセスして保持しているエンティティーであれば、キャッシュ機能によりメモリから直接取得することができる。
【００７１】
このようにして取得したエンティティーは、モデルマネージャー部４に返される。
【００７２】
以上がビジネスロジック処理の実行に関する説明であった。次に、ビジネスロジックプログラムの実装について説明する。
【００７３】
図６は、本発明によるビジネスロジックプログラムの実装を説明的に示したものである。
【００７４】
上記説明したように、本発明によれば、シーン部品、シナリオ、モデルマネージャー、サービスオブジェクト、によってビジネスロジック処理を実行することができる。したがって、ビジネスロジックプログラムの実装においては、上記シーン部品、シナリオ、モデルマネージャー、サービスオブジェクトが作動するように定義することによって、ビジネスロジックプログラムを実装することができる。
【００７５】
図６に示すように、本発明のビジネスロジックプログラムを実装・実行するための装置は、ビジネスロジック生成手段１０を有している。
【００７６】
ビジネスロジック生成手段１０は、所定のビジネスロジックの処理で使用される情報の定義と、定型処理を行うシーン部品の指定と、前記シーン部品の実行を定義するシナリオの定義と、前記シーン部品が取得あるいは更新するデータの定義とを行わせる手段である。
【００７７】
ビジネスロジック生成手段１０は好ましくは上記定義を視覚的に入力することができるインターフェースを提供する。この視覚的インターフェースによりプログラム言語の知識を有しない者でも、シーン部品を使用してシナリオを容易に組み立てられるようになる。
【００７８】
ビジネスロジックプログラムを実装するには、シーン部品とビジネスロジック処理の設計情報が必要である。ビジネスロジック処理の設計情報とは、具体的には画面項目定義、入出力電文定義、ユーザープロファイル定義、処理概要定義、締め処理方式、権限レベル定義等の定義を行うための情報である。
【００７９】
すなわち、ビジネスロジック処理の設計情報は、ビジネスロジック処理を行う主体、処理を行う対象である客体、参照するデータ等を定義するための情報ということができる。
【００８０】
ビジネスロジック生成手段１０は、ビジネスロジック処理の設計情報によってビジネスロジック処理の主体と客体と参照データとを定義させ、具体的な処理内容についてはシーン部品を組み合わせることによってシナリオを生成し、併せてファリシティ処理を定義してサービスフローを生成させる。
【００８１】
生成された設計情報の定義やシナリオ、サービスフロー等の情報は定義ファイルとして記録され、ビジネスロジックプログラムの実行装置の使用に供される。一方、参照されるデータとして、エンティティーが作成され、これもビジネスロジックプログラムの実行装置の使用に供される。
【００８２】
以上により、本発明のビジネスロジックプログラムを実装・実行するための装置、方法、及びプログラムによれば、ビジネスロジック処理の設計情報と実装が一人の者によって行われ、かつ、設計情報から直接プログラムの実装が行われる。このため、ビジネスロジック処理の設計情報と実装の間に矛盾を生じることがない。従って、従来のように、設計情報から生成されたソースコードをカスタマイズすることにより、設計情報と実装されたプログラムの間に不整合が生じ、その不整合を確認するために多大な時間をかけてプログラムをチェックする必要がなくなるのである。
【００８３】
また、本発明のビジネスロジックプログラムを実装・実行するための装置、方法、及びプログラムによれば、ビジネスロジック生成手段によってシーン部品を組み立てることによって、ビジネスロジック処理を記述することができるので、プログラム言語に習熟した人間によってプログラムを実装する必要がない。これにより、プログラム言語に習熟していない人間でも、ビジネスロジックプログラムを実装することができるようになる。
【００８４】
また、本発明のビジネスロジックプログラムを実装・実行するための装置、方法、及びプログラムによれば、ビジネスロジック処理を、処理の具体的な要件である処理の主体、客体、参照データを定義させ、一方、処理の具体的な要件に関係しない定型的な処理をシーン部品化することにより、シーン部品の再利用性がきわめて高くなる。
【００８５】
たとえば、異なるビジネスロジック処理のプログラムを生成するときは、そのビジネスロジック処理の具体的な要件である主体、客体、参照データを定義すれば、すでに定義されたシナリオ（プログラム処理の流れ）をそのまま流用することが可能になる。
【００８６】
また、処理の具体的な要件に関係しない定型的な処理をシーン部品化することにより、各シーン部品が具体的な事情によって影響されないので、大きなまとまりとして作成することができる。これにより、プログラム部品が大きくなり、これを組み立ててプログラムを実装する際には、きわめて効率よくプログラムを既述、実装することができるようになる。
【００８７】
さらに、シーン部品は、必要なビジネスロジック処理に応じて作成でき、種々のビジネスロジック処理に対応できる高い拡張性を得ることもできる。
【００８８】
同時に、シーン部品とシーン部品は互いに関係なく作成できるので、シーン部品間で影響を及ぼすことがなく、プログラム部品の改変によって他のビジネスロジックプログラムに影響が及ぶことがない。
【００８９】
以上の説明から明らかなように、本発明のビジネスロジックプログラムを実装・実行するための装置、方法、及びプログラムによれば、プログラム言語に習熟していない者でも、シーン部品を組み合わせることによってビジネスロジック処理用のプログラムを容易に実装することができる。
【００９０】
また、ビジネスロジック処理の設計情報を考えた者とプログラムを実装する者を同一の者によって行うことができ、設計情報と実装の間の不整合性がなく、従来設計情報と実装プログラムの間の整合性をチェックしていた手間や時間を省略することができる。
【００９１】
また、本発明によるシーン部品は、ビジネスロジック処理の具体的な事情や要件とは切り離されているので、種々のビジネスロジックプログラムの実装に再利用することができる。同様に、具体的な事情に影響されないので、シーン部品を大きなかたまりとして作成することができ、これらを組み立ててプログラムを実装する際に、きわめて効率が高い実装作業を実現することができる。
【００９２】
さらに本発明によれば、ビジネスロジック処理の主体や処理対象や参照するデータ等の定義をすることにより、プログラム部品のみならず、従来のビジネスロジックのメインプログラムに該当するシナリオを再利用することもできる。
【００９３】
さらにまた、本発明によれば、シーン部品は互いに関係なく作成できるので、種々のビジネスロジック処理に対応して拡張することができる。同じ理由により、本発明によれば、シーン部品を改変する場合に、他のシーン部品に影響を与えることがなく、他のシーン部品を使用する他のビジネスロジック処理には影響を与えることがないという利点を有する。
【図面の簡単な説明】
【００９４】
【図１】本発明の一実施形態によるビジネスロジックプログラムを実装・実行するための装置の構成と処理の流れを示すブロック図。
【図２】本発明の一実施形態によるビジネスロジックプログラムを実装・実行するための装置の処理手段とソフトウェア上の要素を示した図。
【図３】サービス部の処理の流れを示したブロック図。
【図４】モデルマネージャー部の処理の流れを示したブロック図。
【図５】レコード部の処理の流れを示したブロック図。
【図６】本発明によるビジネスロジックプログラムの実装を説明する図。
【符号の説明】
【００９５】
１ ビジネスロジックプログラムを実装・実行するための装置
２ 電文分解部
３ サービス部
４ モデルマネージャー部
５ レコード部
６ エンティティー部
７ 記憶手段
８ シーン部品
９ データオブジェクト
１０ ビジネスロジック生成手段
【図１】
2007242051.tif 000003
【図２】
2007242051.tif 000004
【図３】
2007242051.tif 000005
【図４】
2007242051.tif 000006
【図５】
2007242051.tif 000007
【図６】
2007242051.tif 000008