WebSphere Enterprise Service Bus V6.1 新機能 日本アイ・ビー・エム株式会社 2008年3月 1
by user
Comments
Transcript
WebSphere Enterprise Service Bus V6.1 新機能 日本アイ・ビー・エム株式会社 2008年3月 1
WebSphere Enterprise Service Bus V6.1 新機能 日本アイ・ビー・エム株式会社 2008年3月 1 1 エンタープライズ・サービス・バス(ESB)とは? エンタープライズ・サービス・バス(ESB)とは、アプリケーションやサービ スを統合するための柔軟性のある連携基盤 ESBは、リクエスターとサービス間での 以下のような処理を実行 ルーティング サービス呼び出しの振り分け コンバート 異なるプロトコルの変換 トランスフォーム 異なるデータフォーマットの変換 イベント ビジネス・イベントの処理 Shape = Transport protocol Color = Data format 2 2 IBM WebSphere ESB WebSphere Application Serverをベースにした統合SOA基盤 WebSphere Application Server をベースに実装 “サービス” をベースにした連携基盤。さらにアダプターを 使用することで、レガシーシステムとの連携も実現 サービス・レジストリ(WSRR)との連携 WebSphere Process Serverへ拡張可能 標準的なサービスを接続し、ルーティングするために用意された機能を提供 Webサービスやメッセージング連携をサポートし、WebSphere MQ, 汎用JMS、HTTP、アダプターを 利用した既存システムとの接続をサポート 標準的なXMLやWebサービスベースなどの一般的なフォーマット変換に最適化 ビジネス・イベントをハンドリングすることが可能 3 3 (参考)WebSphere ESBの全体像 Clients: Messaging: MQ 接続 WebSphere TX Integration Any JMS 1.1 C++ Client .Net Client WebSphere ESB WebSphere Integration Developer Endpoint Lookup XSLT Message Router Message Logger Business Object Map Event Emitter Mediation Function FanIn FanOut Message Element Setter DB Lookup Set Message Type Custom Service Invoke SCA Programming Model: WebSphere Application Server Network Deployment HTTP SOAP/ HTTP Tivoli Access Manager DB2 Universal Database Edge Components UDDI Web Services Gateway SOAP/ JMS Web Services: 4 4 WebSphere Adapter Support SCA WS-* UDDI Registry 3.0 SMO SDO WebSphere ESB V6.1の主な機能強化 プラットフォーム・ プラットフォーム・サポートの サポートの拡張 – WAS 6.1ベースにアップデート – 新しいサポートおよび現行OSの拡張 • 64ビット対応およびi5/OSサポート 接続性の 接続性の機能強化 – – – – – – 汎用JMSのサポート JMSバインディングの拡張 HTTPバインディング・サポート バインディングの管理強化 WebSphere Adapterのスムーズな構成 WebSphere TXとの連携 メディエーション・ メディエーション・パターンの パターンの拡張 – ビジネス・オブジェクト・マップ – XSL変換プリミティブの機能強化 – サービス呼び出しプリミティブ – ファンアウト/ファンインプリミティブ – メッセージ・タイプ・プリミティブ – エンドポイント・ルックアップ・プリミティブの拡張 – メッセージ・ロガー・プリミティブの拡張 – カスタム・メディエーションの拡張 – その他の拡張 • SMO拡張 • リトライ機能 使いやすさの改良 いやすさの改良 – より簡単なインストールと構成 – より小さいフットプリントおよびパフォーマンス – XMLとWSDLサポートの拡張 5 5 プラットフォーム・ プラットフォーム・サポートの サポートの拡張 6 6 プラットフォーム・サポートの拡張 ランタイムをWAS V6.1ベースにアップデート – WebSphere Application Server Network Deployment V6.1を同梱 – JDK5サポート – パフォーマンス向上 サポートOSの追加、拡張 – i5/OS サポート – 64bit サポート (Unix, Windows(x86-64)) – テスト環境としてWindows Vistaをサポート – z/OS上のリモートDB2サポート – WAS XDサポート – サポートされるOS (2008年3月現在) • AIX, HP-UX(PA-RISC, IA64), i5/OS, Linux (x86, x86-64,POWER, System z), Sun Solaris(SPARC, x86-64), Windows(x86, x86-64), z/OS • System requirements http://www-306.ibm.com/software/integration/wsesb/sysreqs/ 7 7 接続性の 接続性の機能強化 8 8 汎用JMS バインディングのサポート JMS 1.1 プロバイダーをサポート JMS、MQJMSバインディングと互換性のある動作を提供 – Point-to-Point および Publish-Subscribe – 同様のデータバインディングと関数セレクターの実装 – JMSヘッダーの表示 – 相関スキーマおよびイベントシーケンス・サポート – 認証別名を使用したセキュリティ – SCAの修飾とプログラミングモデルに準ずる 一般的なサポートのみ – プロバイダー特有の接続オプションはサポートしない – プロバイダーは事前に構成される必要がある – デプロイおよびインストール時のリソース生成は限られた機能 9 9 汎用JMSプロバイダーのセットアップ JMSプロバイダー プロバイダー側 プロバイダー側の構成 – 個々のプロバイダー固有のツールを利用 – 定義リソース • 接続ファクトリー • キューおよびトピック • 宛先 • プロバイダー固有のリソース (例:キューマネージャー) WESB(WAS)管理 管理コンソール 管理コンソールでの コンソールでの 汎用JMSプロバイダー 汎用 プロバイダー定義 プロバイダー定義 – path およびclasspathの設定 – リソースを取得するJNDIコンテキスト の定義 10 10 JMS バインディングの拡張 JMSバインディングの改良 – MQJMSバインディングの機能へのより一層の対応 – ImportおよびExportにおける相関スキームの構成 • 要求メッセージのメッセージIDと応答メッセージの相関ID • 要求メッセージの相関IDと応答メッセージの相関ID Exportのイベント・シーケンス – Exportでの設定 – Exportで受信した順序で、SCAコンポーネントにメッセージを転送 – ベースのJMS実装で、同時並行性を制限可能なこと • Exportの接続構成のアクティベーション・スペックで、最大同時並行を1にセット Importの応答接続 – V6.1のJMSバインディングで、応答接続構成をサポート – 事前構成または新規作成が可能 11 11 HTTPバインディング・サポート HTTP 1.0、HTTP 1.1 HTTPS 同期リクエスト/レスポンス呼び出し 静的および動的ヘッダーサポート メディエーションモジュールのSMOによる動的ヘッダー 設定 バイナリ、XML、SOAPペイロードサポート カスタム・データ・バインディング Content、Transfer encodingsのセット ImportでのカスタムHTTPメソッド Exportでのエンドポイントベースのルーティング ランタイム・サーバーでのHTTPバインディング属性の 修正 12 12 実行環境でのバインディングの管理強化 WebSphere ESB V6.1の実行環境で、バインディングの管理、構成が可能 – 4つのすべてのメッセージ・バインディング・タイプでのサポート • • • • JMS 汎用JMS MQ JMS ネイティブMQ • HTTPバインディングに対しても追加 – WESBの管理コンソールおよびコマンドラインによる管理が可能 (参考) – WebSphere ESB V6.0.2までは、 • SCA デフォルト・バインディング (V6.0.1で追加) • Web サービス・バインディング (V6.0.2で追加) の構成管理が、実行環境で可能 13 13 バインディング・パネルの例 WebSphere ESBの管理コンソールのメニューから「アプリケーション」→ 「SCAモジュール」を選択して、対象のSCAモジュールのバインディングのリ ソース定義内容を確認、修正可能 14 14 WebSphere Adapterのスムーズな構成 サポートされるアダプター – テクノロジー Flat Files, FTP, JDBC, E-mail – アプリケーション SAP, PeopleSoft, Siebel, JD Edwards, Oracle E-Business V6.1での機能拡張 – IPv6のサポート – RARを分離してデプロイ可能 • 管理コンソールより、「リソース」→「リソース・アダプター」→「リソース・アダプター」 – WIDでの開発、構成用ウィザードの提供 • ファイルメニューから、「外部サービス」 または「パターンから」新規作成 15 15 WebSphere TXとの連携 - データ・バインディングの概要 (1) WebSphere Transformation Extender (WTX) とは? – 汎用的なデータ変換とバリデーション機能の提供 – プログラムコードの記述なしでのデータマッピング機能を提供 SCAのインポート/エクスポートでは、 – ネイティブ・フォーマットとビジネス・オブジェクトとの間での変換で、データバインディングのロジックが 必要 – 以下のケース以外では、カスタム・データ・バインディングを実装 • ネイティブのデータがビジネス・オブジェクトとして利用可能なXML形式の場合 • ビジネス・オブジェクトがネイティブ・フォーマット(たとえば、JMSTextBody)に結び付けられる場合 WTX データバインディング – WPS/WESBのインポートおよびエクスポート部分で、WTXとの統合が可能 – データ・バインディングのためのカスタムコードの記述を解消 – WTXユーザーは、WTXのマップ資産を活用 16 16 WebSphere TXとの連携 - データ・バインディングの概要 (2) SCAバインディングでのWTXデータバインディングの利用 – WTX データバインディングは以下のもので利用可能 • • • • JMS (JMS, 汎用JMS、MQJMS) ネイティブMQ (メッセージ部分のバインディングのみ) EIS (Flat file、FTP、Emailアダプター) HTTP – 以下のものは利用できない。 • SCA デフォルトバインディング • Webサービス・バインディング これらのSCAバインディングでは、データバインディングの構成ができない WTX は別製品 – WTXは、WPS/WESBとは別に購入してインストール – サポートされるバージョン WTX 8.2 – ツールは、eclipseベースでWIDには含まれない 17 17 WebSphere TXとの連携 - データ・バインディングの概要 (3) WTX 構成 – WTX Java クライアント • WTX変換を起動するためにJavaコードを利用 • JNIを使用して、WTX変換エンジンを起動 – WTX トランスフォーメーション・エンジン • マップを解釈し、変換を実行 • WebSphere ESBプロセス内で実行 WTX マップ – ネイティブフォーマットとシリアライズされたXML間の変換を定義 WTXデータバインディング – インポート/エクスポートで構成 – ビジネスオブジェクトとシリアライズされたXMLの変換 – 使用するWTXマップの名前を決定 – WTX Javaクライアントを呼び出し、データと使用するマップの名前を渡す 18 18 メディエーション・ メディエーション・パターンの パターンの拡張 19 19 ビジネス・オブジェクト・マップの概要 (1) サービス・メッセージ・オブジェクト (SMO) を変更 – メッセージ・タイプおよびメッセージ・コンテンツの両方を変更可能 メディエーション・フロー内でビジネス・オブジェクト・マップを使用可能 – 下記に使われていたビジネス・オブジェクト・マップと同様 • インターフェース・マップでのパラメーター・マッピング • マッピング・サービスAPI – メディエーション・フロー・エディターからビジネス・オブジェクト・マップ・エディターを起動 以下のマッピングを実施可能: – SMO全体 – コンテキスト – ヘッダー – ボディ – ボディのマッピングはインターフェース・マップの使用方法に類似 20 20 ビジネス・オブジェクト・マップの概要 (2) XSL変換プリミティブではなく、ビジネス・オブジェクト・マップを使用するケース – リレーションシップの保持を必要とする場合 – 変更要約をビジネス・グラフにて保持する必要がある場合 – CEIイベントを発行するためのイベント構成設定を行う場合 – 既存のビジネス・オブジェクト・マップの再利用 – ビジネス・オブジェクト・マップ・エディター特有の機能 • 変数 • ファジー・マッピング 21 21 ビジネス・オブジェクト・マップ・エディター – オペレーション・モード グラフィカル・ビュー テーブル・ビュー 22 22 ビジネス・オブジェクト・マップ・エディター – 変換 Move (移動) Extract (抽出) Join (結合) Assign (割り当て) Submap (サブマップ) Custom (カスタム) Custom Callout (カスタム・コールアウト) Custom Assing (カスタム・アサイン) Relationship (リレーションシップ) Relationship Lookup (リレーションシップ・ルックアップ) 指定した順序で、変換処理される 23 23 XSL変換プリミティブの機能強化 V6.1のXSLTマッピング・エディター – 新しいRAD7のXMLマッピング・エディターを利用 • メディエーションの要件を満たすための拡張をこのエディターにより実現 – 旧バージョンの制限の解消とマップの再利用を実現 V6.0.x リリースレベルからのマップ – V6.0.xからのXSLTは、編集も含めて利用は可能 – 古い.xmxマップスタイルは、開いたり修正はできない 24 24 XSL変換プリミティブ – XMLマッピング・エディター 25 25 XSL変換プリミティブ – マッピング/リファインメント – サブマップ サブマップ – サブマップは、他のサブマップや、トップ・レベルのマップから再利用可能 – プロパティ・ビューのブラウズボタンを使用して、サブマップを選択可能 26 26 XSL変換プリミティブ – マッピング/リファインメント – インライン・マップ インライン・ インライン・マップ – インライン・マップは他のマップ・ファイルをまたがって再利用できないネストされたマップ – インライン・マップの内部の操作をする場合はインラインマップのマッピングをダブルクリック 27 27 XSLT – マッピング/リファインメント – カスタム カスタム – XPath – Java – Javaのstatic メソッドを呼び出す – XSLT – カスタムXSLTリソース内の外部テンプレートを呼び出す 28 28 サービス呼び出し(ServiceInvoke)プリミティブの概要 メディエーション・フロー内からサービスの呼び出しが可能 – サービス呼び出し(ServiceInvoke)プリミティブ • リクエストまたはレスポンスフロー内からサービスの呼び出しが可能 • 同期、非同期呼び出しをサポート サービスが失敗したときのリトライをサポート – リトライ動作の構成 • モデルまたは非モデル・フォールト後のリトライ呼び出し • リトライ回数 • リトライ間の遅延 – リトライの動作 • 同じサービスへの再試行 • 同じサービスの代替エンドポイントへの再試行 • 異なるサービスの再試行 29 29 ファンアウト/ファンイン・プリミティブの概要 フロー内で、メッセージを分割、集約 – ファンアウト(分割) は、単独で、またはファンインと共に使用 – ファンイン(集約) は、事前にファンアウトがある場合に使用 ファンアウトは2つのオペレーション・モードを持つ – イテレート・モード・オン • • • • 入力メッセージに含まれる繰り返しエレメントを通じての反復 出力ターミナルは、それぞれのエレメント・インスタンスに対して出力 出力メッセージは、そのエレメント・インスタンスが追加された入力メッセージ 通常、ターミナルは一つのフローパスに接続 – イテレート・モード・オフ • 出力ターミナルは、それに接続されているそれぞれのフローパスに一つだけ出力 • 出力メッセージは、入力メッセージと同一 ファンインは、特定のファンアウト・インスタンスに関連付ける SMOに新しい共用コンテキストを用意 30 30 メッセージ・タイプ・プリミティブの概要 (1) SMOは、弱い型のフィールドをサポート ビジネス・オブジェクトのフィールドのタイプ – 強い型 (Strongly typed) – 型と構造が認識される – 弱い型 (Weakly typed) – フィールドに複数のデータ型が許される メディエーション・フロー・ツールは、型情報を利用 – SMOの内容は、型情報を通して判別 • SMOメッセージ・タイプは、ボディの内容を定義 • SMOメッセージ・タイプは、メディエーション・フロー中のワイヤリングで重要な役割 • Transient/correlation contextは、ビジネス・オブジェクト構成で定義 – 型情報はツールで重要 • XPath Expression ビルダー • ビジネス・オブジェクト、XSLTマッピング・エディター 31 31 メッセージ・タイプ・プリミティブの概要 (2) SMO中の弱い型を強い型として扱う ツールで、強い型として、表示、操作できるようにする カスタムJavaコーディングや手作業によるXSLスタイルシートの記述を解消 出力ターミナルのメッセージタイプ – メッセージタイプは、入力ターミナルからのものに増加分を付与したもの – 増加(Augmentation)は、もっと特定したタイプにより定義 – 増加されたメッセージ・タイプ表現 • メッセージタイプの表示: sendRequestMsg • 増加分の表示: {/body/send/data={http://StoreLib}Order} 32 32 エンドポイント・ルックアップ・プリミティブの拡張 マッチ・ポリシー・プロパティの変更 – 一致したエンドポイントをすべて返す • V6.0.2と同様の機能 • EndpointLookupContextをセット • ターゲットの変更やターゲットの代替は行わない – 最初に一致したエンドポイントを返してルーティング・ターゲットを設定 • V6.0.2からの機能変更 • EndpointLookupContextをセット • ターゲットをセットして、代替ターゲットをクリアする – 一致したエンドポイントをすべて返して代替ルーティング・ターゲットを設定 • V6.1の新機能 • EndpointLookupContextをセット • 最初のエンドポイントをターゲットとしてセット • 残るエンドポイントは代替ターゲットとしてセット → サービス・リトライ機能と組み合わせた動作が可能 WSRRとのSSL接続サポート 33 33 メッセージ・ロガー・プリミティブの拡張 デフォルトDBロケーションは共通データーベース(CommonDB)に – スタンド・アロンおよびネットワークデプロイメント・サーバーどちらでも使用可能 – 事前構成されたJNDIデータソース: • 新規のデフォルトDBロケーションをポイント • JNDI名はjdbc/mediation/messageLog のまま • 既存のプリミティブはJNDI名を変更する必要なし リソースの作成用にスクリプトを提供 – スタンドアロン、ネットワーク・デプロイメントおよびクラスタリング構成をサポート – 全てのサポート・データベース・ベンダーに対応 デフォルト・スキーマ名のオーバーライド – z/OS および i5/OS の要件 – 新規環境変数の提供 • ESB_MESSAGE_LOGGER_QUALIFIER – 修飾子をJNDI名を使用してルックアップする方法は非推奨 • 存在する場合は、環境変数よりも優先される 34 34 カスタム・メディエーションの拡張 V6.1におけるカスタム・メディエーションの拡張 – カスタム・メディエーションにいくつかのユーザー定義プリミティブの機能を提供 • 1つもしくはそれ以上の入力ターミナル • 0もしくはそれ以上の出力ターミナル • 出力ターミナルをいつ実行するかの制御 • 処理を構成するためにユーザー定義プロパティを利用可能 • 再利用(コピー&ペースト) – カスタム・コード・オプション • Javaまたはビジュアル・スニペットのコードをプリミティブのプロパティに追加 • Invokeオプションがサポートされない (代わりにサービス呼び出しプリミティブを使用) – V6.0.2からのマイグレーション • V6.0.2のコードはマイグレーションなしに引き続き使用可能 • Invokeオプションからサービス呼び出しプリミティブへの変更は手動によるマイグレーションが必要 • Java/ビジュアル実装のV6.1へのマイグレーションのためにクイック・フィックスを提供 35 35 SMOの拡張 (1) 新しいプログラミングモデルに対するSMOの変更 ファンアウト(Fan out) コンテキスト: – イテレート・モードのファンアウトで使用 – SMO context/primitiveContext内に含まれる 共用(Shared)コンテキストの追加 – ファンアウトとファンインの間で処理される結果の集約 – すべてのSMOインスタンスで共有される単一メモリ – 入力ノードのビジネス・オブジェクト構成によって定義 36 36 SMOの拡張 (2) 代替ターゲットアドレス (Alternate target address) – SMOHeaderに代替ターゲットが追加 – service endpoint URIの配列 – 基本的には、エンドポイント・ルックアップ・プリミティブに よってセット。 – リトライ機能でも利用 – メディエーション・ロジックによる直接的なセットも可能 37 37 リトライ機能の概要 リトライ機能は、以下で利用可能 – サービス呼び出しプリミティブ – コール・アウト・ノード それぞれで、本質的に同じ機能を提供 – リトライ動作を構成するためのプロパティは同じ • 同じサービスへのリトライ • 同じサービスの異なるエンドポイントへのリトライ – メディエーション・フロー・ロジックを利用したリトライ(フォールトまたはフェイル・ターミナルを接続) • 異なるサービスへのリトライ • メディエーション・フロー内で利用可能なその他の処理 同じサービス代替のエンドポイントの利用 – SMOHeaderへの代替エンドポイントの追加 – Endpoint lookup プリミティブに対する機能拡張 38 38 使いやすさの改良 いやすさの改良 39 39 より簡単なインストールと構成 ガイドつきのインストール – デフォルトの選択と構成を利用した標準的なインストール • スタンド・アロン • デプロイメント・マネージャー • カスタム – デプロイメント環境インストール • シングル・クラスター • リモート・メッセージング • リモートメッセージングおよびサポート 40 40 Installation Managerの概要 Installation Managerは、WBI V6.1の ツールと実行環境のためのツール インストール、アンインストール、アップデー ト、ロールバック、オプションフィーチャーを 管理。 ツールに対するRational Product Updater (RPU) とランタイムに対する Update Installerの置き換え Rational V7製品から開始 最初のパッケージインストールの前にセル フ・インストール 41 41 WebSphere Integration Developer 開発をよりやりやすく 開発を迅速に – メモリー消費およびビルド時間の削減 – 大きなプロジェクト・ファイルで、ビルド回数を減らすためのオプション。より細かくビルドを制御可能 デプロイの高速化 – より速くデプロイするためにデプロイプロセスのデザインを改良 ソフトウェアの起動時間をより速く – 最初の起動とインデックス メモリー – ソフトウェアの開始時に500MBのメモリー – WID自体は、200MBで開始 – テスト環境は、それぞれ300MBで稼動 V6.0.2と比較して、ハードディスク容量を削減 – V6.1 = 5 GB • すべてのオプションを含む(アダプター、ポータルツール、WPS/WESBテスト環境) • WID V6.1のディレクトリ(WID61) = 2.5GB • 共用リソース・ディレクトリ(SDP70Shared) =2.5GB – V6.0.2 = 7GB 42 42 XMLとWSDLサポートの拡張 WSDL/XSDのハンドリングを改良 – さらなるXSD/WSDL構成要素の処理 – 非標準定義を許容 – 大きなBOの処理のパフォーマンス向上 – 詳細 • xsd:attribute サポート • xsd:choice のサポート • xsd:unionのサポート • 弱い型(weak types)のサポート • simpleContentとmixedContentのサポート 43 43 関連情報 WebSphere Enterprise Service Bus – http://www-306.ibm.com/software/integration/wsesb/ (US) – http://www-06.ibm.com/jp/software/websphere/bi/esb/ (日本) – 前提ソフトウェア一覧 • http://www-306.ibm.com/software/integration/wsesb/sysreqs/ WebSphere Integration Developer – http://www-306.ibm.com/software/integration/wid/ (US) – http://www-06.ibm.com/jp/software/websphere/bi/diamond/v6/wps/ (日本) – 前提ソフトウェア一覧 • http://www-306.ibm.com/software/integration/wid/sysreqs/ WebSphere Developer Domain (製品関連技術情報:日本) – http://www-06.ibm.com/jp/software/websphere/developer/products/wbi/ developerWorks (関連技術情報:US) – http://www.ibm.com/developerworks/websphere/zones/businessintegration/wesb.html (WebSphere ESB関連) 44 44