【ハウツー】
「Spring Integration」は、企業システム統合を実現するためのフレームワークで、Gregor Hohpe氏がまとめた「Enterprise Integration Patterns」(以下、EIP※1)の概念に従っている。EIPは、その名の通り企業システムにおける統合パターンをカタログ化したもので、統合処理のモデル化を行っている。以下が基本的なモデルだ。
まず、アプリケーションから他のアプリケーションに情報を送るための媒体を"チャンネル"と呼ぶ。チャンネルの実体はTCP/IPコネクション、データベース共有、USBメモリなどがあげられる。そして、そのチャンネルに双方のアプリケーションが会話するためのデータとして"メッセージ"が流し込まれる。また、双方のアプリケーションが利用するデータ形式が異なる場合は、メッセージ交換に際してデータ形式を変換するための機構として"トランスフォーマー"が置かれる。さらに、メッセージのコピー、分割、結合といった経路管理を行う機構として"ルーター"が置かれる。
このモデルでは、送信元のアプリケーションは"チャンネル"に"メッセージ"を流し込むだけでよい。あとはミドルウェアが"ルーター"や" トランスフォーマー"として機能し、相手先のアプリケーションまでメッセージを送り届ける。一見すると複雑そうに思えるが、こうした分割によって以下のようなメリットが得られる。
特に2点目については、Spring Integrationで多数のコンポーネントが用意されており、標準的な処理であれば設定を行うだけで多くの統合処理を実現することができる。
では、実際にサンプルアプリケーションを参照しながらSpring Integrationのプログラミングを理解していこう。開発に利用したバージョンは次の通りだ。
サンプルアプリケーションはAmazon Web サービスを使って書籍の一覧を取得するというものだ※2。統合処理のモデル図は次のようになる。
|
|
図2: サンプルアプリケーションの処理モデル |
※2 サンプルアプリケーションを動かすためにはAmazon Web サービスにてユーザー登録を行いアクセスキーとシークレットキーを取得する必要がある。キーを取得後、applicationContext.xmlのそれぞれ{ accessKey }と{ secretKey }の部分を書き換え、BookRanking.javaを起動する。
| 【レポート】FPGAに新たな価値をもたらす - EnpirionをAlteraが買収した背景とは [08:00 5/23] |
| Skype for Linux 4.2登場 [20:56 5/22] |
| 資生堂、D-アミノ酸の新たな美肌効果を発見 - 化粧品に応用 [19:02 5/22] |
| Cypress、「PSoC 1」用IDE「PSoC Designer」の新バージョンを発表 [16:16 5/22] |
| SCREEN、プリント基板向け直接描画装置の高精細モデルを発表 [16:08 5/22] |
|
JR東日本、只見線会津川口~只見間復旧に「工事費85億円、工期は4年以上」 [08:30 5/23] 旅行 |
|
TDLホテルのプリンセスに変身できるサロンに、「ラプンツェル」が登場! [08:30 5/23] 旅行 |
|
東京都・千代田で、母親の介護もアートにする折元立身展“BIG BREAD”開催 [08:30 5/23] 旅行 |
|
ブロケード、SDN実現に向けた仮想アプライアンス製品 [08:30 5/23] エンタープライズ |
|
「木・火・土・金・水」の"じゃんけん関係"って何? 【オフィスで役立つ『風水』基礎知識】 [08:30 5/23] キャリア |