【ハウツー】

概説 Springプロダクト(8) - EIPに基づく統合を実現するSpring Integration

1 Enterprise Integration Patternsとは

鈴木雄介
 
  • <<
  • <

1/2

Enterprise Integration Patternsとは

「Spring Integration」は、企業システム統合を実現するためのフレームワークで、Gregor Hohpe氏がまとめた「Enterprise Integration Patterns」(以下、EIP※1)の概念に従っている。EIPは、その名の通り企業システムにおける統合パターンをカタログ化したもので、統合処理のモデル化を行っている。以下が基本的なモデルだ。

※1 http://www.eaipatterns.com/参照

図1: EIPでの基本的な統合処理モデル

まず、アプリケーションから他のアプリケーションに情報を送るための媒体を"チャンネル"と呼ぶ。チャンネルの実体はTCP/IPコネクション、データベース共有、USBメモリなどがあげられる。そして、そのチャンネルに双方のアプリケーションが会話するためのデータとして"メッセージ"が流し込まれる。また、双方のアプリケーションが利用するデータ形式が異なる場合は、メッセージ交換に際してデータ形式を変換するための機構として"トランスフォーマー"が置かれる。さらに、メッセージのコピー、分割、結合といった経路管理を行う機構として"ルーター"が置かれる。

このモデルでは、送信元のアプリケーションは"チャンネル"に"メッセージ"を流し込むだけでよい。あとはミドルウェアが"ルーター"や" トランスフォーマー"として機能し、相手先のアプリケーションまでメッセージを送り届ける。一見すると複雑そうに思えるが、こうした分割によって以下のようなメリットが得られる。

  1. アプリケーション間の統合結合度を疎にすることで、統合処理の変更による影響を最小化する
  2. コンポーネント化された単位での再利用性を高める

特に2点目については、Spring Integrationで多数のコンポーネントが用意されており、標準的な処理であれば設定を行うだけで多くの統合処理を実現することができる。

Spring Integrationのプログラミング

では、実際にサンプルアプリケーションを参照しながらSpring Integrationのプログラミングを理解していこう。開発に利用したバージョンは次の通りだ。

  • Spring 2.5.6
  • Spring Integration 1.0.3

サンプルアプリケーションはAmazon Web サービスを使って書籍の一覧を取得するというものだ※2。統合処理のモデル図は次のようになる。

図2: サンプルアプリケーションの処理モデル

※2 サンプルアプリケーションを動かすためにはAmazon Web サービスにてユーザー登録を行いアクセスキーとシークレットキーを取得する必要がある。キーを取得後、applicationContext.xmlのそれぞれ{ accessKey }と{ secretKey }の部分を書き換え、BookRanking.javaを起動する。

  • <<
  • <

1/2

インデックス

目次
(1) Enterprise Integration Patternsとは
(2) Spring Integrationによる連携


転職ノウハウ

あなたが本領発揮できる仕事を診断
あなたの仕事適性診断

シゴト性格・弱点が20の質問でサクッと分かる!

「仕事辞めたい……」その理由は?
「仕事辞めたい……」その理由は?

71%の人が仕事を辞めたいと思った経験あり。その理由と対処法は?

3年後の年収どうなる? 年収予報
3年後の年収どうなる? 年収予報

今の年収は適正? 3年後は? あなたの年収をデータに基づき予報します。

激務な職場を辞めたいが、美女が邪魔して辞められない
激務な職場を辞めたいが、美女が邪魔して辞められない

美人上司と可愛い過ぎる後輩に挟まれるエンジニアの悩み

人気記事

一覧

イチオシ記事

新着記事

ソニー、「α6000」「RX100 IV」などを買うと最大1万円キャッシュバック
[19:49 8/30] スマホとデジタル家電
南鳥島沖に広大なマンガン団塊密集域JAMSTECなどが発見
[19:26 8/30] テクノロジー
「美・皇潤」を配合したミクソロジーカクテルが楽しめるBARがオープン
[19:14 8/30] ヘルスケア
トヨタ「プロボックス」「サクシード」に衝突回避支援パッケージを標準装備
[19:09 8/30] ホビー
EIZO、最大16台のIPカメラ映像を表示できる46型液晶ディスプレイ
[19:05 8/30] パソコン

求人情報