イクバル・カーン
トラフィックの多い使用に対応するためのWebアプリケーションの爆発的な増加の後、次の大きな波はサービス指向アーキテクチャー(SOA)になりました。 SOAは、非常にスケーラブルなアプリケーションを開発するための標準的な方法になる運命にあり、Windows Azureのようなクラウドコンピューティングプラットフォームは、SOAをこの目標の達成に向けて前進させる大きな飛躍を表しています。
SOAを使用すると、ユーザーはアプリケーションを複数の場所、組織内の複数の部門、およびインターネット上の複数の企業に配布できます。 さらに、組織内での既存のコードの再利用が可能になり、さらに重要なことに、さまざまなビジネスユニット間のコラボレーションが可能になります。
SOAアプリケーションは通常、負荷分散された環境のサーバーファームにデプロイされます。 目標は、アプリケーションがスローするのと同じ量の負荷を処理できるようにすることです。 したがって、問題は次のようになります。SOAアプリケーションのパフォーマンスとスケーラビリティの両方を改善するために留意すべき考慮事項は何ですか。
記事全文を読むSOAは、設計上、スケーラビリティーを提供することを目的としていますが、真にスケーラビリティーを実現するには、対処しなければならない多くの問題があります。 これらの問題のいくつかは、SOAアプリケーションのコーディング方法に関係していますが、最も重要なボトルネックは、多くの場合、データの保存方法とアクセス方法に関連しています。 この記事では、これらの問題を調査し、いくつかの解決策を提供します。
真の SOA アプリケーションは、アプリケーション アーキテクチャに関する限り、容易に拡張できる必要があります。 SOA アプリケーションには、サービス コンポーネントとクライアント アプリケーションという 2 つのコンポーネントがあります。クライアント アプリケーションは、Web アプリケーション、別のサービス、または SOA サービス コンポーネントに依存してジョブを実行するその他のアプリケーションです。
SOA の背後にある重要なアイデアの 1 つは、アプリケーションを小さなチャンクに分割して、これらのコンポーネントを複数のサーバー上で個別のサービスとして実行できるようにすることです。
理想的には、これらのサービスは可能な限りステートレスである必要があります。ステートレスとは、複数の呼び出しにわたってデータを保持しないことを意味し、複数のコンピューターでサービスを実行できるようにします。データが最後にどこにあったかには依存しないため、複数のサービス呼び出しにわたって特定のサーバーにデータが保持されることはありません。
記事全文を読む