Pianificazione e progettazione di soluzioni tramite il servizio Microsoft per DRDA

Le sezioni seguenti forniscono assistenza per la pianificazione e l'architettura delle soluzioni tramite Il servizio Microsoft per DRDA (Servizio DRDA).

Pianificazione

Le organizzazioni IT aziendali devono offrire nuove soluzioni, aumentando l'efficienza dello sviluppatore e riducendo i costi. Il servizio DRDA offre tecnologia e strumenti per consentire ai professionisti IT e agli sviluppatori aziendali di distribuire nuove soluzioni basate su Microsoft SQL Server, mentre si connettono carichi di lavoro esistenti basati su IBM DB2. Il diagramma seguente fornisce un'architettura di alto livello delle tecnologie e dei componenti coinvolti in una soluzione di servizio DRDA che connette i client IBM DB2 ai database di Microsoft SQL Server.

HIS DRDA Planning

La figura precedente illustra il piano per connettere IBM CICS per i programmi client z/OS, tramite DB2 per z/OS e il servizio per DRDA, a database microsoft SQL Server remoti.

Il servizio Microsoft per DRDA (Distributed Relational Database Architecture) è un server applicazioni (AS) che consente ai client DRDA Application Requester (AR), ad esempio IBM DB2 per z/OS e DB2 per IBM i, di eseguire istruzioni SQL statiche mappate a SQL Server stored procedure. Il servizio DRDA fornisce l'integrazione dei dati avviata dall'host essenziale per le aziende durante una migrazione a più fasi del carico di lavoro o per le operazioni quotidiane a supporto di soluzioni di business intelligence o batch remoto.

Il servizio DRDA offre le funzionalità seguenti.

  • Accesso da client DRDA a SQL Server in una connessione di rete TCP/IP.

  • Autenticazione di sicurezza e crittografia dei dati.

  • Transazioni di commit in due fasi distribuite.

  • Istruzioni SQL statiche mappate alle chiamate di stored procedure SQL Server.

  • Comandi del linguaggio di manipolazione dei dati dinamici limitati mappati ai comandi T-SQL.

  • Mapping e conversione dei tipi di dati, codifica stringa e formattazione datetime.

  • Codice errore e mapping di testo a messaggi di risposta DRDA e oggetti di errore formattati.

  • Un'utilità di traccia per la registrazione di flussi e comandi al fine di facilitare la risoluzione dei problemi.

DRDA (Distributed Relational Database Architecture)

I client e i server IBM DB2 comunicano usando il protocollo e i formati DRDA (Distributed Relational Database Architecture). Il servizio DRDA funziona come server applicazione DRDA (AS) per consentire ai client DRDA Application Requester (AR) di interagire con i database di Microsoft SQL Server. Il servizio DRDA supporta un set limitato di punti di codice DRDA, come definito nei riferimenti all'architettura pubblicati da Open Group (http://www.opengroup.org).

  • DRDA, versione 5, volume 1: Architettura del database relazionale distribuita (DRDA)

  • DRDA, versione 5, Volume 2: Architettura del contenuto dell'oggetto dati formattata (FD:OCA)

  • DRDA, versione 5, Volume 3: Architettura distribuita Gestione dati (DDM)

    È possibile scaricare DRDA V5 Vol. 3: Distributed Gestione dati Architecture, numero di pubblicazione C114, dalla libreria Open Group (https://go.microsoft.com/fwlink/?LinkID=219127& clcid=0x409).

Server e client IBM DB2

Microsoft, IBM e fornitori di terze parti implementano protocolli e formati DRDA in varie tecnologie client DRDA Application Requester (AR). Il servizio DRDA supporta connessioni associate da client DRDA AR conformi allo standard DRDA versione 5, incluse le DRDA ARs in pacchetto in questi prodotti IBM e Microsoft.

  • IBM DB2 per z/OS 12 e 11

  • IBM DB2 per IBM i 7.4, 7.3 e 7.2

  • IBM DB2 per LUW 11.5, 11 e 10.5

    Microsoft Host Integration Server include due client application requester DRDA, uno progettato per connettersi ai server di database IBM DB2 remoti e uno progettato per connettersi ai server di database IBM Informix remoti. Queste ARS DRDA supportano un subset di DRDA versione 5.0. Il client Microsoft per DB2 supporta questi provider di dati per DB2:

  • Driver ODBC Microsoft per DB2

  • Provider Microsoft OLE DB per DB2

  • Provider di dati di Microsoft ADO.NET Framework per DB2

  • Adapter Microsoft BizTalk per DB2

    Il servizio per DRDA offre il supporto DRDA di base per i client Microsoft DRDA e i client IBM DRDA.

Enterprise Single Sign-On

Il servizio DRDA si basa su Microsoft Enterprise Single Sign-On per eseguire il mapping delle credenziali host associate (ad esempio, l'identificatore di autorizzazione utente RACF) alle credenziali di Windows Active Directory (AD) associate, consentendo al servizio DRDA di connettersi a SQL Server tramite sicurezza integrata.

Single Sign-On

La figura precedente illustra come con Enterprise Single Sign-One abilitato il servizio DRDA è in grado di eseguire il mapping delle credenziali DRDA in ingresso alle credenziali di SQL Server in uscita.

L'host avviato da ESSO richiede autorizzazioni elevate in Active Directory (delega vincolata Kerberos e Usare qualsiasi protocollo di autenticazione). ESSO richiede un nome dell'entità servizio Kerberos per il computer SQL Server a cui si connette il servizio DRDA. .

Microsoft SQL Server

Gli amministratori aziendali e gli sviluppatori si basano su Microsoft SQL Server per creare piattaforme dati critiche per applicazioni line-of-business. SQL Server consente alle aziende di sbloccare nuove informazioni dettagliate tramite l'individuazione dei dati all'interno dell'organizzazione, fornendo strumenti di analisi coerenti su larga scala e analisi dei dati e datawarehousing. Il servizio DRDA può connettere carichi di lavoro host IBM esistenti a nuove soluzioni basate su Microsoft SQL Server per abilitare applicazioni aziendali eterogenee e business intelligence.

Il servizio DRDA si basa sul client di rete Microsoft SQL Server e ADO.NET Framework Data Provider per SQL Server per la connettività e l'accesso ai dati ai database SQL Server. Per altre informazioni su Microsoft SQL Server, vedere http://www.microsoft.com/sql.

Architettura

Il servizio DRDA consente la connettività da un programma client IBM DB2 remoto e da un database Microsoft SQL Server locale, fornendo servizi di compatibilità basati sull'architettura DRDA standard del settore (Distributed Relational Database Architecture) che definisce le comunicazioni da client a server DB2 sotto forma di set di punti e formati di codice del protocollo. Il servizio DRDA opera all'interno della DRDA come server applicazioni (AS). I programmi client IBM DB2 (ad esempio COBOL TOS e CICS per z/OS) sono collegati localmente a DB2 per z/OS e funzioni all'interno dei client DRDA come Application Requester (AS). Il servizio DRDA è un programma di servizio Windows che ospita un'istanza di Microsoft .NET Framework, si connette a un SQL Server Microsoft locale o remoto usando il provider di dati Microsoft ADO.NET Framework per SQL Server e il client di rete Microsoft SQL Server sottostante.

DRDA Service Solution

La figura precedente mostra una soluzione di servizio DRDA che connette IBM DB2 per z/OS a Microsoft SQL Server.

Connettività

DRDA (Distributed Relational Database Architecture)

Il servizio DRDA converte i punti di codice DRDA e i formati di dati in connessioni, transazioni, comandi, tipi di dati e oggetti di errore corrispondenti di Microsoft ADO.NET. La funzione primaria del servizio DRDA consiste nel eseguire il mapping funzionale di SQL statico per i pacchetti DB2 e l'esecuzione dell'istruzione a Microsoft SQL Server istruzioni stored procedure e CALL. Il servizio DRDA elabora i flussi del protocollo DRDA come definito all'interno dell'architettura in base ai vari manager DRDA.

Trasporti e transazioni di rete

Il servizio DRDA supporta le connessioni client DRDA autenticate associato in una rete TCP/IP. Il servizio DRDA non supporta SNA APPC su LU6.2 usando HPR/IP (Routing ad alte prestazioni su Protocollo Internet). Per connettersi a SQL Server, il servizio DRDA usa un provider Microsoft ADO.NET sottostante per SQL Server e client di rete SQL, che supporta le connessioni di rete in memoria, denominate pipe e TCP/IP.

Per impostazione predefinita, il servizio DRDA ascolterà la porta DRDA predefinita 446 per le connessioni associate, accettando qualsiasi richiesta di connessione client DRDA. Facoltativamente, il servizio DRDA può essere in ascolto su un altro numero di porta preconfigurato. Inoltre, per migliorare la sicurezza, il servizio DRDA può essere configurato per accettare richieste di connessione associate a un elenco predefinito di indirizzi di rete remoti.

Per abilitare gli aggiornamenti affidabili in rete, il servizio DRDA supporta le transazioni di commit DRDA DUW (Unità distribuita di lavoro) a due fasi. Le transazioni DRDA DUW vengono mappate alle transazioni SQL Server tramite il provider di dati microsoft ADO.NET Framework per SQL Server e il client di rete SQL sottostante.

Pooling e failover

Il servizio DRDA supporta il pool di connessioni client SQL tramite la configurazione delle opzioni di pooling client SQL negli argomenti SQL Server stringa di connessione nella configurazione dell'app del servizio DRDA. Inoltre, il servizio DRDA offre un pool di connessioni interno, il mapping delle connessioni client DRDA AR associate e delle credenziali di autenticazione a SQL Server connessioni alle banche dati e credenziali associate.

Failover DRDA A tolleranza di errore

Il server primario del servizio DRDA e del server partner funzionano insieme per il failover a tolleranza di errore.

Il servizio DRDA può funzionare in gruppi di due (2) server, uno per computer, per fornire la tolleranza di errore di base. Quando un client DRDA AR si connette a un database SQL Server, il servizio DRDA restituisce un DRDA SRVLST (Elenco server) con un elenco ponderato di istanze di Data Server. In caso di failover di un servizio DRDA primario, l'AR DRDA può usare queste informazioni per connettersi al membro alternativo di una coppia di computer del servizio DRDA. Combinato con SQL Server clustering o mirroring, questa tecnologia può offrire un livello ragionevole di protezione del failover a tolleranza di errore.

Autenticazione e crittografia

Per proteggere le informazioni, il servizio DRDA supporta tecnologie comuni di autenticazione e crittografia dei dati DRDA. Ad esempio, il servizio DRDA può supportare l'autenticazione di base (nome utente con codifica EBCDIC di testo normale con password) o l'autenticazione sicura usando a 256 bit Advanced Encryption Standard (AES). Inoltre, il servizio DRDA può supportare l'autenticazione combinata e la crittografia usando Secure Sockets Layer (SSL) V3.0 o Transport Layer Security (TLS) V1.0.

Per fornire l'autenticazione integrata, il servizio DRDA può combinare la convalida delle credenziali associata associato e il mapping usando Microsoft Enterprise Single Sign-On (ESSO), con l'autenticazione SQL Server associata a Windows usando Windows SSPI (Security Support Provider Interface). Ad esempio, il servizio DRDA può usare ESSO per eseguire il mapping di un nome utente e una password di IBM RACF (Resource Controllo di accesso Facility) a un dominio\nome utente di Microsoft Windows Active Directory, con cui connettersi alla sicurezza integrata a un database di SQL Server remoto.

Compatibilità

SQL statico e dinamico

Principalmente, il servizio DRDA consente ai programmi client DB2 di eseguire SQL statici definiti in remoto per i pacchetti DB2, eseguendo il mapping delle istruzioni del pacchetto alle stored procedure SQL Server. Ad esempio, quando un amministratore DB2 o un programmatore associa copia un pacchetto DB2 in SQL Server, il servizio DRDA converte i flussi DRDA BNDSQLSTT (Bind SQL Statement) in istruzioni T-SQL CREATE PROCEDURE SQL Server. Quando il programma DB2 esegue l'istruzione pacchetto remoto, il servizio DRDA converte LRDA OPNQRY (Open Query) o EXCSQLSTT (Execute SQL Statement) in un'istruzione CALL.

Secondariamente, il servizio DRDA supporta operazioni SQL dinamiche limitate per consentire ai programmi client DB2 di eseguire comandi T-SQL remoti SQL Server. Ad esempio, un amministratore DB2 può usare QMF (Query Management Facility) per z/OS per eseguire query su una tabella di SQL Server remota.

Sintassi SQL

Il servizio DRDA ha un database DB2 ANSI limitato per SQL Server trasformatore di sintassi di comando T-SQL che usa per i pacchetti di associazione, eseguendo istruzioni SQL statiche e dinamiche. Facoltativamente, il servizio DRDA offre funzioni DB2 compatibili aggiuntive sotto forma di funzioni basate su CLR SQL Server.

Il servizio DRDA offre un componente di associazione di pacchetti sostituibile per l'elaborazione delle istruzioni DRDA BNDSQLSTT (Bind SQL Statement) per SQL Server istruzioni CREATE PROCEDURE T-SQL. Ad esempio, uno sviluppatore ISV (Independent Software Vendor) o enterprise può implementare un componente di associazione di pacchetti personalizzato per supportare sintassi, tipo di dati, codifica o altre conversioni necessarie.

Nomi di catalogo e schema

Il servizio DRDA offre il mapping di base degli identificatori di oggetto di alto livello, inclusi i nomi di catalogo e schema. Ad esempio, il servizio DRDA può eseguire il mapping di un nome di database RDBNAM (Nome database relazionale) Associato a un nome di database SQL Server associato. Inoltre, il servizio DRDA può eseguire il mapping di un DRDA COLLID (Identificatore raccolta) a un nome di schema SQL Server in uscita.

Conversione tipo di dati

Per supportare l'interoperabilità multipiattaforma tra database SQL Server in esecuzione nei sistemi operativi Windows e nei server DB2 in esecuzione su z/OS e IBM i, il servizio DRDA offre un set di mapping e conversioni dei tipi di dati definiti nei file XML (DB2ToMSSql.xml e MSSQLToDB2.xml). Ad esempio, il servizio DRDA può eseguire il mapping e convertirà db2 decimale associato a un limite di SQL Server denaro.

Codifiche di stringhe

Il servizio DRDA supporta la conversione da codifiche di stringa EBCDIC DB2 a codifiche ANSI e UNICODE SQL Server. Facoltativamente, il servizio DRDA supporta i file di conversione NLS (National Language Support) di Windows EBCDIC-to-UNICODE modificati. Inoltre, il servizio DRDA offre la sostituzione dei caratteri in linea in base a una mappa predefinita usando coppie di valori esadecimali CCSID (Coded Character Set Identifier).

Formattazione datetime

Il servizio DRDA offre in linea DB2 DATE/TIME/TIMESTAMP per SQL Server formato data/ora/datetime2 e conversioni di valori letterali stringa. Ad esempio, il servizio DRDA può convertire un valore letterale stringa TIMESTAMP formattato in associato a DB2 nel formato AAAA-MM-DD-hh.mm.ss.tttttttt in SQL Server un valore di datatime2(6) con associazione out nel formato AAAA-MM-GG hh:mm:ss.tttttttt.

Amministrazione

Un amministratore può configurare il servizio DRDA modificando il file MsDrdaService.exe.config, insieme ai file XML ausiliari (tipi di dati e mapping degli errori), prima di avviare il servizio DRDA. Facoltativamente, il servizio DRDA offre una lettura immediata del MsDrdaService.exe.config per abilitare gli aggiornamenti dinamici della configurazione.

Configurazione

Dopo l'installazione, i professionisti IT possono personalizzare la configurazione del servizio DRDA modificando il file MsDrdaService.exe.config e aggiornando altri file XML. Di seguito è riportato un elenco dei componenti del servizio DRDA, degli elementi configurabili e degli archivi di configurazione.

Componente Elementi Archivio di configurazione
Servizio DRDA Credenziali di servizio

Diritti dei criteri di sicurezza

Gestione connessione

Gestore della sicurezza SQL

Gestione accesso SQL

Gestione database
Registro di sistema di Windows

MsDrdaService.exe.config

MSDRDAErrorMappings.xml
Conversione dati Mapping di tipi di dati

Formati Date, Time, DateTime
DB2ToMSSql.xml MSSQLToDB2.xml

MsDrdaService.exe.config
Conversione delle tabelle codici Tabelle codici personalizzate

Mapping dei punti di codice
Registro di sistema di Windows

MsDrdaService.exe.config
Associa listener Listener predefinito

Listener personalizzato
MsDrdaService.exe.config
Listener di traccia Listener di testo

Console Listener

ETW Listener

Listener personalizzato
MsDrdaService.exe.config
Registro eventi evento Registro applicazioni
Monitoraggio delle prestazioni Counters Registro di sistema di Windows

MsDrdaService.exe.config

Nella tabella precedente sono elencati i componenti, gli elementi e gli archivi di configurazione del servizio DRDA configurabili.

Traccia

Il servizio DRDA supporta la traccia del listener della console di opzioni di traccia, la traccia del listener di testo, il listener del log eventi, il listener ETW (Event Tracing for Windows) e la traccia personalizzata. L'amministratore usa la traccia della console durante l'esecuzione del servizio DRDA in modalità console di Windows per restituire i dati di traccia sullo schermo. L'amministratore usa la traccia di testo quando si esegue il servizio DRDA in modalità servizio Windows o in modalità console, per restituire i dati di traccia in un file leggibile dal testo. Il servizio DRDA inserisce automaticamente gli elementi di traccia del listener del log eventi nel registro eventi di Windows. L'amministratore usa la traccia ETW per la raccolta di dati ad alta velocità. Facoltativamente, lo sviluppatore aziendale può implementare un listener di traccia personalizzato per restituire tutti o i dati di traccia selezionati in un altro componente.

Contabilità e registrazione

Il servizio DRDA supporta i punti di codice di contabilità DRDA standard: Nome workstation client; ID utente client; Nome applicazione client; e Contabilità client. Uno sviluppatore aziendale può specificare valori dinamici nel programma con cui popolare le proprietà di contabilità client DRDA. Il servizio DRDA legge i valori in fase di esecuzione per popolare la traccia del servizio DRDA, consentendo la correlazione dei problemi a un contesto dell'applicazione e dell'utente specifico. Facoltativamente, lo sviluppatore aziendale può implementare un listener di traccia del cliente del servizio DRDA con cui registrare le richieste del client DRDA AR. Ad esempio, un listener di traccia del cliente può registrare l'accesso alla rete e al database selezionato, in base al valore di un account client, a un database di registrazione di SQL Server remoto.

Mapping degli errori

Il servizio DRDA restituisce SQL Server errori sotto forma di un messaggio di risposta del punto di codice DRDA (RM) o DRDA SQLCARD (SQL Communications Area Reply Data). Per impostazione predefinita, per i problemi comuni, il servizio DRDA usa una tabella predefinita per eseguire il mapping dei codici di errore SQL e delle stringhe di errore ai messaggi di risposta e agli errori DRDA. Inoltre, il servizio DRDA usa un file di MsDrdaErrorMappings.xml esterno per eseguire il mapping da SQL Server codice di errore e testo di errore a SQLCODE, SQLSTATE, Reason Code e Error Message.