Condividi tramite


Procedura dettagliata: progettazione di sistemi di applicazioni mediante un approccio dall'alto verso il basso

Aggiornamento: novembre 2007

In questa procedura dettagliata viene descritto come progettare un sistema di applicazioni mediante un approccio dall'alto verso il basso.

In questa procedura dettagliata, verranno completate le seguenti attività:

  • Creazione di una nuova soluzione di progettazione sistemi.

  • Rappresentazione ed esposizione del comportamento per la definizione di sistema come servizio Web.

  • Definizione di un'operazione per il nuovo servizio Web.

  • Aggiunta di due nuovi sistemi come membri a una definizione di sistema.

  • Ridenominazione dei sistemi nuovi.

  • Aggiunta di un servizio Web a un membro della definizione di sistema.

  • Collegamento dei due sistemi nella definizione di sistema.

  • Delega del comportamento della definizione di sistema a un membro.

  • Proseguimento della progettazione dei membri della definizione di sistema.

  • Implementazione delle definizioni di applicazione sottostanti.

Creazione di una nuova soluzione di progettazione sistemi

Si inizierà a progettare un sistema mediante un approccio dall'alto verso il basso. Questa attività verrà effettuata creando una nuova soluzione di progettazione sistemi. Per impostazione predefinita, in questa soluzione sono contenuti un diagramma sistema vuoto e un diagramma applicazioni. Nel diagramma sistema viene visualizzata una definizione di sistema vuota. Nel diagramma applicazioni vengono visualizzate le definizioni di tutte le applicazioni aggiunte come membri alla definizione di sistema.

Per creare una nuova soluzione di progettazione sistemi

  1. Nel menu File, scegliere Nuovo, quindi Progetto.

    Verrà visualizzata la finestra di dialogo Nuovo progetto.

  2. In Tipi progetto della finestra di dialogo Nuovo progetto, fare clic su Sistemi distribuiti.

  3. In Modelli, fare clic su Progettazione sistemi.

  4. Denominare la soluzione StoreFrontSystem.

  5. Immettere un percorso per salvare tale soluzione.

La soluzione viene creata in Visual Studio. In Progettazione sistemi viene aperto e visualizzato un diagramma sistema. In Progettazione applicazioni viene aperto in background il diagramma applicazioni.

A questo punto verrà rappresentato ed esposto il comportamento della definizione di sistema come servizio Web.

Rappresentazione ed esposizione del comportamento per la definizione di sistema come servizio Web

Verrà definito ed esposto il comportamento per la definizione di sistema come servizio Web. Questa attività verrà effettuata aggiungendo un endpoint provider di servizi Web NET alla definizione di sistema. Questa azione consente inoltre di collegare questo sistema ai membri di altre definizioni di sistema.

Per aggiungere un servizio Web a una definizione di sistema

  1. Fare clic su StoreFrontSystem nel diagramma sistema.

  2. Nel menu Diagramma, scegliere Aggiungi, quindi Endpoint e fare clic su .NETWebServiceEndpoint.

    In StoreFrontSystem viene visualizzato un endpoint provider di servizi Web NET denominato WebService1.

  3. Fare clic su WebService1 in StoreFrontSystem.

  4. Scegliere Finestra Proprietà dal menu Visualizza.

    Verrà visualizzata la finestra Proprietà.

  5. Nella finestra Proprietà, utilizzare la proprietà Nome per denominare l'endpoint CatalogService.

    Nota:

    Quando si aggiunge un endpoint a una definizione di sistema, tale endpoint viene visualizzato anche in tutti gli utilizzi di tale definizione in altre definizioni di sistema. Un endpoint eliminato da una definizione di sistema verrà eliminato anche da tutti gli utilizzi di tale definizione in altre definizioni di sistema.

A questo punto verranno definiti un'operazione del servizio Web e i relativi parametri per CatalogService.

Definizione di un'operazione per il nuovo servizio Web

Verrà definita un'operazione per il servizio Web CatalogService mediante la finestra Dettagli servizio Web. Nelle operazioni vengono descritti i nomi dei metodi, i parametri e altre informazioni relative all'operazione per un servizio Web.

Nota:

Per impostazione predefinita, in Visual Studio il linguaggio di un endpoint servizio Web di una definizione di sistema viene impostato su Visual Basic. Il linguaggio di implementazione effettivo per questo endpoint verrà scelto quando si delega il comportamento dell'endpoint a un'applicazione.

Per aggiungere un'operazione a un endpoint servizio Web

  1. Fare clic sull'endpoint CatalogService in StoreFrontSystem.

  2. Nel menu Diagramma, fare clic su Definisci operazioni.

    Verrà visualizzata la finestra Dettagli servizio Web.

  3. Nella finestra Dettagli servizio Web, fare clic su <aggiungi operazione>, aggiungere un'operazione denominata GetCatalog, quindi premere TAB.

  4. Nella casella Tipo, digitare Catalogo e premere INVIO.

    Nota:

    Catalogo è un tipo personalizzato che è possibile definire dopo aver delegato l'endpoint a un'applicazione Web ASP.NET e implementato tale applicazione.

  5. Espandere il nodo dell'operazione, fare clic su <aggiungi parametro>, aggiungere un parametro denominato NomeCatalogo, quindi premere TAB.

  6. Nella casella Tipo, digitare Stringa, quindi premere TAB.

    Nota:

    Quando si inizia a digitare nella casella Tipo, in Visual Studio viene visualizzato un elenco di tipi disponibili.

  7. Nella casella Modificatore, selezionare ByVal, quindi premere INVIO.

A questo punto verranno aggiunti nuovi membri a StoreFrontSystem.

Aggiunta di due nuovi sistemi come membri a una definizione di sistema

Verranno aggiunti due nuovi sistemi come membri alla definizione di sistema StoreFrontSystem. In Visual Studio viene aggiunto un nuovo file del diagramma sistema, con estensione sd, alla soluzione per ciascun nuovo sistema aggiunto a una definizione di sistema. In ogni diagramma sistema è contenuta la definizione di ciascun nuovo sistema.

Per aggiungere sistemi nuovi a una definizione di sistema

  1. Fare clic su StoreFrontSystem nel diagramma sistema.

  2. Nel menu Diagramma, scegliere Aggiungi, quindi Sistema e fare clic su Sistema vuoto.

    In StoreFrontSystem, viene visualizzato come membro un nuovo sistema denominato System1. Un nuovo file del diagramma sistema, con estensione sd, viene visualizzato nella soluzione e aperto in background.

  3. Aggiungere un secondo sistema vuoto denominato System2.

A questo punto i nuovi membri verranno rinominati.

Ridenominazione dei sistemi nuovi

Verranno rinominati i due sistemi nuovi e le relative definizioni sottostanti.

Per rinominare i membri nuovi

  1. Fare clic su System1 in StoreFrontSystem.

  2. Nel menu Diagramma, scegliere Rinomina.

    Viene visualizzata la finestra di dialogo Rinomina.

  3. Nella finestra di dialogo Rinomina, selezionare la casella di controllo Rinomina definizione, se non è già selezionata.

  4. Nella casella Nome membro, denominare il membro OrderSystem, quindi scegliere OK.

    Il membro e la definizione vengono visualizzati con il nuovo nome.

    Nota:

    In Visual Studio non verranno aggiornati i nomi dei file del diagramma in cui sono contenute le definizioni sottostanti.

  5. Rinominare System2 con CatalogSystem.

A questo punto verrà rappresentato ed esposto il comportamento di un membro come servizio Web.

Aggiunta di un servizio Web a un membro della definizione di sistema

Verrà rappresentato ed esposto il comportamento per un membro di StoreFrontSystem come servizio Web. Questa attività verrà effettuata aggiungendo un endpoint provider di servizi Web NET al nuovo membro. Questa azione consente inoltre di collegare tale membro ad altri membri di StoreFrontSystem.

Per aggiungere un servizio Web a un membro

  1. Fare clic sul sistema OrderSystem.

  2. Nel menu Diagramma, scegliere Aggiungi, quindi fare clic su .NETWebServiceEndpoint.

    Un endpoint provider di servizi Web NET denominato WebService1 viene visualizzato in OrderSystem e nella definizione sottostante.

  3. Fare clic su WebService1 in OrderSystem.

  4. Nella finestra Proprietà, utilizzare la proprietà Nome per denominare l'endpoint OrderService.

    Nota:

    Quando si aggiunge un endpoint a un membro, questo viene visualizzato anche nella definizione sottostante del membro e in tutti gli utilizzi di tale definizione in altre definizioni di sistema. Una volta aggiunto un endpoint a un membro, non è possibile rimuoverlo direttamente da tale membro. Per rimuovere un endpoint da un membro, è necessario eliminarlo dalla definizione del membro. Questa azione consente inoltre di rimuovere l'endpoint da tutti gli utilizzi di tale definizione. Questo requisito evidenzia il modo in cui questa modifica apportata alla definizione di un membro influisce sugli utilizzi di tale definizione in altre definizioni di sistema.

A questo punto verranno definiti i percorsi di comunicazione tra i membri di StoreFrontSystem.

Collegamento dei due sistemi nella definizione di sistema

Verranno definiti i percorsi di comunicazione utilizzati tra i membri di una definizione di sistema in fase di distribuzione. Questa attività verrà effettuata collegando i due sistemi di StoreFrontSystem. In questo collegamento verrà descritta una relazione provider-consumer tra questi due sistemi.

Per collegare i membri di una definizione di sistema

  1. Fare clic sull'endpoint OrderService in OrderSystem.

  2. Nel menu Diagramma, scegliere Connetti.

    Verrà visualizzata la finestra di dialogo Crea connessione.

  3. Nell'elenco Membro di Connetti a, selezionare CatalogSystem, quindi scegliere OK.

    Viene visualizzato un collegamento tra OrderSystem e CatalogSystem. In CatalogSystem viene visualizzato anche un endpoint consumer di servizi Web e collegato a OrderService. Questo endpoint consumer viene visualizzato anche nella definizione sottostante di CatalogSystem.

A questo punto verrà delegato il comportamento della definizione di sistema StoreFrontSystem a uno dei membri.

Delega del comportamento della definizione di sistema a un membro

Verrà scelto il membro che fornirà il comportamento della definizione di sistema in fase di distribuzione. Questa attività verrà effettuata delegando il comportamento della definizione di sistema a uno dei membri. In particolare, verrà delegato il comportamento del servizio Web CatalogService a CatalogSystem. Questa azione consente di sostituire l'endpoint servizio Web della definizione di sistema con un endpoint proxy. L'endpoint servizio Web viene di nuovo visualizzato nel membro. Gli endpoint verranno collegati reciprocamente.

Nota:

L'endpoint servizio Web viene visualizzato anche nella definizione sottostante di CatalogSystem, in quanto diventa parte della definizione di quel membro.

Per delegare il comportamento di una definizione di sistema a un membro

  1. Fare clic su CatalogService in StoreFrontSystem.

  2. Nel menu Diagramma, scegliere Delegato.

    Viene visualizzata la finestra di dialogo Comportamento di delegato per membro di sistema.

  3. Nell'elenco Membro di Destinazione delega, selezionare CatalogSystem, quindi scegliere OK.

    CatalogService viene ora visualizzato in CatalogSystem. Un endpoint proxy viene visualizzato nel percorso precedente di CatalogService con lo stesso nome. Questo endpoint proxy viene collegato a CatalogService e il relativo comportamento viene esposto all'esterno del sistema.

Proseguimento della progettazione dei membri della definizione di sistema

Verrà continuata la progettazione dei membri di StoreFrontSystem. Questa attività verrà effettuata aggiungendo le applicazioni Web ASP.NET alle definizioni di CatalogSystem e di OrderSystem. Queste applicazioni forniranno il comportamento di tali definizioni di sistema. Successivamente, verrà delegato il comportamento di quelle definizioni di sistema a quelle applicazioni.

Per continuare a progettare i membri di una definizione di sistema

  1. Fare clic su CatalogSystem nel diagramma sistema.

  2. Nel menu Diagramma, fare clic su Apri in Progettazione sistemi.

    Viene aperto il diagramma sistema in cui è contenuta la definizione di CatalogSystem.

  3. Nel menu Diagramma, scegliere Aggiungi, quindi Applicazione e fare clic su ASP.NETWebService.

    In CatalogSystem viene visualizzata una nuova applicazione Web ASP.NET denominata WebApplication1. In Visual Studio viene aggiunta la definizione per questa applicazione al diagramma applicazioni della soluzione. 

  4. Eliminare l'endpoint WebService1.

  5. Denominare l'applicazione CatalogManager.

  6. Fare clic su CatalogService in CatalogSystem, quindi selezionare Delegato nel menu Diagramma.

    Viene visualizzata la finestra di dialogo Comportamento di delegato per membro di sistema.

  7. In Destinazione delega, selezionare CatalogManager, quindi scegliere OK.

    CatalogService verrà ora visualizzato in CatalogManager. Successivamente, verrà implementata la definizione di CatalogManager per continuare a definire il comportamento di CatalogService nel codice.

  8. Fare clic sull'endpoint consumer in CatalogSystem.

  9. Delegare l'endpoint consumer a CatalogManager.

    Ora CatalogManager è in grado di comunicare all'esterno di CatalogSystem.

  10. Fare clic sulla scheda del documento StoreFrontSystem.sd per visualizzare il diagramma sistema di StoreFrontSystem.

  11. Ripetere i primi 3 passaggi per OrderSystem e denominare l'applicazione OrderManager.

  12. Delegare l'endpoint OrderService a OrderManager.

  13. Fare clic sulla scheda del documento StoreFrontSystem.sd per visualizzare il diagramma sistema di StoreFrontSystem.

Mediante gli endpoint proxy di ciascun sistema, è ora possibile instaurare una comunicazione tra l'applicazione CatalogManager di CatalogSystem e l'applicazione OrderManager di OrderSystem. Inoltre, mediante l'endpoint proxy di quel sistema, in CatalogManager viene fornito il comportamento per StoreFrontSystem.

Implementazione delle definizioni di applicazione sottostanti

Verrà continuata la definizione del comportamento di CatalogSystem e OrderSystem. Questa attività può essere effettuata collegando innanzitutto le definizioni sottostanti di CatalogSystem e OrderSystem e quindi implementandole. Quando si implementano le definizioni di applicazione, in Visual Studio vengono generati progetti nella soluzione, in modo da poter continuare a definire il comportamento nel codice.

Nota:

È necessario collegare le definizioni di applicazione prima di implementarle. In questo modo, in Visual Studio vengono generate correttamente tutte le classi proxy client del servizio Web necessarie.

Per collegare e implementare le definizioni di applicazione

  1. Fare clic sulla scheda del documento StoreFrontSystem.ad per visualizzare il diagramma applicazioni.

    In Progettazione applicazioni viene visualizzato il diagramma applicazioni in cui sono contenute le definizioni di applicazione per CatalogManager e OrderManager.

  2. Collegare l'endpoint consumer di CatalogManager all'endpoint OrderService di OrderManager.

    Nota:

    In Visual Studio non vengono collegate le definizioni di applicazione, se si collegano i relativi utilizzi nelle definizioni di sistema. I collegamenti nel diagramma applicazioni rappresentano i percorsi di comunicazione dell'ambiente di sviluppo, mentre i collegamenti nei diagrammi sistema rappresentano i percorsi di comunicazione dell'ambiente di distribuzione.

  3. Nella finestra Proprietà, impostare la proprietà Modello per CatalogManager e OrderManager su Applicazione Web ASP.NET.

  4. Nel menu Diagramma, scegliere Implementazione, quindi fare clic su Implementa tutte le applicazioni.

    In Visual Studio vengono generati i progetti corrispondenti nella soluzione, in modo da poter continuare a definire CatalogManager e OrderManager nel codice.

Vedere anche

Riferimenti

Novità di Architecture Edition