Condividi tramite


Estrazione simultanea e modifiche ai documenti SDM (System Definition Model)

Aggiornamento: novembre 2007

Negli strumenti di progettazione di sistemi distribuiti è sconsigliato eseguire l'unione o l'estrazione simultanea di documenti SDM dal controllo del codice sorgente, a causa della struttura e della complessità dei metadati contenuti in tali documenti, comprendenti file con estensione sdm e file di diagramma sistema distribuito (con estensione ad, sd, dd o ldd). Se si utilizza la versione di Visual Studio del controllo del codice sorgente (Team Foundation o Visual SourceSafe), l'estrazione esclusiva è attivata per impostazione predefinita, in modo da consentire l'estrazione di un file da parte di un solo utente alla volta.

Nota:

Quando un'applicazione che supporta l'implementazione viene implementata sul diagramma applicazioni, il progetto corrispondente viene generato e visualizzato nella soluzione. La definizione SDM dell'applicazione implementata viene memorizzata in un file sdm e inclusa nel progetto corrispondente. Per ulteriori informazioni, vedere Cenni preliminari su SDM (System Definition Model) e Relazioni tra documenti SDM (System Definition Model).

È necessario non unire i diagrammi applicazioni. Una volta implementata un'applicazione, il codice diventa la definizione principale dell'applicazione e viene eseguita la sincronizzazione delle modifiche apportate al diagramma e al codice. Poiché i file di configurazione e i file di codice dell'applicazione rappresentano le origini di una definizione SDM, i risultati dell'unione dei file di codice o dei file di configurazione determinano la versione finale della definizione SDM nel file sdm.

Nota:

In Team Foundation è possibile archiviare o isolare per un uso successivo le modifiche in sospeso. Questa azione è tuttavia sconsigliata, quando è necessario unire i documenti SDM. Ad esempio, se si apportano modifiche a impostazioni o vincoli nei file di configurazione, si archiviano tali modifiche, quindi si modificano ulteriormente le impostazioni o i vincoli, è necessario unire i documenti SDM. Per ulteriori informazioni, vedere Utilizzo delle aree di sospensione per il controllo della versione.

Ogni volta che un diagramma applicazioni viene aperto o chiuso, le modifiche corrispondenti apportate al codice di progetto vengono sincronizzate con il file sdm e con il diagramma applicazioni. Se il file di diagramma applicazioni (con estensione ad) o un file sdm risulta non sincronizzato con il codice, è pertanto possibile eseguirne di nuovo la sincronizzazione, chiudendo e riaprendo il diagramma applicazioni. Per ulteriori informazioni, vedere Sincronizzazione tra documenti SDM (System Definition Model).

Nota:

I dati nei documenti SDM che non è possibile ricreare da un'altra origine, ad esempio i dati delle presentazioni o le informazioni SDM memorizzate solo nei file sdm, non saranno recuperabili se il documento viene eliminato o se le informazioni vengono perse in seguito a un'operazione di unione. Questo è l'unico caso in cui la mancata unione dei file di diagramma o sdm comporta la perdita di informazioni. Per questo motivo, si consiglia di non utilizzare in modo simultaneo o unire le definizioni memorizzate solo nei file sdm. Gli endpoint di tipo contenuto Web in un'applicazione ASP.NET non vengono ad esempio decodificati quando un nuovo file sdm viene rigenerato per un file eliminato in cui erano contenute le informazioni SDM relative a tali endpoint. Per ulteriori informazioni, vedere Risoluzione dei problemi relativi ai diagrammi applicazioni.

Estrazione simultanea e modifiche ai file di progetto di applicazione

Sebbene non sia consigliato, è possibile attivare l'estrazione in condivisione se il team sceglie di apportare modifiche simultanee ai file di progetto. È tuttavia possibile che in alcuni scenari sia richiesta l'unione di tali modifiche durante l'archiviazione dei file di progetto. È possibile che si verifichino conflitti di unione che dovranno essere risolti. Per ulteriori informazioni, vedere Procedura: configurare le impostazioni di estrazione se si utilizza Team Foundation.

Uno degli scenari più comuni è rappresentato da più sviluppatori che utilizzano file di codice sorgente diversi in un progetto condiviso. Il progetto può essere condiviso tra più soluzioni, ciascuna delle quali potrebbe contenere un diagramma applicazioni specifico. Se la soluzione contiene un diagramma applicazioni e il progetto contiene un file sdm, è possibile che le modifiche o le modifiche simultanee ai file di codice o ai file di configurazione del progetto richiedano l'aggiornamento del file sdm. Al momento dell'archiviazione del progetto, è pertanto necessario unire le modifiche simultanee apportate al file sdm o annullare un insieme di modifiche apportate a tale file.

Si supponga ad esempio che due sviluppatori utilizzino la stessa soluzione. Il primo sviluppatore desidera utilizzare il file di classe del servizio Web per un'applicazione ASP.NET ed esegue l'estrazione della soluzione contenente il progetto di applicazione. Questo sviluppatore può utilizzare il codice di progetto senza aprire il diagramma applicazioni o altri eventuali diagrammi presenti nella soluzione. Le modifiche apportate ai file di codice possono tuttavia avere ancora effetto su tali diagrammi. Se lo sviluppatore apre il diagramma applicazioni, viene richiesto di estrarre il diagramma insieme agli altri file di progetto necessari per la sincronizzazione.

Nota:

Se lo sviluppatore annulla l'estrazione o se per qualche motivo non è possibile estrarre il diagramma, quest'ultimo viene bloccato. Lo sviluppatore può tuttavia continuare a modificare il codice. Per ulteriori informazioni, vedere Risoluzione dei problemi relativi ai diagrammi applicazioni.

Si supponga che il secondo sviluppatore debba utilizzare lo stesso progetto nella stessa soluzione e ne esegua l'estrazione, in base alla soluzione di controllo del codice sorgente specifica in uso. Il secondo sviluppatore utilizza tuttavia un file di classe per un servizio Web differente nella stessa applicazione. Se il secondo sviluppatore desidera visualizzare il diagramma applicazioni per controllare l'effetto delle modifiche, il diagramma sarà disponibile in sola lettura in quanto è già stato estratto dal primo sviluppatore. Il secondo sviluppatore può tuttavia continuare a modificare il codice mediante l'editor di codice.

Quando entrambi gli sviluppatori completano le modifiche, ne eseguono l'archiviazione nel controllo del codice sorgente. È a questo punto necessario risolvere i conflitti di unione nei file estratti contemporaneamente. Nella maggior parte dei casi, verranno scelte alcune modifiche al file sdm rispetto ad altre e il diagramma applicazioni verrà sincronizzato con il file sdm in base al codice unito. Nello scenario in cui il secondo sviluppatore utilizza un file di classe del servizio Web differente, si consiglia tuttavia di accettare un file sdm rispetto all'altro, in quanto verrà prima sincronizzato il diagramma applicazioni con il codice, quindi verrà eseguita la sincronizzazione del file sdm.

Per ulteriori informazioni, vedere Procedura: risolvere conflitti in documenti SDM (System Definition Model).

Vedere anche

Concetti

Partizionamento delle soluzioni di sistemi distribuiti per l'implementazione

Altre risorse

Team Foundation - Documentazione

Strumenti di progettazione di sistemi distribuiti in ambienti di lavoro in team