ページの先頭行へ戻る
Interstage Application Server OLTPサーバ運用ガイド
Interstage

1.1.5 分散トランザクション機能による分散データベースの一貫処理


1.1.5.1 分散トランザクションとは

データベースを更新する処理は、データの整合性を保持するためにも、切り離すことのできない一貫した処理を行う必要があります。このような処理のことをトランザクション処理と言います。単一のオブジェクトやリソースで発生するトランザクションをローカルトランザクションと言います。

これに対して、複数のオブジェクトや複数のリソースで発生するローカルトランザクションを一元管理し、一つのトランザクションとして連携させることをグローバルトランザクションと言います。つまり、複数のローカルトランザクションを一つのトランザクションとして扱うことができるのがグローバルトランザクションです。

Interstageのデータベース連携サービスは、X/OPENの分散トランザクション処理モデル(DTPモデル)を実現することが可能であり、分散トランザクションにおけるACID特性を保証します。


ACID特性

Atomicity

原子性

トランザクションはすべて完了するか、または元の状態かのいずれかであり、データベースなどのデータは更新されているか、されていないかのいずれかの状態であることを保証します。

Consistency

一貫性

トランザクションが完了するかどうかに関わらず、データベースなどデータに矛盾がないことを保証します。

Isolation

独立性

複数のトランザクションが同時並行的に処理されたとしても、それらはお互いに干渉せず、データの内容にも影響を与えないことを保証します。

Durability

耐久性

一度、完了したトランザクション処理は、どのような障害があっても、結果を維持することを保証します。


DTPモデルを構成するコンポーネント

AP(Application Program)

アプリケーション開発者によって実装されるコンポーネントです。
APは、TMやRMから提供されるサービスを利用して、トランザクションを制御します。
EJBなどのJ2EEアプリケーションが該当します。

TM(Transaction Manager)

トランザクションを管理するトランザクションサービスです。
Interstageではトランザクションサービスとして、データベース連携サービスを提供しています。

RM(Resource Manager)

リソースのトランザクションを管理するプログラムです。
データベース管理システムなどが該当します。

cRM(Communication RM)

トランザクション制御可能な通信基盤を提供するサービスです。
InterstageではcRMとしてCORBAサービスを提供しています。


1.1.5.2 分散トランザクション機能を提供するデータベース連携サービス

Interstageでは、分散オブジェクト環境の国際標準(OMG/CORBA)の分散トランザクション管理機能および、旧Sun(現オラクル社)より提案されたJavaの分散トランザクション管理機構をデータベース連携サービス機能として提供しています。この機能により、分散されたデータベース処理に一貫性を持たせることを可能にしています。

また、対象データベースも、Symfoware、Oracleデータベースに加えて、Windows(R)版ではSQL Serverが使用でき、インターオペラビリティの拡大を実現しています。



1.1.5.3 データベース連携サービスが実現する機能

データベース連携サービスは、OMGによって規定されたCORBAのOTS(ObjectTransactionService)規約と旧Sun(現オラクル社)によって提唱されたJ2EEのJTS(JavaTransactionService)規約を含めたトランザクションサービスです。Interstageでは、以下のように分類しています。

トランザクションサービスで提供される機能は以下の2つです。

グローバルトランザクション機能(グローバルトランザクション連携)

複数のリソース(データベース、MQD、JMSおよびリソースアダプタなど)で発生したトランザクションを1つのトランザクションとして連携する機能です。複数のトランザクションの完了を同期させることができます。
CORBAアプリケーションおよびトランザクションアプリケーションでは、OTSシステムとOTS用リソース管理プログラムを利用して機能を実現します。また、トランザクションの操作にはCurrentインターフェースを利用します。
J2EEアプリケーションでは、OTSシステムとJTS用リソース管理プログラムを利用して機能を実現します。また、トランザクションの操作にはJTAインターフェースを利用します。

分散トランザクション機能

CurrentインターフェースおよびJTAインターフェースを利用して分散したアプリケーション配下でトランザクションを操作するものです。リソースの数に関係なく、アプリケーション間でトランザクションを操作することができます。