疎結合 –多くのシステムで、各々が独立してそれ自体を管理することができなければなりません 選定 – さまざまな言語(Java, C#, PHP, Ruby, and ColdFusion)で実装されたクライアントに対し、システムは参入の障壁を低くする必要があります。 適応性 – システムは、多くの異なるデータタイプをサポートする必要があり、要求に応じて、新しいデータタイプを追加するために拡張可能でなければなりません 私たちは、Homeaway.com(リンク)で約1年前にまさにこの問題に直面していて、そこで私たちは双方の仕事をしていました。そして、2つの設計の考えを認めるのにそう時間はかかりませんでした。第一に、分散されたパブリッシュ/サブスクライブサービスが、サブシステムの弾力性と疎結合に対処するために良い方法であるということです。第二に、(SOAPのような重量級のプロトコルと比較して)