Oracle Enterprise Service Bus: 技術アーキテクチャおよび製品に関する更新 Dave Berry: Sr. Manager, Oracle Integration Demed L Her:Sr. Principal Product Manager, Oracle Integration
プログラム Oracle Enterprise Service Bus の概要 Oracle SOA Suiteの基盤 機能 : 仮想化 変換 ルーティング アーキテクチャ クラスタ ライフ サイクル管理 トランザクション 例外処理 結論 まとめ
Oracle Fusion Middleware ユーザー インタラクション ポータル コンテンツ 検索 デスクトップ モバイル VoIP 開発ツール SOAツールおよびフレームワーク ビジネス インテリジェンス ETL Q&A OLAP レポート アラート リアルタイム 統合およびプロセス管理 メッセージング ESB BPM B2B BAM MDM アプリケーション サーバー J2EE WS-* イベント ルール グリッド インフラストラクチャ クラスタ メタデータ レジストリ セキュリティ システム管理システム アプリケーション サービス ID 管理ディレクトリ プロビジョニング シングル サインオン ID 管理
Oracle SOA のプラットフォーム BPA Suite BAM BI Enterprise Manager 分析ツール イベント ビジネス監視 分析 システム監視 JDeveloper BPEL Process Manager ネイティブ BPEL ヒューマン ワークフロー ビジネス ルール Web Services Manager ポリシー アプリケーション開発用フレームワーク Enterprise Service Bus マルチ プロトコル XSLT 変換 ルーティング セキュリティ Adapters アプリケーション DB レガシー B2B パートナ SES RFID Registry UDDI メッセージング J2EE アプリケーション サーバー Oracle Application Server JBoss WebLogic WebSphere
Oracle Enterprise Service Bus: SOA の基盤 達成方法 ESB は 統合の問題をアプリケーションとビジネス ロジックから切り離すためのマルチプロトコル ファブリックです 1. エンドポイントの仮想化 : リソースからサービスへ 2. 変換 : データをターゲット フォーマットへ変換 3. ルーティング : さまざまなプロトコルを介した確実なデータの転送およびルーティング すべてを Web サービスで公開 1. 標準ベース :XPath XSLT SOAP JMS JCA 2. ホット プラガブル :J2EE JMS データベース
パターン 仮想化サービス - 2 方向同期 - コンテンツ ベースのレスポンダ - 静的インバウンド WSDL - 運用面の柔軟性 ファンイン / ファンアウト - 1 方向の保存および転送 - 同期または非同期 - 複数トランザクション - エンドツーエンド レスポンス転送 - 1 方向インバウンド - 2 方向アウトバウンド - コールアウト レスポンスに基づいたルーティング - オリジナル ドキュメントの転送
アーキテクチャ メタデータ サーバー 統合サーバー セントラル DT インタフェース :JDeveloper ESB Control インポート / エクスポート JMS を介したトランザクションとして RT サーバーにプッシュされる変更 ESB Control に集中された管理 / 監視 構成可能なバックエンド リポジトリ : データベース WebDAV ランタイム サーバー 迅速なメモリー サービスおよびアーティファクト キャッシュ 柔軟なトポロジ クラスタリング 外部ロード バランシング スケーラビリティの基礎になるユニットとしての ESB システム 非同期ルーティング ルールによる分散バス型トポロジの有効化 基礎になる J2EE アーキテクチャの利用 J2EE アプリケーションとして稼働 JMS プロバイダの使用 トランザクション スケーラビリティ 高可用性
3 層のアーキテクチャ UI 層 JDev ( 設計 ) ESB Control ( 監視 ) 登録のインポート 同期エクスポート 更新ルーティング 監視 中間層 メタデータ サーバー JMS ランタイム サーバー JDBC JDBC アーティファクト リレーショナル データ層 XSD XSLT WSDL マップ サービス MD ルーティング ルール インスタンス エラー
Oracle ESB のキューイング アーキテクチャ MDS 制御トピック ( コンテンツ メッセージ ) 監視トピック ( トラッキング ) エラー トピック ( エラー ) データ層 ORAESB スキーマ - サービス データ - インスタンス データ ランタイム サーバー 制御非同期トピック再試行トピック監視トピック ( トラッキング ) エラー トピック ( エラー ) 内部トピック 制御トピック非同期トピック再試行トピック監視トピックエラー トピック エラー ホスピタル
共有メタデータ クラスタ 柔軟なクラスタ トポロジ 単一障害点の不在 配信の保証 粒度の最低レベルである ESB システム ESB クラスタに構成される ESB システム : 多対 1 1 つの ESB クラスタに構成される ESB RT サーバー ( 多数のシステム ) 高可用性を得るための対称型 同一クラスタに対して構成されたすべてのシステム すべての RT サーバーが同一クラスタをロード スケーラビリティを得るための非対称型 複数システムによる多数のクラスタ RT サーバーが異なるクラスタをロード 最適化されたサービス メモリー キャッシュ ベスト プラクティス : 混合型のクラスタ トポロジ 対称型サービス クラスタと非対称型サービス クラスタの組合せ 外部ロード バランサ : 外部 仮想 ホスト / ポートを持つ ESB システム
柔軟な配置戦略 顧客の更新 新規従業員 顧客の更新 新規従業員 顧客の更新 新規従業員 非対称対称 メタデータ リポジトリにおけるサービス 顧客の更新 インボイスの作成 Siebel 新規従業員 PSFT インボイスの作成 顧客の更新 インボイスの作成 インボイスの作成 クラスタ = Siebel ESB デフォルト クラスタ 顧客の更新 インボイスの作成 インボイスの作成 新規従業員 クラスタ = PSFT ロード バランサ
ESB システム / クラスタの構成 ESB クラスタ ESB システム バインド ホストバインド ポート遅延トピック エラー トピック エラー通知 ESB_Parameter 表 DT_OC4J_HOST esb_config.ini ファイル cluster_name=esb
ライフ サイクル管理 主要な開発ツールの JDeveloper モデル サービス アダプタ 変換 ルーティング ルール サービス メタデータを MDS/ 統合サーバーへ登録 MD が変更する ESB Control に対する MDS との同期 サービスの再構成のための ESB Control ESB システムの構成 : クラスタおよびロード バランサ情報 エンドポイント プロパティの構成 : サービス ロケーション リトライ ファイル ディレクトリ... Trackable Fields およびドメイン値マッピングの定義 ルーティング ルール フィルタ式の編集 エクスポート / インポート システムまたはサービス レベルの粒度を持つ Ant ベースのスクリプト 開発 テスト 本番環境へ :JDev MDS エクスポート zip インポート JNDI エンドポイント プロパティ Ant のカスタム タスクによるエンドポイントの管理
ライフ サイクル管理 RCS JDeveloper ESB 開発インスタンス MDサーバーメタデータ RTサーバーエクスポート md.zip インポート ESBテスト インスタンス MDサーバーメタデータ RTサーバーエクスポート md.zip インポート ESB 本番クラスタ MDサーバーメタデータ RTサーバー コンソール コンソール コンソール 開発テスト本番環境 開発 JDeveloper + RCS 配置 JDev から Ant スクリプト対応インポート / エクスポート スクリプト経由 監視 ESB Console AS Control
トランザクション グローバルなエンドツーエンドの JTA/XA トランザクション BPEL ESB BPEL JCA ESB WSIF インバウンド グローバル トランザクションを継承する ESB 非同期 ルーティング ルールによって現在のトランザクション範囲が終了 ESB システムによってグループ分けされる ESB が開始した新しいトランザクション トランザクションの例外処理およびロールバック イニシエータにロールバックされる既存のインバウンド トランザクションのエラー ESB が開始したトランザクションのエラーの再送信が可能 エンドツーエンドのメッセージ フローは トランザクション状態または所有者にかかわらず最初に失敗したサービスで終了
トランザクション オーバーレイ 同期ルールのみ 同一の ESB システム ルールで非同期 新規のトランザクションである非同期のルール 異なる ESB システム ルールで非同期
例外処理 ESB Control エラー ホスピタル オリジナル ドキュメントを含むすべての障害フローの表示 ESB が開始したトランザクションの リトライ可能 なエラーの再送信 / 編集 ロードマップ : バッチの再送信 自動リトライ ESB Control インスタンス トラッキング オリジナル ドキュメントを含むすべての障害フローの表示 ESB が開始したトランザクションの リトライ可能 なエラーの再送信 / 編集 ロードマップ : 管理 API 非トランザクション エンドポイント ファイル FTP SOAP... デフォルトおよびカスタム例外ハンドラ :File:// JMS:// BPEL://
インスタンス データにおける例外処理 トランザクションの影響 エラー メッセージ トレース ペイロード 再送信可能なエラー
結論 SOA インフラストラクチャに適切なアーキテクチャ どの J2EE アプリケーション サーバーにも配置 柔軟なトポロジ 高可用性およびスケーラビリティ 外部ロード バランシング 信頼性の高いアーキテクチャ 完全なトランザクション サポート 構成可能な例外処理 構成可能なライフ サイクル管理 メタデータ サーバー 詳細については http://otn.oracle.com/soa を参照してください