Post on 03-Apr-2020
1
<Insert Picture Here>
Oracle Tuxedo 技術概要
日本オラクル株式会社
皆様こんにちは。日本オラクル株式会社 Fusion Middleware事業統括本部より、Oracle Tuxedo の技術概要についてご説明します。
22
Copyright© 2009, Oracle. All rights reserved. 2
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。
本資料の使用上の注意事項1
3
Copyright© 2009, Oracle. All rights reserved. 3
Agenda
1. Tuxedoの概要
2. Tuxedoの優位性
3. Tuxedoの詳細
4. Tuxedoの適用領域
本セッションでは以下のAgendaに沿ってTuxedo をご説明します。
まずはじめに、Tuxedoの概要、及び優位性についてご説明します。続いて、Tuxedoの詳細、及び適用領域について、ご説明します。
4
Copyright© 2009, Oracle. All rights reserved. 4
1. Tuxedoの概要
それではまず最初に、Tuxedoの概要についてご説明します。
5
Copyright© 2009, Oracle. All rights reserved. 5
Tuxedoとは
• オープン環境でメインフレーム並みの信頼性/可用性を実現するためのOLTPシステム用アプリケーションサーバー
• 特徴
1.C, COBOLのアプリケーションが対象
2.オープンプラットフォーム(HW, OS)の利用が可能
3.クライアント/サーバー構成(次項)
ハードウェア
OS
Java VM
WebLogic Server
Java EE
Java C COBOL
ハードウェア
OS
Tuxedo
ATMI
Intel/RISC
Unix/Windows/Linux
アプリケーションサーバ
業務ロジック
APインタフェース
※J2EEアプリケーション・サーバー (WebLogic)との比較
Tuxedoは、高い信頼性が要求されるOLTPシステムをオープンプラットフォームで構築する際に必要なアプリケーションサーバーです。
Tuxedoの特徴ですが、以下3つがあげられます
1. WebLogicなどのJavaEEアプリケーションサーバーがJavaアプリケーションを対象としているのに対し、TuxedoはC又はCOBOLアプリケーションを対象としています
2. TuxedoはWindowsやLinuxなど、オープンプラットフォームを利用できます。これにより、メインフレームやオフコン等を利用するのに比べ保守コストを低減することが可能です。更に、ハードウェアの性能向上によるメリットを享受することが可能となります。
3. Tuxedoを用いたアプリケーションは、クライアント/サーバー構成を取ります。これについては次項でご説明します。
6
Copyright© 2009, Oracle. All rights reserved. 6
Tuxedoアーキテクチャ
• Tuxedoを用いたアプリケーションでは、クライアントプログラムが、TuxedoのAPI(ATMI)を利用してサーバープロセスを呼び出す形
をとります
TUXEDO
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービスサーバサーバサーバサーバーーーープロセスプロセスプロセスプロセス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サーバサーバサーバサーバーーーープロセスプロセスプロセスプロセス
クライアントクライアントクライアントクライアントプログラムプログラムプログラムプログラム
クライアントクライアントクライアントクライアントプログラムプログラムプログラムプログラム
DB DB
ATMI
Tuxedoを用いたアプリケーションは、クライアント/サーバー構成をとります。クライアントプログラムは、TuxedoのAPI(ATMI)を利用してサーバープロセスを呼び出します。サーバープロセスは、サーバー側のアプリケーション実装であるサービスを1または複数内包した実行プログラムとなっています。
7
Copyright© 2009, Oracle. All rights reserved. 7
•基幹系のアプリケーション基盤としての長年の実績が現在でも活用されています
•目先のトレンドに流されない磐石な基盤、それでいて新しいITトレンドにチャレンジしています
1983年にAT&T ベル研究所で誕生後、USL、Novell、BEA とベンダーを変遷
25年間安定して利用されている完成されたアーキテクチャ
OLTP製品のデファクトスタンダードたる所以です
• Domain Scalability
Tuxedo 6.x
Tuxedo 7.1
Tuxedo 8.0
Tuxedo 8.1
• Full XA TP
• ATMI
• ドメイン・ゲートウェイ
• ブリッジ接続:
- Top End
- Message Q
• BEA JOLT
• SMNPエージェント
• マルチ・スレッド対応
• セキュリティ
• Tuxedo/Qの拡張
- インメ・モリー
• LLEバンドル
• GUI 管理コンソール
• ドメイン MIB
• CORBA統合
- マルチスレッド
- ユニコード
- ロードバランシング
• 性能向上性能向上性能向上性能向上
•
• WebLogic Tuxedo
Connector拡張
• Tuxedoコントロール
• シングルセキュリティ管理
• XML パーサー
• 性能向上性能向上性能向上性能向上
- ブリッジ
- ドメイン
• ’I18n拡張
- マルチバイト
- インストレーション
Tuxedo 9.0
• WebLogic Tuxedo
統合強化- WTC(WebLogic Tuxedo Connector)
- Tuxedoコントロール
• 保守機能強化- ログローテーション- タイムスタンプ精度- トレース機能拡張
WebLogic Tuxedo
Connector(WTC)
- INSサポート- Object by Value
Tuxedo 9.1
• DB連携強化連携強化連携強化連携強化- Oracle 10g RAC対応対応対応対応
• クライアント拡張- .Netクライアント対応
• 性能向上性能向上性能向上性能向上- ドメインゲートウェイ
・セキュリティ拡張
Tuxedo 10.0
・SSL暗号化・LDサーバ接続
・IBM/MQ連携
・着信MQ
・発信MQ
・BEA SALT拡張
・発信Webサービス
・BEA TSAM・WebベースのTuxedoサービス監視
・DoS攻撃対策
Tuxedoの進化
Tuxedoは基幹系のアプリケーション基盤として長年の実績があります。1983年にAT&T ベル研究所で誕生後、26年間に渡り安定して利用されている完成されたアーキテクチャです。またJavaEE連携、SOAなど新技術への対応も着々と進めています。
8
Copyright© 2009, Oracle. All rights reserved. 8
#1OLTPプラットフォームプラットフォームプラットフォームプラットフォームののののリーダーリーダーリーダーリーダー
ClearMarket Leader
Transaction Processing Platform
“Tuxedoは誰もが認めるノン・メインフレーム
ベースのTPMリーダとなった。それはその巧みなマーケティングや信頼のおけるパートナー戦略、そして実証済みの間違いのないテクノロジーによるものである。”
- Gartner
“Tuxedoはトランザクション
サーバ・ミドルウェアの分野において、世界No.1の
マーケットシェアを誇ってい
る。”
- IDC
TuxedoはOLTP用アプリケーション・サーバー製品のデファクトスタンダードとして、Gartner、IDCを始めとする第三者機関による高い評価を得ています。
9
Copyright© 2009, Oracle. All rights reserved. 9
2. Tuxedoの優位性
ここまでで、Tuxedoの概要についてご説明しました。次に、Tuxedoの優位性についてご説明します。
10
Copyright© 2009, Oracle. All rights reserved. 10
公開ベンチマークサイトでの実績
• あらゆるハードベンダーが自社ハードの高性能を発揮するためにTuxedoを活用。机上ではなく実行性能でシステム性能を向上させることが証明されています。
•現在及び過去の製品バージョンにおいて、TPC-Cベンチマークサイトにトランザクションモニタとして公開されていることは重要。
•製品の性能能力を客観的に判断するためには、公開ベンチマークに登録されている製品であるかとうかが重要。あらゆるハードベンダーによって活用されていることが真のクロスプラットフォームなミドルウェアであることを裏付ける。
Tuxedoのののの優位性優位性優位性優位性
Tuxedoの優位性ですが、まず、現在及び過去の製品バージョンにおいて、公開ベンチマークサイトに実績値が公開されていることが挙げられます。製品の性能能力を客観的に判断するためには、公開ベンチマークに登録されていることが重要です。また、あらゆるハードベンダーによって活用されていることが真のクロスプラットフォームなミドルウェアであることの裏付けです。
11
Copyright© 2009, Oracle. All rights reserved. 11
サーバープロセス1
サービスa
IPCキュー
負荷分散機能(1)シングルサーバープロセス・シングルキュー(SSSQ)とマルチサーバープロセス・シングルキュー(MSSQ)
SSSQ
構成定義の設定で選択可能
コーディングの変更は不要
サービスb
ab
a
サーバープロセス2
サービスa
IPCキュー
サービスb
a b
サーバープロセス3
IPCキュー
サービスc
c
b
a
cc
ロードバランス
�特長� キュー(IPCキュー)がサーバープロセスに1対1にバインド� マシン内もマシンを越えた分散も可能� デフォルトでは空いているキューにキューイングされる� LDBAL=Y定義パラメタでロード値による分散
サーバープロセス1
サービスa
IPCキュー
サービスb
ac
サーバープロセス2
サービスa
サービスb
サーバープロセス3
サービスc
b
ロードバランス
b
c
サービスa
サービスb
サービスc
サービスc
a
b
c
MSSQ
�特長� キュー(IPCキュー)がサーバープロセスに1対nにバインド� マシン内の分散が可能� キューを単一にすることで順序保障が可能� 同一サービス構成のプロセス多重に適している� レスポンスタイムの均質化
単一プロセスはロードバランスしなくてよい
Tuxedoのののの優位性優位性優位性優位性
機能面の優位性としては、まず負荷分散機能があげられます。Tuxedoでは負荷分散方式として、シングルサーバープロセス・シングルキュー(SSSQ)とマルチサーバープロセス・シングルキュー(MSSQ)の2方式を利用できます。
SSSQはクライアントからのリクエストを受け付けるIPCキューをサーバープロセス毎に設ける方式です。1マシン内、及び複数マシン間の負荷分散が可能ですが、処理の順序性は保障できません
MSSQはクライアントからのリクエストを受け付けるIPCキューを1つだけ用いる方式です。1マシン内での負荷分散しか行えませんが、処理の順序性を保障することが可能です。また、あるサーバーがスタックしている場合、後続のリクエストは別のサーバーへ振り分けられるので、レスポンスタイムを高速かつ均等にすることが可能です
両方式はいずれも設定にて選択可能です。コーディングの変更は不要です。
12
Copyright© 2009, Oracle. All rights reserved. 12
サーバープロセスサーバープロセスサーバープロセスサーバープロセス
負荷分散機能(2)優先順位設定
• 特長–優先順位によって、サーバがキューからサービス要求を取り出す順序が決定される。
–優先順位は、クライアントからのAPI、または定義設定によって個々のサービスに割り当てられる。
–1 ~ 100 までの値が使用され、デフォルトは50であり100 が最も高い優先順位。
–10回に1回の割合でFIFOで取り出され「沈み込み」を防止。
–リクエスト側の都合で一時的かつ特権的に優先スケジュールを行うことができる。
Tuxedoのののの優位性優位性優位性優位性
サービスサービスサービスサービスC(優先度=70)
サービスサービスサービスサービスB(優先度=50)
サービスサービスサービスサービスA(優先度=50)
負荷分散に加えて、処理の優先度について設定することが可能です。サービスに対して設定した優先順位によって、サーバがキューからサービス要求を取り出す順序が決定されます。この図の場合、優先度設定が最も高いサービスCに対するサービス要求(リクエスト)が優先されます。但し10回に1回の割合でFIFO(到着順処理)がなされ、いわゆる「沈み込み」を防止します。また、クライアント側から一時的かつ特権的に優先スケジュールを行うことも可能です。
13
Copyright© 2009, Oracle. All rights reserved. 13
耐障害機能
• サーバープロセスの多重化、障害時の再起動
• クライアントからの透過的なアクセス(サーバで発生している障害の隠蔽)
クライアント
Tuxedoサーバノード1
Tuxedoサーバノード2
AP1
Proc1
Proc1
Proc1
再起動再起動再起動再起動 Proc1
透過的透過的透過的透過的アクセスアクセスアクセスアクセス
プロセスプロセスプロセスプロセス多重多重多重多重化化化化
ソフトウェアレベルソフトウェアレベルソフトウェアレベルソフトウェアレベルでででで耐障害性耐障害性耐障害性耐障害性をををを提供提供提供提供
Tuxedoのののの優位性優位性優位性優位性
次に耐障害性機能についてご説明します。Tuxedoではサーバープロセスの多重化、障害時のサーバープロセスの自動再起動など、ハードウェアに依らずソフトウェアレベルで耐障害性を保障する仕組みを提供しています。また、クライアントからのサービス要求を自動的に別ノードにルーティングする仕組みも提供しており、ハードウェア障害などのケースにも対応しています。
14
Copyright© 2009, Oracle. All rights reserved. 14
Servlet
EJB
JSP
JMS
WebLogic
Tuxedo
Domain
Gateway
サービスサービスサービスサービスサービスサービスサービスサービス
サービスサービスサービスサービス
Tuxedo
Domain
Gateway
サービスサービスサービスサービスサービスサービスサービスサービス
サービスサービスサービスサービス
Tuxedo
Domain
Gateway
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
Domain
Gateway
WTC
外部連携機能WebLogic Tuxedo Connector (WTC): Tuxedo-WebLogic連携機能
双方向双方向双方向双方向のののの通信通信通信通信がががが可能可能可能可能
• Tuxedo側からの見え方: WebLogic上の実装をTuxedo上の実装(サービス)として呼び出すことが可能
• WebLogic側からの見え方: Tuxedo上の実装をEJB(SLSB)として呼び出すことが可能
• 必要な設定�Tuxedo側: 構成定義の追加のみ�WebLogic側: 設定+Tuxedo向けAPI(JATMI)の実装
Tuxedoのののの優位性優位性優位性優位性
最後に、外部連携機能についてご説明します。TuxedoはWebLogicと双方向に連携するための機能を有しています。これによりC/COBOL実装とJavaEE実装を連携させ、アプリケーションの機能を柔軟に拡張することが可能となります。
具体的な機能ですが、Tuxedo側からの見え方としては、WebLogic上のJavaEE実装をTuxedo上の実装(サービス)としてサービス呼び出しを行うことが可能です。片やWebLogic側からの見え方としては、Tuxedo上のC/COBOL実装をEJB(SLSB)として呼び出すことが可能です。
15
Copyright© 2009, Oracle. All rights reserved. 15
MessageQ
C/C++/Cobol
アプリケーションアプリケーションアプリケーションアプリケーションコンテナコンテナコンテナコンテナ
大容量大容量大容量大容量トランザクショントランザクショントランザクショントランザクション
処理処理処理処理
接続接続接続接続ATMI/XA/SOA
統合統合統合統合
メッセージングメッセージングメッセージングメッセージング&
キューイングキューイングキューイングキューイング
イベントイベントイベントイベント駆動駆動駆動駆動
Pub/Sub
OA&M
インフラインフラインフラインフラセキュリティセキュリティセキュリティセキュリティマネージャーマネージャーマネージャーマネージャー
Oracle Tuxedo
複数複数複数複数ドメインドメインドメインドメイン間間間間のののの接続接続接続接続、、、、ルーティングルーティングルーティングルーティング
ATMI API
Domain GatewayBMQ BridgeMainframe Adapters: TCP/IP, SNA, OSI-TP
Mainframe Resources: CICS, IMS TM, UnisysOther TUXEDO
Applications
CORBA API
(IIOP)
CORBA
アプリケーションアプリケーションアプリケーションアプリケーション
Jolt
•Java Clients: POJO,
JSP/Servlet
•JavaEE App Servers
サービスサービスサービスサービス仮想化仮想化仮想化仮想化&
動的動的動的動的ロードバランロードバランロードバランロードバランシングシングシングシング
ATMIクライアントクライアントクライアントクライアントC, C++,
.Net, COBOL
SALT(Native Web Services)
双方向双方向双方向双方向ののののWebサービスサービスサービスサービスJ2EE, .Net,
Packaged Apps.
WebLogic Server
WebLogic-TuxedoConnector
Queued/Q-JMS
Sync/Async
トランザクション
セキュリティ
IBM MQ
MQ Adapter
3rd Party 管理ソリューション
TSAM
TSAM
Manager
Tux Transport
Oracle Service Bus
Adaptive Msg’ing
トランスフォーメーション
XA
Embedded Mgmt.
Pluggable Security
Tuxedoのののの優位性優位性優位性優位性
外部連携機能
TuxedoはWebLogic連携の他にも多様な外部連携機能を有しています。アプリケーションサーバーやJava実装との連携、Oracle Service Busや外部Webサービスとの連携、IBM MQやメインフレームとの連携、など、多くの外部環境と連携し、アプリケーションの機能を拡張していくことが可能です。
16
Copyright© 2009, Oracle. All rights reserved. 16
3. Tuxedoの詳細
ここまでで、Tuxedoの優位性について説明いたしました。次に、Tuxedoの技術的な詳細についてご説明します。
17
Copyright© 2009, Oracle. All rights reserved. 17
Tuxedoアーキテクチャ
• Tuxedoを用いたアプリケーションでは、クライアントプログラムが、TuxedoのAPI(ATMI)を利用してサーバー側プログラム(=サービ
ス)を呼び出す形をとります(サービスが他のサービスを呼び出すパターンもあります)
TUXEDO
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービスサーバサーバサーバサーバーーーープロセスプロセスプロセスプロセス
サービスサービスサービスサービス
サービスサービスサービスサービス
サービスサービスサービスサービス
サーバサーバサーバサーバーーーープロセスプロセスプロセスプロセス
クライアントクライアントクライアントクライアントプログラムプログラムプログラムプログラム
クライアントクライアントクライアントクライアントプログラムプログラムプログラムプログラム
DB DB
ATMI
概要のパートでも説明しましたが、Tuxedoのアーキテクチャについて再度ご説明します。
Tuxedoを用いたアプリケーションでは、クライアントプログラムが、TuxedoのAPI(ATMI)を利用してサーバープロセス内のサービスを呼び出す形をとります。サーバープロセスはサーバー側のアプリケーション実装であるサービスを1または複数内包した実行プログラムを指します
18
Copyright© 2009, Oracle. All rights reserved. 18
Tuxedoクライアントプログラムからの
サービス呼び出し
出金出金出金出金サービスサービスサービスサービス
入金入金入金入金サービスサービスサービスサービス
口座振替口座振替口座振替口座振替サービスサービスサービスサービス
Tuxedo(ATMI API)
tpbegin
tpcall(口座振替口座振替口座振替口座振替)tpcall(出金出金出金出金)
tpcall(入金入金入金入金)
tpreturn(…)
tpreturn(…)
tpreturn(…)
tpcommit
SQL
SQL
業務業務業務業務ロジックロジックロジックロジックははははサービスサービスサービスサービスとしてとしてとしてとして配備配備配備配備
クライアントクライアントクライアントクライアントプログラムプログラムプログラムプログラム((((銀行取引銀行取引銀行取引銀行取引))))
サーバーサーバーサーバーサーバープロセスプロセスプロセスプロセス1
クライアントプログラムからのサービス呼び出しを図式化してみました。赤枠矢印内のtpcallやtpreturnはTuxedoのATMI APIのメソッドです。クライアントプログラムやサービスからのサービス呼び出しはこれらを使用して行います。
この図では、クライアントプログラムはまずtpbeginにてトランザクションを張った後、口座振替サービスを呼び出します。口座振替サービスは内部で出金サービスと入金サービスを呼び出し、処理結果をクライアントプログラムに返します。クライアントプログラムは処理結果を正常に受け取った後、トランザクションをcommitします。
19
Copyright© 2009, Oracle. All rights reserved. 19
Tuxedoドメインドメインドメインドメイン((((アプリケーションアプリケーションアプリケーションアプリケーション))))
マシン1
マシン1(物理マシン)
グループ1
グループ1
サーバー1
Tuxedoドメイン(アプリケーション)の構成
サーバー1
サービスA
サービスB
サービスC
サービス…
•サービス
�1つの業務処理を実行する関数。サービスは1つ以
上のサーバーに含めることが出来る
•サーバー
�1つ以上のサービスを実行する実行プログラム
•グループ
�1つ以上のサーバーの論理的なグループ。1つのリ
ソースマネージャ単位
•マシン
�1つ以上のグループを稼動させる物理マシンの定義
•ドメイン
�1つのTuxedoアプリケーション。ドメイン構成(マシン、
グループ、サーバー、サービス等)はドメイン設定ファイル(Tuxedoコンフィグレーション・ファイル)に設定す
る
Tuxedoコンフィグレーションコンフィグレーションコンフィグレーションコンフィグレーション・・・・ファイルファイルファイルファイル
さて、ではTuxedoを用いたアプリケーションの構成についてご説明します。Tuxedoアプリケーションは一般的にはTuxedoドメインと呼称します。Tuxedoドメインは図の構成を取ります。
サービスは1つの業務処理を実行する関数です。先の例で言えば、"入金"などがこれにあたります。サービスは1つないし複数のサーバーに含めることが出来ます。
サーバーは1つ以上のサービスを実行する実行プログラムです。サーバープロセスはこの単位で上がります。サーバーから見ると、サービスは1つの関数として扱われます。
グループは1つ以上のサーバーを内包する論理的なグループです。複数のデータソースを扱う分散トランザクション環境においては、グループはリソースマネージャとして扱われるため、データソースの数だけグループを設定します
マシンは1つ以上のグループを稼動させる物理マシンの定義です。Tuxedoドメインは1つないし複数のマシンを用いた構成を取ることが可能です。
ドメインは1つのTuxedoアプリケーションを指します。マシン、グループ、サーバー、サービス等のドメイン構成はドメイン設定ファイル(Tuxedoコンフィグレーション・ファイル)に設定します。
20
Copyright© 2009, Oracle. All rights reserved. 20
Tuxedoコンフィグレーション・ファイル: 主要な項目
�SERVICES: 当該ドメイン内の各サービス(関数)の設定
�トランザクション、処理優先度、負荷分散に関する重み(処理負荷)など
�SERVERS: 当該ドメイン内の各サーバー(実行プログラム)の設定
�グループとの関連、起動設定(起動順序等)再起動設定(再起動回数、間隔等)など
�GROUPS: 当該ドメイン内の各グループの設定
�グループID、マシンとの関連など
�トランザクション関連設定(トランザクションマネージャ情報、リソースマネージャ情報、など)
�MACHINES: 当該ドメインで使用する各マシンの設定
�マシンの種別、ホスト名、各種パス情報、リソース上限値、セキュリティ設定など
�RESOURCES: 当該Tuxedoドメイン(アプリケーション)全体の設定
�共有メモリのアドレス、使用リソースの上限値、セキュリティ設定など
Tuxedoドメインを定義するTuxedoコンフィグレーション・ファイルですが、ドメインを構成する各要素について様々に設定することが可能です。これにより、例えば同一のサーバーを複数立ち上げる、など可用性を高めた構成などを設定できます。
21
Copyright© 2009, Oracle. All rights reserved. 21
Tuxedoドメインと物理マシンとの関係
Tuxedoマシンマシンマシンマシン1 Tuxedoマシンマシンマシンマシン2 Tuxedoマシンマシンマシンマシン3
Tuxedoドメインドメインドメインドメイン1
マシン1 マシン2
Tuxedoドメインドメインドメインドメイン2
マシン1 マシン2 マシン3
Tuxedoドメインドメインドメインドメイン3
マシン3
•Tuxedoドメインと物理マシンとの関係はドメイン設定によって定義されます
�(例: 上図)各物理マシン上で稼動するサーバープロセス数
�Tuxedoマシン1: 3プロセス
�Tuxedoマシン2: 2プロセス
�Tuxedoマシン3: 4プロセス
サーバーサーバーサーバーサーバーA
サーバーサーバーサーバーサーバーB
サーバーサーバーサーバーサーバーA
サーバーサーバーサーバーサーバーC サーバーサーバーサーバーサーバーD サーバーサーバーサーバーサーバーE
サーバーサーバーサーバーサーバーF
サーバーサーバーサーバーサーバーG
サーバーサーバーサーバーサーバーH
Tuxedoドメインと物理マシンとの関係について整理します。Tuxedoドメインと物理マシンとの関係はドメインの設定によって定義されます。この図の場合、各物理マシン上で稼動するTuxedoのサーバープロセス数は、Tuxedoマシン1: 3プロセス、Tuxedoマシン2: 2プロセス、Tuxedoマシン3: 4プロセス、となります。
Tuxedoドメインはこのように柔軟に配置することが可能です
22
Copyright© 2009, Oracle. All rights reserved. 22
Tuxedoドメイン(アプリケーション)の開発手順
1.Tuxedoクライアントプログラムの開発とビルド(buildClientコマンドの例)buildclient -o simpcl -f simpcl.c
2.Tuxedoサービスの開発とTuxedoサーバーのビルド
�サービスは関数として実装する
�サービスとサーバーの関係はここで指定する(buildserverコマンドの例)buildserver
-f DEPOSIT.o -f WITHDRAW.o -f INQUIRY.o
-s DEPOSIT -s WITHDRAWAL -s INQUIRY
-o TLR (以下省略)
3.Tuxedoコンフィグレーション・ファイルの編集とロード
4.アプリケーションの起動
-f: 個別にコンパイルしたファイル-s: サービス名(関数名)-o: サーバー名
-f: 入力ソースファイル-o: クライアント名(実行プログラム名)
Tuxedoアプリケーションの開発手順についてご説明します。
まず、クライアントプログラムとしてサービスを呼び出すコードを書き、ビルドします。
次にサービスとして、業務処理をコーディングし、ビルドします。サービスとサーバーの関係はビルド時に指定します。この例では「TLR」というサーバーに、「DEPOSIT」「WITHDRAWAL」「INQUIRY」の3のサービスを関係付けています
最後にTuxedoコンフィグレーション・ファイルを編集して、サービス、サーバー、マシン等を設定します。
23
Copyright© 2009, Oracle. All rights reserved. 23
•掲示板 (Bulletin Board):
�全てのTuxedoドメイン設定(サーバーの名前と配置、サービスとサーバーの関連、など)及び
処理に関する情報(待ち状態にあるサービス呼び出しの数、処理済みの要求数など)を管理するプロセス
•WSH (WorkStation Handler)、WSL (WorkStation Listener)
�WSH: Tuxedoクライアントプログラムとの1つまたは複数の接続を管理するプロセス
�WSL: WSHの起動/停止を行うプロセス
•BBL
�Tuxedoマシンの全プロセスを監視するプロセス。
障害時の再起動や再起動後の再処理を行います
•DBBL
�複数のTuxedoマシン上のBBLを一元管理します。BBLに障害が
発生した際の再起動等を行います
Tuxedoの主要な構成要素
BBLWSL
DBBL
WSH
サーバ1 サーバ2
掲示板(Bulletin Board)
WSH
Tuxedo
クライアントプログラム
Tuxedo
クライアントプログラム
別のTuxedoマシンと連携
Tuxedoマシンマシンマシンマシン
BridgeDomain
Gateway
別のTuxedoドメインと連携
最後にTuxedo全体に関して、主要な構成要素をご説明します。
-Tuxedoで重要なモジュールが掲示板です。掲示板は全てのTuxedoドメイン設定(サーバーの名前と配置、サービスとサーバーの関連、など)及び処理に関する情報(待ち状態にあるサービス呼び出しの数、処理済みの要求数など)を管理するプロセスです。なお、ドメイン設定の情報はグローバル情報としてすべてのTuxedoマシン間で共有されます
-WorkStation Handlerはクライアントプログラムとの1つまたは複数の接続を管理するプロセスです。WorkStation ListenerはWorkStation Handlerの起動、停止を行います。
-BBLは1つのTuxedoマシン上のプロセス群を監視するプロセスです。障害時の再起動や再起動後の再処理などを行います
-DBBLは複数のTuxedoマシン上のBBLを一元管理します。複数のマシン上の掲示板情報の同期や、BBLに障害が発生した際の再起動などを行います
24
Copyright© 2009, Oracle. All rights reserved. 24
4. Tuxedoの適用領域
ここまでで、Tuxedoの技術的な詳細について説明しました。次に、Tuxedoの適用領域についてご説明します
25
Copyright© 2009, Oracle. All rights reserved. 25
Tuxedoの適用領域
1. 基幹業務を担うシステムのアプリケーション基盤として� システム停止が許されない
� 稼働率を最大化し障害コストを最小化
2. メインフレームからオープンプラットフォームへのマイグレーションにおけるアプリケーション基盤として� C/COBOLアプリケーションの実行基盤
� メインフレームと同等の信頼性
� メインフレームマイグレーションの後の、更に次のIT戦略への展開
Tuxedoの適用領域ですが、大きく2つが挙げられます。
ひとつは、基幹システムのアプリケーション基盤としての利用です。Tuxedoを用いることで、高い信頼性が求められる基幹システムの稼働率の最大化と障害コストの最小化に貢献できます。
ふたつめは、メインフレームからオープンプラットフォームへのマイグレーションにおけるアプリケーション基盤としての利用です。C/COBOLアプリケーションの実行基盤としてTuxedoを用いることで、オープンプラットフォームを用いながら、メインフレームと同等の信頼性の実現に貢献できます。また、Tuxedoの外部連携機能を利用することで、単なるオープン化に留まらず、SOAなど次のIT戦略に展開することも可能です
26
Copyright© 2009, Oracle. All rights reserved. 26
1.基幹システムのアプリケーション基盤としてのTuxedo利用
基盤基盤基盤基盤((((Tuxedo))))なしなしなしなし
全ての機能を1から構築する必要がある
時間時間時間時間ももももコストコストコストコストもかかりもかかりもかかりもかかり、、、、品質品質品質品質もまちまちもまちまちもまちまちもまちまち
10 10 10 10…
各種システム群
基盤基盤基盤基盤((((Tuxedo))))ありありありあり
共通機能/共通サービスは基盤がまとめて提供
構築分構築分構築分構築分がががが減減減減りりりり、、、、一定一定一定一定のののの品質品質品質品質がががが確保確保確保確保できるできるできるできる
5 5 5 5…
5Tuxedo
開発生産性開発生産性開発生産性開発生産性のののの向上向上向上向上 ⇒⇒⇒⇒ よりよりよりより短期短期短期短期でのでのでのでのシステムシステムシステムシステム構築構築構築構築がががが可能可能可能可能になるになるになるになる
品質品質品質品質のののの向上向上向上向上 ⇒⇒⇒⇒ 不具合不具合不具合不具合のののの発生率低下発生率低下発生率低下発生率低下。。。。利用者満足度利用者満足度利用者満足度利用者満足度のののの向上向上向上向上基盤基盤基盤基盤のののの価値価値価値価値
基盤基盤基盤基盤にににに関関関関するするするするコストコストコストコストがあるのもがあるのもがあるのもがあるのも事実事実事実事実
⇒⇒⇒⇒ 共通基盤共通基盤共通基盤共通基盤としてとしてとしてとして利用利用利用利用をををを促進促進促進促進することすることすることすること効果効果効果効果がががが高高高高いいいいポイントポイントポイントポイント
基幹システムのアプリケーション基盤としてのTuxedoの利用についてご説明します。
複数のアプリケーションに対して共通機能、共通サービスを提供する基盤としてTuxedoを利用することで、開発生産性及び品質の均一化と向上が図れます。これにより、システム構築の迅速化、不具合発生率の低減、利用者満足度の向上に貢献できると考えます
27
Copyright© 2009, Oracle. All rights reserved. 27
2. メインフレーム・マイグレーションにおけるアプリケーション基盤としてのTuxedo利用
ユーザー・インタラクション
3270 BMS Custom
バッチ処理Job Schedulers (e.g.,CA-7/-11)
SyncSort, other 3rd party tools
JCL, PROC,
REXXIBM Utilities
データサービス (Files/Databases)
VSAM IMS/DB DB2 IDMS
4GL Environments
AllFusion CA-IDEAL Natural
IBM OS/390, z/OS, Unisys, Bull, …
データサービス (Files/Databases)
ISAM Oracle Oracle Oracle
AIX Solaris HP-UX Linux Windows
ユーザー・インタラクション
JSP/HTMLWebLogic Server
TPモニタCICS, IMS TM
ビジネスロジックCOBOL/C, PL/I, …
アプリケーションサーバーアプリケーションサーバーアプリケーションサーバーアプリケーションサーバー
Oracle Tuxedo
Re-targeted 4GL or
re-engineered to 3GL
ビジネスロジックCOBOL, C/C++,…
CA AutoSys,
BMC Control-M
SyncSort, other 3rd party tools
ksh, Perl, …Refine GFM & MetaTools
バッチ処理
変換変換変換変換ツールツールツールツール等等等等によるによるによるによるコンバージョンコンバージョンコンバージョンコンバージョン
変換変換変換変換ツールツールツールツール等等等等によるによるによるによるコンバージョンコンバージョンコンバージョンコンバージョン
オープンオープンオープンオープン系系系系ミドルウェミドルウェミドルウェミドルウェアアアア、、、、OS、、、、ハードウェアハードウェアハードウェアハードウェア
へのへのへのへの移行移行移行移行
オープンオープンオープンオープン系系系系ミドルウェミドルウェミドルウェミドルウェアアアア、、、、OS、、、、ハードウェアハードウェアハードウェアハードウェア
へのへのへのへの移行移行移行移行
メインフレームからオープンプラットフォームへのマイグレーションにおけるアプリケーション基盤としてのTuxedoの利用についてご説明します。
このパターンでは、TuxedoはCICS等、メインフレーム上の同等製品の代替として利用します。パートナー様の変換ツール等によりソフトウェア資産をコンバージョンすることで、ビジネスロジックを改変せずマイグレーションを行うことが可能です。
28
Copyright© 2009, Oracle. All rights reserved. 28
メインフレーム・マイグレーションにおけるハイブリッド・ソリューション
C/COBOL
アプリケーション
メインフレーム
C/COBOL
アプリケーション
Tuxedo
オープン系HW, OS
Java
アプリケーション
WebLogic
オープン系HW, OS
Java
アプリケーション
オープン系HW, OS
C/COBOL
アプリケーション
WebLogic Tuxedo
リホスト
リビルド
Tuxedoによってメインフレーム
に匹敵する信頼性を確保。しかもCOBOL資産が活用できる
WebLogic Serverによって市場変
化にシステムが迅速に対応できる。しかもJavaEEの標準技術
TuxedoととととWebLogic
ははははインフラレベルインフラレベルインフラレベルインフラレベルでででで抜抜抜抜群群群群のののの相互運用性相互運用性相互運用性相互運用性をををを提提提提供供供供しししし、、、、それぞれのそれぞれのそれぞれのそれぞれの方法方法方法方法論論論論ののののメリットメリットメリットメリットをををを享受享受享受享受できできできできますますますます
メインフレーム・マイグレーションには大きく2つの手法があります。1つは、既存C/COBOLアプリケーションを、ビジネスロジックを改変することなくオープンプラットフォーム上に移行する、いわゆる「リホスト」と呼ばれる手法です。もう1つは、既存のアプリケーションを全てJava等で書き換える「リビルド」という手法です。オラクルは、これらに加え、両方の手法をミックスしたハイブリッド・ソリューションもご提案しています
29
Copyright© 2009, Oracle. All rights reserved. 29
ハイブリッド・ソリューション: Tuxedo + Java EE
(WebLogic)
JavaJava
プログラムプログラムプログラムプログラムプログラムプログラムプログラムプログラム
HTTP
リスナ
HTTP
HTTPS
プレ ンテーションプレ ンテーションプレ ンテーションプレ ンテーション ビジネスビジネスビジネスビジネス・・・・ロジックロジックロジックロジック
((((COBOL/C))))
曒曒曒曒
• メインフレームの信頼性・可用性をTuxedo基盤が提供
• C/COBOLの資産を流用しつつ、オープン系への移行が実現可能
• Java EE基盤の活用により” 性”を実現
Webブラウザブラウザブラウザブラウザ
PDA、、、、携携携携OLTP基盤
COBOL/C
プログラムプログラムプログラムプログラム
WebLogicWebLogic
Tuxedo ConnectorTuxedo Connector
ビジネスロジックビジネスロジックビジネスロジックビジネスロジック
((((Java))))
Java EE基盤
JavaJava
プログラムプログラムプログラムプログラムプログラムプログラムプログラムプログラム
JavaJava
プログラムプログラムプログラムプログラムプログラムプログラムプログラムプログラム
JavaJava
プログラムプログラムプログラムプログラムプログラムプログラムプログラムプログラム COBOL/C
プログラムプログラムプログラムプログラム
RDB
RDB
データベースデータベースデータベースデータベース
RDBMS
WebLogic Server Tuxedo Oracle DB
ハイブリッド・ソリューションのパターンの1つが「Tuxedoによるリホスト+JavaEEによるリビルド」です。 C/COBOLの資産を流用しつつ、JavaEEに順次移行していきます。アプリケーションに対する機能追加や修正を、JavaEE側にて実装することで、アプリケーションの俊敏性を実現します。
30
Copyright© 2009, Oracle. All rights reserved. 30
ハイブリッド・ソリューション: Tuxedo + SOA
在 確認サービス
在 確認サービス
発注サービス
発注サービス
注 確認サービス
注 確認サービス
金サービス
金サービス
ビジネスプロセスマネジメント(BPM)
在 AP在 AP 注 AP注 AP 発 AP発 AP APAP
WebLogic Server
BPMOracle BPEL PM
アプリケーションアプリケーションアプリケーションアプリケーション基盤基盤基盤基盤Tuxedo
WebLogic Server
エンタープライ サービスバス(ESB)サービス基盤Oracle Service Bus
Tuxedoアプリケーションをサービス化
Tuxedo
WebLogicアプリケーションをサービス化 分散ルーティング サービス合成
ハイブリッド・ソリューションですが、SOAへの展開を図るパターンもあります。Tuxedoの外部連携機能を利用することで、サービス基盤であるESBと連携し、 Tuxedoアプリケーションを例えばBPMツールから利用できるWebサービスとして公開することが可能となります。
31
Copyright© 2009, Oracle. All rights reserved. 31
Web2.0サービスサイトサービスサイトサービスサイトサービスサイト
Java EE/ISVアプリアプリアプリアプリ
SOAインフラインフラインフラインフラ
ビジネスビジネスビジネスビジネスインテリジェンスインテリジェンスインテリジェンスインテリジェンス
コンテンツコンテンツコンテンツコンテンツ管理管理管理管理
運用運用運用運用管理管理管理管理
共有共有共有共有メモリメモリメモリメモリ・・・・インフラインフラインフラインフラ共有共有共有共有メモリメモリメモリメモリ・・・・インフラインフラインフラインフラ
Coherence : スケーラブルスケーラブルスケーラブルスケーラブル・・・・データグリッドデータグリッドデータグリッドデータグリッド基盤基盤基盤基盤
JRockit Real Time : 高速高速高速高速かつかつかつかつGC 可能可能可能可能ななななJVM
WebLogic
Operations
Control
ポリシーポリシーポリシーポリシーにににに基基基基 くくくく
リソースリソースリソースリソース管理管理管理管理
WebLogic Server
WebSphereWebSphere
JBossJBoss
Tomcat Tomcat ……
Tuxedo
ハイブリッド・ソリューション: アプリケーション・グ
リッド・アプローチ
また、別のアプローチとして、Oracle Co erenceなどのデータグリッド基盤製品で構築した共有メモリインフラと連携した構成をとることも可能です。これによりメインフレームの利用、あるいは単なるオープン化では得られない、高いレベルのパフォーマンス向上や拡張性を実現できます。これもハイブリッド・ソリューションの1つのパターンです。
31
32
Copyright© 2009, Oracle. All rights reserved. 32
まとめ
• Tuxedoとは
� オープン環境でメインフレーム並みの信頼性を実現するための、OLTPシ
ステム用アプリケーション基盤
• Tuxedoの優位性とは
� 性能実績の公開、負荷分散や耐障害等の各種機能
• Tuxedoの詳細
� Tuxedoのアーキテクチャ及び構成、Tuxedoアプリケーションの構成や開
発手順
• Tuxedoの適用領域
基幹システム基盤
メインフレーム・マイグレーション
ここまでで、Tuxedoの適用領域についてご説明しました。最後にまとめます。
Tuxedoはオープン環境でメインフレーム並みの信頼性を実現するための、OLTPシステム用アプリケーション基盤であることをご説明しました。
Tuxedoの優位性として、性能実績の公開、負荷分散機能等の各種機能についてご紹介しました。
更に詳細として、Tuxedoのアーキテクチャ及び構成、Tuxedoアプリケーションの構成や開発手順についてご説明しました。
最後に、Tuxedoの2つの適用領域についてご紹介いたしました。
以上、本セッションではOracle Tuxedoの技術概要についてご説明しました。ご視聴頂きありがとうございました。
3333
Copyright© 2009, Oracle. All rights reserved. 33
33Copyright © 2008, Oracle. All Rights Reserved.
日本オラクル株式会社 断 載を ずこの 書はあくまでも 考資料であり、掲載されている情報は なしに変更されることがあります。日本オラクル社は本書の内容に関していかなる保証もいたしません。また、本書の内容に関連したいかなる 害についても を負いか ます。Oracle、PeopleSoft、JD Edwards、及びSiebelは、 オラクル・コーポレーション及びその 会社、関連会社の登録 標です。その他の名称はそれぞれの会社の 標の可能性があります。
本プレ ンテーションは、情報提供を唯一の目的とするものであり、いかなる契約書または合意書に組み込むことはできません。
本資料の使用上の注意事項2