Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CLIENTE/SERVIDOR
Introducción
En este trabajo trataré de explicar la tecnología DRDA, que es la arquitectura
distribuida para bases de datos relacionales, y que fue desarrollada por IBM.
Después, también me referiré a algunos protocolos que son utilizados junto con
DRDA, y clasificaré en 5 los posibles niveles que se pueden considerar para una
arquitectura DRDA.
Peticiones distribuidas
Una petición distribuida es una función de la base de datos distribuida que permite
que los usos y los usuarios sometan declaraciones del SQL que referencian dos o
más DBMSs o bases de datos en una sola declaración.
La petición distribuida proporciona la transparencia de la localización para los
objetos de la base de datos. Si se mueve la información (en tablas), las referencias
a esa información (llamada alias ) pueden ser actualizadas sin ningun cambio a los
usos o programas que solicitan la información. La petición distribuida también
proporciona la remuneración para DBMSs que no apoyan todo el dialecto de DB2
SQL, o ciertas capacidades de la optimización. Las operaciones que no se pueden
realizar bajo tal DBMS (tal como SQL recurrente) funcionan debajo de DB2.
Comienzo del trabajo: DRDA
La promesa de DRDA
Comenzó con una necesidad de tener una manera simple y constante de obtener y
de manipular datos de DBMSs de vendedores múltiples. En el pasado, si los
usuarios desearon intercambiar datos de diversas bases de datos, tuvieron que
utilizar una mezcla de entradas propietarias, software e interfaces de programación
no estándar. Hoy, los usuarios desean usar el mejor software sin importar las
soluciones de hardware que posean, y desean eliminar el coste asociado a tener
diversos conductores para diversas bases de datos. La respuesta es la arquitectura
distribuida de bases de datos relacionales (DRDA). ¿La pregunta es, podrá crecer y
llenar funciones adicionales importantes en la empresa de los datos?
La idea es que un sólo estándar simplificará las comunicaciones entre los usos y las
bases de datos, y entre diversas bases de datos.
• Define los protocolos para proporcionar interfaces entre los clientes y las
bases de datos back-end
Es una arquitectura que permite que datos relacionados sean distribuidos entre
múltiples plataformas. Por ejemplo, un subsistema DB2 puede comunicarse con
otro subsistema DB2 . Alternativamente, un subsistema DB2 puede comunicarse
con un RDBMS de una tercera persona.
Las plataformas no necesitan ser iguales. Mientras ambos se conformen con las
especificaciones de DRDA, podrán comunicarse. DRDA se puede considerar una
clase "de protocolo universal para realizar el distribuido de los datos."
Este trabajo describirá DRDA. Pero hay que tener presente que ningún vendedor ha
puesto en marcha un RDBMS que apoya completamente toda la funcionalidad de
DRDA.
Ventajas de DRDA
La ventaja más grande, sin embargo, es que hoy está muy disponible, y muchos
vendedores están saltando al carro de la conformidad con DRDA.
Por lo tanto, otra de las ventajas de DRDA es que no hay asociación con cada
entrada y su código
• El SQL estático se puede utilizar con DRDA; con RDA solamente el SQL
dinámico está disponible.
El encargado de los datos del DB2 LM Ericsson, Roger Johnson, dijo: "el protocolo
estándar de DRDA reducirá los costes para el software, la educación, y el
mantenimiento. Si usted diseña sus usos con DRDA y TCP/IP, usted necesita
solamente un cliente y el servidor OS/390. No habrá ninguna entrada adicional que
pueda causar interrupciones indeseadas. Los usos de la web usando JDBC o los
procedimientos almacenados SQLJ (vía DRDA y TCP/IP), o usando DB2 que tiene
acceso para OS/390 vía el web server OS/390, son la manera más eficiente de
reutilizar habilidades en las cuales su compañía ya ha invertido. Usted puede
también tener acceso a otras fuentes del sistema de gestión de bases de datos
relacionales (RDBMS), tales como Sybase, Informix, servidor de MS/SQL, y otras
fuentes vía DataJoiner usando DRDA; pero en este caso usted necesita una
entrada."
DRDA se contrapesa por hacer para el mercado del acceso a los datos lo que TCP/IP
ha hecho ya para la industria de las comunicaciones de datos. La adopción de DRDA
debe vigorizar el mercado de las bases de datos con la estandarización de los
productos existentes en cuanto a la conectividad y las nuevas ofrendas de la
interoperabilidad. Actualmente, muchos vendedores, incluyendo Informix Software
Inc., Oracle Corp., y Sybase Inc. , han licenciado las especificaciones de DRDA. El
grupo abierto está supervisando el progreso de DRDA, enterado que otras
organizaciones se están moviendo para adoptar DRDA.
"la adición de DRDA a la biblioteca del grupo abierto de especificaciones será muy
beneficiosa para la industria," dijo Tony Gualtieri, arquitecto en las compañías de
seguros de Kemper. "Kemper utiliza DBMSs de vendedores múltiples, y
necesitamos una manera simple y constante de obtener y de manipular los datos
de todas estas fuentes. Las entradas múltiples funcionan, pero complican la puesta
en práctica y aumentan la probabilidad de problemas. Miramos hacia adelante al
lanzamiento de los productos adicionales que apoyan las especificaciones de
DRDA."
Usando este tipo de producto y un cliente DRDA, los usuarios pueden tener acceso
a bases de datos remotas usando un formato estándar de la mensajería sobre
TCP/IP o SNA, y eliminar los sistemas de entradas o el software propietario del
anfitrión requeridos para tener acceso a IBM DB2.
Otra tecnología a mirar de cerca es JSQL o SQLJ. JavaBeans podría hacer una parte
importante de e-commerce proporcionando un interfaz simple a las transacciones
bien definidas de DRDA. IBM se centró originalmente en DRDA como tecnología
back-end para los applets basados en Java, altamente eficientes que obrarían
recíprocamente en el servidor back-end.
El papel de DRDA en transacciones distribuidas
El cambio está creando desafíos logísticos porque los empleados y los clientes no
pueden manipular solamente la información, pero sí tienen a menudo la capacidad
de cambiarla. En la mayoría de los casos, trabajan con los extractos de bases de
datos corporativas, así que las bases de datos múltiples tienen que seguir
sincronizadas. Ciertos usos de negocio diarios requieren la sincronización perfecta
entre diversas bases de datos. Por ejemplo, en una transacción de las actividades
bancarias, los datos necesitan moverse partiendo de una base de datos a otra
simultáneamente. Si los fondos se transfieren de la cuenta de ahorro de un cliente,
ese cliente desea tener la seguridad de que esos fondos entraron en la otra cuenta
especificada en el mismo instante. Un fallo de la red puede evitar que la
actualización sea terminada correctamente. El dinero obtenido de la primera cuenta
podría no haber sido transferido a la otra cuenta. El cliente tendría que entrar en
contacto con el banco para descubrir qué sucedió. El resultado es un cliente furioso.
En otro ejemplo, una parte distribuida pude depender de una base de datos
principal y ser replicada en una oficina de ventas local. Un agente de una de esas
oficinas recibe una orden de un cliente y una aplicación de venta lleva a cabo una
mejora para asegurar que ese cliente tiene un crédito suficiente antes de procesar
la orden. Después, el crédito de la oficina de ventas será una copia de la base de
datos principal, y esa copia queda con datos desfasados. En este caso, el crédito
del cliente ha bajado, pero ni la aplicación ni los agentes de ventas lo saben, y por
consecuencia puede que se completen otras ordenes que no deberían de poder
realizarse.
Para evitar ambos escenarios, las organizaciones tienen que asegurar que sus
sistemas reconozcan transacciones válidas sólamentes cuando las actualizaciones
de ambas bases de datos hayan sido totalmente completadas. Las compañías
pueden lograr esto de dos formas: de forma asíncrona o de forma síncrona.
En el futuro, los soportes DRDA serán adaptados para incluír acceso directo a otros
recursos, por ejemplo CICS o MQ Series. DRDA es un protocolo ligero que trata
muy bien las cuestiones de interoperabilidad. DRDA, en su forma natural, es un
protocolo especificado para empresas, por eso es ideal para usarse con las nuevas
aplicaciones e-commerce. Una solución eficiente es usar una interface ODBC con
transacciones basadas en CICS, con una aplicación servidora DRDA en el
componente host que es capaz de aceptar peticiones DRDA y luego ejecutar
transacciones CICS. En este caso, usando DRDA las aplicaciones no sufrirán
cambios. Por tanto, las tecnologías DRDA van a brillar mucho en este mercado.
Las especificaciones para DRDA están disponibles en la web del grupo abierto:
Vemos entonces que los servidores de la base de datos implicados en una petición
distribuida no necesitan ser iguales. Para ello se utiliza el protocolo de la ayuda de
la base de datos. Éste existe por las razones siguientes:
• Para conectar un servidor del uso con un servidor de la base de datos
• Para conectar dos servidores de la base de datos
Como el protocolo de la ayuda del uso, el protocolo de la ayuda de la base de datos
se utiliza para asegurar la compatibilidad de peticiones entre diversos servidores de
la base de datos.
Cuando una petición se procesa totalmente, el servidor del uso debe informar al
proceso de la petición (el solicitante del uso). ¿Cómo se logra esto?
COMO pasa un código de retorno y un resultado fijados (si fue producido) de nuevo
al AR. El código de retorno es el SQLSTATE (o SQLCODE).
Se utiliza este protocolo a menos que se emplee un cursor. Cuando las filas se
traen de un cursor inalterable, el protocolo limitado del bloque puede ser utilizado.
El protocolo limitado del bloque pasa múltiples filas a la vez a través de la red,
aunque también puede procesarse solamente una fila a la vez. El protocolo limitado
del bloque realza el funcionamiento total reduciendo al mínimo el tráfico de la red.
Si el cursor no es inalterable (es decir, las filas pueden ser actualizadas), el
protocolo limitado del bloque no se emplea.
A continuación hablaré de los 5 posibles niveles que se pueden considerar para una
arquitectura DRDA:
• Petición Remota
• Petición Distribuida
Incluso viendo estas limitaciones, la distribución Asistida por Usuario es útil para
producir fotos de tablas y peticiones satisfactorias. Sin embargo, muchas veces, la
distribución asistida por usuario no es considerada verdadéramente un acceso
distribuído a los datos.
A menudo, la distribución asistida por usuario no es ni siquiera incluida como una
forma de DRDA.
b) Peticiones remotas o alejadas (Remote Request)
Las peticiones remotas es verdadéramente el primer nivel de distribución con
DRDA. Cuando un DBMS soporta DRDA con capacidad de peticiones remotas, una
sola sentencia SQL pude ser distribuída para leer o modificar un único RDBMS
remoto con una única unidad de trabajo.
Símplemente, un promotor de peticiones remotas opera con un RDBMS, y remite a
diferentes RDBMS. Además, es posible utilizar capacidades de peticiones remotas
para acceder a RDBMS remotos, incluso si el RDBMS local no está siendo usado.
DRDA con peticiones remotas provee la capacidad de emitir solo una petición SQL
por unidad de trabajo, y solo un RDBMS por petición SQL.
Como con cualquier unidad de trabajo, todas las peticiones SQL en el ámbito de un
commit deben tener éxito o ser canceladas. Esto requiere que esté establecido el
protocolo de la confirmación en 2 fases.
La confirmación en 2 fases distribuída es funcionalmente equivalente a la
confirmación en 2 fases y es la que es llevada a cabo por DB2 cuando está
ejecutado bajo CICS o IMS/TM. Cuando un programa DUW emite un commit, el
protocolo de la confirmación en 2 fases debe sincronizar todas las plataformas
afectadas.
Han sido muchos los productos que han salido al mercado y que soportan el
protocolo DRDA. Todos sabemos que el mundo de las tecnologías avanza
contínuamente y siempre aparecen nuevos productos que intentan mejorar los
anteriores. En esta sección expondré alguno de estos productos que han ido
apareciendo a lo largo de estos años.
Otra función relativa a la integración del acceso a datos que incluyó Microsoft en
Host Integration Server 2000 es la de replicación heterogénea. Esta función permite
la replicación bidireccional entre SQL Server, DB2, DB2/400 y Oracle mediante la
tecnología de replicación instantánea, incremental y por fusión. Como ya indica su
nombre, la replicación instantánea consiste en la transferencia periódica de una
copia de la totalidad de los datos al suscriptor. La replicación incremental consiste
en el envío al suscriptor de los cambios incrementales que se vayan produciendo
con una periodicidad tal que casi se efectúe en tiempo real. La replicación por
fusión permite, por su parte, que las sedes autónomas efectúen fusiones
bidireccionales periódicas de todos los cambios que se produzcan en las bases de
datos.
El soporte estático sobre SQL permite desarrollos para precompilar las sentencias
SQL usadas dentro de una aplicación para incrementar significativamente la
“performance” (rendimiento) de la aplicación cliente, liberar recursos de CPU del
servidor y utilizar al máximo las ventajas de seguridad en el acceso a los datos. El
soporte estático de SQL de HiT no requiere la modificación del cliente ni de la
aplicación DB2 server e incluye utilidades para precompilar y unir paquetes de
sentencias SQL en un servidor DB2.
La performance del servidor DB2 se mejora debido a que no se requiere un acceso
dinámico a los datos SQL, con lo que se ahorran ciclos de CPU.
También, como los paquetes estáticos de SQL son creados por el “HiT SQL
Middleware”, se puede fortalecer la estructura de seguridad para esos paquetes
mas que para las tablas DB2.
Los productos “HiT Middleware ODBC y OLE DB” son totalmente compatibles en
entorno de Microsoft Transaction Server para aplicaciones Windows. El producto
“HiT JDBC SQL” cumple con los standard XA de la industria para aplicaciones en
JAVA. Ambos productos, Windows y JAVA soportan DB2 UDB para OS/390 v6.1,
DB2 UDB for OS/400 V5R1 y posteriores versiones DB2 sobre estas plataformas. No
es necesario instalar software adicional en el servidor para estos entornos. Los
productos HiT Software soportan Arquitectura distribuida de base de datos
relacional de IBM (DRDA) y los protocolos de optimización de la base de datos, y
ellos se interrelacionan como un cliente estándar con una base DB2. Además, todos
los productos “HiT SQL middleware” soportan SSL v3.0 cuando se los usa con el
“HiT SSL Server” para una autenticación segura y encriptado de datos
transportados entre las aplicaciones y los servidores DB2. Las aplicaciones Windows
y JAVA usando conectividad estándar SQL pueden migrar a la nueva versión de HiT
Software a fin de utilizar todas las ventajas y potencialidad del acceso directo y las
transacciones distribuidas.
DB2 Connect
Para poner las conexiones entre los sistemas de gerencia de la base de datos del
servidor de DRDA y los clientes de la base de datos, DRDA utiliza también otras
arquitecturas, como:
• Arquitectura De la Representación De Datos De Carácter (CDRA)
• Arquitectura Distribuida De la Gerencia De Datos (DDM)
• Arquitectura Ajustada al formato Del Contenido Del Objeto De los Datos
(FD:OCA)
...
Una petición se encamina a la destinación correcta por medio de los directorios que
contienen varios tipos de información de la comunicación y del nombre de la base
de datos del servidor de DRDA que es alcanzada.
o Netscape Navigator 4.02 con la ayuda del JDK 1.1 del Netscape
Navigator.