(57)【要約】本発明によれば、前記方法は、以下の特徴を有する。すなわち、トランザクション処理モジュール（ＶＧＡ１、ＶＧＡ２、ＶＧＡ３、ＶＧＡ４）は、当該トランザクション処理モジュールを実行するための必要なデータをデータオブジェクト内に記憶し、かつ、コンテキストマネージャがシリアライゼーションコンポーネントを呼び出すことにより、バックアップされ、及び／又は修復され、データストリームは、前記データオブジェクトに記憶されるデータに基づいて生成され、前記データストリームは、前記データオブジェクトに記憶されるデータを修正する手続きのチェックポイントとともに、前記リカバリーマネージャによってバックアップメディアに記憶され、前記データストリームは、当該データストリームとともに記憶される手続きのチェックポイントに基づいて、前記バックアップメディアから読み出される。また、前記方法を実行するための手段を具備するブランチシステムについても開示する。
2008530668.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つのトランザクション処理モジュールを具備するデータベースをバックアップする、及び／又は修復する方法であって、
前記トランザクション処理モジュールは、当該トランザクション処理モジュールを実行するための必要なデータをデータオブジェクト内に記憶し、かつ、コンテキストマネージャがシリアライゼーションコンポーネントを呼び出すことにより、バックアップされ、及び／又は修復され、
データストリームは、前記データオブジェクトに記憶されるデータに基づいて生成され、
前記データストリームは、前記データオブジェクトに記憶されるデータを修正する手続きのチェックポイントとともに、前記リカバリーマネージャによってバックアップメディアに記憶され、
前記データストリームは、当該データストリームとともに記憶される手続きのチェックポイントに基づいて、前記バックアップメディアから読み出される、
ことを特徴とする方法。
【請求項２】
前記データは、データコンテナの状態及びコンテンツがバイナリデータストリームに変換されて記憶される、ことを特徴とする請求項１に記載の方法。
【請求項３】
データオブジェクトを記憶するためのデータコンテナは、前記トランザクション処理モジュールにおいて生成される、ことを特徴とする請求項１若しくは請求項２のうちいずれか一項、又は両方に記載の方法。
【請求項４】
前記データオブジェクトは、前記データの値を含む、ことを特徴とする請求項１から３のうち一項以上に記載の方法。
【請求項５】
前記トランザクション処理モジュールによって取得される、及び／又は処理されるデータ要素は、それぞれデータオブジェクトに関連付けられる、ことを特徴とする請求項１から４のうち一項以上に記載の方法。
【請求項６】
前記データコンテナは、トランザクションの全ての状態を記憶する、ことを特徴とする請求項１から５のうち一項以上に記載の方法。
【請求項７】
前記データオブジェクトは、前記データのプロパティを記憶する、ことを特徴とする請求項１から６のうち一項以上に記載の方法。
【請求項８】
前記データのプロパティは、許容値の限界を示す、ことを特徴とする請求項７に記載の方法。
【請求項９】
前記方法は、複数のトランザクション処理モジュールを具備するネットワーク内にて行なわれ、当該トランザクション処理モジュールは、コンテキストマネージャに接続可能であるとともに、前記コンテキストマネージャは、複数のサービスコンポーネントだけでなく、少なくとも一つのトランザクション処理モジュールに接続されるように構成される、ことを特徴とする請求項１から８のうち一項以上に記載の方法。
【請求項１０】
前記コンテキストマネージャは、前記トランザクション処理モジュールに対する中央制御手段として、また、前記トランザクション処理モジュールに対する中央サービスプロバイダとして構成される、ことを特徴とする請求項９に記載の方法。
【請求項１１】
前記コンテキストマネージャは、ＩＳｕｐｐｏｒｔＳｅｒｖｉｃｅのインターフェースに接続されるとともに、前記インターフェースは、接続されるサービスコンポーネントの存在に関するクエリを許可するように構成される、ことを特徴とする請求項９又は請求項１０に記載の方法。
【請求項１２】
データ送信は、通知コンポーネントによって実行される、ことを特徴とする請求項１から１１のうち一項以上に記載の方法。
【請求項１３】
前記通知コンポーネントは、当該通知を送信するための送信ルートを選択するセレクションモジュールを具備する、ことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記トランザクション処理モジュールのシーケンスプランは、一つのトランザクション処理モジュールが始動されるときに読み込まれる構成ファイル内に記憶される、ことを特徴とする請求項１から１３のうち一項以上に記載の方法。
【請求項１５】
制御構成ファイル、及び／又はデータコンテナ構成ファイルは、ＸＭＬフォーマットによって提供される、ことを特徴とする請求項１から１４のうち一項以上に記載の方法。
【請求項１６】
請求項１から１５のうち一項以上に記載の方法を実行する手段を具備する、ことを特徴とするブランチシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースをバックアップする方法に関する。
【０００２】
また、本発明は、前記方法を利用したブランチシステムに関する。
【背景技術】
【０００３】
特許文献１において、ネットワークベースの記憶システムであって、前記記憶システムは、複数の記憶用ディスクドライブを具備し、かつ、前記記憶用ディスクドライブは、ピアツーピア上でネットワークを介して相互に接続され、さらに、記憶コーディネータは、前記ドライブ上のファイル保存を制御し、その上、前記記憶コーディネータは、選択された前記ドライブのグループを特定し、前記記憶コーディネータは、選択されたファイルグループを記憶するように、ドライブをコーディネートする、記憶システムが開示されている。
【０００４】
さらに、最新技術では、データを異なるバックアップメディアに記憶し、当該記憶された情報に基づいたデータの修復が必要な際に、異なるバックアップメディアからのデータを相互に繋ぎ合わせる、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｒｉｖｅｓ）処理が知られている。
【特許文献１】国際特許公報ＷＯ０２／０６５３２９号パンフレット
【０００５】
可能な限り最も簡素な方法で拡張又は修正可能なシステムを提供するために、そのようなシステムをモジュール構造にすることが公知のプロシージャである。このモジュールは、複数の他のコンポーネントによって利用されるように標準化されたコンポーネントである。より良くは、新規のコンポーネントが「プラグアンドプレイ」にて接続可能であり、全システムを適応させる必要がないものである。
【０００６】
さらに、データ処理システム内においてチェックポイントを利用することは公知のプロシージャである。公知のチェックポイントは、データの一致性を検証するデータ要素である。
【０００７】
データベースをバックアップする方法を具備することが望ましい。そして、当該データベースをバックアップするために、可能な限り最も小さいデータ容量が送信される必要がある。
【０００８】
さらに、データ送信、及び可能な限り効果的、並びに、可能な限り少ない送信資源を用いるデータの送信の、可能な限り高い汎用性を実現することが望ましい。
【発明の開示】
【０００９】
本発明によれば、請求項１によるデータベースのバックアップ及び／又は修復方法だけでなく、請求項１６によるブランチシステムが提供される。
【００１０】
本発明の有利な改良は、従属項２から１５によって示される。
【００１１】
さらに、データベース、又は複数のデータベースを具備するデータベースシステムをバックアップする方法であって、当該データベースは、第一のドライブに具備され、トランザクションディレクトリだけでなく当該データベースも、第二のドライブにコピーされ、当該データベースは、バックアップメディアにコピーされ、データレコードが前記第一のドライブに付加され、トランザクション入力が前記第二のドライブのトランザクションディレクトリに付加される、ように構成される、データベース、又は複数のデータベースを具備するデータベースシステムをバックアップする方法を実行することが提案される。
【００１２】
さらに、データベースを第一のドライブに具備し、そこにデータを保存することが好ましい。このデータのコピーは、第二のドライブ及びバックアップメディアに保存される。さらに、データレコードが、前記第一のドライブのデータベースに付加されると、トランザクション入力が前記第二のドライブのトランザクションディレクトリ内に生成される。
【００１３】
適宜増大したトランザクションディレクトリは、バックアップメディアにコピーされる。
【００１４】
これらの方法構成要素の利用は、基本的に本願における処理手順の全てと組み合わせることが可能である。
【００１５】
特に、これらの処理手順と請求項に係る処理手順とを組み合わせることが好ましい。
【００１６】
その上、請求項同士の組み合わせもまた、好ましい。
【００１７】
本発明の特に好ましい実施形態は、請求項１及び４に係る方法をそれぞれ組み合わせること、及び／又は請求項１及び４に係る方法を従属項に係る方法と組み合わせることを提案する。
【００１８】
特に、個々の上述の方法は、少なくとも一つのトランザクション処理モジュールを具備するデータベースをバックアップする、及び修復する方法における修復の質を向上できる。しかし、複数の特徴を組み合わせることは、非常に有利である。
【００１９】
本発明は、基本的にあらゆる種類のデータベースをバックアップする方法に適するが、複雑な構造を有するデータベースシステムのバックアップに利用することが特に好ましい。
【００２０】
特に、本発明は、ブランチシステム内に記憶され、及び／又は処理されるデータを含むデータベースシステムへの利用に適している。
【００２１】
ブランチシステムは、特に、多数の（好ましくは物理的に離間している）販売箇所（ブランチ）において、グッズ及び／又はサービスが、販売される及び／又は提供されるシステムである。
【００２２】
「ブランチ」とは、限定された意味で解釈されるものではなく、サービスの提供を受けることができる、自動販売機又は他の端末をも包含する。この例は、旅行用チケット、自動販売機又は予約端末等である。
【００２３】
上述のブランチは、ブランチシステムの入力側を形成する。好ましくは、このブランチシステムは、トランザクション処理に関連するデータが記憶される出力側をも包含するものである。
【００２４】
好ましくは、ブランチの入力側であるブランチは、適宜のデータ接続ラインを介して接続されるものである。
【００２５】
「データ接続ライン」とは、もちろん、ワイヤレス送信ルートだけでなく、配線による接続も包含する。
【００２６】
この選択に際し、送信率及び／又は他の送信条件を考慮に入れることが好ましい。
【００２７】
前記方法を実行するためのブランチシステムを具備する他の手段は、当該必要条件に適応されるものである。
【００２８】
特に、技術的及び／又は手続のチェックポイント、コンテキストマネージャ、及びリカバリーマネージャは、ブランチシステムにおいて本発明を利用する特に好ましい手段の例である。
【００２９】
しかし、これらの手段は一つ一つが、データセキュリティ及び／又は処理スピードの向上に寄与するため、これらの手段を全て利用する必要はない。
【００３０】
さらに、これら、又は本願に述べる他の手段のいくつかを組み合わせることは、特に好ましい。
【００３１】
トランザクション処理モジュールは、当該トランザクション処理モジュールを実行するための必要なデータをデータオブジェクト内に記憶し、かつ、コンテキストマネージャがシリアライゼーションコンポーネントを呼び出すことにより、バックアップされ、及び／又は修復され、データストリームは、前記データオブジェクトに記憶されるデータに基づいて生成され、前記データストリームは、前記データオブジェクトに記憶されるデータを修正する手続きのチェックポイントとともに、前記リカバリーマネージャによってバックアップメディアに記憶され、前記データストリームは、当該データストリームとともに記憶される手続きのチェックポイントに基づいて、前記バックアップメディアから読み出される、ことが好ましい。
【００３２】
それゆえ、本発明では、トランザクション処理モジュールは当該トランザクション処理モジュールを実行するための必要なデータをデータオブジェクト内に記憶し、かつ、コンテキストマネージャがシリアライゼーションコンポーネントを呼び出すことにより、バックアップされ、及び／又は修復され、データストリームは生成され、前記データストリームは、前記リカバリーマネージャによってバックアップメディアに記憶され、前記データストリームは、当該データストリームとともに記憶される手続きのチェックポイントに基づいて、前記バックアップメディアから読み出される、ことを提案する。
【００３３】
ここで、前記バックアップメディアは、修復に際し、データ修復のためのトランザクション保護用データ資源として機能することが特に好ましい。
【００３４】
占有される記憶用メディア資源を減らすために、増大したトランザクションディレクトリがバックアップメディアにコピーされた後、前記第二のドライブに保存された前記トランザクション入力は削除される。
【００３５】
クライアントの最新の状態は、技術的及び／又は手続のチェックポイントとして記憶されることが特に好ましい。
【００３６】
本発明の特に好ましい実施形態は、技術的チェックポイントだけでなく手続のチェックポイントを具備するデータ処理システムに関する。
【００３７】
タイプの異なる二つのチェックポイントを利用することによって、データセキュリティ及びデータ修復スピードを飛躍的に向上させることが可能となる。
【００３８】
より良くは、本発明に係るこのチェックポイントは、（公知のチェックポイントに対応し）データの一致性を検証するデータ要素である。
【００３９】
前記技術的チェックポイントは、コンテキストマネージャのバックアップのデータスタックのコンテンツをバックアップすれば、より良い。
【００４０】
特に、トランザクション処理モジュールのコンテンツをバックアップするために技術的なチェックポイントを利用することが好ましい。本発明の特に好ましい実施形態では、前記技術的なチェックポイントは、データスタック内にトランザクション処理モジュールのデータコンテンツの記憶シーケンスに関する情報、特に、トランザクション処理モジュールのコンテンツに関する情報を含むものである。
【００４１】
この技術的チェックポイントは、トランザクション処理モジュールがトップモストスタックに記憶されることに関する情報を含む。
【００４２】
より良くは、前記技術的チェックポイントは、新規のチェックポイントが生成されるときに当該新規のチェックポイントによって書き換えられるものである。
【００４３】
本発明の特に好ましい実施形態は、唯一の技術的チェックポイントを生成することを提案する。
【００４４】
前記手続きのチェックポイントは、バックアップされるデータに関する情報を具備する。
【００４５】
前記手続きのチェックポイントは、新規のチェックポイントが生成された場合でも、上書きされないことが特に好ましい。
【００４６】
さらに、前記手続きのチェックポイントに満了日付を具備させること、及び、満了日付になるまで、それらをデータ処理システム内、及び／又は記憶メディア内に記憶することが好ましい。
【００４７】
本発明の特に好ましい実施形態は、満了日付だけでなく技術的チェックポイントのデータコンテンツを具備する手続のチェックポイントを提案する。
【００４８】
上述のような手続のチェックポイントは例えば、一つのトランザクション処理（トランザクション処理のコンテンツ）に付随する、技術的にバックアップされた全ての情報を具備するが、前記満了日付をバックアップするために付加的な情報をも具備する、チェックポイントである。
【００４９】
例えば、これは、ブランチシステムにおいて処理トランザクションが顧客のために処理されているとき、当該実行中の顧客のトランザクションは、仮想ショッピングカート内に記憶されること、そして、当該仮想ショッピングカートは、トランザクション処理モジュール内におけるトランザクション処理の中断後でも、当該仮想ショッピングカートに記憶されたトランザクション情報を考慮して、当該トランザクションの復元を可能にするために、満了日付にリンクされること、を意味する。
【００５０】
本発明の特に好ましい実施形態は、トランザクション処理モジュールをバックアップ及び／又は修復するために、当該トランザクション処理モジュールの全機能を実行するために重要、若しくは、検証目的のために記憶される全データは、データオブジェクト内に記憶され、さらに、当該データオブジェクトは、他のドライブ又はバックアップメディアに記憶され、所定のチェックポイントにおける復元時に、当該データオブジェクトの値は修復される、ことを提案する。
【００５１】
本発明に係るドライブとして、当業者は、最も持続性、及び／又は最も適時性を有する、データの記憶及び／又はデータの読み出しが可能な全ての記憶メディアを適用することができる。ハードディスクドライブ、磁気記憶ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、及びＴｅｓａ−ＲＯＭのようなホログラフィック記憶メディアに加えて、原理の問題として、例えば、半導体記憶装置等、データ記憶に適した他の構成物を利用することも可能である。
【００５２】
前記バックアップメディアとして、好ましい記憶メディアは、データ記憶の持続性が最も長いものである。基本的に、同一のタイプの記憶メディアが、バックアップメディアとして前記ドライブに利用されることが適当である。特に、ここでもハードディスクドライブ、磁気記憶ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、及びＴｅｓａ−ＲＯＭのようなホログラフィック記憶メディアを用いることが好ましい。
【００５３】
さらに、データをデータコンテナの状態及びコンテンツをバイナリデータストリームに変換して記憶することが好ましい。
【００５４】
このようなデータコンテナの状態及びコンテンツのバイナリデータストリームへの変換は、シリアル化としても言及される。
【００５５】
データのシリアル化は、基本的に公知のプロシージャであるが、本発明の特に好ましい実施形態は、前記シリアル化は、当該データをバックアップ及び／又は修復する方法の、特にチェックポイントを利用する方法の他の構成要素を組み込む、ことを特徴とする。
【００５６】
このように、前記セキュリティ及び修復スピードは一層に向上される。
【００５７】
さらに、これは、システムクラッシュの場合、及び／又はその他の処理手続きの中断の場合に、データオブジェクト及びデータコンテナ内に存在するトランザクション処理モジュールのデータを修復することが可能となる。
【００５８】
本発明の特に好ましい実施形態は、データオブジェクトを記憶するためのデータコンテナは、トランザクション処理モジュール内にて生成される、ことを特徴とする。
【００５９】
特に、前記デーオブジェクトは、データの値を含むことが好ましい。
【００６０】
好ましくは、取得する、及び／又は処理するための一つ以上のコンポーネントを除いて、前記トランザクション処理モジュールは、特にデータの値を含むデータオブジェクトを記憶するためのデータコンテナを有するものである。データオブジェクトの形で存在する、このトランザクション処理モジュールのデータストックは、例えばシステムクラッシュ後にも簡単に記憶され、修復されることが可能となる。
【００６１】
本発明の特に好ましい実施形態では、前記トランザクション処理モジュールによって取得される及び／又は処理される、それぞれのデータ要素がデータオブジェクトに関連付けられることによって、特に簡素かつ信頼性のあるデータ修復だけでなく、特に包括的なバックアップをも実現する。
【００６２】
さらに、データコンテナは、トランザクションの全ての状態を含むことが好ましい。
【００６３】
より良くは、前記トランザクション処理モジュールによって取得される及び／又は処理される、それぞれのデータ要素は、データオブジェクトと関連付けられるものである。前記データコンテナは、トランザクションの全ての「状態」を含むものである。これにより、全てのトランザクションは、特に簡素にバックアップされ、必要であれば、修復される。データセキュリティのさらなる向上のためには、前記データオブジェクトは、データに加えて当該データのプロパティを含むことが好ましい。
【００６４】
データの値に加えて、前記データオブジェクトは、当該値の許容値の限界を示すデータプロパティを含むものである。このプロパティは、数のフォーマットであり、例えば、値の範囲若しくは所定の離散値、又は文字ストリングの所定の最小長さ及び／又は最大長さを示すものである。
【００６５】
データに関する記述は、個々のデータ要素に適用できる。ここで、「データ」が複数形、又は単数形で用いられているかどうかに関わらず、個々のデータ要素が意味される場合を明らかに含んでいる。
【００６６】
このように、前記トランザクション処理モジュールは、データオブジェクトに記憶されるプロパティが適合された条件の変化に、早急かつ簡素に適応できる。
【００６７】
データコンテナに含まれるデータオブジェクトに基づいて、トランザクションの挙動は規定される。該挙動の構成は、大部分はトランザクション処理モジュールの機能ユニットにおけるセッティングから切り離され、これにより、機能ユニットは大いにトランザクションの大部分で実行される通常操作にアクセスできる。
【００６８】
データ取得は、存在するデータオブジェクトの値が変更されるトランザクション処理モジュールにおいて達成されることが可能である。しかし、同じように、新たなデータオブジェクトを確立すること及び該データオブジェクトに値を入れることも可能である。データを表示するために、データコンテナの値にアクセスすることも同様に可能である。
【００６９】
本方法は、複数のトランザクション処理モジュールを具備するネットワーク内で実行されることが特に好ましく、当該トランザクション処理モジュールは、コンテキストマネージャに接続され、当該コンテキストマネージャは、複数のサービスコンポーネントだけでなく、少なくとも一つのトランザクション処理モジュールと接続される。
【００７０】
本発明の特に好ましい実施形態は、前記コンテキストマネージャは、前記トランザクション処理モジュールに対する中央制御手段として、また、前記トランザクション処理モジュールに対する中央サービスプロバイダとして構成される、ことを特徴とする。
【００７１】
その上、前記コンテキストマネージャは、セッションマネージャと生データコンポーネントとの間のデータ送信を可能とするインターフェースを具備することが好ましい。
【００７２】
前記生データコンポーネントは、生データレコードを生成するものとして機能する。前記コンテキストマネージャは、介在物として機能することが好ましい。すなわち、このコンテキストマネージャは、サービス及び／又は生データコンポーネントのデータを、インターフェースを介して少なくとも一つのトランザクション処理モジュールに転送するものである。
【００７３】
さらに、前記コンテキストマネージャは、ＩＳｕｐｐｏｒｔＳｅｒｖｉｃｅのインターフェースに接続されるとともに、前記インターフェースは、接続されるサービスコンポーネントの存在に関するクエリを許可するように構成される、ことが好ましい。
【００７４】
本発明の特に好ましい実施形態は、データ送信は、通知コンポーネント（ＫＩＳＳ）によって実行される、ことを特徴とする。
【００７５】
ここで、前記通知コンポーネントは、当該通知を送信するための送信ルートを選択するセレクションモジュールを具備する、ことが特に好ましい。
【００７６】
本方法は、前記トランザクション処理モジュールのシーケンスプランは、一つのトランザクション処理モジュールが始動されるときに読み込まれる構成ファイル内に記憶される、ように実行されることが特に好ましい。
【００７７】
本発明のその他の効果、技術的特徴、および実用的な改良については、以下の、従属項の請求項、および図面を参照した好ましい実施形態の説明のとおりである。
【発明を実施するための最良の形態】
【００７８】
図は、それぞれが（好ましくは相互に独立して）記憶されるデータを含む複数のトランザクション処理モジュールを有する、複雑なデータベースを記憶する本発明の実施を示す。
【００７９】
このような複雑なデータベースシステムへの本発明の実施は、複雑なトランザクション、及び可能性のある全てのシステムの個々の構成の部分的な欠陥の場合であっても、処理システムの全てのトランザクションの急速な修復が可能であるため、特に好ましい。
【００８０】
しかし、同様に、あまり複雑でないシステムに、前述の実施形態を適用することも可能である。
【００８１】
以下に示すシステムは、小売システムであることが好ましい。
【００８２】
新規のトランザクションを、アプリケーションプログラムによって実行できるように現存の小売システムに統合可能にするために、新規のコンポーネントを当該現存のシステムに統合する必要がある。保険、証券、物流部門における小売システムの場合には、例えば、銀行口座の開設、保険証券の購入、チケットの販売、又は出荷する小包の投函などの新しいトランザクションがマップされる必要がある。
【００８３】
トランザクション処理モジュールのシーケンスプランの関連付けは、トランザクション処理モジュールが始動されるときに読み込まれる特定の構成ファイルの関連付けを介して実行されることが好ましい。
【００８４】
前記アプリケーションプログラムは、算出手段上で始動され、これによって当該関連付けられる記憶手段の認証ＩＤが読み込まれる。これは、例えば前記算出手段へ入力されるデータベースからワークプレースタイプを読み出すことによって実行される。このＩＤが読み込まれた後、当該記憶手段の認証ＩＤは、手入力でトランザクション処理モジュールの認証ＩＤ１及び認証ＩＤ２と比較され、当該トランザクション処理モジュールと関連付けられた記憶手段とが、認証ＩＤによって確認される。
トランザクション処理モジュールの認証が、読み込まれた認証ＩＤと合っている場合は、付随するトランザクション処理モジュール又はトランザクション処理モジュールは、前記アプリケーションプログラムに関して始動可能なトランザクション処理モジュールとして特定される。これらトランザクション処理モジュールの一つが始動されると、特定のシーケンスプランが読み込まれ、関連付けられるマスク作業領域が、グラフィックユーザーインターフェース（ＧＵＩ）上で表示される。
【００８５】
トランザクション処理モジュールは、全システムのスターティングモジュールによって始動されることが好ましい。そして、当該トランザクション処理モジュールの少なくとも一つのコントローラと、機能ユニットと、データコンテナとが、始動時に初期化されるものである。さらに、コントローラ構成ファイルは、当該コントローラの初期化のために読み込まれる。そして、当該コントローラ構成ファイルは、当該付随するトランザクション処理モジュールのシーケンスプランを示す構成を含むものである。さらに、データコンテナ構成ファイルは、当該データコンテナを初期化するために読み込まれる。そして、当該データコンテナ構成ファイルは、当該付随するトランザクション処理モジュールのデータコンテナのデータオブジェクト構成、及び、前記マスク作業領域と、機能ユニットと、データコンテナとの間を接続する操作構成を含むものである。前記コントローラ構成ファイル及び／又はデータコンテナ構成ファイルは、ＸＭフォーマットにて提供されることが好ましい。
【００８６】
本発明に係るシステムの始動の特に好ましい実施形態について以下に示す。
まず、メソッドＳｔａｒｔ（）がＡｐｐｌｉｃａｔｉｏｎＭａｎａｇｅｒ上に呼び出される。このサービスの初期化は、このメソッドによって実行される。つまり、前記コンポーネントはサービスパターンを介してトランザクションタイプをサービスとして利用可能にされるコンポーネントが生成される。このため、中央のＳｅｒｖｉｃｅＨａｎｄｌｅｒが構築され、例えばＩＩｎｆｏｒｍａｔｉｏｎ又はＩＱｕｉｃｋｌａｕｎｃｈとして常に存在するサービスが入力される。さらに、アプリケーション構成ファイルで示されるサービスは、そこで入力され、かつ、構築される。
【００８７】
全てのサービスが構築され、入力されると、ＥｒｒｏｒＨａｎｄｌｅｒ及びＦｅｅｄｂａｃｋＣｏｎｔｒｏｌが初期化される。次に呼び出されるメソッドＳｔａｒｔｕｐＣｈｅｃｋ（）では、まず、古いチェックポイント、つまり、有効期限の切れたチェックポイントが削除される。次に、有効なチェックポイントがまだ存在するかどうかチェックし、存在する場合は、ロードされる。さらに、次のステップで残りのチェックが行われる。ここで不一致が確認される場合は、ＦｅｅｄｂａｃｋＣｏｎｔｒｏｌにて表示される。始動時の最新の作業は、前記アプリケーション構成ファイルに定義される第一のトランザクションタイプの表示だけでなく、存在し得る修復ケースに関する情報が送信されるＣｏｎｔｅｘｔＭａｎａｇｅｒの構築と始動である。
【００８８】
前記コントローラは、データコンポーネントを初期化し、トランザクション処理モジュールの第一のマスク作業領域は、確認され、初期化される。このマスク作業領域の制御要素は、グラフィックユーザーインターフェース上に表示され、これにより、当該マスク作業領域は、データコンポーネントを介してデータコンテナのデータオブジェクトにアクセスできる。
【００８９】
関連付けられた記憶手段を有するトランザクション処理モジュールが、認証ＩＤの認証手段によって前記アプリケーションプログラムの起動可能なトランザクション処理モジュールとして定義付けられると、当該付随するトランザクション処理モジュールに対する制御要素は、グラフィックユーザーインターフェース上に表示され、この制御要素を操作することによって、トランザクション処理モジュールが始動される。
【００９０】
本発明は、上述のコンピュータ支援によるグラフィックユーザーインターフェース生成の方法を実行する手段を具備する装置をも包含する。
【００９１】
本発明は、算出手段上に本発明に係る方法の手順を実行するコマンドを具備する、コンピュータが読み取れるメディアをも包含する。
【００９２】
図１に基づいて、複数のコンポーネントからなる全体のシステム内でのトランザクション処理モジュールの好ましい使用について説明する。図１は、複数のマスク作業領域５３を具備するシーケンスプラン５０を有するトランザクション処理モジュール６０の特に好ましい実施形態を示す概略図である。このトランザクション処理モジュールは、当該トランザクション処理モジュールによって処理されるトランザクション又はビジネスプロセスを電子的にマップするものである。
【００９３】
例えば、前記トランザクションは、保険、証券、物流部門で使用される小売システムのトランザクションである。ここで、「トランザクション」とは、一義的な始動、かつ一義的な終了を有するトランザクションであり、これらは、完全に実行される、又は完全に実行されないものであり、つまりは、状態から独立したクエリのことを言う。トランザクション処理モジュールは、特にトランザクションに対して要求される全てのデータを収集する役割を担う。
【００９４】
トランザクション処理モジュール６０は、算出手段４０上に具備される。このトランザクション処理モジュールは、以下では、ＶＧＡと略される。
【００９５】
より良くは、複数のトランザクション処理モジュールが前記算出手段に具備されるものである。これは、図２に概略図として示され、四つのトランザクション処理モジュールが、ＶＧＡ１、ＶＧＡ２、ＶＧＡ３、ＶＧＡ４として示される。これらのトランザクション処理モジュールは、複数のコンポーネントからなる全システムの入力側又は出力側に配置される。より良くは、ＶＧＡは、入力側に配置されるものである。このモジュールによりマップされるトランザクションは、例えば、当該トランザクション処理モジュールに接続されるグラフィックユーザーインターフェースにおいて、ユーザー３０によって処理されるトランザクションである。ユーザーは、例えば、顧客に対してトランザクションを実行する支店の従業員である。また、ユーザーは、自動機にてトランザクションを自ら実行する顧客にもなり得る。
【００９６】
より良くは、トランザクション処理モジュールが統合されている全てのシステムは、トランザクションが機能ユニットの中で最も小さく分割される高モジュール化されたシステムである。それゆえ、トランザクション処理モジュールは、その他複数のトランザクション処理モジュールの構成要素であるプロセスをマップするものである。例えば、ＶＧＡは、バーコードの読み取り、顧客データの取得、又は値の計算などをマップする。これらの個々のプロセスは、一度実装するだけでいいように他のトランザクション処理モジュールよりモジュールとして呼び出される。それぞれのトランザクション処理モジュールにとって、またそれぞれのトランザクションにとって、ユーザーインターフェースが具備される。そして、そのモジュール構造は、ある個々のプロセスが修正される場合に、ユーザーインターフェースは、同様に付随するトランザクション処理モジュールにおいて一度修正されるだけでよいという利点がある。
【００９７】
前記使用される算出手段及び記憶手段２０を介して、トランザクション処理モジュール６０は、データ及び／又は制御要素を具備するデータ処理ユニットと接続される。この制御要素は、プロセス制御に影響するものであれば好ましい。
最初に、クライアントは、ユーザープログラムのアプリケーションのフレームワークを初期化する。これにより、クライアントは、例えば、データベースや支払のモジュールといった他のフレームワークのコンポーネントを伴うプラットフォームを使用することができる。本発明の好ましい実施形態では、ＣＡＲＢＯＮ（Ｃｏｍｐｏｎｅｎｔ  ＡＲｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｂｕｓｉｎｅｓｓ  ＯｐｔｉｍｉｚａｔｉｏＮ）プラットフォームと称されるプラットフォームを使用することができる。このＣＡＲＢＯＮプラットフォームは、ソフトウェアとして実装され、データ処理システム上に具備される。
ここで、前記フレームワークは、ＣＬＲ（Ｃｏｍｍｏｎ  Ｌａｎｇｕａｇｅ  Ｒｕｎｔｉｍｅ）と呼ばれる前記プラットフォームの作動時間ライブラリを具備する。前記クライアントによるアプリケーションのフレームワークの初期化後、当該クライアントがフレームワークのカーネルを初期化して始動することが好ましい。前記カーネルの初期化の前に、例えばプログラムの完全性に関連するテストが実行される。さらに、始動か、もしくは、トランザクションの中断によって生まれた修復の場合か、をチェックすることが可能となる。
【００９８】
トランザクション処理モジュール６０は、クライアント側に配置されることが好ましい。複数の異なるトランザクション処理モジュールのバージョンがクライアント側にインストールされている。トランザクション処理モジュールが始動されたとき、最も高いバージョン番号を有するバージョンが自動的に選択される。これを可能にするため、トランザクション処理モジュールは、特定の順序でトランザクション処理モジュールディレクトリに格納されていることが好ましい。
【００９９】
本発明の好ましい実施形態では、トランザクション処理モジュールは同様にフレームワークに接続されており、当該フレームワークはオブジェクト指向及びコンポーネント指向で構成されていることが好ましい。前記フレームワークはＡＰＩ（アプリケーションプログラミングインターフェース）であり、当該ＡＰＩは多様なサポートを基礎としたトランザクションのために生成するクライアントの機能を提供する。前記フレームワークによって提供される機能性は、例えば、クライアントもしくはトランザクション処理モジュールの始動／終了を行うカーネルの機能を具備する。
前記フレームワークは、トランザクション処理モジュールを始動するための共有の始動モジュール７０を具備する。さらに、前記フレームワークは、データ管理及びシーケンス制御においてトランザクション処理モジュールを支援し、データにアクセスするための、又は印刷するためのコンポーネントを具備する。さらに、記録すること若しくはエラー処理することのような基礎的な機能が提供される。
【０１００】
Ｃ＃は、例えば完全に前記フレームワークにおいてオブジェクト指向のプログラミング言語として使用され得るものである。オブジェクト指向プログラミングはオブジェクト−クラスの関係を要求する。ここで、クラスは共有された構造及び／又は共通の振る舞いを有するオブジェクトに対する抽象的な一般名称である。ここで、オブジェクトはクラスのインスタンスであり、前記クラスのために記憶領域が用意され、前記クラスはプログラムの実行時間中に存在するものである。一つのオブジェクトは一つのクラスのインスタンスである。このように、一つのクラス及び当該クラスのオブジェクトは、属性、操作性、信頼性、関連性によって特徴付けられており、前記クラスは前記属性及びメソッドを統合してユニットとするものである。標準的な特徴として、前記属性は前記クラスのメソッドを使用してのみアクセスすることができるので、カプセル化又はアクセス制限を実現するものである。さらに、一つのクラスは明示のインターフェース若しくは一つ以上の明示のインターフェースを有することができず、前記カプセル化によって前記インターフェースから実装環境を別離することとなる。
【０１０１】
本発明の特に好ましい実施形態では、前記トランザクション処理モジュール６０は、自立型プログラムではなく、むしろ実行されるためのクライアントの基盤を要求する。しかし、前記トランザクション処理モジュールは、例えばトランザクション処理モジュール自身の停止及び／又は他のトランザクション処理モジュールの始動を引き起こす能動的なコンポーネントである。
【０１０２】
トランザクション処理モジュール６０は、好ましくは、ユーザーインターフェースから独立する、又は依存するように構成される様々なコンポーネントを有するものである。このユーザーインターフェースの制御は、マップし、かつトランザクションのプロシージャ機能を制御することが好ましい。
さらに、個々の領域は、前記クライアント側の入力側に配置されることが可能となり、別の領域が出力側に、つまり、中央サーバアプリケーションに、又はサードパーティのシステムに位置することが可能となる。ここでいう「サードパーティのシステム」とは、分岐システムの外側のシステムを意味する。
【０１０３】
機能ユニット８０は、トランザクション処理モジュール６０に属している。本発明の特に好ましい実施形態では、機能ユニット８０は、カプセル化されたビジネスオブジェクトＢＯとして存在する。トランザクション処理モジュールは、一つの論理的なビジネスオブジェクトＢＯと正確に関連付けられる。当該ビジネスオブジェクトＢＯは、コンポーネントと関連付けられる複数のクラスからなる。機能ユニット８０の作業は、既存のトランザクションにプロシージャ機能を提供することである。
【０１０４】
より良くは、トランザクション処理モジュールの操作の全てが、一つのクラスに実装されないものである。クラス内での様々なアクションの、オブジェクト指向下におけるカプセル化の意味では、それぞれの操作がそれぞれのクラスに実装されることが好ましいことが証明されている。しかし、論理的な認証アクションは、例外である。例えば、ユーザーが「コンテニュー」ボタンと「キャンセル」ボタンとをクリックすると、どちらのアクションが本当に実行されるべきであるか、聞かれるものである。この場合では、共有のクラス内で、同一のアクションが実際に使用されるが、操作名は異なっている。
【０１０５】
ＶＧＡはまた、データコンテナ９０を具備する。データコンテナ９０は、同様にユーザーインターフェースから独立するように構成されることが好ましい。このデータコンテナは、コンテナサイトのアーキテクチャのサイト原則に従って構成されることが好ましく、その結果、簡単な発展が可能となり、改良がサポートされることとなる。ここで、前記データコンテナは、トランザクション処理モジュール６０からフレームワークのカーネルコンポーネントまで抽象的なジェネリックインタフェースを形成します。このフレームワークは、ＩＶＧＡＥｎｔｒｙｐｏｉｎｔインターフェースを介してデータコンテナと接続されることが好ましい。
【０１０６】
データコンテナ９０は、トランザクション処理モジュール９０内の中央データ収集ポイントであり、これにより、当該トランザクション処理モジュールの状態を記憶することが可能となる。トランザクション処理モジュール内に存在する全ての関連するデータは、データコンテナ内に記憶される。そして、これは、ユーザーに入力されたデータ、又はシステムに確認されたデータである。ここで、データは、データオブジェクトの形式で記憶される、つまり、それぞれのデータ要素は、データオブジェクトに属し、当該データオブジェクトを介してのみ読み出し、書き込み、修正が可能である。それぞれのデータ処理モジュール６０をそれ自身のデータコンテナ９０に割り当てることは特に好ましいことが証明されている。全てのトランザクション処理モジュール６０の一般的なデータベースを使用することと比較して、以上のことは、様々な付加的な機能を実行できる点で有利である。例えば、トランザクション処理モジュール６０が中断される場合、当該中断の発生した状態から簡単にリスタートすることが可能である。トランザクション処理モジュール６０の処理状態は、完全にデータコンテナ内にマップされているので、極少数のデータを記憶し、再構築するだけで、リスタート時の処理状態は、再構築、かつ、再始動可能である。
【０１０７】
データオブジェクトがデータコンテナ９０内に存在すること、及び値が当該データオブジェクトとともに収容されることは、本発明によるデータコンテナ構成ファイル１１０によって示される。このファイルは、トランザクション処理モジュールのディレクトリであり、所定のスキームに対応するものである。この構成ファイルは、ＸＭＬフォーマットのファイルであれば好ましい。データコンテナがインスタンス化されると、前記ファイルがロードされ、構成されたデータオブジェクトが、初期値を有する形で生成、初期化される。この構成されたデータオブジェクトは、その後利用可能となり、例えば、グラフィックユーザーインターフェースの制御要素とリンクされ、及び／又は、ビジネスオブジェクトＢＯ内で定義されるプログラムロジックによって読み出し、書き込み、若しくは修正される。データコンテナ９０がインスタンス化されると、このインスタンスは、ビジネスオブジェクトＢＯのコンストラクタに送信される。その結果、ビジネスオブジェクトＢＯは、データコンテナのデータオブジェクトにアクセス可能となる。しかし、ビジネスオブジェクトＢＯは、再生成、再消滅可能であるため、データコンテナ９０は、基本的にビジネスオブジェクトＢＯからは独立して存在する。
【０１０８】
トランザクション処理モジュール６０は、少なくとも三つのファイルを有することが好ましい。第一のファイルは、トランザクション処理モジュール６０のＶＧＡｘｘｘｘ．ｄｌｌアセンブリであり、この中に全てのトランザクション処理ロジックがエンコードされている。しかし、このアセンブリは、少なくともトランザクション処理モジュール６０を始動させるクラスを実装する必要がある。第二のファイル、ＦｏｒｍＦｌｏｗ．ｃｏｎｆｉｇファイルは、コントローラ構成ファイル１２０であり、これは、操作構成及びトランザクション処理モジュール６０のシーケンスダイアグラムを具備する。第三のファイル、ＤａｔａＣｏｎｔａｉｎｅｒ．ｃｏｎｆｉｇファイルは、データコンテナ構成ファイルであり、これはトランザクション処理モジュール６０に使用されるデータの構成及び当該データの初期値を具備する。
【０１０９】
本発明の好ましい実施形態では、レイヤー間の接続は、データオブジェクトを介して実行される。より良くは、制御１１の全ては、ＮａｍｅＡｓｐｅｃｔとＶａｌｕｅＡｓｐｅｃｔのプロパティを有するものである。ＮａｍｅＡｓｐｅｃｔプロパティは、ここでは、命名データオブジェクトを参照し、他方、ＶａｌｕｅＡｓｐｅｃｔプロパティは、値付与データオブジェクトを参照する。制御によって、一つ又は二つのデータオブジェクトが取り入れられる。一つのデータオブジェクトのみが取り入れられる場合、それがどちらの場合でも他方のプロパティは自動的に同一のプロパティ値に設定される。しかし、さらに、割り当てられたデータオブジェクトを使用しない標準制御も使用可能である。
【０１１０】
ビジネスオブジェクトＢＯにおけるメソッドの属性分けは、クラスを介して実行される。ビジネスオブジェクトＢＯにおけるメソッドの属性により、これらのメソッドの名前は、データオブジェクトの名前、又は操作の名前から独立したものとなる。属性分けされたメソッドは、複数のデータオブジェクト又は操作に呼び出されることが可能となる。この属性クラスのコンストラクタは、定数をパラメータとして受け取る。データオブジェクトの修正に対する反応、及び操作の実行という、妥当性検証の際に、プレゼンターは、ビジネスオブジェクトＢＯの中央仮想メソッドを呼び出す。
【０１１１】
上述の接続の、他の形式は、ユーザーの入力によるユーザーインターフェース側での値の変更が起こる場合に実行される。この場合、前記入力によって更新された制御は、新しい値を伝達する必要があり、より良くは、内部の見かけの妥当性をチェックした後に、ビジネスオブジェクトＢＯに伝達するものである。操作レベルの妥当性検証、及びその後の機能ユニットレベルでの妥当性検証が成功した後に、前記新しい値は、データコンテナ９０の付随するデータオブジェクトに記憶される。
【０１１２】
値が機能ユニット内で変更されるときは、当該値を具備する、関連付けられたデータオブジェクトは、データコンポーネントを介して当該値を処理する制御要素に転送される。この処理において、機能ユニットは、制御を受け取る。これにより、機能ユニットは、計算を実行、データにアクセス等が可能となる。特に、機能ユニットは、実行中のトランザクション処理モジュールを停止し、新しいトランザクション処理モジュールを始動できる。値が変更されると、付随する制御要素が当該値を機能ユニット及びデータコンテナに転送し、これにより、当該値は制御要素に関連付けられるデータオブジェクトに記憶される。制御が機能ユニットから、マスク作業領域に転送された後に、機能ユニットは、データオブジェクトを操作し、制御要素は、具体的な最新のコンテンツ及びデータオブジェクトの状態を表示する。
【０１１３】
前記入力された値は、データコンテナ内でチェックされることが好ましい。
【０１１４】
トランザクション処理モジュール６０は、様々な方法で始動可能であることが好ましい。始動モジュール７０は、トランザクション処理モジュール６０を始動可能であれば好ましい。この始動モジュール７０は、また、フレームワークのアプリケーションマネージャの一部であるコンテキストマネージャとして参照され得る。これらの始動は、ＶＧＡＢａｓｓクラスによってサポートされていれば好ましい。これは、トランザクション処理モジュール６０を始動するための全ての機能を備えている。ＶＧＡＢａｓｓクラスは、全てのデータコンテナクラスの抽象基礎クラスを構成し、特にＩＶ−ＧＡＥｎｃｒｙｐｔインターフェースを実装する。
【０１１５】
システム始動の間、アプリケーションマネージャは、ＣＡＲＢＯＮの操作に必要な全てのオブジェクトを生成し初期化する。さらに、付随する制御構造とともに、メインウィンドウ内にグラフィックアプリケーションフレームワークを提供する。
【０１１６】
本発明の特に好ましい実施形態では、処理に関する情報を処理するシステムは、当該処理システムがトランザクション処理モジュール（ＶＧＡ）を具備するように構成される。そして、当該トランザクション処理モジュール（ＶＧＡ）は、コンテキストマネージャに接続され、当該コンテキストマネージャは、少なくとも一つのトランザクション処理モジュール（ＶＧＡ）及び複数のサービスコンポーネントに接続可能なように構成される。
【０１１７】
前記コンテキストマネージャは、トランザクションタイプに対する中央制御要素、かつ、中央サービスプロバイダである。利用可能なサービスの決定は、ＩＳｕｐｐｏｒｔＳｅｒｖｉｃｅインターフェースを介して接続されるコンポーネントを要求するコンテキストマネージャによって実行される。
【０１１８】
本発明によって様々な有利な技術的効果が達成される。
【０１１９】
前記技術的効果は、複数の手段を利用すること（特に好ましいが）だけでなく、個々の手段を利用するだけでも達成できる。
【０１２０】
例えば、本発明による処理システムは、新規のトランザクションに早急、かつ、手間無く適用することができる。
【０１２１】
個々のトランザクションを個々のトランザクション処理モジュール６０と関連付けることによって、汎用性がさらに向上される。
【０１２２】
さらに、様々なトランザクションの処理に係る相互の影響を回避できる。
【０１２３】
特に、所定の、かつ、制御されたデータ送信チャンネルを介して間接的にデータ送信を行うことによって、前記相互の影響はさらに回避できる。
【０１２４】
さらに、それぞれ特定のトランザクションタイプを実行するために、前記個々のトランザクション処理モジュールを具備することが好ましい。
【０１２５】
トランザクション処理モジュール６０を、相互に独立して異なる機能を実行可能に構成することが特に好ましい。
【０１２６】
より良くは、本発明によるシステムを、前記モジュールが自在に取り替えられ、取り除かれ、又は付け加えられるように構成するものである。
【０１２７】
トランザクション処理モジュール６０は、全てのアプリケーションを修正する必要なしに、プラグアンドプレイによって簡単に接続可能である。トランザクション処理モジュール６０は、前記システムの様々な付加的なモジュールにアクセスするものである。
【０１２８】
モジュール構造により、新規のトランザクションタイプは、簡単に当該データ処理システムに統合することができる。
【０１２９】
ＶＧＡが始動されると、始動モジュール７０は、データコンテナ９０及び付随するトランザクション処理モジュールをインスタンス化し、初期化する。さらに、コントローラ１００が、インスタンス化、初期化され、始動される。このコントローラ１００は、ＶＧＡＢａｓｓクラスによって生成され、初期化されるものであり、コントローラ１００は、シーケンスプラン５０における様々なＶＧＡワークプレース５３のシーケンスを制御する。また、コントローラ１００は、トランザクション処理モジュール６０が正しく始動され、終了されることを確保するものであり、正しいＶＧＡワークプレースがそれぞれの場合において表示される構成である。
【０１３０】
データコンテナ９０が、初期化されると、データオブジェクトが生成され、ｄａｔａｃｏｎｔａｉｎｅｒ．ｃｏｎｆｉｇと称されるデータコンテナ構成ファイル１１０から読み出される初期値をもって初期化される。このデータコンテナ構成ファイル１１０は、トランザクション処理モジュール６０によって使用されるデータの構成、及び当該データの初期値を具備する。コントローラ１１０が初期化されると、トランザクション処理モジュール６０のシーケンスプランが生成される。このために、コントローラ１００は、ＦｏｒｍＦｌｏｗ．ｃｏｎｆｉｇと称されるコントローラ構成ファイル１２０から構成を読み出す。最後まで、ＦｏｒｍＦｌｏｗＲｅａｄｅｒクラスが、ＦｏｒｍＦｌｏｗ．ｃｏｎｆｉｇファイルからトランザクション処理モジュール６０のシーケンスプランを読み出すために使用される。このＦｏｒｍＦｌｏｗＲｅａｄｅｒクラスは、ＶＧＡがコントローラ１００によって始動されるときに呼び出される。前記シーケンスプランの構成に加えて、コントローラ構成ファイル１２０は、トランザクション処理モジュール６０の挙動を具備する。
【０１３１】
コントローラ構成ファイル１２０は、ＸＭＬフォーマットで表現されることが好ましく、トランザクション処理モジュール６０に属する操作に関する情報だけでなく、トランザクション処理モジュール６０のシーケンスプラン５０に関する情報も具備することが好ましい。この構成は、スキームに関して妥当性を検証され、この検証が完遂されると、コントローラ１００は前記シーケンスプランを生成する。そして、コントローラ１００は、データコンポーネント１３０を生成し、それを初期化する。それぞれのマスク変更に際して、データコンポーネントは、コントローラ１００によって新たに初期化される。さらに、このコントローラは、シーケンスプラン５０における第一のＶＧＡワークプレースを決定し、初期化し、表示する。そのマスクナビゲーションのために、コントローラ１００は、トランザクション処理モジュール６０始動時に生成されるスタックを利用する。前記第一のＶＧＡワークプレースのマスクは、前記スタックに置かれる最初のものである。トランザクション処理モジュールが、最後のマスク上で始動される場合は、当該マスクがスタックの最上位にくるように、他の全てのマスクがスタックに置かれる。そして、ＶＧＡワークプレース５３は、その表面で制御要素１１を初期化し、そこでは、データコンポーネント１３０を介して、データコンテナ９０の関連付けられたデータオブジェクト内の値にアクセスする。
【０１３２】
初期化の間、ＶＧＡワークプレースは、その表面に配置される制御全てを通り、ＡｓｐｅｃｔＮａｍｅプロパティを使用して、どのデータオブジェクトがそれぞれの制御に関連付けられているかを決定する。次に、ＶＧＡワークプレースは、プレゼンターを介して全てのデータオブジェクト一つ一つの、最新の値を呼び出す。例えば、これはプレゼンターのメソッドＧｅｔＡｓｐｅｃｔ（）によって実行される。ここで、データオブジェクトの名前は、パラメータとしてメソッドＧｅｔＡｓｐｅｃｔ（）に転送される。そして、プレゼンターは、メソッドの呼び出しをビジネスオブジェクトＢＯに任せる。これによって、データコンテナから適宜のデータオブジェクトを呼び出すものである。
【０１３３】
前記プレゼンターは、ビジネスオブジェクトＢＯのメソッドを呼び出すことができるので、ビジネスオブジェクトＢＯの参照は、コントローラ１００によってプレゼンターに転送される。クライアントの最新の状態は、技術的又は手続のチェックポイントの形で記録される。トランザクション処理モジュール６０をバックアップ、かつ、修復可能なように、ＶＧＡにとって大切な全てのデータをデータオブジェクト内に確実に記憶する必要がある。これにより、所定のチェックポイントでの再始動時に、データオブジェクトの値を修復することができる。これは、シリアル化のサポート、つまり、データコンテナの状態及びコンテンツをバイナリデータに変換し、常に持続することにより実現することができる。よって、データオブジェクトに存在し、それゆえにデータコンテナ内に存在する、ＶＧＡの全てのデータは、システムクラッシュの際に修復可能となる。
【０１３４】
図２は、本発明に係る様々なシーケンスプランと複数のトランザクション処理モジュールとの特に好ましい関連付けを示す。トランザクション処理モジュールＶＧＡ１、ＶＧＡ２、ＶＧＡ３、及びＶＧＡ４は、高レベルのモジュールシステムでの使用に適しているため、図１及びそれに付随する図に対応するトランザクション処理モジュールであれば好ましい。
【０１３５】
シーケンスプランと、トランザクション処理モジュールとの関連付けは、当該シーケンスプランを含む構成ファイルと、トランザクション処理モジュールとの関連付けによって実行される。それぞれのＶＧＡは、自身の構成ファイルを有する。これにより、それぞれのトランザクション処理モジュールにとって、特定のシーケンスプランが、構成ファイル内で生成され、記憶される。図２に示す実施形態では、特定のシーケンスプランを有するトランザクション処理モジュールが生成され、アプリケーションプログラムがそれぞれ異なる記憶手段に提供される。
【０１３６】
二つのトランザクション処理モジュール６１・６２は、当該モジュールによって実行されるトランザクションをマップする方法によって、同一の機能ユニット８０を有する。これにより、一つのトランザクションに対して、複数のトランザクション処理モジュールが存在する。これらは、特定のシーケンスプラン５１又は５２のみによって異なる。新たな手続き、又はトランザクションが、システム全体に組み込まれる場合、異なる要求を有する記憶手段がシステム内に存在し得るので、同一の数のトランザクション処理モジュールがトランザクションに対して生成される。これらの新たなトランザクション処理モジュールのそれぞれは、同一の機能ユニット８０を有するが、シーケンスプランは異なっている。
【０１３７】
図２に示す実施形態では、アプリケーションプログラムが算出手段４０に具備される。このアプリケーションプログラムは、異なるトランザクション処理モジュールＶＧＡ１、ＶＧＡ２、ＶＧＡ３、及びＶＧＡ４等にアクセス可能である。
【０１３８】
起動可能なトランザクション処理モジュールとしてのＶＧＡの特性は、例えば、制御要素が当該トランザクション処理モジュールのために起動されることにより得られるものである。
【０１３９】
本発明の特に好ましい実施形態では、算出手段４０上の前記アプリケーションプログラムの始動に際して、付加的なデータが読み込まれ、認証検証のための利用される。例えば、ユーザータイプ、ブランチキー、ブランチタイプ、又はクライアントＩＤが読み込まれる。前記ユーザータイプは、ここで、異なる認証を有するユーザーに利用可能な、異なったトランザクション処理モジュールを得るためにも利用される。ブランチタイプは、例えば、ブランチのプロパティの機能としてブランチワークプレースにて異なるトランザクション処理モジュールを起動するために利用される。しかし、例えば、一つのブランチ内で、証券サービス部門におけるトランザクションは、他のブランチでは利用不可能であることが求められる。全てのブランチが同一のシステム全体に接続され、かつ、トランザクション処理モジュールは、基本的に全てのブランチにおいて一様に利用可能であるため、所定のＶＧＡの起動は、ブランチタイプを読み込むことによって実行可能であり、一方で他のＶＧＡは利用不可能であるべきである。ブランチの認証プロフィールが変更された場合には、ブランチタイプを変更し、トランザクション処理モジュールに対応する関連付けによって簡単に達成される。
【０１４０】
クライアント側のアプリケーションプログラム始動のために、システム全体の高いレベルのモジュール構造によって、自立的なトランザクション処理モジュールが同様に具備される。本発明の特に好ましい実施形態では、このログイン用のトランザクション処理モジュールは、アプリケーションセッション及びユーザーセッションからセッション層を生成するものである。トランザクション処理モジュールは、このセッションを確認された値で充填する。このアプリケーションセッションは、認証データで充填される。
【０１４１】
前記アプリケーションセッションは、ＣｌｉｅｎｔＩＤ、ブランチタイプ、物理的なブランチキー、及びデータ形式のブランチキーで充填されてもよい。
【０１４２】
図３は、リカバリーマネージャによるデータ記憶方法の一例を示す。
【０１４３】
これは、以下のような手順で実行されることが好ましい。
（１）スタティックメソッド・ｃｏｎｔｅｘｔ  ｍａｎａｇｅｒ．ｂａｃｋｕｐを呼び出す。
（２）全てのトランザクション処理モジュール（ＩＳｕｐｐｏｒｔＲｅｃｏｖｅｒｙ）を介して反復し、インターフェースメソッドのバックアップにより通知する。
（３）それぞれのトランザクション処理モジュールに対して、適宜のビジネスオブジェクトＢＯ（ＩＳｕｐｐｏｒｔＲｅｃｏｖｅｒｙ）を呼び出し、バックアップされたインターフェースメソッドにより通知する。
（４）ビジネスオブジェクトＢＯが、インターフェースメソッドのバックアップによってそのコンポーネント（ＩＳｕｐｐｏｒｔＲｅｃｏｖｅｒｙ）に通知する。
（５）スタティックメソッド・ｃｏｎｔｅｘｔ  ｍａｎａｇｅｒ．ｂａｃｋｕｐが、コンテキストマネージャインスタンスをシリアル化することにより、ストリーム及びシリアライザーを生成する。
（６）シリアル化コンポーネントがオブジェクト群を通る。より良くは、このオブジェクト群は、少なくとも一つのコンテキストマネージャと、少なくとも一つのセッションマネージャと、少なくとも一つのトランザクション処理モジュールと、を含むものである。
（７）前記スタティックメソッド・ｃｏｎｔｅｘｔ  ｍａｎａｇｅｒ．ｂａｃｋｕｐが、リカバリーマネージャを生成し、前記ストリームをリカバリーマネージャバックアップメソッドに転送する。
（８）前記リカバリーマネージャが、ＣＡＲＢＯＮコンポーネントＤａｔａＳｅｒｖｉｃｅを介して、トランザクション保証データ資源に前記ストリームを書き込む。
【０１４４】
図４は、リカバリーマネージャによるデータ修復制御の一例を示す。
【０１４５】
これは、以下のような手順で実行されることが好ましい。
（１）スタティックメソッド・ｃｏｎｔｅｘｔ  ｍａｎａｇｅｒ．ｒｅｓｔｏｒｅを呼び出す。
（２）メソッド・ｃｏｎｔｅｘｔ  ｍａｎａｇｅｒ．ｒｅｓｔｏｒｅが、リカバリーマネージャを生成する。
（３）前記リカバリーマネージャが、手入力によって修復するかどうかをチェックする。最新のチェックポイントがＲｅｃｏｖｅｒｙＤＢ内で探される。
（４）修復する場合、最新のチェックポイント（ｔｙｐｅ＝＝ｒｅｃｏｖｅｒｙ）がデータベースＤＢから、リカバリーマネージャ（ｒｅｓｔｏｒｅ）によってデータストリームの形で読み出される。
（５）前記スタティックメソッド・ｃｏｎｔｅｘｔ  ｍａｎａｇｅｒ．ｒｅｓｔｏｒｅが、当該ストリーム及びシリアライザーによって、コンテキストマネージャのインスタンス、及び全てのオブジェクト群を生成する。
（６）インスタンスメソッド・ｃｏｎｔｅｘｔ  ｍａｎａｇｅｒ．ｓｔａｒｔが、インターフェースメソッド・ＩＳｕｐｐｏｒｔ．ｒｅｓｔｏｒｅを介して、全てのトランザクション処理モジュールに復元の実行を通知する。
（７）前記トランザクション処理モジュールが、ビジネスオブジェクトＢＯに通知し、当該ビジネスオブジェクトＢＯが、同様のメカニズムで対応するコンポーネントに通知する。
（８）最後に、返されたＲｅｃｏｖｅｒｙＲｅｐｏｒｔがコンテキストマネージャ内で整理される。
（９）エラーの場合は、アプリケーションがブロックされ、操作不能の旨がモニターに表示される。
【０１４６】
［手続の再始動］
前記リカバリーマネージャコンポーネントは、同様に手続の再始動の機能に利用される。ここで、このコンテキストマネージャは、リカバリーマネージャの処理を行う。しかし、この場合は、前記メソッド・ｃｏｎｔｅｘｔ  ｍａｎａｇｅｒ．ｂａｃｋｕｐは、ビジネスオブジェクトＢＯによって直接実行される。
【０１４７】
以下に、特に好ましい記憶（バックアップ）及び修復のデータスキームを示す。
ＣＲＥＡＴＥ  ＴＡＢＬＥ［ｄｂｏ］．［Ｒｅｃｏｖｅｒｙ］（
［ＩＤ］［ｉｎｔ］ＩＤＥＮＴＩＴＹ（１，１）ＮＯＴ  ＺＥＲＯ，
［Ｔｙｐｅ］［ｉｎｔ］ＮＯＴ  ＺＥＲＯ，
［Ｎａｍｅ］［ｖａｒｃｈａｒ］（５０）ＣＯＬＬＡＴＥ  Ｌａｔｉｎ１＿Ｇｅｎｅｒａｌ＿ＣＩ＿ＡＳ  ＺＥＲＯ，
［Ｔｉｍｅｓｔａｍｐ］［ｄａｔｅｔａｉｍｅ］ＮＯＴ  ＺＥＲＯ，
［Ｏｒｉｇｉｎ］［ｖａｒｃｈａｒ］（５０）ＣＯＬＬＡＴＥ  Ｌａｔｉｎ１＿Ｇｅｎｅｒａｌ＿ＣＩ＿ＡＳ  ＺＥＲＯ，
［ＴｏｐＭｏｓｔ］［ｂｉｔ］ＺＥＲＯ，
［ＳｅｓｓｉｏｎＬｅｓｓ］［ｂｉｔ］ＺＥＲＯ，
［ＶｇａＫｅｙ］［ｖａｒｃｈａｒ］（１０）ＣＯＬＬＡＴＥ  Ｌａｔｉｎ１＿Ｇｅｎｅｒａｌ＿ＣＩ＿ＡＳ  ＺＥＲＯ，
［ＳｅｓｓｉｏｎＤａｔａ］［ｉｍａｇｅ］ＺＥＲＯ，
［ＶｇａＤａｔａ］［ｉｍａｇｅ］ＺＥＲＯ，
［ＶａｌｉｄＴｈｒｕ］［ｄａｔｅｔｉｍｅ］ＺＥＲＯ，
ＯＮ［ＰＲＩＭＡＲＹ］ＴＥＸＴＩＭＡＧＥ＿ＯＮ［ＰＲＩＭＡＲＹ］
【０１４８】
前記リカバリーマネージャは、ＣＡＲＢＯＮ．Ｄａｔａ．ＣｏｍｍｏｎＤａｔａＡｃｔｉｏｎｓ．ＤＢ．ＳｑｌＤｂ．ＳｑｌＤａｔａＡｃｔｉｏｎを利用して、修復テーブルにアクセスする。ＤａｔａＡｃｔｉｏｎに対して構成ファイルを変更することにより、リカバリーマネージャの基礎となるデータ資源は、コードを変更することなしに変更可能である。
【０１４９】
本発明を実装するインターフェースの特に好ましい一例は、以下に示される。
［ＩＲｅｃｏｖｅｒｙ−Ｍａｎａｇｅｒ］
ｖｏｉｄ  ＩＲｅｃｏｖｅｒｙ−Ｍａｎａｇｅｒ．ｂａｃｋｕｐ（ＣｈｅｃｋＰｏｉｎｔＴｙｐｅ  ｃｈｅｃｋＰｏｉｎｔＴｙｐｅ），
ｓｔｒｉｎｇ  ｃｈｅｃｋＰｏｉｎｔＮａｍｅ，
ｂｏｏｌ  ｔｏｐＭｏｓｔ，
ｂｏｏｌ  ｓｅｓｓｉｏｎＬｅｓｓ，
ｓｔｒｉｎｇ  ｖｇａＫｅｙ，
ＤａｔｅＴｉｍｅ，  ｖａｌｉｄＴｈｒｕ，
Ｓｙｓｔｅｍ．ＩＯ．Ｓｔｒｅａｍ  ｖｇａＤａｔａＳｔｒｅａｍ，
Ｓｙｓｔｅｍ．ＩＯ．Ｓｔｒｅａｍ  ｓｅｓｓｉｏｎＳｔｒｅａｍ）
【０１５０】
前記バックアップメソッドは、チェックポイントのメタデータ及び有益なデータをデータ資源に書き込む。このメソッドは、以下に示すパラメータを要求する。
ｃｈｅｃｋＰｏｉｎｔＴｙｐｅ：入力又は災害。これはチェックポイントのタイプを示す。入力タイプのチェックポイントは、トランザクションタイプによってトリガーされ、時間的に後のポイントにおける意図する処理の中断に適する。災害タイプのチェックポイントは、（構成されるならば）コンテキストマネージャによって自動的に構築され、システムクラッシュ後の再始動を可能にする。
ｃｈｅｃｋＰｏｉｎｔＮａｍｅ：チェックポイントに関する選択自在な名前。
ｔｏｐＭｏｓｔ：最新の視認可能なＶＧＡがｖｇａＤａｔａＳｔｒｅａｍ内でシリアル化されている場合に限り、ｔｒｕｅ。
ｓｅｓｓｉｏｎＬｅｓｓ：ｓｅｓｓｉｏｎＳｔｒｅａｍがエンプティ（ＺＥＲＯ）の場合、又はデータ資源内に書き込まれてない場合に、ｔｒｕｅ。
ＶｇａＫｅｙ：ｖｇａＤａｔａＳｔｒｅａｍ内でシリアル化されているトランザクションタイプのＶｇａＫｅｙ。
ｖａｌｉｄＴｈｒｕ：チェックポイントが削除のために開放されているポイントより後のポイント。
ｖｇａＤａｔａＳｔｒｅａｍ：トップモストトランザクションタイプ（ｔｏｐＭｏｓｔ＝＝ｔｒｕｅ）又は全てのトランザクションタイプのシリアル化されたオブジェクトグラフ。
ｓｅｓｓｉｏｎＳｔｒｅａｍ：セッションマネージャのシリアル化されたオブジェクトグラフ。
【０１５１】
前記メソッドのパラメータの妥当性が検証されると、当該メソッドはその結果として、例えば、Ｃ００００６０及びＣ００００６１を有するＣＡＲＢＯＮ．Ｅｘｃｅｐｔｉｏｎとなる。
【０１５２】
［ＲｅｃｏｖｅｒｙＲｅｐｏｒｔ  ＩＲｅｃｏｖｅｒｙ−Ｍａｎａｇｅｒ．Ｒｅｓｔｏｒｅ（ＢａｃｋｕｐＩｎｆｏ  ｂａｃｋｕｐＩｎｆｏ）］
前記復元メソッドは、データ資源からｂａｃｋｕｐＩｎｆｏパラメータに示されるチェックポイントを読み出し、ストリームをＲｅｃｏｖｅｒｙＲｅｐｏｒｔタイプのオブジェクト内に置き、当該ストリームを返す。この復元メソッドは、一つの例外も生成しない。つまり、呼び出されたルーチンの例外は、捕捉されない。
【０１５３】
［ＢａｃｋｕｐＩｎｆｏＣｏｌｌｅｃｔｉｏｎ  ＩＲｅｃｏｖｅｒｙ−Ｍａｎａｇｅｒ。ＱｕｅｙＢａｃｋｕｐ（ＣｈｅｃｋＰｏｉｎｔＴｙｐｅ  ｃｈｅｃｋＰｏｉｎｔＴｙｐｅ）］
ＱｕｅｒｙＢａｃｋｕｐメソッドは、ＢａｃｋｕｐＩｎｆｏオブジェクトのコレクション内のｃｈｅｃｋＰｏｉｎｔＴｙｐｅの全てのチェックポイントのメタデータを生成する。例外は生成されない。
【０１５４】
［ｖｏｉｄ  ＩＲｅｃｏｖｅｒｙ−Ｍａｎａｇｅｒ．ＤｅｌｅｔｅＢａｃｋｕｐ（ＢａｃｋｕｐＩｎｆｏ  ｉｎｆｏ）］
ＤｅｌｅｔｅＢａｃｋｕｐメソッドは、データ資源からｉｎｆｏによって認証されたチェックポイントを削除する。例外は生成されない。
【０１５５】
［データコンテナクラスの拡張］
上記のようなアスペクトに加えて、アクティブアスペクトの名前はデータコンテナ内で残すべきである。そして、このようなアクティブアスペクトの名前は、ａｃｔｉｖｅＡｓｐｅｃｔフィールド内に記憶される。データコンテナがシリアル化されると、当該アクティブアスペクトは、修復のために残される。
【０１５６】
さらに、ＣＡＲＢＯＮ．Ｖｇａ．ＤａｔａＣｏｎｔａｉｎｅｒクラスは、ａｃｔｉｖｅＡｓｐｅｃｔフィールドを設定し、又は読み出すＡｃｔｉｖｅＡｓｐｅｃｔプロパティによって拡張されるべきである。
【０１５７】
リスタートは、以下に示すような手順で実行されることが好ましい。
（１）ＩＲｅｃｏｖｅｒｙＭａｎａｇｅｒ．ＲｅｓｔｏｒｅＳｅｓｓｉｏｎ（）によって、セッション層を生成する。
（２）リスタートＶＧＡを始動する。ここで、どのリスタートが続行されるか決定される。
（３）ＩＲｅｃｏｖｅｒｙＭａｎａｇｅｒ．ＲｅｓｔｏｒｅＳｔａｃｋ（）又はクライアントの終了によって、ＶＧＡスタックが生成される。
【０１５８】
図５に示される領域は、特に好ましい始動処理の適用又は拡張を示す。ここに示す始動処理によって、以下に示す特に好ましい実施形態への適用が実現される。
ＩＣｏｎｔｅｘｔ．Ｓｔａｒｔは、何より、セッションデータのみが修復される効果を有するべく変更されるべきである。これは、ＣｏｎｔｅｘｔＭａｎａｇｅｒ．ＲｅｃｏｖｅｒＴｅｃｈｎｉｃａｌＣｈｅｃｋｐｏｉｎｔに関する。また、ＡｐｐｌｉｃａｔｉｏｎＭａｎａｇｅｒ．ＳｔａｒｔＣｏｎｔｅｘｔＭａｎａｇｅｒは、セッションデータ及びＶＧＡスタックの分割修復に適用されるべきである。このメソッドでは、セッションデータのみが修復され得るものである。
【０１５９】
以下に示すメソッドが特に好ましい。
［ＩＣｏｎｔｅｎｔ．ＳｔｏｐＲｅｓｔｏｒｅ］
技術的なチェックポイントからＶＧＡスタックを修復する。
最新のＶＧＡを終了する。
［ＩＣｏｎｔｅｘｔＭａｎａｇｅｒ．ＲｅｓｔｏｒｅＶｇａＳｔａｃｋ］
ＶＧＡスタックをロードする。
サイトを修復する。
ＶＧＡを始動する。
［ＩＲｅｃｏｖｅｒｙＭａｎａｇｅｒ．ＲｅｓｔｏｒｅＳｅｓｓｉｏｎ］
セッションデータをロードする。
［ＩＲｅｃｏｖｅｒｙＭａｎａｇｅｒ．ＲｅｓｔｏｒｅＶｇａＳｔａｃｋ］
ＶＧＡスタックをロードする。
【０１６０】
［Ｂａｃｋｕｐ及びＲｅｃｏｖｅｒｙ］
クライアントの最新の状態は、技術的又は手続のチェックポイントの形式で記憶される。トランザクションタイプが、バックアップ及び修復可能なように、ＶＧＡに関する大切な全てのデータは、確実にアスペクト内に記憶される必要がある。
【０１６１】
これにより、所定のチェックポイントにおいて復元する場合、前記アスペクトの値が修復されることが保証される。これは、シリアル化のサポートによって、つまり、データコンテナの状態及びコンテンツがバイナリデータストリームに変換され、かつ、常に保存されていることによって実現される。それゆえ、アスペクトに（ひいてはデータコンテナに）存在するＶＧＡのデータは、システムクラッシュの際に修復可能となる。
【０１６２】
［Ｂａｃｋｕｐ及びＲｅｃｏｖｅｒｙ］
クライアントの最新の状態は、技術的又は手続のチェックポイントの形式で記憶される。
【０１６３】
［リカバリーマネージャ］
リカバリーマネージャは、アプリケーションの状態を記憶し（バックアップし）、かつ、リセットする（修復する）ものである。トランザクションタイプは、いわゆるチェックポイント内でのアプリケーションの最新の状態を記憶するために、前記リカバリーマネージャを利用できる。このため、スタック上にどのトランザクションタイプが存在しているか、かつ、どのセッションデータをセッションマネージャが管理しているか、を確認する。このデータは、データストリームの形式でＣＡＲＢＯＮデータベース内に記憶され、技術的なチェックポイントを定義する。これらのチェックポイントは、システムクラッシュ後にクライアント側が終了されるときの、システム状態の修復に適する。また、これらのチェックポイントは、クライアント側が適切に終了された場合は、自動的に削除される。
【０１６４】
クライアントが始動されると、前記リカバリーマネージャは、データベース内に（この場合、クライアントは規定の方法にて終了されていない）チェックポイントがあるかどうかを決定するために利用され、当該チェックポイントが入手可能であれば、クライアントはりスタートされる。これは、トランザクションタイプのスタック及びセッションのコンテンツが当該チェックポイントに記憶されたデータ情報に基づいて生成されることを意味する。
【０１６５】
［セッションマネージャ］
セッションマネージャは、セッションオブジェクトを管理する中央コンポーネントである、つまり、セッションオブジェクトを操作し、消滅させる機能を有するトランザクションタイプを具備するものである。セッションオブジェクトを生成するために、トランザクションタイプは、ＳｅｓｓｉｏｎＩｄＣｒｅａｔｏｒ−ＰｌｕｇＩｎを利用する。セッションオブジェクトは、自由に定義される名前値の組をいくらでも受け取ることができる。このセッションデータは、いくつかの管理情報とともにデータベース内に記憶される。セッションデータに変更される場合は、このデータは、即座に書き戻される。この手続きを経ることによって、セッションオブジェクトは、常に再生成可能であり、バックアップ／修復メカニズムがサポートされる。セッションマネージャ及びセッションオブジェクトの命令のない実装に対しては、特別な注意が払われる。セッションマネージャは、管理されたセッションオブジェクトへの参照を保存しない。このアクセスは、ＩＤ又は設定されたタイプによって実現される。
【０１６６】
［クライアントの始動］
図６は、クライアントの始動シーケンスを示す。上側のシーケンスは、技術的なチェックポイントの存在のない（クライアントは正常に終了された場合）始動を示す。下側のシーケンスは、修復が行われる場合を示す、つまり、クライアントが正常に終了されなかった場合（おそらくはシステムクラッシュの場合）であり、最新の既知の状態に基づいて復元されるものである。
【０１６７】
ＣＡＲＢＯＮ．Ｒｅｃｏｖｅｒｙコンポーネントは、フレームワークに基づくクライアントだけでなく、フレームワーク自体もバックアップし、修復するものである。このメカニズムを介して、チェックポイントが書き込まれた後に、状態は、例えばシステムクラッシュ前の状態に復元される。さらに、トランザクションタイプは、所謂手続のチェックポイントの書き込みをトリガーする。
【０１６８】
チェックポイントは、所定の時間におけるポイントでのフレームワーク、クライアントのスナップショットのようなものであり、このチェックポイントは、ＣＡＲＢＯＮデータベースに記憶される。チェックポイントは、自動的にフレームワークの所定の箇所に書き込まれ、又は体系的にユーザーによって設定されるものである。それぞれのチェックポイントは、妥当性が検証されてから終了までの日付を有する。
【０１６９】
このコンポーネント内で入手可能になったメソッドを利用することによって、チェックポイントは、書き込まれ、管理されるだけでなく、読み出されることも可能となる。
【０１７０】
［操作モード］
［Ｏｖｅｒｖｉｅｗ］
このコンポーネントは、認証基盤によって様々なバックアップ／修復シナリオを処理することができるメカニズムを具備する。概して、二つのタイプのバックアップ／修復に区別される。
技術的なバックアップ／修復（本発明の技術的チェックポイントを利用するもの）。システムクラッシュの後、当該クラッシュ前のＣＡＲＢＯＮクライアントの状態が復元される。
手続のバックアップ／修復（本発明の手続のチェックポイントを利用するもの）。時間的に後のポイントにおいてトランザクションを復元するために、トランザクションの状態がスナップショットされる。
【０１７１】
［ＣＡＲＢＯＮ．Ｒｅｃｏｖｅｒｙ．ＢａｃｋｕｐＩｎｆｏクラス］
このクラスは、次なる処理のための、チェックポイントのヘッダ情報を具備する。ヘッダ情報は、例えば以下に示すものである。
（１）ＣｈｅｃｋＰｏｉｎｔＮａｍｅ、チェックポイントの名前である。
（２）ＣｈｅｃｋＰｏｉｎｔＴｙｐｅ、チェックポイントのタイプである（技術的な又は手続きの）。
（３）ＶａｌｉｄＴｈｒｕ、チェックポイントの妥当性検証である。
（４）Ｓｅｓｓｉｏｎ、ＳｅｓｓｉｏｎＤａｔａかなにかを含むチェックポイントである。
【０１７２】
［ＣＡＲＢＯＮ．Ｒｅｃｏｖｅｒｙ．ＢａｃｋｕｐＩｎｆｏＣｏｌｌｅｃｔｉｏｎクラス］
このクラスは、ＢａｃｋｕｐＩｎｆｏオブジェクトのコレクションである。
【０１７３】
［ＣＡＲＢＯＮ．Ｒｅｃｏｖｅｒｙ．ＣｍｐＦａｃｔｏｒｙクラス］
リカバリーマネージャを生成するファクトリクラスである。
【０１７４】
［ＣＡＲＢＯＮ．Ｒｅｃｏｖｅｒｙ．ＱｕｅｒｙＢａｃｋｕｐＰａｒａｍｅｔｅｒクラス］
このクラスは、ＲｅｃｏｖｅｒｙＤＢ−ＤａｔａＳｅｒｖｉｃｅを利用してＱｕｅｒｙＢａｃｋｕｐメソッドによりＣＡＲＢＯＮデータベースにアクセスするパラメータを表す。
【０１７５】
［ＣＡＲＢＯＮ．Ｒｅｃｏｖｅｒｙ．ＲｅｃｏｖｅｒｙＣｏｎｓｔａｎｔｓクラス］
このクラスは、コンポーネントで利用される全ての定数を具備する。
【０１７６】
［ＣＡＲＢＯＮ．Ｒｅｃｏｖｅｒｙ．ＲｅｃｏｖｅｒｙＤＢクラス］
このＲｅｃｏｖｅｒｙＤＢクラスは、ＣＡＲＢＯＮデータベースにアクセスするためのものである。このクラスは、ＤａｔａＳｅｒｖｉｃｅであり、修復データレコードを生成する、書き込む、読み出す、及び削除する、等の全ての機能を具備する。
【０１７７】
［ＣＡＲＢＯＮ．Ｒｅｃｏｖｅｒｙ．ＲｅｃｏｖｅｒｙＭａｎａｇｅｒクラス］
リカバリーマネージャクラスは、ＣＡＲＢＯＮデータベースから、又はＣＡＲＢＯＮデータベースへ、可能なチェックポイントを要求し、書き込み、削除するメソッドを具備する。リカバリーマネージャは、それ自身受動的なクラスであり、単にアクセスメソッドを具備するだけである。一方実際のアクセスは、コンテキストマネージャによってトリガーされる。
【０１７８】
［ＣＡＲＢＯＮ．Ｒｅｃｏｖｅｒｙ．ＲｅｃｏｖｅｒｙＲｅｐｏｒｔクラス］
このクラスは、記憶されたチェックポイントの完全なデータを具備し、ＲｅｃｏｖｅｒｙＭａｎａｇｅｒ．ＲｅｓｔｏｒｅＭｅｔｈｏｄが呼び出されるときに返される。
【０１７９】
このデータは以下のものを具備する。
（１）ＢａｃｋｕｐＩｎｆｏ、ヘッダ情報である。
（２）ＩｓＳｕｃｃｅｓｓ、読み込まれたアクセスが成功したかどうかを聞くものである。
（３）Ｍｅｓｓａｇｅ、失敗の場合に、エラーメッセージを返すものである。
（４）ＳｅｓｓｉｏｎＳｔｒｅａｍ、シリアル化された全てのセッション層である。
（５）ＶｇａＤａｔａＳｔｒｅａｍ、アスペクトデータとともにシリアル化された全てのトランザクションタイプである。
【０１８０】
［ＣＡＲＢＯＮ．Ｒｅｃｏｖｅｒｙ．ＲｅｃｏｖｅｒｙＴａｂｌｅクラス］
このクラスは、ＤａｔａＴａｂｌｅに由来し、オブジェクトとしてＣＡＲＢＯＮデータベースのＲｅｃｏｖｅｒｙＴａｂｌｅを示すものである。
【０１８１】
［ＣＡＲＢＯＮ．Ｒｅｃｏｖｅｒｙ．ＲｅｓｔｏｒｅＰａｒａｍｅｔｅｒクラス］
このクラスは、メソッドの復元又は削除によってＲｅａｃｏｖｅｒｙＤＢ−ＤａｔａＳｅｒｖｉｃｅを使用するＣＡＲＢＯＮデータベースにアクセスするためのパラメータの最初の部分である。
【０１８２】
［ＣＡＲＢＯＮ．Ｒｅｃｏｖｅｒｙ．ＳｅｌｅｃｔＩＤＰａｒａｍｅｔｅｒクラス］
このクラスは、メソッドの復元又は削除によってＲｅａｃｏｖｅｒｙＤＢ−ＤａｔａＳｅｒｖｉｃｅを使用するＣＡＲＢＯＮデータベースにアクセスするためのパラメータの第二番目の部分である。
【０１８３】
［ＣＡＲＢＯＮ．Ｒｅｃｏｖｅｒｙ．ＩＲｅｃｏｖｅｒｙＭａｎａｇｅｒインターフェース］
このインターフェースは、ＣＡＲＢＯＮ＃フレームワークの機能をバックアップ／修復するインターフェースを定義する。
【０１８４】
［ＣＡＲＢＯＮ．Ｒｅｃｏｖｅｒｙ．ＩＳｕｐｐｏｅｒｔＲｅｃｏｖｅｒｙインターフェース］
このインターフェースは、トランザクションタイプによって任意に実装可能なものである。その結果、コンテキストマネージャによって実際にシリアル化される前に、まず、トランザクションタイプのメソッドＩＳｕｐｐｏｅｒｔＲｅｃｏｖｅｒｙ．Ｂａｃｋｕｐが呼び出される。
【０１８５】
［ＣＡＲＢＯＮ．Ｒｅｃｏｖｅｒｙ．ＣｈｅｃｋｐｏｉｎｔＴｙｐｅリスト作成］
あり得るチェックポイントのタイプ
（１）災害型
（２）入力型
【０１８６】
本発明におけるこの拡張は、（入力型の）意図しない中断の場合だけでなく、（災害型の）意図しない中断の場合においても、トランザクション処理モジュールの処理中のトランザクションの完全、かつ、中断に左右されない復元を可能にするように機能するものである。
【０１８７】
ブランチシステムにおいて本発明を利用することは、特に好ましい。
【０１８８】
より良くは、顧客の要求及びブランチシステムのブランチにおけて得られる顧客のデータは、より階層の深いコンポーネント、例えばデータ処理システムのインフラストラクチャー層に転送される。このインフラストラクチャー層は、操作シーケンス内に作業者が介在する必要なしに、自立的に周辺コンポーネントを制御する。例えば、印刷ジョブは、自動的にチケット若しくは受取証プリンタに転送される、又は、現金自動預払機は所定の金額を支払うように指令される。
【０１８９】
これらのトランザクションは、全てバックグラウンド（出力側の）システムに記録され、顧客データが記憶される。さらに、ブランチの出力側としても参照され得る、前記バックグラウンドシステム内では、適宜のアカウンティングの法則に従うために、データがミラーリングされ、アーカイブされる。入力側、インフラストラクチャー層、及びブランチ出力側は、このブランチシステムの好ましいコンポーネントを形成する。
【０１９０】
本発明に係る手段を具備するブランチシステムのデータをバックアップ及び／又は修復することに対する重要な利点は、複数のビジネストランザクションが並列に実行され、かつ、バックアップ又は修復されることである。
【０１９１】
他の利点は、ブランチのワークプレースにおいて始動されたトランザクションの処理は、中断及び／又はデータロスなしに他のワークプレースにおいて続行可能であることである。
【０１９２】
ネットワークを介した、特に好ましいブランチのネットワーキングにおいて、一つのブランチで始動されたトランザクションは、中断及び／又はデータロスなしに他のブランチにおいてさえ、続行して処理可能である。
【０１９３】
中断に左右されない操作は、普通ブランチシステムにおけるものが好ましい一方で、本発明は、トランザクション処理の意図する中断も可能である。
【０１９４】
これにより、例えば、顧客の認証が他の処理手順において確認された場合は、顧客のアカウントを開くことだけを可能にする。
【０１９５】
それゆえ、本発明は、フェ−ルセーフだけでなく、データ処理システム、特にブランチシステムの汎用性を向上させる。
【図面の簡単な説明】
【０１９６】
【図１】本発明のデータバックアップシステムの特に好ましい実施形態を示す図。
【図２】本発明のデータバックアップシステムの特に好ましい実施形態を示す概略図。
【図３】リカバリーマネージャの制御下における記憶機能の制御を示す概略図。
【図４】リカバリーマネージャによるデータの修復制御を示す概略図。
【図５】クライアントを示すシーケンス図。
【図６】クライアントが始動されたときに使用されるコンポーネントを示すブロック図。
【符号の説明】
【０１９７】
２０    記憶手段
３０    ユーザー
４０    算出手段
５０    シーケンスプラン
５１    第一のシーケンスプラン
５２    第二のシーケンスプラン
５３    ＶＧＡワークプレース／マスク作業領域
６０    トランザクション処理モジュール
６１    第一のトランザクション処理モジュール
６２    第二のトランザクション処理モジュール
７０    始動モジュール
８０    機能ユニット
９０    データコンテナ
１００  コントローラ
１１０  データコンテナ構成ファイル
１２０  コントローラ構成ファイル
１３０  データコンポーネント
【図１】
2008530668.tif 000003
【図２】
2008530668.tif 000004
【図３】
2008530668.tif 000005
【図４】
2008530668.tif 000006
【図５】
2008530668.tif 000007
【図６】
2008530668.tif 000008
【手続補正書】
【提出日】平成18年12月11日(2006.12.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
少なくとも一つのトランザクション処理モジュールを具備するデータベースをバックアップする、及び／又は修復する方法であって、
前記トランザクション処理モジュールは、当該トランザクション処理モジュールを実行するための必要なデータをデータオブジェクト内に記憶し、かつ、コンテキストマネージャがシリアライゼーションコンポーネントを呼び出すことにより、バックアップされ、及び／又は修復され、
データストリームは、前記データオブジェクトに記憶されるデータに基づいて生成され、
前記データストリームは、前記データオブジェクトに記憶されるデータを修正する手続きのチェックポイントとともに、前記リカバリーマネージャによってバックアップメディアに記憶され、
前記データストリームは、当該データストリームとともに記憶される手続きのチェックポイントに基づいて、前記バックアップメディアから読み出される、
ことを特徴とする方法。
【請求項２】
前記データは、データコンテナの状態及びコンテンツがバイナリデータストリームに変換されて記憶される、ことを特徴とする請求項１に記載の方法。
【請求項３】
データオブジェクトを記憶するためのデータコンテナは、前記トランザクション処理モジュールにおいて生成される、ことを特徴とする請求項１又は請求項２のうちいずれか一項に記載の方法。
【請求項４】
前記データオブジェクトは、前記データの値を含む、ことを特徴とする請求項１から３のうちいずれか一項に記載の方法。
【請求項５】
前記トランザクション処理モジュールによって取得される、及び／又は処理されるデータ要素は、それぞれデータオブジェクトに関連付けられる、ことを特徴とする請求項１から４のうちいずれか一項に記載の方法。
【請求項６】
前記データコンテナは、トランザクションの全ての状態を記憶する、ことを特徴とする請求項１から５のうちいずれか一項に記載の方法。
【請求項７】
前記データオブジェクトは、前記データのプロパティを記憶する、ことを特徴とする請求項１から６のうちいずれか一項に記載の方法。
【請求項８】
前記データのプロパティは、許容値の限界を示す、ことを特徴とする請求項７に記載の方法。
【請求項９】
前記方法は、複数のトランザクション処理モジュールを具備するネットワーク内にて行なわれ、当該トランザクション処理モジュールは、コンテキストマネージャに接続可能であるとともに、前記コンテキストマネージャは、複数のサービスコンポーネントだけでなく、少なくとも一つのトランザクション処理モジュールに接続されるように構成される、ことを特徴とする請求項１から８のうちいずれか一項に記載の方法。
【請求項１０】
前記コンテキストマネージャは、前記トランザクション処理モジュールに対する中央制御手段として、また、前記トランザクション処理モジュールに対する中央サービスプロバイダとして構成される、ことを特徴とする請求項９に記載の方法。
【請求項１１】
前記コンテキストマネージャは、ＩＳｕｐｐｏｒｔＳｅｒｖｉｃｅのインターフェースに接続されるとともに、前記インターフェースは、接続されるサービスコンポーネントの存在に関するクエリを許可するように構成される、ことを特徴とする請求項９又は請求項１０に記載の方法。
【請求項１２】
データ送信は、通知コンポーネントによって実行される、ことを特徴とする請求項１から１１のうちいずれか一項に記載の方法。
【請求項１３】
前記通知コンポーネントは、当該通知を送信するための送信ルートを選択するセレクションモジュールを具備する、ことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記トランザクション処理モジュールのシーケンスプランは、一つのトランザクション処理モジュールが始動されるときに読み込まれる構成ファイル内に記憶される、ことを特徴とする請求項１から１３のうちいずれか一項に記載の方法。
【請求項１５】
制御構成ファイル、及び／又はデータコンテナ構成ファイルは、ＸＭＬフォーマットによって提供される、ことを特徴とする請求項１から１４のうちいずれか一項に記載の方法。
【請求項１６】
請求項１から１５のうち一項以上に記載の方法を実行する手段を具備する、ことを特徴とするブランチシステム。
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図３
【補正方法】変更
【補正の内容】
【図３】
2008530668.tif 000009
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図４
【補正方法】変更
【補正の内容】
【図４】
2008530668.tif 000010
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図５
【補正方法】変更
【補正の内容】
【図５】
2008530668.tif 000011
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図６
【補正方法】変更
【補正の内容】
【図６】
2008530668.tif 000012
【国際調査報告】
2008530668.tif 000013
2008530668.tif 000014
2008530668.tif 000015
2008530668.tif 000016