...

WebSphere Enterprise Service Bus V6.1 新機能 日本アイ・ビー・エム株式会社 2008年3月 1

by user

on
Category: Documents
50

views

Report

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
Fly UP