Condividi tramite


Partizionamento delle soluzioni di sistemi distribuiti per l'implementazione

Aggiornamento: novembre 2007

Quando i team di sviluppo sono pronti a implementare le definizioni di applicazioni nel diagramma applicazioni che supportano l'implementazione, il responsabile dello sviluppo può generare progetti per tali definizioni in Visual Studio. I progetti vengono visualizzati in Esplora soluzioni insieme ad altri elementi all'interno della stessa soluzione. In alcune situazioni è tuttavia possibile partizionare la soluzione in soluzioni di dimensioni inferiori. La creazione di soluzioni più piccole contenenti solo un sottoinsieme delle applicazioni rappresenta un metodo flessibile per organizzare i progetti per lo sviluppo. In Visual Studio è possibile includere i progetti in un numero qualsiasi di soluzioni, in modo da poter creare soluzioni che contengono un sottoinsieme dei progetti. Potrebbe inoltre risultare utile mantenere la soluzione originale come soluzione "master", da utilizzare per riconciliare le modifiche nell'ambito originale della soluzione, creare sistemi e definire la distribuzione all'interno di tale ambito.

Nota:

Le istruzioni e gli approcci indicati in questo argomento presuppongono l'utilizzo del controllo del codice sorgente. Per ulteriori informazioni, vedere Documenti SDM (System Definition Model) inclusi nel controllo del codice sorgente. Quando si partiziona una soluzione, è consigliabile utilizzare le porte statiche per le applicazioni ASP.NET basate sul file system, che per impostazione predefinita utilizzano le porte dinamiche. Le porte dinamiche con un'applicazione ASP.NET potrebbero provocare la modifica dei numeri di porta per alcuni dei relativi servizi Web, con conseguente disconnessione dei riferimenti Web corrispondenti. Per ulteriori informazioni, vedere Cenni preliminari sulle applicazioni ASP.NET nei diagrammi applicazioni.

Nelle sezioni riportate di seguito sono disponibili ulteriori informazioni sul partizionamento delle soluzioni.

  • Soluzioni partizionate da una soluzione master

  • Conservazione della soluzione originale come soluzione master

  • Aggiornamento della soluzione master in base alle modifiche apportate alle soluzioni partizionate

Soluzioni partizionate da una soluzione master

Negli scenari in cui le definizioni di applicazioni per un sistema di applicazioni complesso di grandi dimensioni vengono create in un'unica soluzione, potrebbe risultare più comodo suddividere la soluzione in soluzioni di dimensioni inferiori per l'implementazione delle applicazioni. Ciascuna soluzione partizionata comprende un sottoinsieme di definizioni di applicazioni e i relativi progetti corrispondenti, tra cui file di codice, file di configurazione e file sdm, contenenti le informazioni SDM (System Definition Model) per le definizioni di applicazioni associate.

È possibile utilizzare diverse strategie per partizionare una soluzione. Se ad esempio l'intero sistema è costituito da sistemi membro delineati in modo preciso, è possibile scegliere di creare soluzioni in base ai limiti di ciascun sistema della soluzione. Ciascuna soluzione contiene in questo caso i progetti delle definizioni di applicazioni a cui fa riferimento un sistema. In base alla complessità di ciascun sistema, potrebbe essere necessario suddividere ulteriormente le soluzioni partizionate in soluzioni ancora più piccole. È anche possibile partizionare le soluzioni a livello di singoli sviluppatori, in modo tale che la soluzione di ciascuno sviluppatore contenga solo le parti del sistema di cui si ha la responsabilità. È inoltre possibile condividere i progetti mediante il controllo del codice sorgente. È tuttavia necessario prendere in considerazione alcuni problemi correlati alla condivisione dei progetti. Per ulteriori informazioni, vedere Estrazione simultanea e modifiche ai documenti SDM (System Definition Model).

Nota:

Sebbene i limiti dei sistemi rappresentino una base logica ai fini della suddivisione delle definizioni di applicazioni e dei relativi progetti contenuti in una soluzione in soluzioni di dimensioni inferiori, è possibile suddividere una soluzione anche in altri modi. Negli scenari in cui i sistemi si sovrappongono, ovvero contengono utilizzi della stessa definizione di applicazione, questo approccio risulta infatti poco pratico.

Contenuto delle soluzioni partizionate

È possibile aggiungere un diagramma applicazioni a ciascuna soluzione partizionata, in modo tale che le definizioni di applicazioni vengano visualizzate nel diagramma in base ai file di definizione di applicazione (con estensione sdm) presenti nei progetti della soluzione. Al termine del processo di partizionamento, i nuovi progetti aggiunti alla soluzione vengono decodificati nel diagramma applicazioni, se necessario. Ciascuna soluzione partizionata può inoltre contenere diagrammi sistema, in modo da consentire ai singoli utenti di controllare i sistemi contenenti gli utilizzi di tali definizioni. I diagrammi sistema che condividono i riferimenti a una definizione di applicazione possono ad esempio essere inclusi in una soluzione partizionata, per fornire il contesto. È possibile utilizzare il diagramma applicazioni o aggiungere diagrammi sistema a una soluzione partizionata se si desidera valutare la distribuzione o generare report di distribuzione mediante gli strumenti di progettazione di sistemi distribuiti. Qualora si desideri utilizzare le soluzioni partizionate solo per lo sviluppo dei progetti, la presenza di diagrammi sistema distribuiti nelle soluzioni non è necessaria.

Nota:

 Un eventuale file sdm eliminato quando il diagramma applicazioni è chiuso viene rigenerato alla successiva riapertura del diagramma applicazioni in una soluzione che contiene il progetto. Nel file sdm rigenerato sono tuttavia contenute solo le informazioni che possono essere ricreate da un'altra origine: le informazioni memorizzate unicamente nel file sdm eliminato andranno perse. È inoltre possibile che vengano rimossi i riferimenti alla definizione associata. Per ulteriori informazioni, vedere Risoluzione dei problemi relativi ai diagrammi applicazioni. Se una definizione di applicazione condivisa non è presente in una soluzione partizionata, gli utilizzi di tale definizione nei diagrammi sistema inclusi nella soluzione risulteranno rimossi. Eventuali tentativi di definire o valutare la distribuzione di sistemi che fanno riferimento a una definizione di applicazione mancante avranno esito negativo. Per ulteriori informazioni, vedere Sincronizzazione tra documenti SDM (System Definition Model). L'aggiunta di diagrammi sistema richiede la presenza di un diagramma applicazioni nella soluzione.

Conservazione della soluzione originale come soluzione master

Al termine del partizionamento di una soluzione in soluzioni di dimensioni inferiori, è anche possibile mantenere la soluzione originale come soluzione "master". Questo approccio consente di visualizzare e controllare saltuariamente l'intero sistema. Inoltre, se esiste una soluzione master con un proprio diagramma applicazioni, non è necessario utilizzare il diagramma applicazioni in ciascuna soluzione partizionata.

Nota:

Non è necessario conservare o mantenere una soluzione master. Se ad esempio è possibile suddividere in modo preciso i limiti del sistema in base alle connessioni tra servizi Web, potrebbe essere sufficiente gestire ciascuna soluzione partizionata separatamente e rappresentare le interazioni tra tali soluzioni come connessioni a servizi Web esterni. I servizi Web esterni vengono aggiunti automaticamente al diagramma applicazioni in ciascuna soluzione partizionata se nelle soluzioni sono presenti riferimenti incrociati ai servizi Web. Per ulteriori informazioni, vedere Tipi e prototipi di applicazione per la definizione delle applicazioni. Se si desidera tuttavia progettare sistemi di livello superiore che fanno riferimento ai sistemi creati in soluzioni partizionate di livello inferiore, è possibile creare definizioni di sistema in cui sono incluse solo le definizioni di sistema di livello inferiore richieste. Per definire e valutare la distribuzione di tali sistemi è tuttavia necessario assicurarsi che la soluzione contenga tutte le applicazioni a cui viene fatto riferimento.

Si supponga ad esempio che un team di sviluppo sia composto da tre sviluppatori che utilizzano tre singole soluzioni e che ciascuna soluzione partizionata contenga i progetti associati alle definizioni di applicazioni. Queste tre soluzioni fanno parte di una soluzione partizionata di dimensioni maggiori che racchiude i limiti di un singolo sistema di applicazioni. La soluzione partizionata è a sua volta una delle numerose altre soluzioni partizionate che descrivono altri sistemi di applicazioni, che comprendono un intero sistema presente nell'ambito di una soluzione master.

Durante l'utilizzo delle soluzioni partizionate, i team di sviluppo eseguono l'archiviazione delle modifiche apportate nel controllo del codice sorgente. Il responsabile dello sviluppo può quindi aggiornare la soluzione master dal controllo del codice sorgente mediante l'estrazione dei diagrammi e dei file appropriati. In questo modo, viene eseguita la sincronizzazione con i diagrammi appropriati delle modifiche apportate ai file di codice e di configurazione. Per ulteriori informazioni, vedere Cenni preliminari su SDM (System Definition Model) e Relazioni tra documenti SDM (System Definition Model).

Aggiornamento della soluzione master in base alle modifiche apportate alle soluzioni partizionate

I progettisti di applicazioni, i responsabili dello sviluppo o i responsabili dell'architettura di un sistema possono periodicamente aggiornare e convalidare la soluzione master in base alle modifiche apportate alle soluzioni partizionate. Colui che effettua tale operazione può eseguire l'estrazione di una soluzione partizionata contenente i progetti suddivisi tra i diversi team di sviluppo, i quali possono utilizzare tali progetti direttamente all'interno della soluzione partizionata oppure in soluzioni ulteriormente partizionate.

In questo modo è possibile controllare l'intero sistema, qualora siano state apportate modifiche a livello di architettura, per verificare che la relativa progettazione venga distribuita correttamente, nonché propagare le modifiche tra le soluzioni. È inoltre importante aggiornare e controllare periodicamente la soluzione master, se rappresenta l'unica soluzione in cui è contenuto il diagramma applicazioni e se è l'unica posizione in cui sono mantenuti i sistemi.

All'apertura del diagramma applicazioni nella soluzione master in seguito all'aggiornamento dei relativi progetti dal controllo del codice sorgente, un progettista di applicazioni o un responsabile dello sviluppo può controllare l'effetto delle modifiche apportate ai progetti nel diagramma. Per visualizzare le modifiche esatte, è possibile controllare l'elenco delle modifiche archiviate o confrontare le differenze nei file di codice. Il progettista o il responsabile dello sviluppo può quindi sincronizzare il diagramma applicazioni con il codice di progetto o risolvere i problemi indicati in eventuali avvisi di sincronizzazione estraendo i progetti necessari affinché le modifiche necessarie possano essere propagate tra le definizioni di applicazioni e i relativi utilizzi nelle definizioni di sistema.

Una volta apportate le modifiche desiderate ai progetti, il progettista o il responsabile dello sviluppo può eseguirne l'archiviazione nella soluzione oppure collaborare con i team di sviluppo per risolvere eventuali conflitti e consentire la sincronizzazione del codice con il diagramma.

Vedere anche

Attività

Procedura: risolvere conflitti in documenti SDM (System Definition Model)

Riferimenti

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

Altre risorse

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