アプリケーション間連携は出来るだけ疎結合で

今、来週のTechEdの講演のためにEAIやESBについて色々と調べていますが、
どちらのアプローチにしてもアプリケーション間連携は出来るだけ疎結合(非同期連携)で!!
というのがやはり重要になります。

なんで疎結合が良いかと言うと、相手側のアプリケーションの稼動状況に
自分のアプリケーションが影響されないようにするという点に尽きます。
どこか1つのアプリケーションが停まったら、全てのアプリケーションが使用できなくなるという状況は
誰にとっても好ましくないですからね。そこが密結合の1番の問題点です。
特に、それぞれのアプリケーションの管理者がバラバラで、
離れた場所にアプリケーションが分散しているような企業さんでは、
疎結合は重要な考え方になります。

アプリケーション間連携というテーマになると、個別の接続技術に目がいきがちですが、
(例えばSAPと接続するにはどうすれば良いか?など)、
個別技術に行く前にどのようにしてアプリケーションを統合していくか?
この接続は疎結合/密結合のどちらが適しているか?
という議論を徹底したほうが良いと思います。

もちろん疎結合だけで、全てのアプリケーション間連携の問題を解決できるわけでも無いので
個別の連携のパターンごとに様々な角度から検討する必要があります。

疎結合についてもっと知りたい方は、是非キューの機能を調べてみてください。
キューには、Microsoft Message Queue(MSMQ)やSQL Server 2005 Service Broker,
Java Message Service(JMS), IBM WebSphere MQなどなど色々あります。
#DBを使って独自キューを作るのもアリですね。