Framework provider di adapter e resolver
Il sistema di risoluzione e il framework del provider di adapter supportano itinerari, trasformazione e risoluzione e routing degli endpoint. Il framework può risolvere in modo dinamico gli endpoint e impostare le proprietà dell'adattatore in uscita. Dopo che un componente resolver risolve un endpoint (ad esempio, usando universal description, discovery e integration [UDDI] per cercare un endpoint del servizio Web in uscita), un componente del provider di adattatori imposta proprietà specifiche degli adattatori registrati BizTalk Server. Ad esempio, il provider dell'adapter WCF-BasicHttp è responsabile dell'impostazione delle proprietà del contesto del messaggio specifiche di BizTalk per l'URI dell'endpoint che userà l'adapter BizTalk specifico; il provider di adattatori FTP è responsabile dell'impostazione delle proprietà specifiche dell'adapter FTP.
Uno degli obiettivi di Resolver e Adapter Provider Framework consiste nel supportare la risoluzione e il routing a livello di messaggistica, senza richiedere l'uso di orchestrazioni BizTalk o a livello di orchestrazione. In entrambi i casi, il framework collegabile offre un semplice sviluppo, distribuzione e registrazione di nuovi resolver e provider di adattatori. Tutti i resolver e i provider di adattatori implementano interfacce ben definite e vengono caricati in fase di esecuzione tramite la registrazione nei file di configurazione.
I componenti della pipeline ESB Dispatcher Dispatcher e ESB Dispatcher Disassemble usano il framework del sistema di risoluzione e del provider di adattatori passando il stringa di connessione dall'intestazione SOAP dell'itinerario o dalla configurazione della pipeline a Resolver Manager.
La configurazione di Microsoft BizTalk ESB Toolkit contiene i dettagli di tutti i resolver e i provider di adattatori registrati. In fase di esecuzione, i gestori del resolver e gli adapter manager leggono i dettagli dei resolver registrati e dei provider di adattatori dai file di configurazione, caricano gli assembly appropriati e li archiviano in una cache a livello di host BizTalk. Questa tecnica di memorizzazione nella cache rimuove il requisito per la lettura ripetuta dei file di configurazione e il caricamento di assembly per ogni messaggio inviato.
Per altre informazioni sul funzionamento di Resolver e Adapter Provider Framework e su come estenderlo creando resolver e provider di adattatori personalizzati, vedere Modifica ed estensione di BizTalk ESB Toolkit.
Meccanismi di risoluzione supportati (resolver)
BizTalk ESB Toolkit include i resolver seguenti: STATIC, UDDI, UDDI3, XPATH, BRE, BRI, ROUTEY, ROUTEY-STATIC e LDAP.
Il sistema di risoluzione stringa di connessione è sempre costituito da un moniker (ad esempio BRE) seguito da ":\\" e dai dettagli di connessione o elaborazione. Il moniker corrisponde alla definizione del resolver associato nel file di configurazione. Le proprietà associate a ogni stringa di connessione sono univoche e non tutte le proprietà sono necessarie. Lo schema per ognuno dei resolver è disponibile in ESB. Progetto Resolvers.Schemas.
Di seguito sono riportati esempi di stringhe di connessione:
STATICO
STATIC:\\TransportType=;
TransportLocation=
http://localhost/ESB.CanadianServices/SubmitPOService.asmx
;Action=;
EndPointConfig=;
JaxRpcResponse=false;
MessageExchangePattern=;
TargetNamespace=http://globalbank.esb.dynamicresolution.com/canadianservices/;
TransformType=;
UDDI
UDDI:\\serverUrl=
http://localhost:9901/rmengine
;serviceName=OrderPurchaseWebService;
serviceProvider=Microsoft Practices ESB
XPATH
XPATH:\\TransportType=;
TransportLocation=/*[local-name()='OrderDoc' and namespace-uri()='http://globalbank.esb.dynamicresolution.com/northamericanservices/']/*[local-name()='ID' and namespace-uri()='http://globalbank.esb.dynamicresolution.com/northamericanservices/'];
Action=;
EndPointConfig=;
JaxRpcResponse=;
MessageExchangePattern=;
TargetNamespace=/*[local-name()='OrderDoc' and namespace-uri()='http://globalbank.esb.dynamicresolution.com/northamericanservices/']/*[local-name()='customerName' and namespace-uri()='http://globalbank.esb.dynamicresolution.com/northamericanservices/'];
TransformType=;
BRE
BRE:\\policy=GetCanadaEndPoint;
version=;
useMsg=;
BRI
BRI:\\policy=ResolveItinerary;
version=;
useMsg=;
ITINERARIO
ITINERARIO:\\name=TwoWayTestItinerary;
version=;
ITINERARIO STATICO
ITINERARIO-STATIC:\\name=TwoWayTestItinerary;
version=;
LDAP
LDAP:\\TransportType=SMTP;
TransportLocation={mail}
Filter=(&(objectClass=User)(|( userPrincipalName=yourname@domain.com));
SearchRoot=;
SearchScope=Subtree;
EndpointConfig=Subject=Route Test Message to {mail}&
SMTPAuthenticate=0&
SMTPHost=127.0.0.1&
From=test@globalbank.com&
DeliveryReceipt=false&
MessagePartsAttachments=0&
ReadReceipt=false;
ThrowErrorIfNotFound=false;
Action=;
JaxRpcResponse=false;
MessageExchangePattern=;
TargetNamespace=;
TransformType=;
Non tutti gli attributi nel stringa di connessione sono obbligatori. Inoltre, EndPointConfig è un attributo speciale che qualsiasi resolver può popolare e restituire. Facoltativamente, il sistema di risoluzione può archiviare le coppie nome/valore che corrispondono a proprietà specifiche del contesto dell'adapter BizTalk, che può, a sua volta, scrivere nel contesto del messaggio BizTalk.
In questo caso, l'istanza ResolverDictionary che contiene tutte le proprietà risolte restituite dal processo di risoluzione passa quindi alla gestione adattatori. Gestione adapter passa il dizionario al provider di adattatori specifico che imposterà tutte le proprietà del contesto BizTalk specifiche dell'adapter e dell'endpoint per il messaggio. I resolver cercano la proprietà EndPointConfig , estraggono le coppie nome/valore corrispondenti alle rispettive proprietà dell'adapter e quindi impostano questi valori nel messaggio.
Provider di adattatori supportati
Microsoft BizTalk ESB Toolkit include i provider di adattatori predefiniti seguenti: FILE, FTP, SMTP, MQSeries, WCF-BasicHttp, WCF-WSHttp e WCF-Custom. Il nome di ogni provider di adattatori è identico al nome dell'adattatore associato (tipo di trasporto) in BizTalk Server.
Un vantaggio principale di Resolver e Adapter Provider Framework è che è possibile estenderlo creando e registrando i resolver personalizzati per risolvere le informazioni sugli endpoint e i provider di adattatori personalizzati per impostare proprietà specifiche degli adapter BizTalk registrati. Per altre informazioni, vedere Modifica ed estensione di BizTalk ESB Toolkit.