Condividi tramite


Comunicazione tra le applicazioni

Aggiornamento: novembre 2007

In Progettazione applicazioni è possibile configurare i percorsi di comunicazione tra le applicazioni connettendo i rispettivi endpoint. Nel diagramma applicazioni, le connessioni si basano sulla configurazione degli endpoint di tipo consumer e rappresentano il modo in cui le applicazioni sono connesse nell'ambiente di sviluppo, non necessariamente nell'ambiente di distribuzione. Per le applicazioni implementate e i tipi supportati di connessioni, le connessioni creano impostazioni di configurazione nel file di configurazione dell'applicazione. Se si modificano le connessioni nel diagramma applicazioni verranno modificate anche le impostazioni di configurazione e viceversa. Se si basano le connessioni sulle voci del file di configurazione è possibile garantire che gli endpoint di tipo provider non siano impostati come hardcoded nell'applicazione consumer, rendendo possibile la riconfigurazione delle connessioni in fase di distribuzione.

Suggerimento:

Le connessioni sul diagramma applicazioni rappresentano le connessioni seguite se in fase di debug dell'applicazione utilizzando il debugger di Visual Studio. Per ulteriori informazioni, vedere Debug in Visual Studio.

Ad esempio, se si connette un endpoint di tipo provider del servizio Web su un'applicazione ASP.NET a un'altra applicazione nel diagramma applicazioni è possibile creare un endpoint di tipo consumer del servizio Web sull'applicazione consumer. L'endpoint di tipo consumer sarà configurato con l'indirizzo dell'endpoint di tipo provider del Web.

Le connessioni su un diagramma di sistema create utilizzando Progettazione sistemi descrivono invece come connettere le applicazioni quando viene distribuita un'istanza del sistema. In un diagramma di sistema, le connessioni sono istruzioni per configurare gli endpoint di tipo consumer con gli indirizzi degli endpoint di tipo provider, ad esempio gli URL del servizio Web, quando vengono distribuite le applicazioni.

Per ulteriori informazioni, vedere i seguenti argomenti:

Configurazione dei percorsi di comunicazione nei diagrammi applicazioni

Nel diagramma applicazioni è possibile configurare i percorsi di comunicazione tra le applicazioni connettendo le definizioni di applicazione tramite i rispettivi endpoint. In base alle necessità, è possibile aggiungere o creare endpoint di tipo applicazione. Le linee di connessione sono visualizzate sul diagramma con delle frecce, per indicare la direzione di comunicazione dall'endpoint di tipo consumer all'endpoint di tipo provider.

Per impostazione predefinita, un endpoint di tipo consumer in un'applicazione richiede una connessione a un endpoint di tipo provider adatto per il corretto funzionamento dell'applicazione. Nel diagramma applicazioni, la definizione di un endpoint di tipo consumer prevede che l'endpoint di tipo applicazione Richiesta connessione sia impostato su True e che, per impostazione predefinita, non possa essere sottoposto a override qualora si includa l'utilizzo di un'applicazione con tale endpoint in un sistema. Tuttavia, se l'implementazione dell'applicazione consente di considerare la connessione come opzionale, è possibile modificare l'impostazione della definizione di endpoint su False o sovrascrivere l'impostazione quando si include l'endpoint all'interno del contesto di un sistema. In caso contrario, è necessario connettere o delegare l'endpoint di tipo consumer all'interno dei sistemi che includono l'applicazione associata.

Nota:

Se un endpoint di tipo consumer del servizio Web è disconnesso quando è richiesta una connessione, verrà generato un errore di convalida in fase di valutazione della distribuzione di un sistema contenente l'applicazione associata. Una connessione dovrebbe non essere richiesta solo se l'applicazione fosse stata implementata in modo da poter essere distribuita e utilizzata senza informazioni di configurazione. Si tratta tuttavia di un caso raro. Per ulteriori informazioni, vedere Convalida dei diagrammi distribuzione.

Per ulteriori informazioni, vedere i seguenti argomenti:

Nelle sezioni riportate di seguito sono disponibili ulteriori informazioni relative alle connessioni sul diagramma applicazioni:

  • Connections to Web Services

  • Connections to External Databases

  • Deleting or Moving Connections

Connessioni ai servizi Web

Se si connettono le applicazioni allo stesso endpoint di tipo provider del servizio Web durante la progettazione dell'applicazione e del sistema, si specifica che le relative applicazioni consumer saranno configurate con un URL del servizio Web comune in fase di distribuzione. Gli stessi URL del servizio Web utilizzati in fase di sviluppo potrebbero essere utilizzati anche in fase di distribuzione. Tuttavia, è possibile sovrascriverli quando si includono gli utilizzi delle applicazioni consumer del servizio Web in un sistema, oppure è possibile sostituirli tutti in fase di distribuzione. Quando si valuta la distribuzione di un sistema, nel report di distribuzione creato sono fornite informazioni sulle modalità di propagazione degli URL tra i provider e i consumer del servizio Web.

Gli Strumenti di progettazione di sistemi distribuiti supportano tipi di applicazione che comunicano utilizzando i messaggi SOAP. SOAP è un protocollo leggero che utilizza un framework di messaggistica estendibile basato su XML per scambiare informazioni strutturate in un ambiente distribuito. Un servizio Web potrebbe anche supportare ulteriori protocolli, ad esempio HTTP-POST o HTTP-GET. Tuttavia, nel diagramma applicazioni sono visualizzati solo gli endpoint SOAP e non i protocolli aggiuntivi. Nel diagramma applicazioni, gli endpoint del servizio Web rappresentano un'interfaccia del servizio comprensiva di un singolo insieme di operazioni disponibili tramite un'associazione HTTP o SOAP. Per impostazione predefinita, nelle applicazioni ASP.NET sono disponibili sia l'associazione SOAP 1.1 che SOAP 1.2 per le operazioni allo stesso indirizzo. Anche se entrambe le associazioni sono presenti nel file WSDL generato per il servizio, il diagramma applicazioni rappresenta le associazioni come un endpoint singolo fino a quando si comportano allo stesso modo, ovvero hanno lo stesso tipo di porta WSDL.

Quando vengono utilizzati riferimenti Web per creare classi proxy client del servizio Web e il file WSDL contiene sia associazioni SOAP 1.1 che SOAP 1.2 per lo stesso insieme di operazioni, per impostazione predefinita la classe proxy generata utilizzerà l'associazione SOAP 1.1. Se nel file WSDL è presente un'associazione SOAP 1.2, è possibile abilitare a livello di codice la classe proxy in modo che utilizzi tale associazione. La versione dell'associazione utilizzata ha effetto sul formato dei messaggi trasmessi in fase di esecuzione. Tuttavia, non ha alcun effetto sulle operazioni disponibili o sui parametri che possono essere passati e restituiti. Per ulteriori informazioni su SOAP e WSDL, visitare MSDN in linea.

Per ulteriori informazioni, vedere i seguenti argomenti:

Connessioni ai database esterni

Quando si connette un'applicazione a un database esterno, è possibile configurare una stringa di connessione al database per l'endpoint di tipo consumer del database nell'applicazione consumer. Se si connettono le applicazioni allo stesso database in fase di progettazione dell'applicazione e del sistema si specificano e documentano gli utilizzi di un database comune. Diversamente dalle connessioni del servizio Web, non è necessario (anche se è consigliabile) che le stringhe di connessione al database per gli endpoint di tipo consumer del database connessi allo stesso database siano le stesse o che specifichino lo stesso database fisico.

Quando si implementa l'applicazione consumer del database, Visual Studio genera file di progetto che includono un file di configurazione dell'applicazione. La configurazione della connessione al database consente di aggiungere al file di configurazione informazioni relative alla stringa di connessione. In fase di distribuzione, è probabile che le stringhe di connessione siano sostituite con l'effettivo percorso del database. In genere, i database di produzione non sono utilizzati durante la fase di sviluppo e viceversa. Alcune parti della stringa di connessione definita nel diagramma applicazioni potrebbero essere utilizzate in fase di produzione, o essere sovrascritte quando l'utilizzo della definizione dell'applicazione consumer viene incluso all'interno del contesto di un sistema.

Per ulteriori informazioni, vedere Procedura: configurare connessioni a database esterni.

Eliminazione o spostamento delle connessioni

Nel diagramma applicazioni l'eliminazione di una connessione non altera gli endpoint nelle applicazioni, in modo che sia possibile ricollegarli l'un l'altro o con differenti endpoint compatibile senza modificare la definizione dell'applicazione. Per ulteriori informazioni, vedere Regole per la connessione di applicazioni su diagrammi di applicazione.

Nota:

Quando si collegano o ricollegano gli endpoint del servizio Web, verrà visualizzato un suggerimento se il nome associazione WSDL e lo spazio dei nomi associazione WSDL degli endpoint di tipo consumer e provider non corrispondono. Si consiglia di utilizzare una combinazione di nome associazione WSDL e spazio dei nomi associazione WSDL per definire il contratto o il comportamento del servizio Web. È possibile ignorare questo messaggio e connettere gli endpoint. Tuttavia, si consiglia di verificare che siano effettivamente compatibili. Inoltre, quando si connette un endpoint di tipo consumer del servizio Web a un endpoint di tipo provider del servizio Web, verrà richiesto di aggiornare l'endpoint di tipo consumer utilizzando l'endpoint di tipo provider del servizio Web o di lasciare invariata la definizione dell'endpoint di tipo consumer. Per ulteriori informazioni, vedere Procedura: riconnettere servizi Web su diagrammi applicazioni.

L'eliminazione di una connessione implica la rimozione delle informazioni di configurazione dal file di configurazione dell'applicazione consumer. Tuttavia, se l'endpoint di tipo consumer richiede una connessione, deve essere ricollegato affinché l'applicazione funzioni correttamente. Negli endpoint di tipo consumer saranno mantenute alcune informazioni. Ad esempio, in un endpoint di tipo consumer del servizio Web saranno mantenute informazioni sulla posizione del file WSDL da cui è stato creato. Il percorso potrebbe essere uguale alla posizione di destinazione originale, ma ciò non è obbligatorio. Le informazioni potrebbero essere utilizzate per aggiornare il riferimento Web in caso di modifica della definizione del servizio Web o del file WSDL. Per ulteriori informazioni, vedere Procedura: eliminare connessioni da diagrammi applicazioni.

Vedere anche

Attività

Procedura dettagliata: definizione di applicazioni in diagrammi applicazioni

Altre risorse

Definizione dei percorsi di comunicazione in diagrammi applicazioni