こんにちは。平田です。
1/16、17に開催された、JBoss Fuse Service Works Deep Dive Workshopに参加しました。
BPM Suiteのワークショップと同様に、JBoss Data Virtualization 6 (JDV) とJBoss Fuse Service Works 6 (FSW) の技術情報について、Red Hat本社の製品マネージャからの説明とハンズオンで学習しました。
- 一日目
- JDV: 概要、初歩的なチュートリアル
- FSW: 概要、Bean Service、Camel、テスト、監視、データ変換、検証
- 二日目
- FSW: ガバナンス(設計段階、運用時)
JBoss Data Virtualization 6
JDVは、旧JBoss Enterprise Data Services Platform (EDS) のメジャーバージョンアップ製品で、様々なデータソースをRDB風に見せる製品です。
主な変更点は以下のとおりです。
- 名前が変更された。
- 従来製品は、JBoss Enterprise SOA Platform 5 (SOA-P) のスーパセットであったが、SOA-Pへの依存を無くしてJBoss EAP 6上に構築された。
- Hadoop分散ファイルシステム、SAP、MongoDB等をデータソースにできる(MongoDBは技術プレビュー扱い)
旧EDSは使ったことがないのでピンときませんが、他の製品のようにver.5からver.6で刷新されたりはせず、順当なアップデートのようです。SOA-Pのスーパーセットでなくなったことで、サブスクリプションが安くなったりするのでしょうか。
Fuse Service Works 6
FSWは、旧JBoss Enterprise SOA Platform (SOA-P) の後継製品です。従来製品では、JBoss ESBをコアにjBPMやDroolsを載せていましたが、FSWでは刷新されています。
FSWを構成するコンポーネントは、次の通りです。
- 買収したFuseSourceのActiveMQ(メッセージング)、Camel(エンタープライズ統合パターンフレームワーク)、CXF(Webサービス)を流用
- SwitchYard: 旧JBoss ESBの後継
- Overlord: ガバナンス
尚、ベータ版のためか、ActiveMQは同梱されていませんでした。
Switchyard
2011年にワークショップを受けた時はver.0.2でしたが、ハンズオンで使用したものはver.1.1.1でした。
旧JBoss ESBでは、メッセージの発生源となる「プロバイダ」と、メッセージを処理するアクションパイプラインを内包する「サービス」をjboss-esb.xmlに定義しました。Switchyardでは、Service Component Architecture (SCA) という標準で定義されたモデルに基づいて、switchyard.xmlにサービスを定義します。
また、旧JBoss ESBでは、プロバイダから発生するデータはメッセージの形で内部キューに格納されてアクションパイプラインを通りますが、Switchyardではサービス境界から来たXMLなりJSONなりをPOJOに変換して持ちまわるだけのようです。
他には単体テスト支援や流量制御(Throttling)、データ変換、バリデーションなどについて学習しました。
Overlord
Overlordは、SOAガバナンスのためのプロジェクトです。正直、駆け足すぎてよく分からなかったのですが、設計段階のガバナンス(Design Time Governance: DTGov)と運用時のガバナンス(Run Time Governance: RTGov)があるようです。
DTGovでは、開発からテスト、ステージング、本番環境に対するリリースサイクルを、デプロイメントやMavenリポジトリとjBPMベースのワークフローとを連携させて管理できるようです。
RTGovは、サービスがSLAやポリシーに違反していないか監視、改善するための仕組みのようです。
まとめ
- JDVのワークショップは端折っても良かったと思います。
- Switchyardはそれほど難しくないと思います。一から勉強するならJBoss ESBより簡単かもしれません。
- Overlordは、まだ良く分かりません。そもそも単独のSOA基盤にガバナンス支援が実装されていても、その基盤の外側はどうするんでしょう。結局、複数の異種混合環境を対象としたソリューションを、外側にたてることになるんじゃないでしょうか。