Compartir a través de


Planeamiento y diseño de soluciones con el servicio de Microsoft para DRDA

En las secciones siguientes, se proporciona ayuda para planear y diseñar soluciones con el servicio de Microsoft para DRDA (servicio DRDA).

Planeamiento

Las organizaciones de TI empresariales necesitan ofrecer nuevas soluciones y, al mismo tiempo, aumentar la eficacia de los desarrolladores y reducir los costos. El servicio DRDA ofrece tecnología y herramientas para que los profesionales de TI y los desarrolladores empresariales puedan implementar nuevas soluciones basadas en Microsoft SQL Server, mientras conectan las cargas de trabajo actuales basadas en IBM DB2. El siguiente diagrama muestra una arquitectura general de las tecnologías y los componentes implicados en una solución de servicio DRDA que conecta clientes IBM DB2 a bases de datos de Microsoft SQL Server.

HIS DRDA Planning

La ilustración anterior muestra el plan para conectar IBM CICS para los programas cliente de z/OS, a través de DB2 para z/OS y el servicio para DRDA, a bases de datos de Microsoft SQL Server remotas.

El servicio de Microsoft para DRDA (arquitectura de base de datos relacional distribuida) es un servidor de aplicaciones (AS) que permite a los clientes del solicitante de aplicaciones (AR) DRDA, como IBM DB2 para z/OS y DB2 para IBM i, ejecutar instrucciones SQL estáticas asignadas a SQL Server procedimientos almacenados. El servicio DRDA proporciona una integración de datos iniciada por el host que es esencial para las empresas durante una migración de cargas de trabajo por fases, o bien para las operaciones diarias con el fin de sustentar soluciones de inteligencia empresarial o por lotes remotas.

El servicio DRDA ofrece las siguientes características:

  • Acceso desde los clientes de DRDA a SQL Server a través de una conexión de red TCP/IP.

  • Autenticación de seguridad y cifrado de datos.

  • Transacciones de confirmación en dos fases distribuidas.

  • Instrucciones SQL estáticas asignadas a llamadas a procedimientos almacenados de SQL Server.

  • Comandos de lenguaje de manipulación de datos dinámicos limitados asignados a comandos T-SQL.

  • Asignación y conversión de tipos de datos, codificación de cadenas y formato de fecha y hora.

  • Asignación de códigos y texto de error a mensajes de respuesta y objetos de error con formato de DRDA.

  • Una utilidad de seguimiento para registrar flujos y comandos, con el objetivo de habilitar una solución de problemas.

Arquitectura distribuida de bases de datos relacionales

Los clientes y servidores IBM DB2 se comunican mediante el protocolo y los formatos de DRDA (Arquitectura distribuida de bases de datos relacionales). El servicio DRDA funciona como un servidor de aplicaciones (AS) de DRDA para permitir que los clientes solicitantes de aplicaciones (AR) de DRDA interactúen con las bases de datos de Microsoft SQL Server. El servicio DRDA admite un conjunto limitado de puntos de código de DRDA, tal como se definen en el material de referencia sobre arquitecturas publicado por The Open Group (http://www.opengroup.org).

  • DRDA, versión 5, volumen 1: Arquitectura distribuida de bases de datos relacionales (DRDA).

  • DRDA, versión 5, volumen 2: Arquitectura de contenido de objetos de datos con formato (FD:OCA).

  • DRDA, versión 5, volumen 3: Arquitectura de administración de datos distribuidos (DDM).

    Puede descargar DRDA V5 Vol. 3: Distributed Administración de datos Architecture, número de publicación C114, desde la librería Open Group (https://go.microsoft.com/fwlink/?LinkID=219127& clcid=0x409).

Servidores y clientes IBM DB2

Microsoft, IBM y otros proveedores implementan protocolos y formatos DRDA en diversas tecnologías de cliente de solicitante de aplicaciones (AR) DRDA. El servicio DRDA admite conexiones de entrada desde clientes de AR de DRDA que se ajustan al estándar DRDA versión 5, incluidos los AR de DRDA empaquetados en estos productos de IBM y Microsoft.

  • IBM DB2 para z/OS 12 y 11

  • IBM DB2 para IBM i 7.4, 7.3 y 7.2

  • IBM DB2 para LUW 11.5, 11 y 10.5

    Microsoft Host Integration Server incluye dos clientes del solicitante de aplicaciones DRDA, uno diseñado para conectarse a servidores remotos de bases de datos IBM DB2 y otro diseñado para conectarse a servidores remotos de bases de datos ibm Informix. Estos AR de DRDA admiten un subconjunto del estándar DRDA versión 5.0. El cliente de Microsoft para DB2 admite los siguientes proveedores de datos para DB2:

  • Controlador ODBC de Microsoft para DB2

  • Proveedor Microsoft OLE DB para DB2

  • Proveedor de datos de Microsoft ADO.NET Framework para DB2

  • Adaptador de Microsoft BizTalk para DB2

    El servicio DRDA proporciona compatibilidad básica con DRDA para clientes de DRDA de Microsoft y de IBM.

Inicio de sesión único (SSO) empresarial

El servicio DRDA se basa en Microsoft Enterprise Single Sign-On para asignar credenciales de host de entrada (por ejemplo, el identificador de autorización de usuario RACF) a credenciales de Windows Active Directory (AD) de salida, lo que permite que el servicio DRDA se conecte a SQL Server mediante la seguridad integrada.

Inicio de sesión único

La ilustración anterior muestra cómo, con Enterprise Single Sign-On habilitado, el servicio DRDA puede asignar las credenciales de DRDA de entrada a credenciales de SQL Server de salida.

ESSO iniciado por el host necesita permisos elevados en Active Directory (delegación restringida de Kerberos y Usar cualquier protocolo de autenticación). ESSO necesita un nombre de entidad de seguridad del servicio Kerberos para el equipo con SQL Server al que se conecta el servicio DRDA. .

Microsoft SQL Server

Los administradores y desarrolladores empresariales confían en Microsoft SQL Server para crear plataformas de datos críticas para las aplicaciones de línea de negocio. SQL Server ayuda a las empresas a obtener información mediante la detección de datos en toda la organización, además de proporcionarles herramientas, datos coherentes y almacenamiento de datos y análisis a gran escala. El servicio DRDA puede conectar las cargas de trabajo de host de IBM actuales a soluciones nuevas basadas en Microsoft SQL Server para habilitar aplicaciones empresariales heterogéneas e inteligencia empresarial.

Para la conectividad y el acceso a los datos de las bases de datos SQL Server, el servicio DRDA se basa en el cliente de red de Microsoft SQL Server y el proveedor de datos ADO.NET Framework para SQL Server. Si desea obtener más información sobre Microsoft SQL Server, vea http://www.microsoft.com/sql.

Arquitectura

El servicio DRDA permite la conectividad desde un programa cliente IBM DB2 remoto y una base de datos de Microsoft SQL Server local, ya que proporciona servicios de compatibilidad basados en la Arquitectura distribuida de bases de datos relacionales (DRDA) estándar del sector, que define las comunicaciones de cliente a servidor DB2 en forma de un conjunto de formatos y puntos de código de protocolo. El servicio DRDA funciona dentro de la arquitectura DRDA como un servidor de aplicaciones (AS). Los programas cliente IBM DB2 (por ejemplo, COBOL TOS y CICS para z/OS) se asocian localmente a DB2 para z/OS y a funciones dentro de la arquitectura DRDA como clientes solicitantes de aplicaciones (AS). El servicio DRDA es un programa de servicio Windows que hospeda una instancia de Microsoft .NET Framework, se conecta a una instancia local o remota de Microsoft SQL Server mediante el Proveedor de datos de Microsoft ADO.NET Framework para SQL Server y el cliente de red de Microsoft SQL Server subyacente.

Solución del servicio DRDA

La ilustración anterior muestra una solución de servicio DRDA que conecta IBM DB2 para z/OS a Microsoft SQL Server.

Conectividad

Arquitectura distribuida de bases de datos relacionales

El servicio DRDA convierte los puntos de código y los formatos de datos de DRDA en las conexiones, las transacciones, los comandos, los tipos de datos y los objetos de error correspondientes de Microsoft ADO.NET. La función principal del servicio DRDA es asignar funcionalmente los paquetes estáticos de SQL para DB2 y la ejecución de instrucciones a instrucciones CALL y de procedimientos almacenados de Microsoft SQL Server. El servicio DRDA procesa los flujos del protocolo DRDA según se define en la arquitectura en función de los distintos administradores de la arquitectura DRDA.

Transportes de red y transacciones

El servicio DRDA admite conexiones de entrada de clientes de DRDA autenticados a través de una red TCP/IP. El servicio DRDA no admite SNA APPC a través de LU6.2 mediante HPR/IP (enrutamiento de alto rendimiento a través del protocolo de Internet). Para conectarse a SQL Server, el servicio DRDA utiliza el Proveedor de Microsoft ADO.NET para SQL Server subyacente y el cliente de red SQL, con lo que admite conexiones de red TCP/IP, en memoria y mediante canalizaciones con nombre.

De forma predeterminada, el servicio DRDA escucha en el puerto 446 de DRDA predeterminado para las conexiones de entrada, donde acepta cualquier solicitud de conexión de cliente de DRDA. Opcionalmente, el servicio DRDA puede escuchar en otro número de puerto preconfigurado. Además, para mejorar la seguridad, el servicio DRDA se puede configurar para que acepte solicitudes de conexión de entrada desde una lista predefinida de direcciones de red remotas.

Para habilitar actualizaciones confiables a través de la red, el servicio DRDA admite transacciones de confirmación en dos fases DUW (unidad distribuida de trabajo) de DRDA. Las transacciones DUW de DRDA se asignan a transacciones de SQL Server a través del Proveedor de datos de Microsoft ADO.NET Framework para SQL Server y el cliente de red SQL subyacente.

Agrupación y conmutación por error

El servicio DRDA admite la agrupación de conexiones de cliente SQL mediante la configuración de las opciones de agrupación de clientes SQL en los argumentos de la cadena de conexión de SQL Server, en la configuración de la aplicación del servicio DRDA. Además, el servicio DRDA ofrece un grupo de conexiones internas para asignar las conexiones y credenciales de autenticación de clientes AR de DRDA de entrada a conexiones y credenciales de base de datos de SQL Server de salida.

Conmutación por error tolerante a errores

Los servidores principal y asociado del servicio DRDA funcionan juntos para ofrecer conmutación por error tolerante a errores.

El servicio DRDA puede funcionar en grupos de dos (2) servidores, uno por equipo, para proporcionar tolerancia a errores básica. Cuando un cliente AR de DRDA se conecta a una base de datos de SQL Server, el servicio DRDA devuelve DRDA SRVLST (Server List) con una lista ponderada de instancias del servidor de datos. En el caso de la conmutación por error de un servicio DRDA principal, el AR de DRDA puede usar esta información para conectarse al miembro alternativo de un par de equipos del servicio DRDA. Esta tecnología, combinada con la agrupación en clúster o la creación de reflejo de SQL Server, puede ofrecer un nivel razonable de protección mediante una conmutación por error tolerante a errores.

Autenticación y cifrado

Para proteger la información, el servicio DRDA admite tecnologías comunes de autenticación y cifrado de datos de DRDA. Por ejemplo, el servicio DRDA puede admitir la autenticación básica (nombre de usuario y contraseña con codificación EBCDIC de texto sin formato) o la autenticación segura mediante AES (Estándar de cifrado avanzado) de 256 bits. Además, el servicio DRDA puede admitir autenticación y cifrado combinados con SSL (Capa de sockets seguros) V3.0 o TLS (Seguridad de la capa de transporte) V1.0.

Para proporcionar autenticación integrada, el servicio DRDA puede combinar validación y asignación de credenciales de entrada mediante Microsoft Enterprise Single Sign-On (ESSO), con autenticación de SQL Server de salida mediante Windows SSPI (interfaz del proveedor de compatibilidad con seguridad). Por ejemplo, el servicio DRDA puede trabajar con ESSO para asignar un nombre de usuario y una contraseña de IBM RACF (Resource Access Control Facility) a un dominio o nombre de usuario de Microsoft Windows Active Directory, con el que conectarse con la seguridad integrada a una base de datos SQL Server remota.

Compatibilidad

SQL estático y dinámico

Principalmente, el servicio DRDA permite que los programas cliente DB2 ejecuten paquetes SQL estáticos para DB2 definidos de forma remota mediante la asignación de las instrucciones de los paquetes a procedimientos almacenados de SQL Server. Por ejemplo, cuando un enlace de un administrador o programador de DB2 copia un paquete DB2 en SQL Server, el servicio DRDA convierte los flujos DRDA BNDSQLSTT (Bind SQL Statement) en instrucciones T-SQL CREATE PROCEDURE de SQL Server. Cuando el programa DB2 ejecuta la instrucción del paquete remoto, el servicio DRDA convierte DRDA OPNQRY (Open Query) o EXCSQLSTT (Excecute SQL Statement) en una instrucción CALL.

En segundo lugar, el servicio DRDA admite operaciones SQL dinámicas limitadas para permitir que los programas cliente DB2 ejecuten comandos T-SQL de SQL Server remotos. Por ejemplo, un administrador de DB2 puede usar QMF (Query Management Facility) para z/OS con el fin de consultar una tabla de SQL Server remota.

Sintaxis SQL

El servicio DRDA tiene un transformador limitado de sintaxis de comandos T-SQL de ANSI a SQL Server para DB2 y lo utiliza para enlazar paquetes, ejecutando instrucciones de SQL estáticas y dinámicas. Opcionalmente, el servicio DRDA ofrece otras funciones de DB2 compatibles en forma de funciones de SQL Server basadas en CLR.

El servicio DRDA ofrece un componente de enlace de paquetes reemplazable para procesar DRDA BNDSQLSTT (Bind SQL Statement) como instrucciones T-SQL CREATE PROCEDURE de SQL Server. Por ejemplo, un ISV (fabricante de software independiente) o un desarrollador empresarial pueden implementar un componente de enlace de paquetes definido por el usuario para admitir la sintaxis, el tipo de datos, la codificación u otras conversiones necesarias.

Nombres de catálogo y esquema

El servicio DRDA ofrece una asignación básica de identificadores de objeto de alto nivel, incluidos los nombres de catálogo y esquema. Por ejemplo, el servicio DRDA puede asignar un elemento DRDA RDBNAM (Relational Database Name) de entrada a un nombre de base de datos de SQL Server de salida. Además, el servicio DRDA puede asignar un elemento DRDA COLLID (Collection Identifier) de entrada a un nombre de esquema de SQL Server de salida.

Conversión de tipo de datos

Para admitir la interoperabilidad multiplataforma entre SQL Server bases de datos que se ejecutan en sistemas operativos Windows y servidores DB2 que se ejecutan en z/OS e IBM i, el servicio DRDA ofrece un conjunto de asignaciones de tipos de datos y conversiones definidas en archivos XML (DB2ToMSSql.xml y MSSQLToDB2.xml). Por ejemplo, el servicio DRDA puede asignar y convertir un elemento DECIMAL de DB2 de entrada en Money de SQL Server de salida.

Codificaciones de cadena

El servicio DRDA admite la conversión de codificaciones de cadena de EBCDIC en DB2 a ANSI y UNICODE en SQL Server. Opcionalmente, el servicio DRDA admite archivos de conversión de Windows reemplazables y modificados de EBCDIC a UNICODE NLS (compatibilidad con el idioma nacional). Además, el servicio DRDA ofrece el reemplazo de caracteres insertados basado en un mapa predefinido mediante pares de valores hexadecimales CCSID (Identificador codificado del juego de caracteres).

Formato de fecha y hora

El servicio DRDA ofrece conversiones insertadas de valores literales de cadena y formato de DATE/TIME/TIMESTAMP de DB2 a date/time/datetime2 de SQL Server. Por ejemplo, el servicio DRDA puede convertir un valor literal de cadena TIMESTAMP de entrada de DB2 con el formato YYYY-MM-DD-hh.mm.ss.tttttt en un valor datetime2(6) de SQL Server de salida con el formato YYYY-MM-DD hh:mm:ss.tttttt.

Administración

Un administrador puede configurar el servicio DRDA modificando el archivo MsDrdaService.exe.config, junto con archivos XML auxiliares (tipos de datos y asignación de errores), antes de iniciar el servicio DRDA. Opcionalmente, el servicio DRDA ofrece una lectura inmediata del archivo MsDrdaService.exe.config para habilitar las actualizaciones dinámicas de la configuración.

Configuración

Después de la instalación, los profesionales de TI pueden personalizar la configuración del servicio DRDA editando el archivo MsDrdaService.exe.config y actualizando otros archivos XML. La siguiente es una lista de componentes, elementos configurables y almacenes de configuración del servicio DRDA.

Componente Elementos Almacén de configuración
Servicio DRDA Credenciales de servicio

Derechos de directivas de seguridad

Administrador de conexiones

Administrador de seguridad

Administrador de acceso de SQL

Administrador de bases de datos
Registro de Windows

MsDrdaService.exe.config

MSDRDAErrorMappings.xml
Conversión de datos Asignaciones de tipo de datos

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

MsDrdaService.exe.config
Conversión de páginas de códigos Páginas de códigos personalizadas

Asignaciones de puntos de código
Registro de Windows

MsDrdaService.exe.config
Escuchas de enlace Escucha predeterminado

Escucha personalizado
MsDrdaService.exe.config
Agentes de escucha de seguimiento Escucha de texto

Escucha de consola

Escucha de ETW

Escucha personalizado
MsDrdaService.exe.config
Registro de eventos Eventos Registro de aplicaciones
Monitor de rendimiento Counters Registro de Windows

MsDrdaService.exe.config

En la tabla anterior, se enumeran los componentes, elementos y almacenes de configuración configurables del servicio DRDA.

Seguimiento

El servicio DRDA admite múltiples opciones de seguimiento: seguimiento de escucha de consola, seguimiento de escucha de texto, escucha de registro de eventos, escucha de ETW (Seguimiento de eventos para Windows) y seguimiento personalizado. El administrador utiliza el seguimiento de consola cuando ejecuta el servicio DRDA en el modo de consola de Windows para mostrar los datos de seguimiento en la pantalla. El administrador utiliza el seguimiento de texto cuando ejecuta el servicio DRDA en el modo de servicio o consola de Windows para enviar los datos de seguimiento a un archivo texto legible. El servicio DRDA envía automáticamente los elementos de seguimiento del escucha de registro de eventos al registro de eventos de Windows. El administrador utiliza el seguimiento de ETW para la recopilación de datos de alta velocidad. Opcionalmente, el desarrollador empresarial puede implementar un escucha de seguimiento personalizado para enviar todos o algunos de los datos de seguimiento a otro componente.

Contabilización y registro

El servicio DRDA admite los puntos de código de contabilización de DRDA estándar: nombre de la estación de trabajo cliente; id. del usuario cliente; nombre de la aplicación cliente y contabilización de cliente. Un desarrollador empresarial puede especificar valores dinámicos en su programa con los que rellenar las propiedades de contabilización de cliente de DRDA. El servicio DRDA lee los valores en tiempo de ejecución para rellenar los datos de seguimiento del servicio DRDA, lo que permite la correlación de problemas con el contexto específico de la aplicación y el usuario. Opcionalmente, el desarrollador empresarial puede implementar un escucha de seguimiento de cliente del servicio DRDA con el que registrar solicitudes de cliente AR de DRDA. Por ejemplo, un escucha de seguimiento de cliente puede registrar el acceso de red y de base de datos seleccionado, en función de un valor de cuenta de cliente, en una base de datos de SQL Server de registro remota.

Asignación de errores

El servicio DRDA devuelve errores de SQL Server en forma de un mensaje de respuesta (RM) de punto de código o de SQLCARD (SQL Communications Area Reply Data) de DRDA. De forma predeterminada, para problemas comunes, el servicio DRDA usa una tabla integrada para asignar códigos y cadenas de error de SQL a errores y mensajes de respuesta de DRDA. Además, el servicio DRDA usa un archivo MsDrdaErrorMappings.xml externo para la asignación de códigos y texto de error de SQL Server a SQLCODE, SQLSTATE, Reason Code y Error Message.