アプリケーション システム内の外部アプリケーション

更新 : 2007 年 11 月

分散システム デザイナでは、外部アプリケーションを記述できます。これは、ソリューション内では実装せずに、ソリューション内のアプリケーションと接続するものです。たとえば、ソリューション内のアプリケーションに対して外部 Web サービスの視覚化、参照、接続を行うことができます。詳細については、「アプリケーション ダイアグラムでのアプリケーションの定義」を参照してください。

外部アプリケーションに接続したアプリケーションを使用してアプリケーション システムをデザインする場合、システム内にそれらの外部アプリケーションを含めて接続できます。一方、システムから外部アプリケーションを除外したうえで、システム内から外部アプリケーションに接続する各コンシューマ エンドポイントに関して、システムにプロキシ エンドポイントを追加することも可能です。詳細については、「システム ダイアグラムでの通信経路の定義」および「アプリケーション システムの動作をデリゲートして公開する」を参照してください。

ms245795.alert_note(ja-jp,VS.90).gifメモ :

このトピックでは、例として外部 Web サービスを取り上げますが、BizTalk Web サービス、データベース、汎用アプリケーション、および SDM (System Definition Model) Software Development Kit (SDK) を使用して作成されたカスタム アプリケーションの種類にも同じ概念が当てはまります。詳細については、「アプリケーションを定義するためのアプリケーションの種類とプロトタイプ」を参照してください。

次のセクションでは、外部 Web サービスを使用する方法とガイドラインについて説明します。

  • Including External Web Services in Systems

  • Excluding External Web Services from Systems

  • Choosing the Right Approach

外部 Web サービスをシステムに含める

アプリケーション ダイアグラムでアプリケーションを外部 Web サービスに接続する場合、外部 Web サービスをシステムに含めることを選択できます。外部 Web サービスをシステムに含めても、その Web サービスがシステムと共に配置されることにはなりません。ただし、外部 Web サービスをシステムに含めると、次のことを実現できます。

  • システム ダイアグラムで、外部 Web サービスへの参照を視覚化する。

  • 複数のアプリケーションを外部 Web サービスに接続して、アプリケーションを同じ Web サービス URL に接続する必要があることを示す。詳細については、「アプリケーション システム内での通信」を参照してください。

  • システムの配置を定義するとき、外部 Web サービスを配置する必要のある論理サーバーは指定できません。また、外部 Web サービスとそれに接続するアプリケーションとの接続をサポートする通信経路が論理データセンターに存在することを検証できます。詳細については、「配置デザイナによるシステム配置の評価」を参照してください。

この方法の場合、次の考慮事項に注意してください。

  • コンシューマ エンドポイントは、プロバイダ エンドポイントまたはプロキシ エンドポイントに接続できますが、両方には接続できません。

    コンシューマ エンドポイントをシステム内の外部 Web サービスに接続する場合、そのシステムのそのコンシューマ エンドポイントにプロキシ エンドポイントを作成することはできません。プロキシ エンドポイントがないと、そのコンシューマ エンドポイントの動作をシステム外部に公開できず、そのプロキシ エンドポイントを別のシステムの Web サービスに接続してその URL を解決することはできません。

  • システムを配置する際に、外部 Web サービス プロバイダ エンドポイントの URL を指定する必要があります。この URL は、接続されたコンシューマ エンドポイントを構成するのに必要です。

外部 Web サービスを持つ ASP.NET Web アプリケーションを表す

実装済み ASP.NET Web アプリケーション (.NET Web プロバイダ サービス エンドポイントあり) に接続されたアプリケーションがアプリケーション ダイアグラムに存在する場合、ASP.NET Web アプリケーションを持たないシステムをデザインする際に、その ASP.NET Web アプリケーションを外部 Web サービスに置き換えることができます。この方法を使用するには、外部 Web サービスを作成する前に、ASP.NET Web アプリケーションをソリューションから削除するか、または ASP.NET Web アプリケーションを持たないソリューションを別に作成し、システムをそのソリューションで定義します。

ms245795.alert_note(ja-jp,VS.90).gifメモ :

アプリケーション ダイアグラム上の ASP.NET Web アプリケーションを基に外部 Web サービスを作成し、それを ASP.NET Web アプリケーションと置き換えることはしないでください。.NET Web サービス プロバイダ エンドポイントの場所をアプリケーション ダイアグラムで参照できるのは 1 回だけです。詳細については、「方法 : Web サービスの WSDL ファイルを探す」を参照してください。

システムから外部 Web サービスを除外する

システムに含めない Web サービスにアプリケーションを接続する場合、そのアプリケーションのコンシューマ エンドポイントに対応するプロキシ エンドポイントを作成する必要があります。システムを他のシステムに含める場合、プロキシ エンドポイントを使用すると、コンシューマ エンドポイントを公開し、それをシステム外部に接続できるようになります。詳細については、「アプリケーション システムの動作をデリゲートして公開する」を参照してください。

ms245795.alert_note(ja-jp,VS.90).gifメモ :

ここでの Web サービスとは、外部 Web サービス、または .NET Web サービス プロバイダ エンドポイントを持つ ASP .NET Web アプリケーションです。

この方法の場合、次の考慮事項に注意してください。

  • システムの配置を定義する際、参照先の外部 Web サービスを配置する必要のある論理サーバーは指定できません。また、外部 Web サービスとそれを参照するアプリケーションとの接続をサポートする通信経路が論理データセンターに存在することを検証できません。

    ms245795.alert_note(ja-jp,VS.90).gifヒント :

    このシナリオは、システムと外部 Web サービスのいずれかまたは両方を別のシステム内に含めることで回避できます。

  • システム内の複数のアプリケーションを同じ Web サービス URL に接続する必要があることを、システム ダイアグラムでは表現できません。

    ms245795.alert_note(ja-jp,VS.90).gifヒント :

    この方法を使用する場合、システムの複数のプロキシ エンドポイントを同じ Web サービス URL に接続する必要があるようなシナリオを、別途文書化してください。たとえば、システム ダイアグラムにコメントを追加します。これは、そのシステムを別のシステムで再利用するユーザーにとって重要な情報です。詳細については、「方法 : 分散システム ダイアグラムにコメントを追加する」を参照してください。

  • プロキシ (コンシューマ) エンドポイントを持つシステムをスタンドアロン システムとして配置する場合、つまり別のシステムのコンテキスト内にない場合、配置プロセスの一部として、各プロキシ エンドポイントの Web サービス URL を指定する必要があります。このような URL は、プロキシ エンドポイントが公開するコンシューマ エンドポイントを構成するのに必要です。システムを別のシステムの一部として配置する場合、コンシューマ プロキシ エンドポイントに接続される、含む側のシステムのプロバイダ エンドポイントが、URL のソースを提供します。

適した方法を選択する

システムが独立しており、スタンドアロン システムとして配置される場合 (別のシステムに含まれない場合)、外部アプリケーション、汎用アプリケーション、またはカスタム アプリケーションの種類を含め、それと共にシステムでそれらに接続するアプリケーションを含めることを選択できます。システムを他のシステムに含める場合、動作を公開し、システム外部に接続するには、システム内のコンシューマ エンドポイントにプロキシ エンドポイントが必要です。

この 2 つの方法を組み合わせることもできます。システムをスタンドアロン システムとして配置すると共に、それを他のシステムに含める場合、一方が他方に含まれる、2 つのシステムを作成できます。一方のシステムでは、コンシューマ アプリケーションを含み、プロキシ エンドポイントを通して動作を公開するように定義します。もう 1 つのシステムを定義できます。この中には、外部アプリケーションと、プロキシ エンドポイントが存在するシステムが含まれます。別のシステムにある外部アプリケーションを、このプロキシ エンドポイントに接続できます。コンシューマ アプリケーションを他のシステムに含める必要がある場合は、内側のシステムを使用できます。機能を個別に配置する場合は、外部システムを使用できます。ただし、この方法では 2 つのシステムを管理する必要があります。詳細については、「方法 : アプリケーション システムで参照する側のアプリケーションと外部アプリケーションを組み合わせる」を参照してください。

参照

その他の技術情報

システム ダイアグラムでアプリケーション システムをデザインする