システム定義モデル (SDM) ドキュメントの同期
更新 : 2007 年 11 月
分散システム デザイナでは、システム定義モデル (SDM) ドキュメントおよびコードは、変更に合わせて同期がとられます。分散システム ダイアグラムでは、これらの参照によって生じる問題がグラフィカルに表示されます。異なる種類のドキュメントが相互に同期されるメカニズムを理解すると、同期エラーのトラブルシューティングに役立ちます。
詳細については、次のトピックを参照してください。
以下のセクションでは、分散システム ダイアグラム間の同期について説明します。
アプリケーション ダイアグラムとシステム ダイアグラムの同期
アプリケーション ダイアグラムとコードの同期
システム ダイアグラムと他のシステム ダイアグラムの同期
配置ダイアグラムとシステム ダイアグラムまたは論理データセンター ダイアグラムの同期
アプリケーション ダイアグラムとシステム ダイアグラムの同期
Visual Studio では、アプリケーション ダイアグラムのアプリケーション定義に加えられたほとんどの変更は、システム ダイアグラムが開いている場合に限り、その定義のシステム ダイアグラム上のユースと同期されます。同期される変更には、ほぼすべてのプロパティの編集やアプリケーションの定義に対するエンドポイントの追加および削除などがあります。システム ダイアグラムが開いていない場合は、それを開いたときに、Visual Studio で変更が同期されます。
ただし、アプリケーション定義を削除した場合、Visual Studio では、その定義のユースは、参照するシステム ダイアグラムから (システム ダイアグラムが開いているか閉じているかに関係なく) 削除されません。その代わりに、Visual Studio では、そうしたユースは赤い点線で囲まれ、その下に波線が表示され、基になる定義が失われたために孤立していることが示されます。表示された線を見ると、削除された定義の影響を検討できます。アプリケーション定義を参照するシステム ダイアグラムが閉じている間にそのアプリケーション定義の名前を変更した場合、そのシステム ダイアグラムを開くと、Visual Studio ではその定義のユースは孤立して表示されます。
定義を追加し直すか、変更した名前を元に戻すと、Visual Studio では、孤立したユースの周囲に表示されていた点線と波線は消えます。孤立したユースは、別のアプリケーション定義に関連付けることにより、個別に修復することもできます。
詳細については、次のトピックを参照してください。
アプリケーション ダイアグラムとコードの同期
分散システム デザイナでは、一部のアプリケーションは実装に対応しています。ただし、アプリケーション ダイアグラムでアプリケーションを定義しただけで、対応するプロジェクト、コード、構成ファイルが直ちに生成されるわけではありません。コードを最初に生成することを実装と呼びます。詳細については、「アプリケーション ダイアグラムでのアプリケーションの実装」を参照してください。
アプリケーションが実装に対応している場合、アプリケーションを実装すると、そのコードがマスター定義となります。ただし、アプリケーション定義とコード間の完全で継続的な同期は、Visual Studio ではアプリケーション ダイアグラムが開いている場合に限りサポートされます。同期対象には、コード ファイル、構成ファイル、アプリケーション ダイアグラム上の対応する定義が含まれます。アプリケーション ダイアグラムが開いていない場合、それを開くと、コードと同期され、ダイアグラムが閉じていたときに加えられた変更が反映されます。
メモ : |
---|
実装に対応したアプリケーションでは、アプリケーション ダイアグラムを再び開いたときに、アプリケーション定義ファイル (.sdm) が利用できない場合は、Visual Studio によって .sdm ファイルが生成されます。ただし、生成される .sdm ファイルにはコードまたはアプリケーション構成ファイルのエントリから Visual Studio がリバース エンジニアリングできる情報だけが含まれています。Visual Studio は、ソースがコードに記述されていない SDM 情報や設定は再作成しません。たとえば、Visual Studio では、ASP.NET アプリケーションの Web コンテンツのエンドポイントはコードからリバース エンジニアリングされません。Visual Studio が ASP.NET アプリケーションをリバース エンジニアリングするときに、アプリケーション ダイアグラムにそのようなエンドポイントがあると、それらは赤い点線で囲まれます。詳細については、「アプリケーション ダイアグラムのトラブルシューティング」を参照してください。 |
実装に対応していないアプリケーションの場合、アプリケーション ダイアグラム上の定義や対応するアプリケーション定義ファイル (.sdm) がマスター定義となります。アプリケーション ダイアグラムが閉じた状態で、定義を削除するなどして、このような .sdm ファイルを変更した場合、ダイアグラムを再び開いても、Visual Studio では .sdm ファイルは再生成されません。たとえば、このような .sdm ファイルを削除した場合、アプリケーション ダイアグラム上の対応するアプリケーション定義とその定義のシステム ダイアグラム上のユースは、Visual Studio では定義が失われたことを示す赤い点線で囲まれます。詳細については、「システム ダイアグラムのトラブルシューティング」および「アプリケーションを定義するためのアプリケーションの種類とプロトタイプ」を参照してください。
システム ダイアグラムと他のシステム ダイアグラムの同期
Visual Studio では、システム ダイアグラムのシステム定義に加えられたほとんどの変更がその定義の他のシステム ダイアグラム上のユースと同期されますが、これはその定義を参照するシステム ダイアグラムが開いている場合に限られます。こうした変更には、プロキシ エンドポイントの追加や削除が含まれます。定義を参照するシステム ダイアグラムが開いていない場合は、Visual Studio では、そのダイアグラムを開いたときに変更が同期されます。詳細については、「システム デザイナを使用してアプリケーション システムをデザインする」を参照してください。
ただし、システム定義を削除した場合、Visual Studio では、その定義のユースは、参照するシステム ダイアグラムから (システム ダイアグラムが開いているか閉じているかに関係なく) 削除されません。その代わりに、Visual Studio では、そうしたユースは赤い点線で囲まれ、その下に波線が表示され、基になる定義が失われたために孤立していることが示されます。表示された線を見ると、削除された定義の影響を検討できます。システム定義を参照する他のシステム ダイアグラムが閉じている間にそのシステム定義の名前を変更した場合、そのシステム ダイアグラムを開くと、Visual Studio ではその定義のユースは孤立して表示されます。定義を追加し直すか、変更した名前を元に戻すと、Visual Studio では、孤立したユースの周囲に表示されていた点線と波線は消えます。孤立したユースは、別のシステム定義に関連付けることにより、個別に修復することもできます。詳細については、「システム ダイアグラムのトラブルシューティング」および「方法 : アプリケーション システムで孤立したメンバを修復する」を参照してください。
配置ダイアグラムとシステム ダイアグラムまたは論理データセンター ダイアグラムの同期
配置ダイアグラムは、常に特定のシステム ダイアグラムと論理データセンター ダイアグラムを参照し、一連のバインディング参照を含みます。バインディング参照は、システム ダイアグラム上のアプリケーションを論理データセンター ダイアグラム上の論理サーバーにバインドすることを意味します。論理データセンター ダイアグラム、システム ダイアグラム、またはアプリケーションの基本定義を変更すると、配置ダイアグラムの整合性に影響が出ます。関連する配置ダイアグラムが開いているときに、システム ダイアグラムまたは論理データセンター ダイアグラムを編集した場合、Visual Studio では、変更は直ちに配置ダイアグラムに反映されます。これに対し、配置ダイアグラムが閉じている場合は、Visual Studio では配置ダイアグラムにある特定の種類の変更にエラー警告状態が表示され、システム ダイアグラムまたは論理データセンター ダイアグラムが変更されたことを示します。詳細については、「配置デザイナによるシステム配置の評価」を参照してください。
たとえば、システム ダイアグラムからアプリケーションを削除し、それらのアプリケーションへのバインディング参照が存在する関連付けられた配置ダイアグラムが閉じているとします。さらに、論理サーバーを関連付けられた論理データセンター ダイアグラムから削除したと仮定します。この場合、配置ダイアグラムを開くと、バインディング参照には赤いエラー アイコン (X) が表示されます。削除したアプリケーションは、[システム ビュー] ウィンドウには表示されません。論理データセンター ダイアグラムから削除した論理サーバーは、赤い点線で囲まれて配置ダイアグラムに残ります。
詳細については、「配置ダイアグラムのトラブルシューティング」を参照してください。
配置ダイアグラムとシステム ダイアグラムの同期
アプリケーション ダイアグラムから配置ダイアグラムを作成すると、配置ダイアグラムでは自動的にデザインされた "既定のシステム" が使用されます。このシステムは、システム デザイナで表示したり編集したりすることはできず、システム ダイアグラムには存在しません。この既定のシステムには、アプリケーション ダイアグラム上のアプリケーションと接続がすべて含まれています。Visual Studio では、既定のシステムは、アプリケーション ダイアグラムに加えられた変更と同期されます。既定のシステムを使用する配置ダイアグラムを作成すると、配置デザイナの [システム ビュー] ウィンドウには既定のシステムに含まれるすべてのアプリケーションが表示されます。Visual Studio では、配置ダイアグラムと [システム ビュー] ウィンドウは、アプリケーション ダイアグラム上のアプリケーション定義に加えられた変更と同期されます。
手動で作成したシステム ダイアグラムから配置ダイアグラムを作成した後で、システム ダイアグラムを変更すると、アプリケーションを配置ダイアグラムにバインドしている場合は、変更が [システム ビュー] ウィンドウと配置ダイアグラムに反映されます。たとえば、参照される側のシステム ダイアグラムからアプリケーションを削除すると、Visual Studio によって、そのアプリケーションの配置ダイアグラムにあるバインディング参照も削除されます。
詳細については、「配置デザイナによるシステム配置の評価」を参照してください。
配置ダイアグラムと論理データセンター ダイアグラムの同期
論理データセンター ダイアグラムから論理サーバーを削除すると、その論理データセンター ダイアグラムを参照する配置ダイアグラムが開いている場合、Visual Studio では、変更がその配置ダイアグラムと同期されます。このとき、Visual Studio では、削除した論理サーバーにバインドされているアプリケーションのバインディング参照も削除されます。したがって、それらのアプリケーションを他の論理サーバーに再バインドする必要があります。
論理データセンター ダイアグラムにおいて論理サーバーやゾーンを追加または削除すると、その論理データセンター ダイアグラムを参照する配置ダイアグラムが開いている場合、Visual Studio では、その配置ダイアグラムでも同じ論理サーバーが追加または削除されます。Visual Studio では、参照先の論理データセンター ダイアグラム上で再び親になった論理サーバーやゾーンも配置ダイアグラム上で移動します。
関連付けられた配置ダイアグラムが閉じている状態で参照先のシステム ダイアグラムや論理データセンター ダイアグラムを変更した場合は、次に配置ダイアグラムを開くと、次のように表示されます。
参照先のシステム ダイアグラムに追加したアプリケーションは、[システム ビュー] ウィンドウに非バインドとして表示されます。
配置ダイアグラムの論理サーバーにバインドされたアプリケーションは、参照先のシステム ダイアグラムから削除してもバインドされたままとなります。ただし、そのバインディング参照は、アプリケーションが既に利用できないことを示します。
メモ : このような参照は、配置ダイアグラムから削除する必要があります。
論理データセンター ダイアグラムから削除した論理サーバーは、配置ダイアグラムに残ります。ただし、削除された論理サーバーは、赤い点線で囲まれ、定義が失われたことを示します。
メモ : 配置ダイアグラムから削除できる参照は、そのプロパティを確認できないか、アプリケーションをバインドできないものだけです。このような論理サーバーにバインドされたアプリケーションは、個別にバインドを解除できます。配置ダイアグラムから論理サーバーを削除すると、Visual Studio では、そのサーバーにバインドされたアプリケーションは自動的にバインドが解除され、他の論理サーバーにバインドできるようになります。
配置ダイアグラムが開いていない状態で参照先の論理データセンター ダイアグラムを変更した場合、配置ダイアグラムと変更を同期する必要があります。同期を実行すると、配置ダイアグラムが更新され、論理データセンター ダイアグラムの現在の状態がバインディング情報を損なわずに反映されます。また、論理データセンター ダイアグラムから削除された論理サーバーへの参照はすべて削除されます。
詳細については、次のトピックを参照してください。