Una aplicación Multi-tier es una aplicación dividida en
varias capas o programas que se ejecutan en máquinas distintas.
Este tipo de aplicaciones comparten datos y se cumunican entre sí.
Estas aplicaciones estan dividas en varias partes:
|
Aplicación cliente |
Aplicación servidora |
Remote datamodule |
La aplicación servidora manipula el paso de datos entre la aplicación
cliente y el servidor de base de datos. La aplicación servidora
coordina y procesa la solicitud y la modificación de datos desde
múltiples clientes.
Hay varios sinonimos para este tipo de aplicaciones: multi-tier,dataset
ditribuidos, dataset remotos y MIDAS.
La tecnologia multi-tier es importante por multitud de razones:
Simplifica la necesidad de configurar las máquinas clientes. |
Permite la carga sobre varios servidores. |
Permite tener las aplicaciones divididas lo que permitira ejecutar dichas partes en máquinas separadas distribuyendo la carga de la aplicación. |
Suministra una arquitectura robusta para atrapar y reportar errores, particularmente en un entorno multi-usuario. |
Permite guardar ficheros localmente y cargarlos cuando deseemos para realizar modificaciones en el servidor |
Son servicios o mecanismos que permiten transmitir conjuntos de datos
entre dos aplicaciones. En la primera versión de MIDAS que apareció
con Delphi 3, el vehiculo de trasmisión era DCOM, aunque podíamos
utilizar un sustituto, tambien basado en COM, denominado OLEENTERPRISE.
Más adelante con la versión 3.01 se incorporo el protocolo
tcp/ip. Con Delphi 4 podemos transmitir conjuntos de datos entre aplicaciones
utilizando indistintamente COM,OLEENTERPRISE,TCP/IP Y CORBA aplicando a
los protocolos COM/DCOM y TCP/IP. En el mecanismo básico de comunicación
mediante midas intervienen dos aplicaciones. Una actúa como servidora
de datos y la otra como cliente. Lo normal es que ambas aplicaciones estén
situadas en diferentes ordenadores, aunque en ocasiones es conveniente
que estén en la misma máquina. Tambien es abitual que el
servidor sea un ejecutable, pero si colocamos el servidor y el cliente
en una misma máquina es aconsejable programar un servidor DLL dentro
del proceso. La comunicación cliente/servidor se establece a través
de un interfaz COM nombrado IdataBroker. Esta interfaz permite el acceso
a un conjunto de proveedores, cada proveedor es un objeto que soporta la
interfaz Iprovider. Los proveedores se sitúan en la aplicación
servidora y cada uno de ellos proporciona acceso al contenido de un conjunto
de datos diferente. Los componentes derivados de la clave abstracta TdispatchConnection
utilizan la interfaz IdataBroker de la aplicación servidora, y ponen
a disposición del resto de la aplicación cliente los punteros
a los interfaces Iprovider. Cada clase concreta deriva de TdispatchConnection
implementa la comunicación mediante un protocolo determinado: TDComConnection,
TsocketConnection, TcorbaConnection y ToleEnterPriseconnection. El componente
TclientDataSet, puede utilizar un interfaz Iprovider extraída de
un TdispatchConnection como fuente de datos. A partir de estos componentes,
la arquitectura de la aplicación es similar a la tradicional, con
conjuntos de datos basados en el BDE.