私は、SOAの使用を強調する将来のIT開発のための戦略を読んでいます。私は、SOAがウェブ上のいくつかの記事から落ちた流行語であることを知っ ています。
プログラマーとして、SOAが他の分散コンピューティングアーキテクチャよりも柔軟であると考えられている理由を理解したいと思います。
SOAは、バス上で公開されているサービスに基づいています。ただし、すべてのサービスコンシューマーは、サービスを利用するために、サービスの重要性/セマンティクスを認識している必要があります。したがって、新しいサービスを利用するには、クライアントを変更する必要があります。
たとえば、グーグルマップが交通情報を公開している場合、私のアプリは何かが公開されていること、どのような形式であるかなどを認識しますが、ルートプランナーがそれらのデータを利用する機能を魔法のように獲得することはありません。
SOAは契約に基づいています。契約は、コンピューターによって自動的にチェックできる、明確に定義された(事前、事後)条件以上のものですか?
(関数が入力をチェックし、ユーザードキュメントに期待する内容を文書化するのと同じように、検証を関数の外に移動するだけです。)
双方が再び契約を履行しなければならない場合、それはどのように柔軟性を改善しますか?公開されたからといって、データが自動的に満たされるわけではありません。契約が変更された場合は、クライアントも変更する必要があります。