JPH0922356A - トランザクション相互運用システム及び方法 - Google Patents
トランザクション相互運用システム及び方法Info
- Publication number
- JPH0922356A JPH0922356A JP7316943A JP31694395A JPH0922356A JP H0922356 A JPH0922356 A JP H0922356A JP 7316943 A JP7316943 A JP 7316943A JP 31694395 A JP31694395 A JP 31694395A JP H0922356 A JPH0922356 A JP H0922356A
- Authority
- JP
- Japan
- Prior art keywords
- procedural
- transaction
- coordinator
- tran
- oriented
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
(57)【要約】 (修正有)
【課題】手続き型トランザクション・コーディネータを
OMGコンプライアント・オブジェクト・トランザクシ
ョン・サービスのコアとして使用する。 【解決手段】相互運用はオブジェクト指向トランザクシ
ョン・リクエスト及び手続き型トランザクション・リク
エストの両方のコーディネートされた処理を包含する。
オブジェクト指向リクエスト及び手続き型リクエストの
両方ともそれら製品の間のゲートウェイを必要とするこ
となくシングル・アトミック・トランザクションの一部
となり得る。オブジェクト指向メソッド呼出しを必要の
手続き型コールに変換するためにインプリメンテーショ
ン・クラスのシステムが使用される。インプリメンテー
ション・クラスは手続き型TRANからのアップコール
も受け入れ、それらを必要なオブジェクト・トランザク
ション・サービス・メソッド呼出しに変換する。
OMGコンプライアント・オブジェクト・トランザクシ
ョン・サービスのコアとして使用する。 【解決手段】相互運用はオブジェクト指向トランザクシ
ョン・リクエスト及び手続き型トランザクション・リク
エストの両方のコーディネートされた処理を包含する。
オブジェクト指向リクエスト及び手続き型リクエストの
両方ともそれら製品の間のゲートウェイを必要とするこ
となくシングル・アトミック・トランザクションの一部
となり得る。オブジェクト指向メソッド呼出しを必要の
手続き型コールに変換するためにインプリメンテーショ
ン・クラスのシステムが使用される。インプリメンテー
ション・クラスは手続き型TRANからのアップコール
も受け入れ、それらを必要なオブジェクト・トランザク
ション・サービス・メソッド呼出しに変換する。
Description
【0001】
【発明の属する技術分野】本発明は、概して云えば、独
立型及び分散型トランザクション処理システムを含むコ
ンピュータ利用のトランザクション処理システムに関す
るものである。詳しく云えば、本発明は、オブジェクト
指向トランザクション処理をサポートするが、トランザ
ーク・エンシナ(Transarc Encina)手
続き型トランザクション管理サービスを統合するトラン
ザクション処理システムを実現するためにコンピュータ
利用のオブジェクトを使用することに関するものであ
る。更に詳しく云えば、本発明は、Encina製品の
ために開発された手続き型トランザクション処理アプリ
ケーションとオブジェクト指向トランザクション処理ア
プリケーションを相互運用(interoperat
e)させるためのシステム及び方法を提供する。相互運
用は、オブジェクト発生のリクエスト及びEncina
トランザクション・リクエストがトランザクション・ゲ
ートウェイの使用を必要とすることなく、シングル・ア
トミック・トランザクション内で使用可能であることを
必要とする。
立型及び分散型トランザクション処理システムを含むコ
ンピュータ利用のトランザクション処理システムに関す
るものである。詳しく云えば、本発明は、オブジェクト
指向トランザクション処理をサポートするが、トランザ
ーク・エンシナ(Transarc Encina)手
続き型トランザクション管理サービスを統合するトラン
ザクション処理システムを実現するためにコンピュータ
利用のオブジェクトを使用することに関するものであ
る。更に詳しく云えば、本発明は、Encina製品の
ために開発された手続き型トランザクション処理アプリ
ケーションとオブジェクト指向トランザクション処理ア
プリケーションを相互運用(interoperat
e)させるためのシステム及び方法を提供する。相互運
用は、オブジェクト発生のリクエスト及びEncina
トランザクション・リクエストがトランザクション・ゲ
ートウェイの使用を必要とすることなく、シングル・ア
トミック・トランザクション内で使用可能であることを
必要とする。
【0002】本願は、1994年10月11日出願の米
国特許出願番号08/320,357号の主題「A Syste
m and Method for Creating an Object Oriented Trans
action Service that Interoperates with Procedural
Transaction Coordinators」の出願に関連するものであ
る。
国特許出願番号08/320,357号の主題「A Syste
m and Method for Creating an Object Oriented Trans
action Service that Interoperates with Procedural
Transaction Coordinators」の出願に関連するものであ
る。
【0003】
【従来の技術】コンピュータ利用のトランザクション処
理システムは、多くの産業においてクリティカルなビジ
ネス・タスクのために使用されている。トランザクショ
ンは、アクションなしで完全に終了させられ或いは完全
に除去されなければならない1単位の作業を定義する。
例えば、顧客が現金を引き出すことを求める銀行の自動
端末機(ATM)において、現金を支払うというアクシ
ョンはその機械における保持された現金の残高を減らし
且つその顧客の銀行残高を減らすことであり、それらは
すべて生じなければならないか、或いは何れも生じては
ならない。従属的なアクションの1つを失敗すること
は、記録と実際の発生事項との間の不一致を導くことに
なろう。
理システムは、多くの産業においてクリティカルなビジ
ネス・タスクのために使用されている。トランザクショ
ンは、アクションなしで完全に終了させられ或いは完全
に除去されなければならない1単位の作業を定義する。
例えば、顧客が現金を引き出すことを求める銀行の自動
端末機(ATM)において、現金を支払うというアクシ
ョンはその機械における保持された現金の残高を減らし
且つその顧客の銀行残高を減らすことであり、それらは
すべて生じなければならないか、或いは何れも生じては
ならない。従属的なアクションの1つを失敗すること
は、記録と実際の発生事項との間の不一致を導くことに
なろう。
【0004】分散型トランザクション処理は、複数の物
理的又は論理的ロケーションにおける資源に影響を与え
るトランザクションに関係する。上記の例では、ATM
トランザクションは、ローカルのATM装置において管
理される資源及び銀行のメイン・コンピュータによって
管理される銀行残高に影響を与える。分散型トランザク
ションは物理的に分散してなくてもよいが、好結果のト
ランザクション完了のためには共時的に完了しなければ
ならない協調タスクに関係することがある。
理的又は論理的ロケーションにおける資源に影響を与え
るトランザクションに関係する。上記の例では、ATM
トランザクションは、ローカルのATM装置において管
理される資源及び銀行のメイン・コンピュータによって
管理される銀行残高に影響を与える。分散型トランザク
ションは物理的に分散してなくてもよいが、好結果のト
ランザクション完了のためには共時的に完了しなければ
ならない協調タスクに関係することがある。
【0005】X/Open社(X/OpenはX/Op
en社の商標である)は、分散型トランザクション処理
を実施するための1つのモデルを記述したガイドを公表
している。1991年10月発行の「X/Openガイ
ド、分散型トランザクション処理参考モデル(X/Open G
uide, Distributed Transaction Processing Reference
Model, October, 1991)は、分散型トランザクション・
システムのコンポーネント及びそれらの間の相互関係を
検討している。X/Openの分散型トランザクション
処理モデル(DTP モデル1)は3つの主要コンポー
ネント、即ち、アプリケーション・プログラム(A
P)、トランザクション・マネージャ(TM)、及び1
つ又は複数個の資源マネージャ(RM)を記述する。ア
プリケーション・プログラムは、1つ又は複数個の資源
マネージャによって制御された資源を使用し、修正す
る。トランザクション・マネージャはグローバル・トラ
ンザクションに対する責任があり、資源マネージャによ
ってとられるアクションをコミットするか或いはロール
バックするかの判断を調整する。(コミットは資源を更
新させ、一方、ロールバックはすべての作業を廃棄させ
てそれら資源をトランザクション開始時における状態に
戻らせる)。資源マネージャは特殊な資源を管理する。
資源マネージャは、データベース管理システム(DBM
S)、ファイル・システム、又は同様の資源を含むこと
が可能である。
en社の商標である)は、分散型トランザクション処理
を実施するための1つのモデルを記述したガイドを公表
している。1991年10月発行の「X/Openガイ
ド、分散型トランザクション処理参考モデル(X/Open G
uide, Distributed Transaction Processing Reference
Model, October, 1991)は、分散型トランザクション・
システムのコンポーネント及びそれらの間の相互関係を
検討している。X/Openの分散型トランザクション
処理モデル(DTP モデル1)は3つの主要コンポー
ネント、即ち、アプリケーション・プログラム(A
P)、トランザクション・マネージャ(TM)、及び1
つ又は複数個の資源マネージャ(RM)を記述する。ア
プリケーション・プログラムは、1つ又は複数個の資源
マネージャによって制御された資源を使用し、修正す
る。トランザクション・マネージャはグローバル・トラ
ンザクションに対する責任があり、資源マネージャによ
ってとられるアクションをコミットするか或いはロール
バックするかの判断を調整する。(コミットは資源を更
新させ、一方、ロールバックはすべての作業を廃棄させ
てそれら資源をトランザクション開始時における状態に
戻らせる)。資源マネージャは特殊な資源を管理する。
資源マネージャは、データベース管理システム(DBM
S)、ファイル・システム、又は同様の資源を含むこと
が可能である。
【0006】オブジェクト指向プログラミング・システ
ムは、オブジェクト再使用を可能にすること及び明確な
機能の分離を通してシステムの保守を単純化することに
より、プログラム開発の効率を向上させるよう設計され
る。
ムは、オブジェクト再使用を可能にすること及び明確な
機能の分離を通してシステムの保守を単純化することに
より、プログラム開発の効率を向上させるよう設計され
る。
【0007】オブジェクト指向システムにおける各オブ
ジェクトは、そのオブジェクトに対するデータ及びその
データを操作するためのプロシージャ又は方法をカプセ
ル化する。カプセル化は、オブジェクトが定義された方
法を使うことによってのみ1つのオブジェクトに対する
データが操作可能であることを意味する。
ジェクトは、そのオブジェクトに対するデータ及びその
データを操作するためのプロシージャ又は方法をカプセ
ル化する。カプセル化は、オブジェクトが定義された方
法を使うことによってのみ1つのオブジェクトに対する
データが操作可能であることを意味する。
【0008】又、オブジェクト指向システムはオブジェ
クト継承も行う。継承は、一般的なオブジェクトから更
に特殊なオブジェクトを取り出すことを可能にする。そ
の更に特殊なオブジェクトは、ペアレント・オブジェク
トのすべてのデータ及び方法を「継承」することができ
るが、選択されたデータ及び方法をオーバライドして他
のものを追加し、それの独特の機能を実施することがで
きる。
クト継承も行う。継承は、一般的なオブジェクトから更
に特殊なオブジェクトを取り出すことを可能にする。そ
の更に特殊なオブジェクトは、ペアレント・オブジェク
トのすべてのデータ及び方法を「継承」することができ
るが、選択されたデータ及び方法をオーバライドして他
のものを追加し、それの独特の機能を実施することがで
きる。
【0009】オブジェクト指向技法をトランザクション
処理システムに適用することは多くの新しい問題を生じ
るが、オブジェクト指向原理の使用を通してシステム効
率を向上させる機会を提供する。オブジェクト・マネー
ジメント・グループ(OMG)社は、相互運用可能なオ
ブジェクト指向システムのための標準を設定した。OM
Gによって定義された全体的なアーキテクチャは共通オ
ブジェクト・リクエスト・ブローカ・アーキテクチャ
(CORBA)である。CORBAは、オブジェクト相
互間の相互作用、特に、相異なるコンピュータ・システ
ムにおける分散したオブジェクト相互間の相互作用を定
義する。OMGは、オブジェクト指向システムにおける
トランザクション処理を標準化するための仕様を受け入
れた。この仕様は「オブジェクト・トランザクション・
サービス(OTS)仕様(Object Transaction Service
(OTS) Specification)」と題し、トランザクション処
理システムを導入するに必要なオブジェクト・サービス
に対する要件を述べている。そのOTS仕様はオブジェ
クト指向システムの独特な機能の多くを使用する。しか
し、OTSモデルは、オブジェクト指向システムがX/
Open DTPモデル及び既存の手続き型トランザク
ション処理システムを動作させることを可能にするよう
に設計される。しかし、OTS仕様は、シングル・アト
ミック・トランザクションにおいてオブジェクト指向リ
クエスト及び手続き型リクエストの両方をサポートする
システムにおける相互運用性を可能にするためのシステ
ムを定義するものではない。
処理システムに適用することは多くの新しい問題を生じ
るが、オブジェクト指向原理の使用を通してシステム効
率を向上させる機会を提供する。オブジェクト・マネー
ジメント・グループ(OMG)社は、相互運用可能なオ
ブジェクト指向システムのための標準を設定した。OM
Gによって定義された全体的なアーキテクチャは共通オ
ブジェクト・リクエスト・ブローカ・アーキテクチャ
(CORBA)である。CORBAは、オブジェクト相
互間の相互作用、特に、相異なるコンピュータ・システ
ムにおける分散したオブジェクト相互間の相互作用を定
義する。OMGは、オブジェクト指向システムにおける
トランザクション処理を標準化するための仕様を受け入
れた。この仕様は「オブジェクト・トランザクション・
サービス(OTS)仕様(Object Transaction Service
(OTS) Specification)」と題し、トランザクション処
理システムを導入するに必要なオブジェクト・サービス
に対する要件を述べている。そのOTS仕様はオブジェ
クト指向システムの独特な機能の多くを使用する。しか
し、OTSモデルは、オブジェクト指向システムがX/
Open DTPモデル及び既存の手続き型トランザク
ション処理システムを動作させることを可能にするよう
に設計される。しかし、OTS仕様は、シングル・アト
ミック・トランザクションにおいてオブジェクト指向リ
クエスト及び手続き型リクエストの両方をサポートする
システムにおける相互運用性を可能にするためのシステ
ムを定義するものではない。
【0010】
【発明が解決しようとする課題】OMGオブジェクト・
トランザクション・サービスは、オブジェクト指向イン
ターフェースを既存のX/Open DTPインターフ
ェースにマッピングしてそれらインターフェースの素子
相互間の対応を示すことを記述している。このマッピン
グは、OMG実行要求において指定されるすべてであ
る。全体的な問題として、アプリケーション・プログラ
ム・インターフェースを分離するための機構を見つける
こと、しかる後、その分離を実施するための特殊な方法
(プロシージャ)を開発することが残っている。この全
体的な問題における第1の問題は、オブジェクト指向ト
ランザクションのリクエストを手続き型トランザクショ
ンのリクエストと相互運用させるに必要な方法を定義す
ることである。詳しく云えば、その第1の問題は、トラ
ンザークのEncina製品からの手続き型トランザク
ションのリクエストと相互運用することである。これら
の方法は、OMGオブジェクト・トランザクション・サ
ービス・モデルとEncina製品との間の2フェーズ
・コミット・プロトコルの調整を考慮し、サポートしな
ければならない。OTS仕様のマッピングは、OMG機
能(境界画定、伝播、包含、及び調整のような)及びE
ncinaトランザクション・マネージャ・インターフ
ェース(形式的2フェーズ・コミット・プロトコル、ト
ランザクション識別子、及びトランザクション状態)の
間にある。2フェーズ・コミット調整はトランザクショ
ン・サービス内で生じ、ユーザ・インターフェース・レ
ベルから分離されなければならない。
トランザクション・サービスは、オブジェクト指向イン
ターフェースを既存のX/Open DTPインターフ
ェースにマッピングしてそれらインターフェースの素子
相互間の対応を示すことを記述している。このマッピン
グは、OMG実行要求において指定されるすべてであ
る。全体的な問題として、アプリケーション・プログラ
ム・インターフェースを分離するための機構を見つける
こと、しかる後、その分離を実施するための特殊な方法
(プロシージャ)を開発することが残っている。この全
体的な問題における第1の問題は、オブジェクト指向ト
ランザクションのリクエストを手続き型トランザクショ
ンのリクエストと相互運用させるに必要な方法を定義す
ることである。詳しく云えば、その第1の問題は、トラ
ンザークのEncina製品からの手続き型トランザク
ションのリクエストと相互運用することである。これら
の方法は、OMGオブジェクト・トランザクション・サ
ービス・モデルとEncina製品との間の2フェーズ
・コミット・プロトコルの調整を考慮し、サポートしな
ければならない。OTS仕様のマッピングは、OMG機
能(境界画定、伝播、包含、及び調整のような)及びE
ncinaトランザクション・マネージャ・インターフ
ェース(形式的2フェーズ・コミット・プロトコル、ト
ランザクション識別子、及びトランザクション状態)の
間にある。2フェーズ・コミット調整はトランザクショ
ン・サービス内で生じ、ユーザ・インターフェース・レ
ベルから分離されなければならない。
【0011】第2の問題は、トランザクションのオブジ
ェクト指向アプリケーション・プログラム・リクエスト
が、シングル・アトミック・トランザクションにおいて
Encinaトランザクションの手続き型アプリケーシ
ョン・プログラム・リクエストと効率的に存在すること
を可能にする機構の欠如である。更に詳しく云えば、ア
プリケーション・プログラムにおけるEncina手続
き型オペレーションを変更する必要なしに、Encin
aトランザクションも動作させながらオブジェクト指向
アプリケーション・インターフェースを動作させるため
のオブジェクト・ベースのシステム開発する必要があ
る。
ェクト指向アプリケーション・プログラム・リクエスト
が、シングル・アトミック・トランザクションにおいて
Encinaトランザクションの手続き型アプリケーシ
ョン・プログラム・リクエストと効率的に存在すること
を可能にする機構の欠如である。更に詳しく云えば、ア
プリケーション・プログラムにおけるEncina手続
き型オペレーションを変更する必要なしに、Encin
aトランザクションも動作させながらオブジェクト指向
アプリケーション・インターフェースを動作させるため
のオブジェクト・ベースのシステム開発する必要があ
る。
【0012】更なる問題は、オブジェクト・ベースのス
トラクチャを変更することなく、Encina手続き型
トランザクション・マネージャをオブジェクト指向シス
テムによって使用させるに十分な融通性のあるオブジェ
クト・ベースのストラクチャが必要であることである。
そのようなオブジェクト・ストラクチャを作成すること
は、クライアント・アプリケーション、オブジェクト・
リクエスト・ブローカ、及び資源(資源マネージャ)に
対するOMGオブジェクト・トランザクション・サービ
ス・インターフェースが維持されることを可能にするで
あろうし、OMG OTSクラス仕様において定義され
た機能を実施するクラスも維持する。
トラクチャを変更することなく、Encina手続き型
トランザクション・マネージャをオブジェクト指向シス
テムによって使用させるに十分な融通性のあるオブジェ
クト・ベースのストラクチャが必要であることである。
そのようなオブジェクト・ストラクチャを作成すること
は、クライアント・アプリケーション、オブジェクト・
リクエスト・ブローカ、及び資源(資源マネージャ)に
対するOMGオブジェクト・トランザクション・サービ
ス・インターフェースが維持されることを可能にするで
あろうし、OMG OTSクラス仕様において定義され
た機能を実施するクラスも維持する。
【0013】関連の技術的な問題は、手続き型トランザ
クション・マネージャ或いは既存の手続き型アプリケー
ションを修正することなく、オブジェクト指向アプリケ
ーションを手続き型トランザクション・マネージャに効
率的に結合するためには、一組のオブジェクト指向クラ
スを開発する必要があるということである。この問題に
対する1つの解決法が、前述の米国特許出願08/32
0,357号に開示されている。
クション・マネージャ或いは既存の手続き型アプリケー
ションを修正することなく、オブジェクト指向アプリケ
ーションを手続き型トランザクション・マネージャに効
率的に結合するためには、一組のオブジェクト指向クラ
スを開発する必要があるということである。この問題に
対する1つの解決法が、前述の米国特許出願08/32
0,357号に開示されている。
【0014】本発明によって扱われる技術的な問題は、
トランザクション・リクエストが既存のEncinaト
ランザクション・リクエストと共にシングル・アトミッ
ク・トランザクションに存在することを可能にする一組
のオブジェクト指向クラス及びクラス・ストラクチャを
開発することである。この相互運用は、Encinaト
ランザクション・マネージャ又は既存のアプリケーショ
ンの修正を必要とすることなく、Encinaインター
フェースを使用して行われなければならない。この相互
運用は、トランザクション・サービス相互間のゲートウ
ェイ機能を必要とすることなく行われなければならな
い。
トランザクション・リクエストが既存のEncinaト
ランザクション・リクエストと共にシングル・アトミッ
ク・トランザクションに存在することを可能にする一組
のオブジェクト指向クラス及びクラス・ストラクチャを
開発することである。この相互運用は、Encinaト
ランザクション・マネージャ又は既存のアプリケーショ
ンの修正を必要とすることなく、Encinaインター
フェースを使用して行われなければならない。この相互
運用は、トランザクション・サービス相互間のゲートウ
ェイ機能を必要とすることなく行われなければならな
い。
【0015】
【課題を解決するための手段】本発明は、すべてのOM
Gオブジェクト指向OTSアプリケーション・インター
フェースをサポートし且つ既存のEncina手続き型
トランザクション・マネージャとの相互運用を行うオブ
ジェクト・トランザクション・サービスを実施するため
のシステム及び方法に関するものである。
Gオブジェクト指向OTSアプリケーション・インター
フェースをサポートし且つ既存のEncina手続き型
トランザクション・マネージャとの相互運用を行うオブ
ジェクト・トランザクション・サービスを実施するため
のシステム及び方法に関するものである。
【0016】本発明は、相異なる手続き型トランザクシ
ョン・マネージャをサポートするようにOTSクラスを
修正し、それらに追加する。このサポートを提供するた
めの変更は、本発明において説明されるインプリメンテ
ーション・クラス及びクラス・ストラクチャ内でカプセ
ル化される。これらのインプリメンテーション・クラス
は、オブジェクト指向環境と既存のEncina製品と
の間のブリッジを提供する。
ョン・マネージャをサポートするようにOTSクラスを
修正し、それらに追加する。このサポートを提供するた
めの変更は、本発明において説明されるインプリメンテ
ーション・クラス及びクラス・ストラクチャ内でカプセ
ル化される。これらのインプリメンテーション・クラス
は、オブジェクト指向環境と既存のEncina製品と
の間のブリッジを提供する。
【0017】本発明は、既存の手続き型トランザクショ
ン・コーディネータを使用して、オブジェクト指向トラ
ンザクション・リクエストを手続き型トランザクション
・リクエストと相互運用可能に処理するためのコンピュ
ータ利用システムに関するものである。そのシステム
は、複数個の手続き型プログラミング・インターフェー
スを有する手続き型コーディネータと、オブジェクト指
向トランザクション処理システムから複数個の手続き型
プログラミング・インターフェースを通してトランザク
ション処理をリクエストし且つ第1の結果を戻すことを
リクエストするための第1手段と、手続き型トランザク
ション処理システムから前記複数個の手続き型プログラ
ミング・インターフェースを通してトランザクション処
理をリクエストし且つ第2の結果を戻すことをリクエス
トするための第2手段と、前記手続き型コーディネータ
からオブジェクト指向処理メソッドを呼び出すための手
段と、トランザクション結果が前記第1及び第2の結果
の両方に依存するようにトランザクション完了をコーデ
ィネートするための手段とを含む。
ン・コーディネータを使用して、オブジェクト指向トラ
ンザクション・リクエストを手続き型トランザクション
・リクエストと相互運用可能に処理するためのコンピュ
ータ利用システムに関するものである。そのシステム
は、複数個の手続き型プログラミング・インターフェー
スを有する手続き型コーディネータと、オブジェクト指
向トランザクション処理システムから複数個の手続き型
プログラミング・インターフェースを通してトランザク
ション処理をリクエストし且つ第1の結果を戻すことを
リクエストするための第1手段と、手続き型トランザク
ション処理システムから前記複数個の手続き型プログラ
ミング・インターフェースを通してトランザクション処
理をリクエストし且つ第2の結果を戻すことをリクエス
トするための第2手段と、前記手続き型コーディネータ
からオブジェクト指向処理メソッドを呼び出すための手
段と、トランザクション結果が前記第1及び第2の結果
の両方に依存するようにトランザクション完了をコーデ
ィネートするための手段とを含む。
【0018】本発明は、オブジェクト指向OMG OT
S環境に対して定義された機能と既存の手続き型環境に
おいて走る既存のEncina手続き型トランザクショ
ン・マネージャとをリンクするように構成されたインプ
リメンテーション・クラスを含むオブジェクト・ストラ
クチャに関連する。これらのクラスは、OMGベースの
クラスと1つのシステム上で走る実際のEncinaコ
ードとの間の置換可能なブリッジを提供する。インプリ
メンテーション・クラスは、OMG OTSコンプライ
アント・オブジェクトによって発生されたメッセージに
応答し、Encinaトランザクション・マネージャを
使用して必要なアクションを調整するに必要なEnci
na手続き型セルにこれらメッセージを変換する。又、
インプリメンテーション・クラスはEncinaトラン
ザクション・マネージャのコールを受け取り、その情報
を使ってそのシステムにおけるOTSベースのオブジェ
クトを更新する。
S環境に対して定義された機能と既存の手続き型環境に
おいて走る既存のEncina手続き型トランザクショ
ン・マネージャとをリンクするように構成されたインプ
リメンテーション・クラスを含むオブジェクト・ストラ
クチャに関連する。これらのクラスは、OMGベースの
クラスと1つのシステム上で走る実際のEncinaコ
ードとの間の置換可能なブリッジを提供する。インプリ
メンテーション・クラスは、OMG OTSコンプライ
アント・オブジェクトによって発生されたメッセージに
応答し、Encinaトランザクション・マネージャを
使用して必要なアクションを調整するに必要なEnci
na手続き型セルにこれらメッセージを変換する。又、
インプリメンテーション・クラスはEncinaトラン
ザクション・マネージャのコールを受け取り、その情報
を使ってそのシステムにおけるOTSベースのオブジェ
クトを更新する。
【0019】従って、本発明の目的は、オブジェクト指
向トランザクション・システムを、既存の手続き型アプ
リケーションをサポートするEncina手続き型トラ
ンザクション・システムに、ブリッジするように特別に
構成され且つリンクされたオブジェクトを含むシステム
を提供することにある。
向トランザクション・システムを、既存の手続き型アプ
リケーションをサポートするEncina手続き型トラ
ンザクション・システムに、ブリッジするように特別に
構成され且つリンクされたオブジェクトを含むシステム
を提供することにある。
【0020】本発明のもう1つの目的は、基礎となるE
ncinaトランザクション・マネージャのように見せ
かけるためにオブジェクト指向アプリケーション・プロ
グラム・インターフェースを使用してトランザクション
を遂行するためのプロセスを提供することにある。
ncinaトランザクション・マネージャのように見せ
かけるためにオブジェクト指向アプリケーション・プロ
グラム・インターフェースを使用してトランザクション
を遂行するためのプロセスを提供することにある。
【0021】本発明の更にもう1つの目的は、OMG指
定のインターフェース及び働きを与えるOTSクラスに
対する変更を必要とすることなく、Encinaトラン
ザクション・マネージャがOTSコア・トランザクショ
ン・マネージャに取って代わることを可能にするオブジ
ェクト・ストラクチャを提供することにある。
定のインターフェース及び働きを与えるOTSクラスに
対する変更を必要とすることなく、Encinaトラン
ザクション・マネージャがOTSコア・トランザクショ
ン・マネージャに取って代わることを可能にするオブジ
ェクト・ストラクチャを提供することにある。
【0022】本発明の上記目的、特徴、及び利点は、添
付図面に示されるように、次のような本発明の好適な実
施例の更に詳細な説明から明らかであろう。なお、同じ
参照番号は、本発明の同じ部品を表すものとする。
付図面に示されるように、次のような本発明の好適な実
施例の更に詳細な説明から明らかであろう。なお、同じ
参照番号は、本発明の同じ部品を表すものとする。
【0023】
【発明の実施の形態】X/Open分散型トランザクシ
ョン・プロセッサ(DTP)モデルが図1において概略
的に示される。アプリケーション・プログラム(AP)
102が実行され、データ又は他の資源に状態を変化さ
せる。資源は資源マネージャ(RM)106、108、
110によって管理される。それら資源マネージャの各
々は、データベース管理システム(DBMS)、ファイ
ル管理システム、通信資源マネージャ(CPI−C、T
xRPC、XATMIのような)、又は同様なシステム
であってよい。資源管理マネージャは、アプリケーショ
ン・プログラム102を実行するシステムから離れたコ
ンピュータ・システム上に分散可能であり、或いはそれ
らは同じコンピュータ・システムにおいて別のプロセス
として導入可能である。トランザクション・マネージャ
104は、アプリケーション・プログラム102によっ
て開始させられた各特定のトランザクションに対する処
理の完了を制御する。トランザクション・マネージャ1
04はトランザクションの終了時に確実に整合性のある
状態にさせるように資源マネージャのアクションをコー
ディネートする。このコーディネーションは、トランザ
クションが1つのものとして動作しているように見える
こと、即ち、トランザクションがそのトランザクション
と関連したすべての資源を変化させるか或いはそれがそ
れらのうちのどれも変化させないことを保証する。
ョン・プロセッサ(DTP)モデルが図1において概略
的に示される。アプリケーション・プログラム(AP)
102が実行され、データ又は他の資源に状態を変化さ
せる。資源は資源マネージャ(RM)106、108、
110によって管理される。それら資源マネージャの各
々は、データベース管理システム(DBMS)、ファイ
ル管理システム、通信資源マネージャ(CPI−C、T
xRPC、XATMIのような)、又は同様なシステム
であってよい。資源管理マネージャは、アプリケーショ
ン・プログラム102を実行するシステムから離れたコ
ンピュータ・システム上に分散可能であり、或いはそれ
らは同じコンピュータ・システムにおいて別のプロセス
として導入可能である。トランザクション・マネージャ
104は、アプリケーション・プログラム102によっ
て開始させられた各特定のトランザクションに対する処
理の完了を制御する。トランザクション・マネージャ1
04はトランザクションの終了時に確実に整合性のある
状態にさせるように資源マネージャのアクションをコー
ディネートする。このコーディネーションは、トランザ
クションが1つのものとして動作しているように見える
こと、即ち、トランザクションがそのトランザクション
と関連したすべての資源を変化させるか或いはそれがそ
れらのうちのどれも変化させないことを保証する。
【0024】オブジェクト管理グループによって定義さ
れたオブジェクト・トランザクション・サービスが図2
において概略的に示される。分散型クライアント/サー
バ(C/S)アプリケーションが120に示される。そ
のアプリケーション120は、トランザクションが必要
とするアクションを達成するためにメッセージを交換す
る多数のオブジェクトより成る。アプリケーションに存
在するオブジェクトは、トランザクション型オブジェク
トのオペレーションを呼び出す1つ又は更に多くのトラ
ンザクション型クライアント122を含む。トランザク
ションを開始するオブジェクトはトランザクション・オ
リジネータであり、そのオリジネータはトランザクショ
ンの開始時及び終了時に、そのトランザクション型サー
ビスにメッセージ138を送る。トランザクション型オ
ブジェクトは、トランザクションの範囲内で呼び出され
ることによってその働きを影響されるオブジェクトであ
る。一般に、トランザクション型オブジェクトは、トラ
ンザクション型リクエストによって修正可能な持続デー
タを含み、或いは持続データを参照する。持続データ
は、システム再開を存続させるデータである。一般に、
持続データはディスク記憶装置、不揮発性メモリ、又は
同様な装置上に存在する。
れたオブジェクト・トランザクション・サービスが図2
において概略的に示される。分散型クライアント/サー
バ(C/S)アプリケーションが120に示される。そ
のアプリケーション120は、トランザクションが必要
とするアクションを達成するためにメッセージを交換す
る多数のオブジェクトより成る。アプリケーションに存
在するオブジェクトは、トランザクション型オブジェク
トのオペレーションを呼び出す1つ又は更に多くのトラ
ンザクション型クライアント122を含む。トランザク
ションを開始するオブジェクトはトランザクション・オ
リジネータであり、そのオリジネータはトランザクショ
ンの開始時及び終了時に、そのトランザクション型サー
ビスにメッセージ138を送る。トランザクション型オ
ブジェクトは、トランザクションの範囲内で呼び出され
ることによってその働きを影響されるオブジェクトであ
る。一般に、トランザクション型オブジェクトは、トラ
ンザクション型リクエストによって修正可能な持続デー
タを含み、或いは持続データを参照する。持続データ
は、システム再開を存続させるデータである。一般に、
持続データはディスク記憶装置、不揮発性メモリ、又は
同様な装置上に存在する。
【0025】トランザクション型データは、2つのタイ
プのアプリケーション・サーバ、即ち、トランザクショ
ン型サーバ124及び回復可能サーバ126を実行する
ために使用される。回復可能サーバは、トランザクショ
ン型サーバに応答するために必要なプロトコルを実行
し、トランザクションをコミットするように或いはトラ
ンザクションをロールバックするように、及び故障から
回復することができるように、そのトランザクションに
おけるすべての参加者をその結果に確実に同意させる。
回復可能なオブジェクトはトランザクション型オブジェ
クトであるが、すべてのトランザクション型オブジェク
トが回復可能というわけではない。非回復可能トランザ
クション型オブジェクトは他の回復可能なオブジェクト
を利用してそれらの状態を実行することが可能である。
プのアプリケーション・サーバ、即ち、トランザクショ
ン型サーバ124及び回復可能サーバ126を実行する
ために使用される。回復可能サーバは、トランザクショ
ン型サーバに応答するために必要なプロトコルを実行
し、トランザクションをコミットするように或いはトラ
ンザクションをロールバックするように、及び故障から
回復することができるように、そのトランザクションに
おけるすべての参加者をその結果に確実に同意させる。
回復可能なオブジェクトはトランザクション型オブジェ
クトであるが、すべてのトランザクション型オブジェク
トが回復可能というわけではない。非回復可能トランザ
クション型オブジェクトは他の回復可能なオブジェクト
を利用してそれらの状態を実行することが可能である。
【0026】回復可能オブジェクトはトランザクション
・サービス130のプロトコルに加入しなければならな
い。トランザクション・サービス130は、各トランザ
クションの範囲をトランザクション・コンテキスト13
2として定義する或るデータを維持する。トランザクシ
ョン・コンテキスト132は、ORBが知っている各ス
レッドと関連付けられる。(オブジェクト・リクエスト
・ブローカ(ORB)特性がOMG CORBAアーキ
テクチャによって定義される)。トランザクション・コ
ンテキスト132は、各リクエストがクライアント・ア
プリケーションから発生された時に提起され、そのリク
エストが処理される動作環境特性を定義するために使用
される。トランザクション・コンテキスト132の内容
は、トランザクション・コーディネータへの参照、ネス
トされたトランザクションに対する親元参照、トランザ
クション・コーディネータに対する総体的にユニークな
トランザクションID、及び従属トランザクション・コ
ーディネータによって理解されたインプリメンテーショ
ン特有のデータを含み得るものである。
・サービス130のプロトコルに加入しなければならな
い。トランザクション・サービス130は、各トランザ
クションの範囲をトランザクション・コンテキスト13
2として定義する或るデータを維持する。トランザクシ
ョン・コンテキスト132は、ORBが知っている各ス
レッドと関連付けられる。(オブジェクト・リクエスト
・ブローカ(ORB)特性がOMG CORBAアーキ
テクチャによって定義される)。トランザクション・コ
ンテキスト132は、各リクエストがクライアント・ア
プリケーションから発生された時に提起され、そのリク
エストが処理される動作環境特性を定義するために使用
される。トランザクション・コンテキスト132の内容
は、トランザクション・コーディネータへの参照、ネス
トされたトランザクションに対する親元参照、トランザ
クション・コーディネータに対する総体的にユニークな
トランザクションID、及び従属トランザクション・コ
ーディネータによって理解されたインプリメンテーショ
ン特有のデータを含み得るものである。
【0027】回復可能オブジェクトは、トランザクショ
ン・サービス130によって資源128を登録すること
によりそのトランザクション・サービスに加入する。ト
ランザクション・サービス130は、1つのトランザク
ションに対して登録された資源に接触することによって
コミット・プロトコル(2フェーズ・コミット)を引き
出す。
ン・サービス130によって資源128を登録すること
によりそのトランザクション・サービスに加入する。ト
ランザクション・サービス130は、1つのトランザク
ションに対して登録された資源に接触することによって
コミット・プロトコル(2フェーズ・コミット)を引き
出す。
【0028】トランザクション型サーバ124は、トラ
ンザクションによって影響されるがそれ自身の回復可能
な状態を持たない働きを有する1つ又はそれ以上のオブ
ジェクトの集合である。トランザクション型サーバは、
他の回復可能なオブジェクトを使用してトランザクショ
ン型変化を行う。トランザクション型サーバは、そのト
ランザクションの完成には寄与しないが、ロールバック
・メッセージ140を送ることによってそのトランザク
ションをロールバックさせることが可能である。
ンザクションによって影響されるがそれ自身の回復可能
な状態を持たない働きを有する1つ又はそれ以上のオブ
ジェクトの集合である。トランザクション型サーバは、
他の回復可能なオブジェクトを使用してトランザクショ
ン型変化を行う。トランザクション型サーバは、そのト
ランザクションの完成には寄与しないが、ロールバック
・メッセージ140を送ることによってそのトランザク
ションをロールバックさせることが可能である。
【0029】回復可能なサーバ126は、少なくとも1
つの回復可能オブジェクト含むオブジェクトの集合であ
る。回復可能サーバは、登録メッセージ142を使用し
て、トランザクション・サービスによって1つ又はそれ
以上の資源オブジェクト128を登録することによって
プロトコルに加入する。トランザクション・サービス
は、トランザクションのために登録された資源にリクエ
ストを発生することによってコミット・プロトコルを駆
動する。
つの回復可能オブジェクト含むオブジェクトの集合であ
る。回復可能サーバは、登録メッセージ142を使用し
て、トランザクション・サービスによって1つ又はそれ
以上の資源オブジェクト128を登録することによって
プロトコルに加入する。トランザクション・サービス
は、トランザクションのために登録された資源にリクエ
ストを発生することによってコミット・プロトコルを駆
動する。
【0030】本発明による分散型処理システムの例が図
3に概略的に示される。幾つかのコンピュータ・システ
ムが、通信ネットワークを使用して相互接続している。
例えば、システム212及び204はネットワーク21
0によって接続される。システム204、202、及び
206はネットワーク208によって接続される。シス
テム206、216、218、220、及び222はネ
ットワーク214によって、及びシステム222、22
6、及び228はネットワーク224によって接続され
る。それらネットワークは、トークン・リングを含む任
意の既知のローカル・エリア・ネットワーク(LAN)
又はワイド・エリア・ネットワーク(WAN)であって
よい。又、「ネットワーク」は、単一のコンピュータ・
システムにおける多数のプロセス相互間の通信バスであ
ってもよい。
3に概略的に示される。幾つかのコンピュータ・システ
ムが、通信ネットワークを使用して相互接続している。
例えば、システム212及び204はネットワーク21
0によって接続される。システム204、202、及び
206はネットワーク208によって接続される。シス
テム206、216、218、220、及び222はネ
ットワーク214によって、及びシステム222、22
6、及び228はネットワーク224によって接続され
る。それらネットワークは、トークン・リングを含む任
意の既知のローカル・エリア・ネットワーク(LAN)
又はワイド・エリア・ネットワーク(WAN)であって
よい。又、「ネットワーク」は、単一のコンピュータ・
システムにおける多数のプロセス相互間の通信バスであ
ってもよい。
【0031】代表的なコンピュータ・システムが図4に
示される。各システム250は、1つ又はそれ以上の中
央処理装置252、揮発性メモリ254、及び入出力コ
ントローラ256を含む。その入出力コントローラ25
6は、磁気又は光ディスク記憶装置262、取り外し可
能記憶装置258、260、及びディスプレイ268へ
の書込み、キーボード266、及び指示装置264を管
理する。システム通信コントローラ270は、通信リン
ク272を介したネットワークとの通信を管理する。こ
の構成は例示目的で与えられただけであり、それの限定
することを意図するものではない。IBM PS/2コ
ンピュータ或いはIBM RISK System/6
000のような商業的に入手可能なコンピュータ・シス
テムは、本発明を実施し得るタイプのシステムの例であ
る。(なお、PS/2及びRISC System/6
000はIBM社の商標である)。前述のように、分散
型環境のシステムはすべて、単一の通信バス共用メモリ
及びディスク記憶装置を介してリンク可能である。
示される。各システム250は、1つ又はそれ以上の中
央処理装置252、揮発性メモリ254、及び入出力コ
ントローラ256を含む。その入出力コントローラ25
6は、磁気又は光ディスク記憶装置262、取り外し可
能記憶装置258、260、及びディスプレイ268へ
の書込み、キーボード266、及び指示装置264を管
理する。システム通信コントローラ270は、通信リン
ク272を介したネットワークとの通信を管理する。こ
の構成は例示目的で与えられただけであり、それの限定
することを意図するものではない。IBM PS/2コ
ンピュータ或いはIBM RISK System/6
000のような商業的に入手可能なコンピュータ・シス
テムは、本発明を実施し得るタイプのシステムの例であ
る。(なお、PS/2及びRISC System/6
000はIBM社の商標である)。前述のように、分散
型環境のシステムはすべて、単一の通信バス共用メモリ
及びディスク記憶装置を介してリンク可能である。
【0032】コンピュータ・システム250は、OS/
2オペレーティング・システム又はAIXオペレーティ
ング・システム(OS/2及びAIXはIBM社の商
標)のようなオペレーティング・システムによって制御
される。ネットワーク通信は、Novell Netw
areのオペレーティング・システム又はIBM LA
Nサーバ・オペレーティング・システム(Netwar
eはノベル社の商標)のようなネットワーク・オペレー
ティング・システムによって管理可能である。
2オペレーティング・システム又はAIXオペレーティ
ング・システム(OS/2及びAIXはIBM社の商
標)のようなオペレーティング・システムによって制御
される。ネットワーク通信は、Novell Netw
areのオペレーティング・システム又はIBM LA
Nサーバ・オペレーティング・システム(Netwar
eはノベル社の商標)のようなネットワーク・オペレー
ティング・システムによって管理可能である。
【0033】本発明は、前述のようなコンピュータ・シ
ステムを制御するためにコンピュータ・メモリ又は適当
なハードウエアを使用して実施される。
ステムを制御するためにコンピュータ・メモリ又は適当
なハードウエアを使用して実施される。
【0034】オブジェクト指向アプリケーション120
は、OMGオブジェクト・トランザクション・サービス
・モデルによって定義されるオブジェクト及びクラスを
使用してトランザクション・オペレーションを遂行す
る。これらのクラスは、オブジェクト指向インターフェ
ース又はAPIをOMG OTSに供給する。本発明
は、Encina手続き型トランザクション・コーディ
ネータにおける既存のサポートの回りにオブジェクト・
トランザクション・サービスを構築することによってO
TSオブジェクト指向トランザクション・システムを既
存のEncina手続き型トランザクション・マネージ
ャと効率的に相互運用するという問題を解決するための
好適な方法である。
は、OMGオブジェクト・トランザクション・サービス
・モデルによって定義されるオブジェクト及びクラスを
使用してトランザクション・オペレーションを遂行す
る。これらのクラスは、オブジェクト指向インターフェ
ース又はAPIをOMG OTSに供給する。本発明
は、Encina手続き型トランザクション・コーディ
ネータにおける既存のサポートの回りにオブジェクト・
トランザクション・サービスを構築することによってO
TSオブジェクト指向トランザクション・システムを既
存のEncina手続き型トランザクション・マネージ
ャと効率的に相互運用するという問題を解決するための
好適な方法である。
【0035】オブジェクト及びEncina手続き型ト
ランザクション環境の間の相互運用に対するこの方法
は、アプリケーションに対して整合性のあるオブジェク
ト指向インターフェースのための高レベル・クラスを与
える。同時に、それは、Encina手続き型トランザ
クション・コーディネータのTRAN部分が最終的なオ
ブジェクト・トランザクション・サービスに効率的に挿
入されることを可能にするものである。
ランザクション環境の間の相互運用に対するこの方法
は、アプリケーションに対して整合性のあるオブジェク
ト指向インターフェースのための高レベル・クラスを与
える。同時に、それは、Encina手続き型トランザ
クション・コーディネータのTRAN部分が最終的なオ
ブジェクト・トランザクション・サービスに効率的に挿
入されることを可能にするものである。
【0036】本発明に従いTRANをコーディネータと
して使用することによるEncinaとの相互運用の例
が図5に示される。図5は、OMG OTS環境とEn
cina手続き型トランザクション環境との間の相互運
用を示す。クライアント・アプリケーション330は、
OMG定義のオブジェクト指向インターフェースを通し
てオブジェクト・トランザクション・サービス(OT
S)を呼び出す。OTS332は、OMG定義のオブジ
ェクト・リクエスト・ブローカ(ORB)インターフェ
ースを使用してサーバにトランザクションを伝播するこ
とを含むトランザクション・サービスを与える。サーバ
OTS334は、必要に応じて、トランザクションに回
復可能なオブジェクト336を包含し、Encina手
続き型トランザクション・マネージャ(TRAN)34
0をアクセスしてトランザクション状態情報を同期させ
る。図示のように、Encina手続き型インターフェ
ースTRANは、クライアント及びサーバOTS33
2、334の両方に組み込まれる。その手続き型インタ
ーフェースを組み込む方法の詳細については後述するこ
とにする。
して使用することによるEncinaとの相互運用の例
が図5に示される。図5は、OMG OTS環境とEn
cina手続き型トランザクション環境との間の相互運
用を示す。クライアント・アプリケーション330は、
OMG定義のオブジェクト指向インターフェースを通し
てオブジェクト・トランザクション・サービス(OT
S)を呼び出す。OTS332は、OMG定義のオブジ
ェクト・リクエスト・ブローカ(ORB)インターフェ
ースを使用してサーバにトランザクションを伝播するこ
とを含むトランザクション・サービスを与える。サーバ
OTS334は、必要に応じて、トランザクションに回
復可能なオブジェクト336を包含し、Encina手
続き型トランザクション・マネージャ(TRAN)34
0をアクセスしてトランザクション状態情報を同期させ
る。図示のように、Encina手続き型インターフェ
ースTRANは、クライアント及びサーバOTS33
2、334の両方に組み込まれる。その手続き型インタ
ーフェースを組み込む方法の詳細については後述するこ
とにする。
【0037】クライアント・アプリケーション330で
は、Encina手続き型トランザクション・リクエス
トを、OTSインターフェースを呼び出すことなく、直
接に行うことができる。それらリクエストは、TRAN
リモート・プロシージャ・コール・インターフェース
(TRPC)344を介して与えられたAPIを使用す
る。OTS332及び直接TRPC344の両方にアク
セス可能なTRAN342は、サーバを介してTRAN
340に送られるEncina手続き型リクエストを管
理するためにアクセスされる。そのリクエストは既存の
資源マネージャ(RM)338によって処理される。
は、Encina手続き型トランザクション・リクエス
トを、OTSインターフェースを呼び出すことなく、直
接に行うことができる。それらリクエストは、TRAN
リモート・プロシージャ・コール・インターフェース
(TRPC)344を介して与えられたAPIを使用す
る。OTS332及び直接TRPC344の両方にアク
セス可能なTRAN342は、サーバを介してTRAN
340に送られるEncina手続き型リクエストを管
理するためにアクセスされる。そのリクエストは既存の
資源マネージャ(RM)338によって処理される。
【0038】図5に示された環境は、分割線337によ
って示されるように、オブジェクト・ベースの環境及び
手続き型環境に分割可能である。TRANコンポーネン
ト340、342は、実際には、手続き型コンポーネン
トであるが、本発明により教示されるOTS内に組み込
まれて示される。TRANコンポーネント340、34
2の手続き型インターフェースは、手続き型トランザク
ション・リクエストによる使用のために依然として利用
可能である。例えば、既存のEncinaアプリケーシ
ョン331は、TRAN342に直接に手続き型API
コール行うことができる。TRANは、既存のEnci
naアプリケーションを変更なしにサポートする。分散
オペレーションは、クライアントTRANとサーバTR
ANとの間の既存のRPCベースの通信を使用してサポ
ートされる。分散サービスに対するオブジェクト・ベー
スのリクエストは、TRANによって直接に処理される
のではなく、ORBによって処理される。例えば、クラ
イアント330は、ORBを介して回復可能オブジェク
ト336にトランザクションを伝播することが可能であ
る。回復可能オブジェクト336はOTS334を包含
し、一方、OTS334はトランザクション・コーディ
ネーションのためにTRAN340のサービスを使用す
る。
って示されるように、オブジェクト・ベースの環境及び
手続き型環境に分割可能である。TRANコンポーネン
ト340、342は、実際には、手続き型コンポーネン
トであるが、本発明により教示されるOTS内に組み込
まれて示される。TRANコンポーネント340、34
2の手続き型インターフェースは、手続き型トランザク
ション・リクエストによる使用のために依然として利用
可能である。例えば、既存のEncinaアプリケーシ
ョン331は、TRAN342に直接に手続き型API
コール行うことができる。TRANは、既存のEnci
naアプリケーションを変更なしにサポートする。分散
オペレーションは、クライアントTRANとサーバTR
ANとの間の既存のRPCベースの通信を使用してサポ
ートされる。分散サービスに対するオブジェクト・ベー
スのリクエストは、TRANによって直接に処理される
のではなく、ORBによって処理される。例えば、クラ
イアント330は、ORBを介して回復可能オブジェク
ト336にトランザクションを伝播することが可能であ
る。回復可能オブジェクト336はOTS334を包含
し、一方、OTS334はトランザクション・コーディ
ネーションのためにTRAN340のサービスを使用す
る。
【0039】本発明によって定義される相互運用は、オ
ブジェクト及び手続き型トランザクション・オペレーシ
ョンをシングル・アトミック・トランザクションにおい
て生じさせる機能である。本発明は、オブジェクト・ト
ランザクション・サービス内からのEncina手続き
型トランザクション・マネージャのTRAN部分の慎重
な使用を通して相互運用を行う「インプリメンテーショ
ン・オブジェクト」の新規なセットを導入する。相互運
用は、オブジェクト・トランザクション・サービスによ
って管理されるオブジェクト・トランザクション・リク
エストとEncina製品によって管理されるEnci
na手続き型トランザクション・リクエストとの間のも
のである。
ブジェクト及び手続き型トランザクション・オペレーシ
ョンをシングル・アトミック・トランザクションにおい
て生じさせる機能である。本発明は、オブジェクト・ト
ランザクション・サービス内からのEncina手続き
型トランザクション・マネージャのTRAN部分の慎重
な使用を通して相互運用を行う「インプリメンテーショ
ン・オブジェクト」の新規なセットを導入する。相互運
用は、オブジェクト・トランザクション・サービスによ
って管理されるオブジェクト・トランザクション・リク
エストとEncina製品によって管理されるEnci
na手続き型トランザクション・リクエストとの間のも
のである。
【0040】これらの「インプリメンテーション・オブ
ジェクト」を定義するインプリメンテーション・クラス
の設計は、相互運用を妨げることのある矛盾及び不整合
を回避しなければならない。Encinaと相互運用す
るために使用されるインプリメンテーション・クラスの
特殊な局面を説明する前に、インプリメンテーション・
クラスと他のトランザクション・サービスとの関係の一
般的な説明を行わなければならない。簡単に云えば、そ
の関係は図6に示される。前述のように、オブジェクト
指向アプリケーション120は、オブジェクト指向AP
I350を介してOMGオブジェクト・トランザクショ
ン・サービスをアクセスする。このAPIは、実際に
は、オブジェクト・トランザクション・サービスに対し
てOMGによって指定されたAPIであり、OMG定義
のクラス352によって与えられ、実施される。インプ
リメンテーション・クラス354は、OMGクラス35
2をEncina手続き型トランザクション・サービス
358のTRAN部分にブリッジするために本発明によ
って与えられる。インプリメンテーション・クラス35
4は、OMGクラス352によって使用されるオブジェ
クト指向インターフェース356を定義した。インプリ
メンテーション・クラス354は、Encina手続き
型APIの選択されたセットを通してEncina手続
き型トランザクション・サービス358のTRAN部分
にコミュニケートする。この新規なインプリメンテーシ
ョンは、標準的なOMGインターフェース及びOMGク
ラスのインプリメンテーションを保持する。インプリメ
ンテーション・クラス354は、「オブジェクト・ツー
・Encina」手続き型インターフェースをカプセル
化する。
ジェクト」を定義するインプリメンテーション・クラス
の設計は、相互運用を妨げることのある矛盾及び不整合
を回避しなければならない。Encinaと相互運用す
るために使用されるインプリメンテーション・クラスの
特殊な局面を説明する前に、インプリメンテーション・
クラスと他のトランザクション・サービスとの関係の一
般的な説明を行わなければならない。簡単に云えば、そ
の関係は図6に示される。前述のように、オブジェクト
指向アプリケーション120は、オブジェクト指向AP
I350を介してOMGオブジェクト・トランザクショ
ン・サービスをアクセスする。このAPIは、実際に
は、オブジェクト・トランザクション・サービスに対し
てOMGによって指定されたAPIであり、OMG定義
のクラス352によって与えられ、実施される。インプ
リメンテーション・クラス354は、OMGクラス35
2をEncina手続き型トランザクション・サービス
358のTRAN部分にブリッジするために本発明によ
って与えられる。インプリメンテーション・クラス35
4は、OMGクラス352によって使用されるオブジェ
クト指向インターフェース356を定義した。インプリ
メンテーション・クラス354は、Encina手続き
型APIの選択されたセットを通してEncina手続
き型トランザクション・サービス358のTRAN部分
にコミュニケートする。この新規なインプリメンテーシ
ョンは、標準的なOMGインターフェース及びOMGク
ラスのインプリメンテーションを保持する。インプリメ
ンテーション・クラス354は、「オブジェクト・ツー
・Encina」手続き型インターフェースをカプセル
化する。
【0041】オブジェクト指向ソフトウエア・システム
におけるオブジェクトは、オブジェクト・メソッドを使
用してオブジェクト・データに関するオペレーションを
遂行する。メソッドのパフォーマンスをリクエストする
選択されたオブジェクトにメッセージを送ることによっ
て、1つのオペレーションがリクエストされる。例え
ば、OMG OTSは、「BEGIN()」メッセージ
を現オブジェクトに送ることによって、新しいトランザ
クションが開始されることを明示する。(これは「CU
RRENT::BEGIN()」として更に短い形で表
される)。すべての必要なパラメータがその括弧内に与
えられなければならない。このメッセージはオブジェク
ト「CURRENT」の「BEGIN」メソッドを呼び
出させるであろう。オブジェクト及びメソッドのセット
はオブジェクト指向インターフェース又はAPIを定義
する。
におけるオブジェクトは、オブジェクト・メソッドを使
用してオブジェクト・データに関するオペレーションを
遂行する。メソッドのパフォーマンスをリクエストする
選択されたオブジェクトにメッセージを送ることによっ
て、1つのオペレーションがリクエストされる。例え
ば、OMG OTSは、「BEGIN()」メッセージ
を現オブジェクトに送ることによって、新しいトランザ
クションが開始されることを明示する。(これは「CU
RRENT::BEGIN()」として更に短い形で表
される)。すべての必要なパラメータがその括弧内に与
えられなければならない。このメッセージはオブジェク
ト「CURRENT」の「BEGIN」メソッドを呼び
出させるであろう。オブジェクト及びメソッドのセット
はオブジェクト指向インターフェース又はAPIを定義
する。
【0042】オブジェクト・メソッドは他のオブジェク
ト・メソッドを呼び出すことができるか、或いは、本質
的には手続きコードである機能的コードを使用して機能
を実行することができる。オブジェクト指向システムに
おける制御の流れが図7に示される。メッセージ402
はアプリケーション・プログラムによって送られる。オ
ブジェクト指向システムは、既知のオブジェクト指向シ
ステムの技法を使用して、メソッド選択のために適当な
オブジェクトにそのメッセージを経路指定する(ステッ
プ404)。リクエストされたメソッドが選択され(ス
テップ406)、実行される(ステップ408)。本発
明は、オブジェクト・メソッドにおいて必要な手続き型
トランザクション・ステートメントを含む。その手続き
型ステートメントは、必要なトランザクション処理を要
求する手続き型API410を呼び出す。手続き型コー
ルから戻された結果は、オブジェクトのデータ412を
更新するために使用可能であり(ステップ412)、又
はそのデータに対する変更又はその結果の基づく他のア
クションをリクエストする他のオブジェクトへのメッセ
ージに含まれる(ステップ414)。この新しいメッセ
ージはメッセージ経路指定プロセスを使用して経路指定
される(ステップ404)。
ト・メソッドを呼び出すことができるか、或いは、本質
的には手続きコードである機能的コードを使用して機能
を実行することができる。オブジェクト指向システムに
おける制御の流れが図7に示される。メッセージ402
はアプリケーション・プログラムによって送られる。オ
ブジェクト指向システムは、既知のオブジェクト指向シ
ステムの技法を使用して、メソッド選択のために適当な
オブジェクトにそのメッセージを経路指定する(ステッ
プ404)。リクエストされたメソッドが選択され(ス
テップ406)、実行される(ステップ408)。本発
明は、オブジェクト・メソッドにおいて必要な手続き型
トランザクション・ステートメントを含む。その手続き
型ステートメントは、必要なトランザクション処理を要
求する手続き型API410を呼び出す。手続き型コー
ルから戻された結果は、オブジェクトのデータ412を
更新するために使用可能であり(ステップ412)、又
はそのデータに対する変更又はその結果の基づく他のア
クションをリクエストする他のオブジェクトへのメッセ
ージに含まれる(ステップ414)。この新しいメッセ
ージはメッセージ経路指定プロセスを使用して経路指定
される(ステップ404)。
【0043】本発明は、オブジェクト・トランザクショ
ン・サービス及びEncina TRANツールキット
におけるインプリメンテーション・クラスの新規な設計
に関連する。基礎となるコーディネータ・インプリメン
テーションを与えるためにTRANを使用する次のよう
なOTSの技術的特徴は、インプリメンテーション・ク
ラスが定義されるベースである。 (1)OTSはTRANにとってはローカル回復サービ
スのように見える。TRANとの殆どの相互作用は、O
TSトランザクション・マネージャ・インプリメンテー
ション・クラスを介するものである。OTSトランザク
ション状態のインプリメンテーション・クラスは、トラ
ンザクション識別子割振りのためにTRANインターフ
ェースを使用する。この設計は、すべてのサーバが回復
可能であることを仮定している。 (2)OTSによって管理されるオブジェクト・トラン
ザクションのリクエストに対する直接的なTRAN・ツ
ー・TRANのコミュニケーションはない。手続き型E
ncinaトランザクションに対して、TRAN・ツー
・TRANコミュニケーションは現在のEncinaイ
ンプリメンテーションから無変化で動作するであろう。 (3)OTSはすべての資源及び従属コーディネータ資
源を管理し、TRANにより分配するように命じられた
時、2フェーズ・コミット(2PC)オペレーションを
分配する。 (4)OTSは各プロセスにおける各トランザクション
の結果をTRANに知らせる。それは、この目的のため
に、アプリケーション制御の「作成(PREPAR
E)」を使用する。各TRANは、それがOTSのため
に管理しているトランザクションに対するコーディネー
タであることを強制する。
ン・サービス及びEncina TRANツールキット
におけるインプリメンテーション・クラスの新規な設計
に関連する。基礎となるコーディネータ・インプリメン
テーションを与えるためにTRANを使用する次のよう
なOTSの技術的特徴は、インプリメンテーション・ク
ラスが定義されるベースである。 (1)OTSはTRANにとってはローカル回復サービ
スのように見える。TRANとの殆どの相互作用は、O
TSトランザクション・マネージャ・インプリメンテー
ション・クラスを介するものである。OTSトランザク
ション状態のインプリメンテーション・クラスは、トラ
ンザクション識別子割振りのためにTRANインターフ
ェースを使用する。この設計は、すべてのサーバが回復
可能であることを仮定している。 (2)OTSによって管理されるオブジェクト・トラン
ザクションのリクエストに対する直接的なTRAN・ツ
ー・TRANのコミュニケーションはない。手続き型E
ncinaトランザクションに対して、TRAN・ツー
・TRANコミュニケーションは現在のEncinaイ
ンプリメンテーションから無変化で動作するであろう。 (3)OTSはすべての資源及び従属コーディネータ資
源を管理し、TRANにより分配するように命じられた
時、2フェーズ・コミット(2PC)オペレーションを
分配する。 (4)OTSは各プロセスにおける各トランザクション
の結果をTRANに知らせる。それは、この目的のため
に、アプリケーション制御の「作成(PREPAR
E)」を使用する。各TRANは、それがOTSのため
に管理しているトランザクションに対するコーディネー
タであることを強制する。
【0044】オブジェクト及び手続き型トランザクショ
ンの間の相互運用性を可能にするには、特殊なインプリ
メンテーション・クラス・ストラクチャが必要である。
従って、本発明のインプリメンテーション・クラスは、
OMG OTS仕様によって定義されたオブジェクト指
向APIを、Encinaトランザクション・コーディ
ネータのTRAN成分によって遂行可能な手続き型アク
ションに変換する。インプリメンテーション・クラス
は、既存のEncina手続き型トランザクション・サ
ービスとOTS機能との間のコーディネーションを与え
る。OMG定義のクラスはOMG OTSのインプリメ
ンテーションにわたって標準的であり、次の表1におい
て再現される。
ンの間の相互運用性を可能にするには、特殊なインプリ
メンテーション・クラス・ストラクチャが必要である。
従って、本発明のインプリメンテーション・クラスは、
OMG OTS仕様によって定義されたオブジェクト指
向APIを、Encinaトランザクション・コーディ
ネータのTRAN成分によって遂行可能な手続き型アク
ションに変換する。インプリメンテーション・クラス
は、既存のEncina手続き型トランザクション・サ
ービスとOTS機能との間のコーディネーションを与え
る。OMG定義のクラスはOMG OTSのインプリメ
ンテーションにわたって標準的であり、次の表1におい
て再現される。
【0045】
【表1】
【0046】全体的には、インプリメンテーション・ク
ラスはOMG機能をより良く構造化するように構成さ
れ、最も重要なことには、手続き型APIに対する共通
のブリッジ・ポイントを隔離するように構成される。本
発明の好適な実施例は多数のインプリメンテーション・
クラスを含み、そのインプリメンテーションのサブセッ
トが表2に示される。
ラスはOMG機能をより良く構造化するように構成さ
れ、最も重要なことには、手続き型APIに対する共通
のブリッジ・ポイントを隔離するように構成される。本
発明の好適な実施例は多数のインプリメンテーション・
クラスを含み、そのインプリメンテーションのサブセッ
トが表2に示される。
【0047】
【表2】
【0048】インプリメンテーション・クラスのセット
全体からのOTSインプリメンテーション・クラスのサ
ブセットがEncina製品からのTRAN機能との相
互作用をカプセル化し、次の表3に示される。
全体からのOTSインプリメンテーション・クラスのサ
ブセットがEncina製品からのTRAN機能との相
互作用をカプセル化し、次の表3に示される。
【0049】
【表3】
【0050】オブジェクトと手続き型トランザクション
との間の相互運用はOTSからのTRAN機能の使用に
よって可能にされる。本発明はTRANにおける特殊な
初期設定オプション、OTSインプリメンテーション・
クラスからTRANへの選択されたEncina AP
Iを介したコミュニケーション、及びTRANから特殊
OTSインプリメンテーション・クラスへのアップコー
ルを介したTRANからOTSへのコミュニケーション
を使用する。「アップコール」はメソッドの手続き的呼
出しであり、この場合、手続き型TRANコードはOT
Sメソッドの呼出しを行わせる。トランザクション・マ
ネージャ回復アップコール・オブジェクト(TMRU)
607はアップコールを、トランザクション・マネージ
ャ606及びコーディネータ612と相互作用するに必
要なメソッド呼出しに変換する。アップコール・メソッ
ドからの結果はTMRUによってTRAN610に変換
される。インプリメンテーション・クラス、初期設定オ
ペレーション、及びTRANとOTSとの間のクロス・
コミュニケーションというこの新規な構造は本発明の基
本である。図8は、Encina製品からのTRAN機
能とコミュニケートするOTSインプリメンテーション
・クラスの概要である。
との間の相互運用はOTSからのTRAN機能の使用に
よって可能にされる。本発明はTRANにおける特殊な
初期設定オプション、OTSインプリメンテーション・
クラスからTRANへの選択されたEncina AP
Iを介したコミュニケーション、及びTRANから特殊
OTSインプリメンテーション・クラスへのアップコー
ルを介したTRANからOTSへのコミュニケーション
を使用する。「アップコール」はメソッドの手続き的呼
出しであり、この場合、手続き型TRANコードはOT
Sメソッドの呼出しを行わせる。トランザクション・マ
ネージャ回復アップコール・オブジェクト(TMRU)
607はアップコールを、トランザクション・マネージ
ャ606及びコーディネータ612と相互作用するに必
要なメソッド呼出しに変換する。アップコール・メソッ
ドからの結果はTMRUによってTRAN610に変換
される。インプリメンテーション・クラス、初期設定オ
ペレーション、及びTRANとOTSとの間のクロス・
コミュニケーションというこの新規な構造は本発明の基
本である。図8は、Encina製品からのTRAN機
能とコミュニケートするOTSインプリメンテーション
・クラスの概要である。
【0051】TRAN環境の初期設定は、2つのサービ
スの間のコミュニケーションにとってクリティカルであ
る。これを達成するためにインプリメンテーション・ク
ラスによって使用されるTRANコールは、次のように
なる。即ち、 (1)OTSトランザクション・マネージャ606のイ
ンプリメンテーション・クラスが作成される時、それ
は、tran標準環境コールを使用して標準環境を宣言
する必要がある。 (2)アプリケーションが未だそうしていない場合、O
TSトランザクション・マネージャ606は、tran
初期設定コールを使用してTRANを初期設定する必要
がある。 (3)tran回復初期設定コールは、種々の回復機能
を実施するプロシージャの集合のアドレスをTRANに
送る。OTSトランザクション・マネージャ606のク
ラスは回復(REC)アップコールを実施するために一
組のプロシージャを与える。 (4)一旦初期設定が完了すると、tran作動可能オ
ペレーションがTRANにそれを知らせる。
スの間のコミュニケーションにとってクリティカルであ
る。これを達成するためにインプリメンテーション・ク
ラスによって使用されるTRANコールは、次のように
なる。即ち、 (1)OTSトランザクション・マネージャ606のイ
ンプリメンテーション・クラスが作成される時、それ
は、tran標準環境コールを使用して標準環境を宣言
する必要がある。 (2)アプリケーションが未だそうしていない場合、O
TSトランザクション・マネージャ606は、tran
初期設定コールを使用してTRANを初期設定する必要
がある。 (3)tran回復初期設定コールは、種々の回復機能
を実施するプロシージャの集合のアドレスをTRANに
送る。OTSトランザクション・マネージャ606のク
ラスは回復(REC)アップコールを実施するために一
組のプロシージャを与える。 (4)一旦初期設定が完了すると、tran作動可能オ
ペレーションがTRANにそれを知らせる。
【0052】トランザクション初期設定は、OTSイン
プリメンテーション・クラスとTRANとの間のコミュ
ニケーションが必要とされる次のポイントである。これ
を達成するためにOTSインプリメンテーション・クラ
スによって使用されるTRANコールは次のようにな
る。即ち、 (1)新しいトランザクション識別子を割り振るための
リクエストは新しいトランザクション又はサブトランザ
クションを開始するためのトリガである。tran開始
オペレーションが呼び出され、これは、その後のコール
の時に使用されなければならないローカル識別子をTR
ANに戻す。 (2)そのトランザクションが従属トランザクションで
ある場合、tran据置きコミット・オペレーション
は、OTSがトランザクションの結果を従属トランザク
ションに与えることを望んでいることをTRANに知ら
せるために使用される。 (3)tran特性検索オペレーションは、総体的にユ
ニークなトランザクション識別子を得るために使用され
る。OTSトランザクション状態は呼出しOTSコーデ
ィネータに戻すようにXIDを構成しなければならず、
これは、OTSトランザクション状態がその値を恒久的
に記録する責任のある必要のないようにTRANによっ
て戻された値を含まなければならない。 (4)サブトランザクションに対しては、tranコー
ル・アフタCWRTオペレーションは、サブトランザク
ションがそれの親に関してコミットされる時をOTSに
知らせるようにTRANに依頼するために使用される。
プリメンテーション・クラスとTRANとの間のコミュ
ニケーションが必要とされる次のポイントである。これ
を達成するためにOTSインプリメンテーション・クラ
スによって使用されるTRANコールは次のようにな
る。即ち、 (1)新しいトランザクション識別子を割り振るための
リクエストは新しいトランザクション又はサブトランザ
クションを開始するためのトリガである。tran開始
オペレーションが呼び出され、これは、その後のコール
の時に使用されなければならないローカル識別子をTR
ANに戻す。 (2)そのトランザクションが従属トランザクションで
ある場合、tran据置きコミット・オペレーション
は、OTSがトランザクションの結果を従属トランザク
ションに与えることを望んでいることをTRANに知ら
せるために使用される。 (3)tran特性検索オペレーションは、総体的にユ
ニークなトランザクション識別子を得るために使用され
る。OTSトランザクション状態は呼出しOTSコーデ
ィネータに戻すようにXIDを構成しなければならず、
これは、OTSトランザクション状態がその値を恒久的
に記録する責任のある必要のないようにTRANによっ
て戻された値を含まなければならない。 (4)サブトランザクションに対しては、tranコー
ル・アフタCWRTオペレーションは、サブトランザク
ションがそれの親に関してコミットされる時をOTSに
知らせるようにTRANに依頼するために使用される。
【0053】トランザクション終了は、相互運用を実施
するためにOTSインプリメンテーション・クラスとT
RANとの間のコミュニケーションが必要とされる最終
的なポイントである。そのインプリメンテーションは、
TRANのコミット/ロールバック・ボウト(vot
e)がOTS統合ボウトに確実に含まれるようにしなけ
ればならない。又、OTSは、或る場合には、それのボ
ウトをTRANに供給しなければならない。これを達成
するためにOTSインプリメンテーション・クラスによ
って使用されるTRANコールは次のようになる。
するためにOTSインプリメンテーション・クラスとT
RANとの間のコミュニケーションが必要とされる最終
的なポイントである。そのインプリメンテーションは、
TRANのコミット/ロールバック・ボウト(vot
e)がOTS統合ボウトに確実に含まれるようにしなけ
ればならない。又、OTSは、或る場合には、それのボ
ウトをTRANに供給しなければならない。これを達成
するためにOTSインプリメンテーション・クラスによ
って使用されるTRANコールは次のようになる。
【0054】第1フェーズ:作成 (1)OTSコーディネータ終了604は、tran終
了又はtran打切りを使用してトランザクションを終
了させる。従属トランザクションでは、OTSコーディ
ネータ資源602が、tran作成オペレーションを使
用してTRAN610に作成リクエストを送る。そこ
で、それは、OTSコーディネータ::作成オペレーシ
ョンを呼び出す。 (2)トップ・レベルのトランザクションに対して、ア
ップコール回復作成オペレーションが呼び出される。 (3)一旦OTSトランザクション・コーディネー
タ::作成オペレーションが戻ると、tran回復拒否
又はtran作成成功かを判断する。 (4)tran回復読取り専用オペレーションはその結
果をTRAN610に表示するために呼び出される。 (5)tran作成オペレーション応答は統合した結果
を成功又は失敗として表示する。 (6)従属トランザクションでは、TRAN610が準
備状態に入るが、tran据置きオミットが呼び出され
ているため、直ちには第2フェーズに進まないであろ
う。OTSコーディネータ資源602がTRAN応答を
OMG応答に変換し、それをそれの上位に戻す。
了又はtran打切りを使用してトランザクションを終
了させる。従属トランザクションでは、OTSコーディ
ネータ資源602が、tran作成オペレーションを使
用してTRAN610に作成リクエストを送る。そこ
で、それは、OTSコーディネータ::作成オペレーシ
ョンを呼び出す。 (2)トップ・レベルのトランザクションに対して、ア
ップコール回復作成オペレーションが呼び出される。 (3)一旦OTSトランザクション・コーディネー
タ::作成オペレーションが戻ると、tran回復拒否
又はtran作成成功かを判断する。 (4)tran回復読取り専用オペレーションはその結
果をTRAN610に表示するために呼び出される。 (5)tran作成オペレーション応答は統合した結果
を成功又は失敗として表示する。 (6)従属トランザクションでは、TRAN610が準
備状態に入るが、tran据置きオミットが呼び出され
ているため、直ちには第2フェーズに進まないであろ
う。OTSコーディネータ資源602がTRAN応答を
OMG応答に変換し、それをそれの上位に戻す。
【0055】第2フェーズ:コミット (7)従属トランザクションに対して、OTSコーディ
ネータ資源602が、tran結果提供オペレーション
を使用してTRAN610にコミット・リクエストを送
る。 (8)アップコール回復コミット・オペレーションはト
ランザクション識別子からOTSコーディネータ612
を識別し(OTSトランザクション・マネージャ606
がそのマッピングを維持し)、OTSコーディネー
タ::コミット・オペレーションを呼び出す。
ネータ資源602が、tran結果提供オペレーション
を使用してTRAN610にコミット・リクエストを送
る。 (8)アップコール回復コミット・オペレーションはト
ランザクション識別子からOTSコーディネータ612
を識別し(OTSトランザクション・マネージャ606
がそのマッピングを維持し)、OTSコーディネー
タ::コミット・オペレーションを呼び出す。
【0056】第2フェーズ:ロールバック (9)従属トランザクションに対して、OTSコーディ
ネータ資源602は、tran打切りオペレーション又
はtran結果提供オペレーションを使用してTRAN
610にロールバック・リクエストを送る。OTSはト
ランザクションがうまく作成された場合、tran結果
提供オペレーションを使用できるだけなので、OTSは
作成なしにロールバックのためにtran打切りを使用
しなければならない。 (10)トップレベル・トランザクション又はサブトラ
ンザクションに対して、アップコール回復打切りオペレ
ーションはトランザクション識別子からOTSコーディ
ネータ612を識別し、OTSコーディネータ::ロー
ルバック・オペレーションを呼び出す。
ネータ資源602は、tran打切りオペレーション又
はtran結果提供オペレーションを使用してTRAN
610にロールバック・リクエストを送る。OTSはト
ランザクションがうまく作成された場合、tran結果
提供オペレーションを使用できるだけなので、OTSは
作成なしにロールバックのためにtran打切りを使用
しなければならない。 (10)トップレベル・トランザクション又はサブトラ
ンザクションに対して、アップコール回復打切りオペレ
ーションはトランザクション識別子からOTSコーディ
ネータ612を識別し、OTSコーディネータ::ロー
ルバック・オペレーションを呼び出す。
【0057】返送結果 (11)トランザクションがコミットされた場合、OT
Sはトランザクション・ロールバック例外を生じ、それ
をクライアントに戻さなければならない。tran終了
オペレーションは、トランザクションが成功裏に完了し
た場合にTRAN_SUCCESSを戻し、トランザク
ションがロールバックした場合にTRAN_TID_N
OT_VALIDを戻すので、この値は例外を生ずべき
かどうかを決定するために使用される。
Sはトランザクション・ロールバック例外を生じ、それ
をクライアントに戻さなければならない。tran終了
オペレーションは、トランザクションが成功裏に完了し
た場合にTRAN_SUCCESSを戻し、トランザク
ションがロールバックした場合にTRAN_TID_N
OT_VALIDを戻すので、この値は例外を生ずべき
かどうかを決定するために使用される。
【0058】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)既存の手続き型トランザクション・コーディネー
タを使用してオブジェクト指向トランザクション・リク
エストを手続き型トランザクション・リクエストと相互
運用可能に処理するためのコンピュータ利用のシステム
にして、複数個の手続き型プログラミング・インターフ
ェースを有する第1手続き型コーディネータと、オブジ
ェクト指向トランザクション処理システムから前記複数
個の手続き型プログラミング・インターフェースを通し
てトランザクション処理をリクエストし、第1の結果を
戻すことをリクエストするための第1手段と、手続き型
トランザクション処理システムから前記複数個の手続き
型プログラミング・インターフェースを通してトランザ
クション処理をリクエストし、第2の結果を戻すことを
リクエストするための第2手段と、前記第1手続き型コ
ーディネータからオブジェクト指向処理メソッドを呼び
出すための手段と、トランザクション結果が前記第1及
び第2の結果の両方に依存するようにトランザクション
完了をコーディネートするための手段と、を含むシステ
ム。 (2)前記手続き型コーディネータはEncina T
RANコーディネータであることを特徴とする上記
(1)に記載のシステム。 (3)前記手続き型コーディネータから離れてローカル
的に分散された第2手続き型コーディネータと、前記第
2手段が前記第1手続き型コーディネータ及び第2手続
き型コーディネータとの間のコミュニケーションを必要
とする時、前記第1手続き型コーディネータ及び第2手
続き型コーディネータとの間をコミュニケートするため
の第1コミュニケーション手段と、前記第1手段が前記
第1手続き型コーディネータ及び第2手続き型コーディ
ネータとの間のコミュニケーションを必要とする時、前
記第1手続き型コーディネータ及び第2手続き型コーデ
ィネータとの間をコミュニケートするための第2コミュ
ニケーション手段と、を含むことを特徴とする上記
(1)に記載のシステム。 (4)前記第1手続き型コーディネータ及び第2手続き
型コーディネータはEncina TRANコーディネ
ータであることを特徴とする上記(3)に記載のシステ
ム。 (5)前記第1コミュニケーション手段はリモート・プ
ロシージャ・コール・インターフェースであること、及
び前記第2コミュニケーション手段はオブジェクト・リ
クエスト・ブローカ(ORB)インターフェースである
ことを特徴とする上記(4)に記載のシステム。 (6)オブジェクト・ベースのリクエスト及び手続き型
リクエストの両方を含むトランザクションをコーディネ
ートするために手続き型コーディネータを使用するため
のコンピュータ利用の方法にして、前記手続き型コーデ
ィネータによってコーディネーション環境を初期設定す
るためにオブジェクト・メソッドを呼び出すステップ
と、前記手続き型コーディネータからのオブジェクト・
メソッド呼出しのための1つ又は複数個のオブジェクト
・プロシージャ・アドレスを前記オブジェクト・メソッ
ドによって前記手続き型コーディネータに送るステップ
と、手続き型トランザクション初期設定インターフェー
スを前記手続き型コーディネータに呼び出すことによっ
てオブジェクト・ベースのトランザクションを初期設定
するステップと、前記コーディネータによるコーディネ
ーションのためにオブジェクト・ベースのリクエスト及
び手続き型ベースのリクエストを受け取るステップと、
トランザクションをコミットすべきか或いはロールバッ
クすべきかを決定する場合にオブジェクト・ベースの結
果及び手続き型結果の両方が評価されるように前記コー
ディネータによってトランザクション終了をコーディネ
ートするステップと、を含む方法。 (7)前記手続き型コーディネータはEncina T
RANコーディネータであることを特徴とする上記
(6)に記載の方法。 (8)前記トランザクション終了をコーディネートする
ステップは、オブジェクト制御の回復可能オブジェクト
及び手続き型制御の回復可能オブジェクトの両方を含む
前記トランザクションに包含されたすべての回復可能オ
ブジェクトに作成メッセージを送るステップと、前記作
成メッセージに対する応答を受けるステップと、手続き
型オブジェクト・メソッド呼出しを使用して作成ステー
タスをコミュニケートするために前記手続き型コーディ
ネータによってオブジェクト回復メソッドを呼び出すス
テップと、前記作成ステータスがコミットメントを表す
場合にトランザクションをコミットするために前記手続
き型コーディネータによってオブジェクト回復メソッド
を呼び出すステップと、前記作成ステータスがコミット
メントを表さない場合にトランザクション・ロールバッ
クを表示するステップと、を含むことを特徴とする上記
(6)に記載の方法。 (9)前記トランザクション終了をコーディネートする
ステップは、オブジェクト制御の回復可能オブジェクト
及び手続き型制御の回復可能オブジェクトの両方を含む
前記トランザクションに包含されたすべての回復可能オ
ブジェクトに作成メッセージを送るステップと、前記作
成メッセージに対する応答を受けるステップと、手続き
型オブジェクト・メソッド呼出しを使用して作成ステー
タスをコミュニケートするために前記手続き型コーディ
ネータによってオブジェクト回復メソッドを呼び出すス
テップと、前記作成ステータスがコミットメントを表す
場合にトランザクションをコミットするために前記手続
き型コーディネータによってオブジェクト回復メソッド
を呼び出すステップと、前記作成ステータスがコミット
メントを表さない場合にトランザクション・ロールバッ
クを表示するステップと、を含むことを特徴とする上記
(7)に記載の方法。 (10)コミット処理の前に、前記トランザクションが
ネストされたトランザクションにおけるサブトランザク
ションであるかどうかを決定するためにテストするステ
ップと、サブトランザクションであると決定される場
合、ルート・ネストされたトランザクションがコミット
されるまで前記トランザクションのコミットメントを遅
らせるステップと、を含むことを特徴とする上記(8)
に記載の方法。 (11)オブジェクト指向トランザクション処理がオブ
ジェクト・トランザクション・サービスを使用し、手続
き型トランザクション処理が手続き型トランザクション
・サービスを使用するように、コンピュータ利用の分散
型トランザクション処理システムを操作する方法にし
て、前記オブジェクト・トランザクション・サービス及
び手続き型トランザクション・サービスの両方が共通の
手続き型コーディネータによって制御されるものにおい
て、オブジェクト指向コーディネーション・リクエスト
を前記共通の手続き型コーディネーションに対する手続
き型インターフェース・コールに変換するステップと、
前記リクエストに対する共通の手続き型インターフェー
ス応答をオブジェクト・メソッド呼出しに変換するステ
ップと、手続き型分散手段を使用して手続き型コーディ
ネーション・リクエストをリモート・サーバ手続き型コ
ーディネータに分散するステップと、オブジェクト分散
手段を使用してオブジェクト指向コーディネーション・
リクエストをリモート・サーバ手続き型コーディネータ
に分散するステップと、を含む方法。 (12)前記共通の手続き型コーディネータはEnci
na TRANコーディネータであることを特徴とする
上記(11)に記載の方法。 (13)前記手続き型分散手段はリモート・プロシージ
ャ・コール・インターフェースであること、及び前記オ
ブジェクト分散手段はオブジェクト・リクエスト・ブロ
ーカ・インターフェースであることを特徴とする上記
(12)に記載の方法。
の事項を開示する。 (1)既存の手続き型トランザクション・コーディネー
タを使用してオブジェクト指向トランザクション・リク
エストを手続き型トランザクション・リクエストと相互
運用可能に処理するためのコンピュータ利用のシステム
にして、複数個の手続き型プログラミング・インターフ
ェースを有する第1手続き型コーディネータと、オブジ
ェクト指向トランザクション処理システムから前記複数
個の手続き型プログラミング・インターフェースを通し
てトランザクション処理をリクエストし、第1の結果を
戻すことをリクエストするための第1手段と、手続き型
トランザクション処理システムから前記複数個の手続き
型プログラミング・インターフェースを通してトランザ
クション処理をリクエストし、第2の結果を戻すことを
リクエストするための第2手段と、前記第1手続き型コ
ーディネータからオブジェクト指向処理メソッドを呼び
出すための手段と、トランザクション結果が前記第1及
び第2の結果の両方に依存するようにトランザクション
完了をコーディネートするための手段と、を含むシステ
ム。 (2)前記手続き型コーディネータはEncina T
RANコーディネータであることを特徴とする上記
(1)に記載のシステム。 (3)前記手続き型コーディネータから離れてローカル
的に分散された第2手続き型コーディネータと、前記第
2手段が前記第1手続き型コーディネータ及び第2手続
き型コーディネータとの間のコミュニケーションを必要
とする時、前記第1手続き型コーディネータ及び第2手
続き型コーディネータとの間をコミュニケートするため
の第1コミュニケーション手段と、前記第1手段が前記
第1手続き型コーディネータ及び第2手続き型コーディ
ネータとの間のコミュニケーションを必要とする時、前
記第1手続き型コーディネータ及び第2手続き型コーデ
ィネータとの間をコミュニケートするための第2コミュ
ニケーション手段と、を含むことを特徴とする上記
(1)に記載のシステム。 (4)前記第1手続き型コーディネータ及び第2手続き
型コーディネータはEncina TRANコーディネ
ータであることを特徴とする上記(3)に記載のシステ
ム。 (5)前記第1コミュニケーション手段はリモート・プ
ロシージャ・コール・インターフェースであること、及
び前記第2コミュニケーション手段はオブジェクト・リ
クエスト・ブローカ(ORB)インターフェースである
ことを特徴とする上記(4)に記載のシステム。 (6)オブジェクト・ベースのリクエスト及び手続き型
リクエストの両方を含むトランザクションをコーディネ
ートするために手続き型コーディネータを使用するため
のコンピュータ利用の方法にして、前記手続き型コーデ
ィネータによってコーディネーション環境を初期設定す
るためにオブジェクト・メソッドを呼び出すステップ
と、前記手続き型コーディネータからのオブジェクト・
メソッド呼出しのための1つ又は複数個のオブジェクト
・プロシージャ・アドレスを前記オブジェクト・メソッ
ドによって前記手続き型コーディネータに送るステップ
と、手続き型トランザクション初期設定インターフェー
スを前記手続き型コーディネータに呼び出すことによっ
てオブジェクト・ベースのトランザクションを初期設定
するステップと、前記コーディネータによるコーディネ
ーションのためにオブジェクト・ベースのリクエスト及
び手続き型ベースのリクエストを受け取るステップと、
トランザクションをコミットすべきか或いはロールバッ
クすべきかを決定する場合にオブジェクト・ベースの結
果及び手続き型結果の両方が評価されるように前記コー
ディネータによってトランザクション終了をコーディネ
ートするステップと、を含む方法。 (7)前記手続き型コーディネータはEncina T
RANコーディネータであることを特徴とする上記
(6)に記載の方法。 (8)前記トランザクション終了をコーディネートする
ステップは、オブジェクト制御の回復可能オブジェクト
及び手続き型制御の回復可能オブジェクトの両方を含む
前記トランザクションに包含されたすべての回復可能オ
ブジェクトに作成メッセージを送るステップと、前記作
成メッセージに対する応答を受けるステップと、手続き
型オブジェクト・メソッド呼出しを使用して作成ステー
タスをコミュニケートするために前記手続き型コーディ
ネータによってオブジェクト回復メソッドを呼び出すス
テップと、前記作成ステータスがコミットメントを表す
場合にトランザクションをコミットするために前記手続
き型コーディネータによってオブジェクト回復メソッド
を呼び出すステップと、前記作成ステータスがコミット
メントを表さない場合にトランザクション・ロールバッ
クを表示するステップと、を含むことを特徴とする上記
(6)に記載の方法。 (9)前記トランザクション終了をコーディネートする
ステップは、オブジェクト制御の回復可能オブジェクト
及び手続き型制御の回復可能オブジェクトの両方を含む
前記トランザクションに包含されたすべての回復可能オ
ブジェクトに作成メッセージを送るステップと、前記作
成メッセージに対する応答を受けるステップと、手続き
型オブジェクト・メソッド呼出しを使用して作成ステー
タスをコミュニケートするために前記手続き型コーディ
ネータによってオブジェクト回復メソッドを呼び出すス
テップと、前記作成ステータスがコミットメントを表す
場合にトランザクションをコミットするために前記手続
き型コーディネータによってオブジェクト回復メソッド
を呼び出すステップと、前記作成ステータスがコミット
メントを表さない場合にトランザクション・ロールバッ
クを表示するステップと、を含むことを特徴とする上記
(7)に記載の方法。 (10)コミット処理の前に、前記トランザクションが
ネストされたトランザクションにおけるサブトランザク
ションであるかどうかを決定するためにテストするステ
ップと、サブトランザクションであると決定される場
合、ルート・ネストされたトランザクションがコミット
されるまで前記トランザクションのコミットメントを遅
らせるステップと、を含むことを特徴とする上記(8)
に記載の方法。 (11)オブジェクト指向トランザクション処理がオブ
ジェクト・トランザクション・サービスを使用し、手続
き型トランザクション処理が手続き型トランザクション
・サービスを使用するように、コンピュータ利用の分散
型トランザクション処理システムを操作する方法にし
て、前記オブジェクト・トランザクション・サービス及
び手続き型トランザクション・サービスの両方が共通の
手続き型コーディネータによって制御されるものにおい
て、オブジェクト指向コーディネーション・リクエスト
を前記共通の手続き型コーディネーションに対する手続
き型インターフェース・コールに変換するステップと、
前記リクエストに対する共通の手続き型インターフェー
ス応答をオブジェクト・メソッド呼出しに変換するステ
ップと、手続き型分散手段を使用して手続き型コーディ
ネーション・リクエストをリモート・サーバ手続き型コ
ーディネータに分散するステップと、オブジェクト分散
手段を使用してオブジェクト指向コーディネーション・
リクエストをリモート・サーバ手続き型コーディネータ
に分散するステップと、を含む方法。 (12)前記共通の手続き型コーディネータはEnci
na TRANコーディネータであることを特徴とする
上記(11)に記載の方法。 (13)前記手続き型分散手段はリモート・プロシージ
ャ・コール・インターフェースであること、及び前記オ
ブジェクト分散手段はオブジェクト・リクエスト・ブロ
ーカ・インターフェースであることを特徴とする上記
(12)に記載の方法。
【図1】X/Open分散型トランザクション処理モデ
ルを示すブロック図である。
ルを示すブロック図である。
【図2】OMGオブジェクト・トランザクション・サー
ビス・モデルを示すブロック図である。
ビス・モデルを示すブロック図である。
【図3】本発明の好適な実施例が適用されるネットワー
クによって相互接続される分散型コンピュータのシステ
ムを示すブロック図である。
クによって相互接続される分散型コンピュータのシステ
ムを示すブロック図である。
【図4】本発明を実施するコンピュータ・システムのブ
ロック図である。
ロック図である。
【図5】オブジェクト指向トランザクション環境とEn
cinaトランザクション環境との間の相互運用のため
のトランザクション・フローを示す図である。
cinaトランザクション環境との間の相互運用のため
のトランザクション・フローを示す図である。
【図6】オブジェクト・クラスとEncina手続き型
トランザクション・サービスとの間の関係を示す図であ
る。
トランザクション・サービスとの間の関係を示す図であ
る。
【図7】本発明に従ってトランザクションにおける制御
のフローを示す図である。
のフローを示す図である。
【図8】Encina製品のTRAN成分とコミュニケ
ートするOTSインプリメンテーション・クラスを示す
図である。
ートするOTSインプリメンテーション・クラスを示す
図である。
332 オブジェクト・トランザクション・サービス
(OTS) 334 オブジェクト・トランザクション・サービス
(OTS) 336 回復可能オブジェクト(RO) 338 資源マネージャ(RM) 340 Encina手続き型トランザクション・マネ
ージャ(TRAN) 342 Encina手続き型トランザクション・マネ
ージャ(TRAN) 344 TRANリモート・プロシージャ・コール・イ
ンターフェース(TRPC)
(OTS) 334 オブジェクト・トランザクション・サービス
(OTS) 336 回復可能オブジェクト(RO) 338 資源マネージャ(RM) 340 Encina手続き型トランザクション・マネ
ージャ(TRAN) 342 Encina手続き型トランザクション・マネ
ージャ(TRAN) 344 TRANリモート・プロシージャ・コール・イ
ンターフェース(TRPC)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 サイモン・アンソニー・ジェイムズ・ホー ルズワース イギリス国エス・ピー・アイ・オー、2・ エヌ・エヌ、ハンツ、アンドーヴァー、 ザ・ウィロウズ 7 (72)発明者 スタンレイ・アラン・スミス アメリカ合衆国テキサス州、オースティ ン、フリッシュ・コウブ 16110
Claims (13)
- 【請求項1】既存の手続き型トランザクション・コーデ
ィネータを使用してオブジェクト指向トランザクション
・リクエストを手続き型トランザクション・リクエスト
と相互運用可能に処理するためのコンピュータ利用のシ
ステムにして、 複数個の手続き型プログラミング・インターフェースを
有する第1手続き型コーディネータと、 オブジェクト指向トランザクション処理システムから前
記複数個の手続き型プログラミング・インターフェース
を通してトランザクション処理をリクエストし、第1の
結果を戻すことをリクエストするための第1手段と、 手続き型トランザクション処理システムから前記複数個
の手続き型プログラミング・インターフェースを通して
トランザクション処理をリクエストし、第2の結果を戻
すことをリクエストするための第2手段と、 前記第1手続き型コーディネータからオブジェクト指向
処理メソッドを呼び出すための手段と、 トランザクション結果が前記第1及び第2の結果の両方
に依存するようにトランザクション完了をコーディネー
トするための手段と、 を含むシステム。 - 【請求項2】前記手続き型コーディネータはEncin
a TRANコーディネータであることを特徴とする請
求項1に記載のシステム。 - 【請求項3】前記手続き型コーディネータから離れてロ
ーカル的に分散された第2手続き型コーディネータと、 前記第2手段が前記第1手続き型コーディネータ及び第
2手続き型コーディネータとの間のコミュニケーション
を必要とする時、前記第1手続き型コーディネータ及び
第2手続き型コーディネータとの間をコミュニケートす
るための第1コミュニケーション手段と、 前記第1手段が前記第1手続き型コーディネータ及び第
2手続き型コーディネータとの間のコミュニケーション
を必要とする時、前記第1手続き型コーディネータ及び
第2手続き型コーディネータとの間をコミュニケートす
るための第2コミュニケーション手段と、 を含むことを特徴とする請求項1に記載のシステム。 - 【請求項4】前記第1手続き型コーディネータ及び第2
手続き型コーディネータはEncina TRANコー
ディネータであることを特徴とする請求項3に記載のシ
ステム。 - 【請求項5】前記第1コミュニケーション手段はリモー
ト・プロシージャ・コール・インターフェースであるこ
と、及び前記第2コミュニケーション手段はオブジェク
ト・リクエスト・ブローカ(ORB)インターフェース
であることを特徴とする請求項4に記載のシステム。 - 【請求項6】オブジェクト・ベースのリクエスト及び手
続き型リクエストの両方を含むトランザクションをコー
ディネートするために手続き型コーディネータを使用す
るためのコンピュータ利用の方法にして、 前記手続き型コーディネータによってコーディネーショ
ン環境を初期設定するためにオブジェクト・メソッドを
呼び出すステップと、 前記手続き型コーディネータからのオブジェクト・メソ
ッド呼出しのための1つ又は複数個のオブジェクト・プ
ロシージャ・アドレスを前記オブジェクト・メソッドに
よって前記手続き型コーディネータに送るステップと、 手続き型トランザクション初期設定インターフェースを
前記手続き型コーディネータに呼び出すことによってオ
ブジェクト・ベースのトランザクションを初期設定する
ステップと、 前記コーディネータによるコーディネーションのために
オブジェクト・ベースのリクエスト及び手続き型ベース
のリクエストを受け取るステップと、 トランザクションをコミットすべきか或いはロールバッ
クすべきかを決定する場合にオブジェクト・ベースの結
果及び手続き型結果の両方が評価されるように前記コー
ディネータによってトランザクション終了をコーディネ
ートするステップと、 を含む方法。 - 【請求項7】前記手続き型コーディネータはEncin
a TRANコーディネータであることを特徴とする請
求項6に記載の方法。 - 【請求項8】前記トランザクション終了をコーディネー
トするステップは、 オブジェクト制御の回復可能オブジェクト及び手続き型
制御の回復可能オブジェクトの両方を含む前記トランザ
クションに包含されたすべての回復可能オブジェクトに
作成メッセージを送るステップと、 前記作成メッセージに対する応答を受けるステップと、 手続き型オブジェクト・メソッド呼出しを使用して作成
ステータスをコミュニケートするために前記手続き型コ
ーディネータによってオブジェクト回復メソッドを呼び
出すステップと、 前記作成ステータスがコミットメントを表す場合にトラ
ンザクションをコミットするために前記手続き型コーデ
ィネータによってオブジェクト回復メソッドを呼び出す
ステップと、 前記作成ステータスがコミットメントを表さない場合に
トランザクション・ロールバックを表示するステップ
と、 を含むことを特徴とする請求項6に記載の方法。 - 【請求項9】前記トランザクション終了をコーディネー
トするステップは、 オブジェクト制御の回復可能オブジェクト及び手続き型
制御の回復可能オブジェクトの両方を含む前記トランザ
クションに包含されたすべての回復可能オブジェクトに
作成メッセージを送るステップと、 前記作成メッセージに対する応答を受けるステップと、 手続き型オブジェクト・メソッド呼出しを使用して作成
ステータスをコミュニケートするために前記手続き型コ
ーディネータによってオブジェクト回復メソッドを呼び
出すステップと、 前記作成ステータスがコミットメントを表す場合にトラ
ンザクションをコミットするために前記手続き型コーデ
ィネータによってオブジェクト回復メソッドを呼び出す
ステップと、 前記作成ステータスがコミットメントを表さない場合に
トランザクション・ロールバックを表示するステップ
と、 を含むことを特徴とする請求項7に記載の方法。 - 【請求項10】コミット処理の前に、前記トランザクシ
ョンがネストされたトランザクションにおけるサブトラ
ンザクションであるかどうかを決定するためにテストす
るステップと、 サブトランザクションであると決定される場合、ルート
・ネストされたトランザクションがコミットされるまで
前記トランザクションのコミットメントを遅らせるステ
ップと、 を含むことを特徴とする請求項8に記載の方法。 - 【請求項11】オブジェクト指向トランザクション処理
がオブジェクト・トランザクション・サービスを使用
し、手続き型トランザクション処理が手続き型トランザ
クション・サービスを使用するように、コンピュータ利
用の分散型トランザクション処理システムを操作する方
法にして、前記オブジェクト・トランザクション・サー
ビス及び手続き型トランザクション・サービスの両方が
共通の手続き型コーディネータによって制御されるもの
において、 オブジェクト指向コーディネーション・リクエストを前
記共通の手続き型コーディネーションに対する手続き型
インターフェース・コールに変換するステップと、 前記リクエストに対する共通の手続き型インターフェー
ス応答をオブジェクト・メソッド呼出しに変換するステ
ップと、 手続き型分散手段を使用して手続き型コーディネーショ
ン・リクエストをリモート・サーバ手続き型コーディネ
ータに分散するステップと、 オブジェクト分散手段を使用してオブジェクト指向コー
ディネーション・リクエストをリモート・サーバ手続き
型コーディネータに分散するステップと、 を含む方法。 - 【請求項12】前記共通の手続き型コーディネータはE
ncina TRANコーディネータであることを特徴
とする請求項11に記載の方法。 - 【請求項13】前記手続き型分散手段はリモート・プロ
シージャ・コール・インターフェースであること、及び
前記オブジェクト分散手段はオブジェクト・リクエスト
・ブローカ・インターフェースであることを特徴とする
請求項12に記載の方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US35587094A | 1994-12-14 | 1994-12-14 | |
| US355870 | 1994-12-14 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0922356A true JPH0922356A (ja) | 1997-01-21 |
Family
ID=23399151
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7316943A Pending JPH0922356A (ja) | 1994-12-14 | 1995-12-05 | トランザクション相互運用システム及び方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US6138169A (ja) |
| JP (1) | JPH0922356A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002169718A (ja) * | 2000-10-13 | 2002-06-14 | Miosoft Corp | 持続的データ記憶技術 |
| US8489567B2 (en) | 2000-10-13 | 2013-07-16 | Microsoft Corporation | Persistent data storage techniques |
| US9189536B2 (en) | 2000-10-13 | 2015-11-17 | Miosoft Corporation | Maintaining a relationship between two different items of data |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6738971B2 (en) * | 1999-03-10 | 2004-05-18 | Oracle International Corporation | Using a resource manager to coordinate the comitting of a distributed transaction |
| US6757903B1 (en) * | 1999-04-05 | 2004-06-29 | Gateway, Inc. | Object driven software architecture method and apparatus |
| US7376958B1 (en) * | 2002-06-06 | 2008-05-20 | Unisys Corporation | Method and apparatus for honoring CORBA transaction requests by a legacy data base management system |
| US7331049B1 (en) | 2003-04-21 | 2008-02-12 | Borland Software Corporation | System and methodology providing typed event and notification services |
| US7272821B2 (en) * | 2003-08-25 | 2007-09-18 | Tech Mahindra Limited | System and method of universal programming language conversion |
| US7526489B2 (en) * | 2003-11-18 | 2009-04-28 | International Business Machines Corporation | Methods to integrate user-defined operations into a database |
| US7603363B2 (en) * | 2005-01-05 | 2009-10-13 | Microsoft Corporation | Systems and methods for controlling transaction participation for groups of steps in a workflow |
| US8271448B2 (en) * | 2005-01-28 | 2012-09-18 | Oracle International Corporation | Method for strategizing protocol presumptions in two phase commit coordinator |
| US7730487B2 (en) * | 2005-08-15 | 2010-06-01 | Microsoft Corporation | Synchronizing transaction ambient state among multiple transaction managers |
| GB2503932A (en) | 2012-07-13 | 2014-01-15 | Ibm | Creating a hybrid processing thread to be executed on multiple application servers |
| US9971822B1 (en) * | 2015-12-29 | 2018-05-15 | Amazon Technologies, Inc. | Replicated state management using journal-based registers |
| US10379916B2 (en) | 2017-05-10 | 2019-08-13 | International Business Machines Corporation | Integrating transaction processing system interfaces with event-driven polyglot runtime modules |
| US11113262B2 (en) * | 2019-04-01 | 2021-09-07 | Sap Se | Time-efficient lock release in database systems |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5249293A (en) * | 1989-06-27 | 1993-09-28 | Digital Equipment Corporation | Computer network providing transparent operation on a compute server and associated method |
| US5363121A (en) * | 1990-06-29 | 1994-11-08 | International Business Machines Corporation | Multiple protocol communication interface for distributed transaction processing |
| US5280610A (en) * | 1990-08-14 | 1994-01-18 | Digital Equipment Corporation | Methods and apparatus for implementing data bases to provide object-oriented invocation of applications |
| US5329619A (en) * | 1992-10-30 | 1994-07-12 | Software Ag | Cooperative processing interface and communication broker for heterogeneous computing environments |
| US5404529A (en) * | 1993-07-19 | 1995-04-04 | Taligent, Inc. | Object-oriented interprocess communication system interface for a procedural operating system |
| US5542078A (en) * | 1994-09-29 | 1996-07-30 | Ontos, Inc. | Object oriented data store integration environment for integration of object oriented databases and non-object oriented data facilities |
-
1995
- 1995-12-05 JP JP7316943A patent/JPH0922356A/ja active Pending
-
1997
- 1997-04-22 US US08/840,999 patent/US6138169A/en not_active Expired - Fee Related
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002169718A (ja) * | 2000-10-13 | 2002-06-14 | Miosoft Corp | 持続的データ記憶技術 |
| US8489567B2 (en) | 2000-10-13 | 2013-07-16 | Microsoft Corporation | Persistent data storage techniques |
| US8935225B2 (en) | 2000-10-13 | 2015-01-13 | Miosoft Corporation | Persistent data storage techniques |
| US9189536B2 (en) | 2000-10-13 | 2015-11-17 | Miosoft Corporation | Maintaining a relationship between two different items of data |
| US9830348B2 (en) | 2000-10-13 | 2017-11-28 | Miosoft Corporation | Persistent data storage techniques |
Also Published As
| Publication number | Publication date |
|---|---|
| US6138169A (en) | 2000-10-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5956506A (en) | System and method for functionally enhancing procedural software using objects | |
| EP0702295B1 (en) | System for building optimal commit trees in a distributed transaction system | |
| US6317773B1 (en) | System and method for creating an object oriented transaction service that interoperates with procedural transaction coordinators | |
| JP3762479B2 (ja) | 同期システム及び同期方法 | |
| US5768587A (en) | Operating a transaction manager with a non-compliant resource manager | |
| US5923833A (en) | Restart and recovery of OMG-compliant transaction systems | |
| US5872971A (en) | Data processing systems and methods providing interoperability between data processing resources | |
| JPH0922356A (ja) | トランザクション相互運用システム及び方法 | |
| US6356931B2 (en) | Method and system for remotely browsing objects | |
| US5586312A (en) | Method and apparatus for using an independent transaction processing application as a service routine | |
| JP4464525B2 (ja) | 作業負荷によって管理されるクライアント/サーバ・データ処理システムにおける集中アフィニティ維持装置および方法 | |
| JPH08286962A (ja) | 処理システム及びオブジェクト活動化をスケジュールする方法 | |
| GB2327134A (en) | Lock requester arbitration in object oriented systems | |
| JP3409308B2 (ja) | クライアント/サーバ・コンピューティング・システム及びサーバ処理方法 | |
| JP2002510084A (ja) | クライアント/サーバ・コンピューティング・システム | |
| EP0834807A1 (en) | Method and apparatus for performing efficient corba transactions | |
| JP3548030B2 (ja) | サーバ処理装置及びサーバ処理方法 | |
| US7600002B2 (en) | System and method for exposing a J2EE application server as a web service transaction participant | |
| JP2000242607A (ja) | サーバ・データ処理装置、操作方法および記憶装置 | |
| CN115604333A (zh) | 基于dubbo的分布式大数据分析服务调度方法及系统 | |
| Sengul et al. | Building a service provisioning system using the Enterprise JavaBean framework | |
| KR100318974B1 (ko) | 트리거링 이벤트에 기초한 코디네이터 트랜잭션 상태 객체 생성의 타이밍을 가진 클라이언트/서버 컴퓨팅을 위한 장치, 방법 및 컴퓨터 프로그램 제품 | |
| CN116301793B (zh) | 用于自助渠道后端微服务的低代码二次开发方法及系统 | |
| Lano et al. | Enterprise Information Systems and Application Servers | |
| JP2001159978A (ja) | 分散オブジェクトプログラム実行支援システム |