ブローカー

読み:ぶろーかー / 英語表記:Broker

分散したシステムで、クライアントとサーバの間に仲介役(ブローカー)を置き、サービスの登録、検索、メッセージの受け渡しを任せるアーキテクチャパターン。クライアントとサーバの依存関係を弱められる。

イマシルちゃんの解説

不動産屋さんを思い浮かべてみて。
部屋を借りたい人は、大家さんを1人1人探さなくても、不動産屋さんに頼めば条件に合う部屋を紹介してもらえるよね。
大家さんも、物件を不動産屋さんに登録しておくだけでいい。

ブローカーは、ソフトウェアの世界のそんな仲介役なんだ!
お互いの居場所を知らなくても、仲介役を通してやり取りできるんだよ。

より深い解説

定義

ブローカーは、ソフトウェアの設計でよく使われる構造を整理した書籍『Pattern-Oriented Software Architecture』(POSA)で紹介されたアーキテクチャパターンの1つである。分散環境で、互いに独立したコンポーネントが、リモートのサービス呼出しによって連携するための構造を定める。

構成要素

要素役割
クライアントサービスを利用する
サーバサービスを提供し、自分のサービスをブローカーに登録する
ブローカーサービスの登録を受け付け、クライアントの要求に合うサーバを検索し、要求と結果のメッセージを受け渡す
クライアント側プロキシ / サーバ側プロキシ通信の細かな処理を隠し、遠くのサービスを手元の呼出しのように扱えるようにする

利点

欠点

例

CORBAのORB(Object Request Broker)、Java RMIのレジストリなどが、このパターンに基づいている。

POSAのほかの主なアーキテクチャパターン

パターン説明
マイクロカーネル機能の中核部分と拡張部分を分離し、変更への拡張性を高める
パイプとフィルタデータの流れに対する一連の処理を、追加や削除がしやすいように分割し、段階的に行う
MVCデータの管理、表示、入力と制御の3つに分けて、表示部分の変更に柔軟に対応する
レイヤ機能を階層に分け、各層は1つ下の層だけを使う
ブラックボード決まった解き方のない問題を、複数の専門の部品が共有のデータ領域を見ながら少しずつ解く

実際の試験ではここに出る!

この用語が出てくる記事

↑