Condividi tramite


Pianificazione e progettazione di soluzioni tramite il servizio Microsoft per DRDA

Le sezioni seguenti forniscono assistenza per la pianificazione e la progettazione di soluzioni che usano il servizio Microsoft per DRDA (DRDA Service).

Pianificazione

Le organizzazioni IT aziendali devono offrire nuove soluzioni, aumentando al contempo l'efficienza degli sviluppatori 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, connettendo al contempo 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 mostra il piano per connettere IBM CICS per i programmi client z/OS, tramite DB2 per z/OS e il servizio per DRDA, ai database remoti di Microsoft SQL Server.

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 alle stored procedure di SQL Server. Il servizio DRDA fornisce l'integrazione dei dati avviata dall'host essenziale per le aziende durante una migrazione graduale 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 attraverso 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 di SQL Server.

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

  • Mappatura e conversione dei tipi di dati, codifica delle stringhe e formattazione di data e ora.

  • Codice di errore e mappatura del testo ai messaggi di risposta DRDA e agli oggetti di errore formattati.

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

Architettura di database relazionale distribuita

I client e i server IBM DB2 comunicano usando il protocollo e i formati DRDA (Distributed Relational Database Architecture). Il servizio DRDA funge da server applicazioni 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 definiti nei riferimenti all'architettura pubblicati da The Open Group (http://www.opengroup.org).

  • DRDA, versione 5, Volume 1: Distributed Relational Database Architecture (DRDA)

  • DRDA, versione 5, volume 2: architettura del contenuto dell'oggetto dati formattato (FD:OCA)

  • DRDA, versione 5, volume 3: architettura DDM (Distributed Data Management)

    È possibile scaricare DRDA V5 Vol. 3: Distributed Data Management 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 in entrata da client DRDA AR conformi allo standard DRDA Versione 5, inclusi i client DRDA AR nei pacchetti di 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 DRDA Application Requester: uno per connettersi ai server di database IBM DB2 remoti e uno per connettersi ai server di database IBM Informix remoti. Questi elementi DRDA supportano un sottoinsieme della versione 5.0 di DRDA. Il client Microsoft per DB2 supporta questi provider di dati per DB2:

  • Microsoft ODBC Driver for DB2

  • Provider Microsoft OLE DB per DB2

  • Provider di dati Microsoft ADO.NET Framework per DB2

  • Adapter Microsoft BizTalk per DB2

    Il servizio per DRDA fornisce il supporto DRDA di base per i client DRDA Microsoft 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 la sicurezza integrata.

Single Sign-On

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

SSO iniziato dall'host richiede autorizzazioni elevate in Active Directory (delega vincolata Kerberos e utilizzo di qualsiasi protocollo di autenticazione). ESSO richiede un nome principale del 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 cruciali per applicazioni line-of-business. SQL Server consente alle aziende di sbloccare nuove informazioni dettagliate tramite l'individuazione dei dati nell'organizzazione, fornendo al tempo stesso strumenti di analisi coerenti e analisi su larga scala e data warehousing. Il servizio DRDA può connettere i 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 di Microsoft SQL Server e sul provider di dati di ADO.NET Framework per SQL Server per la connettività e l'accesso ai dati ai database di 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 locale di Microsoft SQL Server, fornendo servizi di compatibilità basati sul DRDA standard del settore (Distributed Relational Database Architecture) che definisce le comunicazioni da client a server DB2 sotto forma di un set di punti di codice e formati di protocollo. Il servizio DRDA opera all'interno di 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 funzionano all'interno del DRDA come richiedenti applicazioni (AS). Il servizio DRDA è un programma di servizio Windows che ospita un'istanza di Microsoft .NET Framework, si connette a un'istanza di Microsoft SQL Server locale o remota 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à

Architettura di database relazionale distribuita

Il servizio DRDA converte i punti di codice e i formati di dati DRDA in connessioni, transazioni, comandi, tipi di dati e oggetti di errore Microsoft ADO.NET corrispondenti. La funzione principale del servizio DRDA consiste nel mappare funzionalmente l'SQL statico per i pacchetti DB2 e nell'eseguire istruzioni utilizzando le stored procedure e le istruzioni CALL di Microsoft SQL Server. Il servizio DRDA elabora i flussi del protocollo DRDA definiti all'interno dell'architettura in base ai vari manager DRDA.

Trasporti e transazioni di rete

Il servizio DRDA supporta le connessioni client DRDA autenticate attraverso una rete TCP/IP. Il servizio DRDA non supporta SNA APPC su LU6.2 usando HPR/IP (routing ad alte prestazioni tramite 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 connessioni in memoria, named pipe e connessioni di rete TCP/IP.

Per impostazione predefinita, il servizio DRDA rimarrà in ascolto sulla porta DRDA predefinita 446 per le connessioni in ingresso, accettando qualsiasi richiesta di connessione da parte di un client DRDA. Il servizio DRDA può, facoltativamente, ascoltare su un altro numero di porta preconfigurato. Inoltre, per migliorare la sicurezza, il servizio DRDA può essere configurato per accettare richieste di connessione in ingresso da un elenco predefinito di indirizzi di rete remoti.

Per abilitare gli aggiornamenti affidabili in rete, il servizio DRDA supporta le transazioni di commit in due fasi DRDA DUW (Distributed Unit of Work). Le transazioni DRDA DUW vengono mappate alle transazioni di 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 configurando le opzioni di pooling del client SQL negli argomenti della stringa di connessione di SQL Server nella configurazione dell'applicazione del servizio DRDA. Inoltre, il servizio DRDA offre un pool di connessioni interno, eseguendo il mapping delle connessioni client DRDA AR in entrata e delle credenziali di autenticazione a connessioni e credenziali del database SQL Server in uscita.

DRDA Fault Tolerant Failover

I server primario e partner DRDA collaborano per un failover tollerante agli errori.

Il servizio DRDA può operare 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 di 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, DRDA AR può usare queste informazioni per connettersi al membro alternativo di una coppia di computer del servizio DRDA. In combinazione con il clustering o il mirroring di SQL Server, questa tecnologia può offrire un livello ragionevole di protezione failover ad alta tolleranza agli errori.

Autenticazione e crittografia

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

Per fornire l'autenticazione integrata, il servizio DRDA può combinare la convalida e il mapping delle credenziali in entrata utilizzando Microsoft Enterprise Single Sign-On (ESSO), con l'autenticazione SQL Server in uscita tramite Windows SSPI (Security Support Provider Interface). Ad esempio, il servizio DRDA può lavorare con ESSO per eseguire il mapping di un nome utente e una password IBM RACF (Resource Access Control Facility) a un dominio\nome utente di Microsoft Windows Active Directory, con cui connettersi con la 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 pacchetti SQL statici definiti in remoto per DB2 eseguendo il mapping delle istruzioni del pacchetto alle stored procedure di SQL Server. Ad esempio, quando un amministratore DB2 o un programmatore associa un pacchetto DB2 a SQL Server, il servizio DRDA converte i flussi DRDA BNDSQLSTT (istruzione BIND SQL) nelle istruzioni T-SQL CREATE PROCEDURE di SQL Server. Quando il programma DB2 esegue l'istruzione del pacchetto remoto, il servizio DRDA converte DRDA 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 di SQL Server. Ad esempio, un amministratore DB2 può usare QMF (Query Management Facility) per z/OS per eseguire query su una tabella remota di SQL Server.

Sintassi SQL

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

Il servizio DRDA offre un componente di associazione di pacchetti sostituibile per l'elaborazione delle istruzioni DRDA BNDSQLSTT (Bind SQL Statement) alle istruzioni T-SQL CREATE PROCEDURE di SQL Server. 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 schemi

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ò mappare un nome di database DRDA RDBNAM (Nome database relazionale) in un nome di database di SQL Server. Inoltre, il servizio DRDA può mappare un DRDA COLLID (Identificatore raccolta) al nome dello schema del SQL Server in uscita.

Conversione dei tipi di dati

Per supportare l'interoperabilità multipiattaforma tra i database di SQL Server in esecuzione nei sistemi operativi Windows e nei server DB2 in esecuzione in 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 convertire il valore DB2 DECIMAL in arrivo nel tipo di dati SQL Server 'money' in uscita.

Codifiche delle stringhe

Il servizio DRDA supporta la conversione da codifiche di stringhe EBCDIC DB2 a codifiche ANSI e UNICODE di SQL Server. Facoltativamente, il servizio DRDA supporta i file di conversione NLS (National Language Support) sostituibili di Windows, da EBCDIC a UNICODE, modificati. Inoltre, il servizio DRDA offre una sostituzione dei caratteri in linea basata su una mappa predefinita usando coppie di valori esadecimali CCSID (Identificatore set di caratteri codificati).

Formattazione della data e dell'ora

Il servizio DRDA offre conversioni in linea da formato DB2 DATA/ORA/TIMESTAMP a formato SQL Server date/time/datetime2, incluse le conversioni di valori letterali di stringa. Ad esempio, il servizio DRDA può convertire un valore letterale di stringa TIMESTAMP nel formato DB2 in entrata, AAAA-MM-DD-hh.mm.ss.tttttt, in un valore datetime2(6) di SQL Server in uscita, nel formato AAAA-MM-DD hh:mm:ss.tttttt.

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 della configurazione dinamica.

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 del servizio

Diritti della politica di sicurezza

Gestione connessioni

Gestione sicurezza

Gestione accesso SQL

Responsabile del database
Registro di sistema di Windows

MsDrdaService.exe.config

MSDRDAErrorMappings.xml
Conversione dei dati Mappature dei tipi di dati

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

MsDrdaService.exe.config
Conversione pagina codice Pagine di codice personalizzate

Mappature dei punti di codice
Registro di sistema di Windows

MsDrdaService.exe.config
Associare listener Listener predefinito

Listener personalizzato
MsDrdaService.exe.config
Listener di tracce Ascoltatore di testo

Console Listener

ETW Listener

Listener personalizzato
MsDrdaService.exe.config
Registro eventi Avvenimenti Log delle applicazioni
Monitor delle prestazioni Contatori 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.

Tracciamento

Il servizio DRDA supporta più opzioni di tracciamento: tracciamento del listener della console, tracciamento del listener di testo, listener del log eventi, listener ETW (Event Tracing for Windows) e tracciamento personalizzato. L'amministratore usa la traccia della console quando si esegue il 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 console, per restituire i dati di traccia in un file leggibile dal testo. Il servizio DRDA pubblica automaticamente gli elementi di traccia del listener del registro 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 trasmettere tutti i dati di traccia o solo quelli selezionati verso un altro componente.

Contabilità e registrazione

Il servizio DRDA supporta i punti di codice contabilità DRDA standard: Nome workstation client; ID utente client; Nome applicazione client; e Contabilità del 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 specifici contesti dell'applicazione e dell'utente. Facoltativamente, lo sviluppatore aziendale può implementare un listener di traccia del cliente del servizio DRDA con cui registrare le richieste client DRDA AR. Ad esempio, un listener di traccia del cliente può registrare l'accesso alla rete e al database selezionati, in base al valore di un account cliente, su un database di registrazione SQL Server remoto.

Mappatura degli errori

Il servizio DRDA restituisce errori di SQL Server sotto forma di un DRDA code point Reply Message (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 dal codice di errore di SQL Server e dal testo dell'errore a SQLCODE, SQLSTATE, Codice motivo e Messaggio di errore.