InfoQ

InfoQ

News

マイブックマーク

ブックマークするためにログイン または 会員登録 する

ブックマークされました!

ブックマークがエラーになりました。もう一度お願いします。

5つの候補パターンがSOAパターンのマスターリストに昇格

作者 Jeevak Kasarkod , 翻訳者 編集部N 投稿日 2011年8月17日

セクション
エンタープライズ・アーキテクチャ,
設計/アーキテクチャ
トピック
SOA ,
デザインパターン ,
エンタープライズアーキテクチャ ,
Architecture ,
Patterns ,
設計 ,
Object Oriented Design ,
Services

原文(投稿日:2011/08/16)へのリンク

5つの新しいデザインパターンが候補リストから マスターリストに昇格した。このリストは、Prentice Hallによって発行されている SOAパターンのコミュニティサイト に載っている。これらの新パターンは、まもなく出版される SOA with REST book に載る。

以下が昇格した5つのパターンである。

• Content Distribution Network(コンテンツ分散ネットワーク)
• Content Negotiation(コンテンツ ネゴシエーション)
• Endpoint Redirection(エンドポイント リダイレクト)
• Entity Linking(エンティティ リンキング)
• Response Caching(リスポンス キャッシング)
 
エンティティ リンキングは別にして、残りのデザインパターンは、読んで字の通りである。複合サービスに於いて、エンティティ関係情報を組み込む一般的なやり方を使わずに、 Entity Linkingパターンは、エンティティサービス自身によって、関連したエンティティへのリンクで応答することを指示する。結果的に、コンシューマサービスは、全エンティティ関係モデルを発見できる。エンティティサービスから、応答に組込まれたリンクを辿れるからである。この複合サービスからの分離によって、時間と共に変わるエンティティ関係を反映させるために、サービスをアップデートする負担が軽減される。理想的には、リンク ナビゲーションを容易にするために、 Lightweight Endpoint(軽量エンドポイント)と Reusable Contract(再利用可能な契約)パターンをこのデザインパターンと一緒に使うべきである。

DNSに刺激されて、Content Distribution Network (CDN) パターンは、一貫性を犠牲にして、可用性を改善するために、 BrewerのCAP定理 を活用したサービス レプリケーション パターンである。HTTPのContent Negotiation メカニズムをベースにした、 Content Negotiationパターンは、サービスリクエストやレスポンスのエンベロープ中のメタデータとして、メディアタイプを使うことを推奨している。これによって、同じサービス機能を使って、違うメディアタイプを配信できる。 Endpoint Redirectionは、古いサービスに永続的なあるいは、一時的なリダイレクト機能を追加する。このお陰で、サービスのアップデートされたバージョンへリダイレクト リンクして、コンシューマに応答できる。繰り返し永続的なリダイレクトを行うことで浪費されるランタイムのリソースを別にしても、レスポンス時のリダイレクトリンクは、セキュリティの観点から問題である。古くなったサービスが攻撃される場合があり得る。Response cachingは、メッセージング層にキャッシュを追加し、キャッシュしたメタデータを使って、冗長なリクエストに古いレスポンスを送るのを防ぐことができる。