Condividi tramite


Applicazioni esterne in sistemi di applicazioni

Aggiornamento: novembre 2007

In Strumenti di progettazione di sistema distribuiti, è possibile descrivere applicazioni esterne che non verranno implementate nella soluzione, ma che vengono connesse alle applicazioni della soluzione. È possibile, ad esempio, visualizzare, fare riferimento e connettere servizi Web esterni alle applicazioni della soluzione in uso. Per ulteriori informazioni, vedere Definizione delle applicazioni sui diagrammi di applicazione.

Quando si progetta un sistema di applicazioni con applicazioni connesse alle applicazioni esterne, è possibile includere e connettere tali applicazioni esterne al sistema. D'altra parte è possibile escludere dal sistema le applicazioni esterne e includervi un endpoint proxy per ogni endpoint consumer connesso a un'applicazione esterna. Per ulteriori informazioni, vedere Definizione dei percorsi di comunicazione in diagrammi sistema e Delega ed esposizione del comportamento di sistemi di applicazioni.

Nota:

Benché questo argomento riguardi principalmente i servizi Web esterni, i concetti presentati valgono anche per i servizi Web BizTalk, i database, le applicazioni generiche e i tipi di applicazioni personalizzate create mediante l'SDK (Software Development Kit) dell'SDM (System Definition Model). Per ulteriori informazioni, vedere Tipi e prototipi di applicazione per la definizione delle applicazioni.

Questi approcci e le relative istruzioni di utilizzo vengono descritti nelle seguenti sezioni:

  • Including External Web Services in Systems

  • Excluding External Web Services from Systems

  • Choosing the Right Approach

Inclusione di servizi Web esterni nei sistemi

Se nel diagramma applicazioni un'applicazione viene connessa a un servizio Web esterno, tale servizio può essere incluso in un sistema. Se si include un servizio Web esterno nel sistema, non è necessario indicare che il servizio Web verrà distribuito con il sistema. Comunque, se si include il servizio Web esterno, è possibile completare le seguenti attività:

  • Visualizzazione di un riferimento a un servizio Web esterno nel diagramma sistema.

  • Connessione di più applicazioni al servizio Web esterno per indicare che tali applicazioni devono connettersi allo stesso URL del servizio Web. Per ulteriori informazioni, vedere Comunicazione nei sistemi di applicazioni.

  • Quando si definisce una distribuzione del sistema, è possibile specificare il server logico in cui distribuire il servizio Web esterno. È anche possibile verificare che nel centro dati logico esistano dei percorsi di comunicazione per supportare le connessioni fra il servizio Web esterno e le applicazioni ad esso connesse. Per ulteriori informazioni, vedere Valutazione della distribuzione del sistema con Progettazione distribuzione.

Per questo approccio è opportuno tenere presente quanto segue:

  • È possibile connettere un endpoint consumer a un endpoint provider o a un endpoint proxy ma non a entrambi.

    Se si connette un endpoint consumer a un servizio Web esterno contenuto nel sistema, in tale sistema non sarà possibile creare un endpoint proxy per tale endpoint consumer. Se l'endpoint consumer non presenta endpoint proxy, non è possibile esporre il comportamento di tale endpoint consumer fuori del sistema. Non è possibile, inoltre, connettere l'endpoint proxy a un servizio Web in un altro sistema per risolvere l'URL.

  • Quando si distribuisce il sistema, è necessario fornire l'URL dell'endpoint provider del servizio Web esterno. L'URL è richiesto per configurare gli endpoint consumer collegati.

Rappresentazione di applicazioni Web ASP.NET mediante servizi Web esterni

Quando nel diagramma applicazioni esiste un'applicazione connessa a un'applicazione Web ASP.NET implementata e avente un endpoint provider del servizio Web .NET, se si desidera progettare un sistema che escluda tale applicazione è possibile sostituirla con un servizio Web esterno. Per poter utilizzare questa strategia, è necessario rimuovere l'applicazione Web ASP.NET dalla soluzione oppure creare un'altra soluzione che non contenga tale applicazione e definire il sistema in questa soluzione prima di creare il servizio Web esterno.

Nota:

Evitare di sostituire l'applicazione Web ASP.NET nel diagramma applicazioni creando un servizio Web esterno a partire da tale applicazione. Infatti, nel diagramma applicazioni è consentito fare riferimento solo una volta al percorso di un endpoint provider del servizio Web .NET. Per ulteriori informazioni, vedere Procedura: individuare i file WSDL per i servizi Web.

Esclusione di servizi Web esterni dai sistemi

Se un'applicazione viene connessa a un servizio Web che non si desidera includere in un sistema in uso, è necessario creare degli endpoint proxy per gli endpoint consumer di tale applicazione. Gli endpoint proxy consentono di esporre tali endpoint consumer e di connetterli fuori del sistema quando si include il sistema in altri sistemi. Per ulteriori informazioni, vedere Delega ed esposizione del comportamento di sistemi di applicazioni.

Nota:

Il servizio Web può essere un servizio Web esterno o un'applicazione Web ASP.NET avente un endpoint provider del servizio Web .NET.

Per questo approccio, tenere presenti le seguenti considerazioni:

  • Quando si definisce una distribuzione del sistema, non è possibile specificare il server logico in cui distribuire il servizio Web esterno cui si fa riferimento. Inoltre, non è possibile verificare che nel datacenter logico esistano dei percorsi di comunicazione per supportare le connessioni fra i servizi Web esterni e le applicazioni che vi fanno riferimento.

    Suggerimento:

    Per risolvere questo problema è possibile includere il sistema e/o il servizio Web esterno in un altro sistema.

  • Nel diagramma sistema non è possibile imporre che le applicazioni contenute nel sistema siano connesse allo stesso URL del servizio Web.

    Suggerimento:

    Se si utilizza questo approccio, documentare separatamente gli scenari in cui si impone che gli endpoint proxy contenuti nel sistema siano connessi allo stesso URL del servizio Web. Ad esempio, è possibile aggiungere dei commenti al diagramma sistema. Queste informazioni risulteranno essere importanti per chiunque riutilizzi il sistema in un altro sistema. Per ulteriori informazioni, vedere Procedura: aggiungere commenti a diagrammi sistema distribuiti.

  • Se un sistema con endpoint proxy (consumer) viene distribuito come sistema autonomo, ovvero non nel contesto di un altro sistema, nel processo di distribuzione è necessario fornire l'URL del servizio Web di ciascun endpoint proxy. Tali URL verranno utilizzati per configurare gli endpoint consumer esposti dagli endpoint proxy. Se si distribuisce il sistema come parte di un altro sistema, gli endpoint provider del sistema contenitore connessi agli endpoint proxy consumer forniranno l'origine per gli URL.

Scelta dell'approccio appropriato

Quando il sistema è indipendente e verrà distribuito come sistema autonomo (ovvero non incluso in un altro sistema), è possibile includervi applicazioni esterne, applicazioni generiche o tipi di applicazioni personalizzate nonché applicazioni ad esse collegate nel sistema. Se si intende includere il sistema in altri sistemi, affinché gli endpoint consumer del sistema in uso espongano il comportamento e vengano connessi all'esterno del sistema è necessario implementare endpoint proxy.

È anche possibile combinare questi approcci. Se si desidera distribuire un sistema come sistema autonomo e includerlo in altri sistemi, è possibile creare due sistemi uno all'interno dell'altro. È possibile definire un unico sistema contenente le applicazioni consumer ed esporre il comportamento tramite gli endpoint proxy. È possibile definire un altro sistema che include le applicazioni esterne e il sistema con gli endpoint proxy. È possibile connettere queste applicazioni esterne a tali endpoint proxy. Se è necessario includere le applicazioni consumer in un altro sistema, utilizzare il sistema interno. Se si desidera distribuire questa funzionalità in modo indipendente, utilizzare il sistema esterno. Comunque, questo approccio richiede la gestione di due sistemi. Per ulteriori informazioni, vedere Procedura: combinare applicazioni esterne con applicazioni di riferimento in sistemi di applicazioni.

Vedere anche

Altre risorse

Progettazione di sistemi di applicazioni in diagrammi sistema