Condividi tramite


Estensione della finestra di progettazione dell'itinerario

"Il Designer degli Itinerari è un linguaggio visivo specifico del dominio (DSL) per Microsoft Visual Studio che consente la modellazione grafica degli itinerari da usare con il Microsoft BizTalk ESB Toolkit." La finestra di progettazione espone vari punti di estensione per i quali gli sviluppatori possono scrivere estensioni personalizzate per abilitare nuove funzionalità e/o nuove opzioni di configurazione.

Creazione di un'utilità personalizzata per l'esportazione di itinerari

L'architettura di Itinerary Designer consente la creazione di utilità di esportazione di modelli personalizzati che serializzano e mantengono i dati in un modello di itinerario.

Creazione di un extender personalizzato per un servizio di messaggistica

L'architettura del Designer di itinerari consente di creare estensioni personalizzate per gli elementi del modello di Servizio Itinerario, che possono essere utilizzate per aggiungere proprietà al contenitore delle proprietà, usate dai servizi di messaggistica.

Per un esempio di come creare un extender di questo tipo, vedere Installazione ed esecuzione dell'esempio di estendibilità della finestra di progettazione.

Creazione di un extender personalizzato per un servizio di itinerario Orchestration-Based

L'architettura di Progettazione di Itinerari consente di creare extender personalizzati per gli elementi del modello di servizio di itinerario che possono essere utilizzati per aggiungere proprietà al bag delle proprietà da impiegare nei servizi di itinerario basati sull'orchestrazione.

Per un esempio di come creare un extender di questo tipo, vedere Installazione ed esecuzione dell'esempio di estendibilità della finestra di progettazione.

Creazione di un sistema di estensione del sistema di risoluzione personalizzato

L'architettura di Itinerary Designer consente di creare extender personalizzati per la configurazione dei risolutori personalizzati. Questi extender forniscono un'interfaccia utente grafica per configurare le coppie nome-valore nella stringa di connessione del resolver, che vengono mappate alle proprietà nella classe di estensione del resolver specifica.

Per un esempio di come creare un extender di questo tipo, vedere Installazione ed esecuzione dell'esempio di estendibilità della finestra di progettazione.

Creazione di un file manifesto per le proprietà dell'adapter personalizzato

Quando si crea un provider di adattatore personalizzato, è necessario fornire anche il supporto per il progettista al provider di adattatore per quegli extender resolver che visualizzano una proprietà di configurazione dell'endpoint. Per abilitare il supporto del progettista, è necessario creare un file manifesto del provider di adattatori.

Il file manifesto del provider di adattatori definisce le proprietà associate a un provider di adattatori specifico, i relativi tipi, descrizioni e l'assembly in cui sono disponibili. Questi file manifesto devono essere inseriti nella stessa cartella dei file binari di Progettazione itinerari (ad esempio, Microsoft.Practices.Itineary.DslPackage.dll) con un nome univoco (ad esempio, FTPPropertyManifest.xml).

Di seguito è riportata un'istanza di riferimento di un file manifesto del provider di adattatori; i file manifesto personalizzati devono essere strutturati in modo analogo.

<?xml version="1.0" encoding="utf-8" ?>  
<adapterPropertyManifest adapterName="FTP">  
     <aliases>  
          <alias name="globalPropertySchemas" value="Microsoft.BizTalk.GlobalPropertySchemas, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />  
     </aliases>  
     <properties>  
          <property name="UserName" type="FTP.UserName" description="The user name for the connection." encrypted="true" assembly="globalPropertySchemas" />  
          <property name="Password" type="FTP.Password" description="The password for the conection." encrypted="true" assembly="globalPropertySchemas" />  
          <property name="MaxConnections" type="FTP.MaxConnections" description="The maximun number of connections." assembly="globalPropertySchemas" />  
          <property name="EventArgs" type="System.EventArgs" assembly="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />  
     </properties>  
</adapterPropertyManifest>  

Creazione di un extender di filtro personalizzato

L'architettura del Progettista di Itinerari consente di creare estensioni personalizzate per la configurazione dei filtri personalizzati. Questi extender forniscono un'interfaccia grafica per configurare le coppie nome-valore nella stringa di connessione del filtro, che eseguono il mapping alle proprietà nella classe di estensione del filtro specifica.

  • /Samples/Designer Extensibility Samples/Extenders.Itinerary.OrchestrationSample/Extenders.Itinerary.OrchestrationSample/Extenders.Itinerary.OrchestrationSample

  • /Samples/Designer Extensibility Samples/Extenders.Resolvers.ResolverSample/Extenders.Resolvers.ResolverSample

    Creazione di regole di convalida personalizzate

    L'ultima estensione significativa introdotta da Progettazione itinerario è un meccanismo di convalida che consente di eseguire esternamente, rispetto a un linguaggio specifico del dominio (DSL), specificare e implementare le regole di convalida del modello. Il meccanismo "si collega" al framework di convalida DSL e viene attivato quando l'utente fa clic su Convalida o Convalida tutto nel menu di scelta rapida di un modello. In questo modo viene richiamato l'oggetto DslCommandSet del framework DSL che, a sua volta, chiama il motore di convalida nella finestra di progettazione itinerari.

    La classe ValidationEngine esegue la convalida dell'elemento del modello usando il blocco di applicazioni di convalida della libreria enterprise e registra gli errori di convalida nella finestra Elenco errori nell'IDE di Microsoft Visual Studio. La convalida che deve essere eseguita per ogni tipo di elemento in un modello è definita nel file di configurazione di Enterprise Library. Il file è denominato Ruleset.config e si trova nella cartella binaria in cui si trovano tutti i file binari di Progettazione itinerari. L'esempio seguente è un frammento del file di configurazione e include due regole di convalida (denominate validator) per l'extender UddiResolver , una per la proprietà ServerUrl e una per la proprietà ServiceKey .

<!--   
UddiResolver  
-->  
<type assemblyName="Microsoft.Practices.Services.Extenders.Resolvers.UDDI"  
 name="Microsoft.Practices.Services.Extenders.Resolvers.UDDI.UddiResolver">  
<ruleset name="Menu">  
<properties>  
<property name="ServerUrl">  
<validator type="Microsoft.Practices.Modeling.Validation.NotEmptyStringValidator, Microsoft.Practices.Modeling.Validation"  
          messageTemplate="The '{1}' property value should not be empty or null."  
          name="UddiResolver.ServerUrl not null validator"/>  
</property>  
<property name="ServiceKey">  
<validator type="Microsoft.Practices.Modeling.Validation.NotEmptyStringValidator, Microsoft.Practices.Modeling.Validation"  
          messageTemplate="The '{1}' property value should not be empty or null."  
          name="UddiResolver.ServiceKey not null validator"/>  
</property>  
</properties>  
</ruleset>  
</type>  

Ogni regola identifica il validator che implementa la regola. Il Designer di Itinerari include un ampio set di classi di validatori. Si trovano tutti nel progetto Microsoft.Practices.Modeling.Validation nella cartella binaria della finestra di progettazione.

Il risultato finale dell'uso di questo meccanismo di convalida è che gli utenti di Progettazione itinerario possono modificare la modalità di convalida dei modelli modificando le regole e i validator forniti o aggiungendo regole e validator personalizzati. Questa operazione può essere eseguita senza aprire, modificare, ricompilare e ridribuire i DSLS eseguendo i due passaggi seguenti:

  1. Creare una classe validator e inserirla in una libreria all'interno della cartella binaria in cui si trova la libreria Microsoft.Practices.Modeling.Validation.dll .

  2. Aggiungere voci al file Rules.config per definire a quale proprietà di quale classe di elementi del modello deve essere applicato il validator.