Registrazione dell'adapter
Durante la fase di sviluppo di un adapter personalizzato, quest'ultimo può essere registrato in BizTalk Server modificando ed eseguendo uno dei file del Registro di sistema inclusi con l'adapter per file di esempio nel Software Development Kit (SDK). In alternativa, è possibile creare un file del Registro di sistema utilizzando la Creazione guidata Registro di sistema adapter. Questa procedura guidata si trova nella cartella \Programmi (x86)\Microsoft BizTalk Server <VERSION>Utilities\AdapterRegistryWizard.
Importante
- In un computer a 32 bit il file del Registro di sistema (con estensione reg) generato tramite la procedura guidata deve essere eseguito al prompt dei comandi.
- In un computer a 64 bit il file del Registro di sistema (con estensione reg) generato tramite la procedura guidata deve essere eseguito al prompt dei comandi a 32 bit e a 64 bit.
Dopo avere creato le voci di registro è possibile aggiungere l'adapter tramite la Console di amministrazione BizTalk Server o a livello di codice utilizzando metodi Strumentazione gestione Windows (WMI). In questo argomento vengono illustrate le singole voci del Registro di sistema e quindi viene indicato come modificare i file del Registro di sistema esistenti per l'adapter personalizzato.
Per istruzioni sull'uso della Procedura guidata registro adapter, vedere Configurazione guidata registro adapter. Per istruzioni sulla modifica dei file del Registro di sistema di esempio inclusi nell'SDK, vedere File di registrazione dell'adapter.
Chiavi del Registro di sistema
Per distribuire un adapter è necessario creare le voci del Registro di sistema seguenti:
Posizione della chiave di registro
[HKEY_CLASSES_ROOT\CLSID\{%uuid of custom transport%}\BizTalk]
@="BizTalk"
Nome tipo
Il nome del tipo di adapter identifica il tipo di adapter nel computer che esegue BizTalk Server. Questa chiave è necessaria per tutti gli adapter.
"TransportType"="MyTransportAdapter"
Vincoli
I vincoli dell'adapter ne definiscono le funzionalità.
Questa chiave è obbligatoria per tutti gli adapter. A seconda del tipo di adapter creato può essere utile modificare il valore della maschera di bit dei vincoli.
"Constraints"=dword:00003C0b
Il valore che descrive le funzionalità dell'adapter può essere costituito da una combinazione dei valori riportati nella tabella seguente.
Valore | Valore hex | Flag | Descrizione |
---|---|---|---|
1 | 0x0001 | eProtocolSupportsReceive | L'adapter supporta le operazioni di ricezione. |
2 | 0x0002 | eProtocolSupportsTransmit | L'adapter supporta le operazioni di trasmissione. |
8 | 0x0008 | eProtocolReceiveIsCreatable | Il gestore o l'adapter di ricezione utilizza host In-Process. |
128 | 0x0080 | eProtocolSupportsRequestResponse | L'adapter supporta le operazioni richiesta-risposta. |
256 | 0x0100 | eProtocolSupportsSolicitResponse | L'adapter supporta le operazioni sollecitazione-risposta. |
1024 | 0x0400 | eOutboundProtocolRequiresContextInitialization | Indica che l'adapter utilizza l'interfaccia utente fornita in Adapter Framework per la configurazione dei gestori di trasmissione. |
2048 | 0x0800 | eInboundProtocolRequiresContextInitialization | Indica che l'adapter utilizza l'interfaccia utente fornita da Adapter Framework per la configurazione dei gestori di ricezione. |
4096 | 0x1000 | eReceiveLocationRequiresContextInitialization | Indica che l'adapter utilizza l'interfaccia utente fornita da Adapter Framework per la configurazione degli indirizzi di ricezione. |
8192 | 0x2000 | eTransmitLocationRequiresContextInitialization | Indica che l'adapter utilizza l'interfaccia utente fornita da Adapter Framework per la configurazione delle porte di trasmissione. |
16384 | 0x4000 | eSupportsOrderedDelivery | Indica che l'adapter supporta il recapito ordinato di messaggi. |
32768 | 0x8000 | eInitTransmitterOnServiceStart | L'adapter di trasmissione si avvia quando si avvia il servizio anziché quando invia il primo messaggio. |
65536 | 0x10000 | eSupport32BitOnly | Indica che l'adapter supporta solo l'esecuzione in host a 32 bit. |
Spazio dei nomi
Ogni adapter deve definire uno spazio dei nomi per le proprie proprietà. In BizTalk Server le proprietà specifiche degli adapter vengono memorizzate in questo spazio dei nomi nel contesto del messaggio. Questa proprietà è obbligatoria per tutti gli adapter.
"PropertyNameSpace"="namespace"
Alias
Ogni adapter può disporre di una serie di prefissi che identificano in modo univoco il tipo di adapter in BizTalk Server. Ciò consente la risoluzione del tipo di trasporto corretto quando un messaggio viene inviato attraverso una porta di trasmissione dinamica. Al momento della registrazione è necessario specificare l'elenco dei prefissi dell'adapter.
"AliasesXML"="<AdapterAliasList><AdapterAlias>sample://</AdapterAlias></AdapterAliasList>"
Pagine delle proprietà di configurazione
L'adapter deve disporre di pagine delle proprietà di configurazione per configurare le proprie porte di ricezione e trasmissione. Ogni adapter registra le proprie pagine delle proprietà tramite la specificazione dei rispettivi ID di classe.
"InboundProtocol_PageProv"="{%CLSID for inbound protocol prop page%}"
"OutboundProtocol_PageProv"="{%CLSID for outbound protocol prop page%}"
"ReceiveLocation_PageProv"="{%CLSID for receive location prop page%}"
"TransmitLocation_PageProv"="{%CLSID for transmit location prop page%}"
Se per la generazione delle pagine delle proprietà l'adapter utilizza l'interfaccia utente di Adapter Framework, per le chiavi del Registro di sistema si dovranno specificare i valori seguenti:
"InboundProtocol_PageProv"="{2DE93EE6-CB01-4007-93E9-C3D71689A281}"
"OutboundProtocol_PageProv"="{2DE93EE6-CB01-4007-93E9-C3D71689A283}"
"ReceiveLocation_PageProv"="{2DE93EE6-CB01-4007-93E9-C3D71689A280}"
"TransmitLocation_PageProv"="{2DE93EE6-CB01-4007-93E9-C3D71689A282}"
Si noti che se uno degli endpoint non è necessario (l'adapter è di sola trasmissione o di sola ricezione), è possibile eliminare dal Registro di sistema le chiavi inutilizzate.
Registrazione di componenti in fase di esecuzione
L'adapter registra i propri componenti runtime specificandone gli ID di classe (per gli elementi COM e .NET), nonché i nomi dei tipi e i percorsi degli assembly (per gli elementi .NET) per i componenti runtime di ricezione e trasmissione.
Nota
Tutte le chiavi OutboundEngineCLSID e InboundEngineCLSID devono essere univoce. Per una singola riga in un database, OutboundEngineCLSID e InboundEngineCLSID possono essere uguali.
"OutboundEngineCLSID"="{%CLSID of outbound transport%}"
"InboundEngineCLSID"="{%CLSID of inbound transport%}"
"InboundTypeName"="BizTalk.Samples.Adapters.MyReceiver"
"OutboundTypeName"="BizTalk.Samples.Adapters.MyTransmitter"
"InboundAssemblyPath"="C:\Program Files\MyTransport.dll"
"OutboundAssemblyPath"="C:\Program Files\MyTransport.dll"
Nota
È possibile installare un assembly dell'adapter nella Global Assembly Cache e farvi riferimento del file del Registro di sistema.
Registrazione di proprietà degli adapter per l'archivio di configurazione SSO
L'adapter deve registrare le proprie proprietà nel database SSO di BizTalk Server per poterle memorizzare e recuperare in fase di progettazione e di esecuzione.
ReceiveHandlerPropertiesXML
ReceiveLocationPropertiesXML
SendHandlerPropertiesXML
SendLocationPropertiesXML
Questi valori contengono le definizioni (schema) delle proprietà consentite per le entità corrispondenti correlate all'adapter, memorizzabili nell'archivio di configurazione. Queste definizioni vengono mantenute sotto forma di stringhe XML che vengono deserializzate dall'elenco proprietà contenente i tipi delle proprietà ma senza valori. La presenza di un valore dell'elemento proprietà indica che la proprietà è mascherata. (Con il termine "mascherata" si intende dire che è di sola lettura e non viene restituita dall'API di archiviazione protetta quando viene chiamata in modalità amministrativa. Per tali proprietà l'API restituisce VT_NULL).
Esempio
L'adapter HTTP registra le relative proprietà per la porta di trasmissione HTTP definendo la chiave del Registro di sistema SendLocationPropertiesXML con il valore seguente:
<CustomProps><Username vt="8"/><Password vt="8">Encrypted</Password><Certificate vt="8"/><RequestTimeout vt="3"/><MaxRedirects vt="3"/><ContentType vt="8"/><UseProxy vt="11"/><ProxyName vt="8"/><ProxyPort vt="3"/><ProxyUsername vt="8"/><ProxyPassword vt="8">Encrypted</ProxyPassword><UseHandlerSetting vt="11"/><AuthenticationScheme vt="8"/><UseSSO vt="11"/><AffiliateApplicationName vt="8"/></CustomProps>
Registrazione del componente come provider di trasporto
L'adapter deve essere registrato come provider di trasporto nel relativo attributo Categorie implementate nel Registro di sistema. Questo attributo identifica le caratteristiche dell'adapter per i consumer.
[HKEY_CLASSES_ROOT\CLSID\{%uuid of custom transport%}\Implemented Categories]
[HKEY_CLASSES_ROOT\CLSID\{%uuid of custom transport%}\Implemented Categories\{7F46FC3E-3C2C-405B-A47F-8D17942BA8F9}]