Tecnologías Cliente / Servidor
Capitulo III
Richard Jiménez V.
clienteserver.wordpress.com
(i) Process-per-client architecture.
(ii) Multi-threaded architecture.
(iii) Hybrid architecture
Como su propio nombre revela el proceso del servidor considera
a cada cliente como un proceso independiente y ofrece un
espacio de direcciones independiente para cada usuario.
Cada proceso puede ser asignado a una CPU separada
sobre una máquina SMP, o se puede asignar
los procesos a una agrupación de CPU disponibles.
Como resultado se consume más memoria y recursos de CPU
que otros sistemas y más lentos debido a cambios de contexto
del proceso y la sobrecarga IPC pero el uso de un monitor
de TP puede superar estas desventajas.
El Rendimiento de la arquitectura de procesos-por-cliente
es muy mala cuando se tiene un gran número de los usuarios se
conectan a un servidor de base de datos.
Sin embargo, la arquitectura proporciona la mejor protección
de bases de datos.
Oracle 6, Informix, DB2
Esta arquitectura soporta un gran número de clientes
ejecutando una operación corta en la base de
datos del servidor.
Proporcionar el mejor rendimiento mediante la
ejecución de todas las solicitudes de los usuarios en
un único espacio de direcciones.
Pero no funcionan bien con consultas de gran tamaño.
La Arquitectura multi-threaded conserva memoria y
ciclos de CPU evitando los frecuentes cambios en el
contexto.
Hay más posibilidades de portabilidad e estas
plataformas.
Pero tiene el problemas de que si existe
algún inconveniente con alguna petición del
usuario puede derribar todo el proceso, que
afecta a todos los usuarios y sus solicitudes
En segundo lugar de larga duración de las tareas
de usuario puede monopolizar los recursos,
causando retrasos para otros usuarios. y
la arquitectura no es tan buena en el punto de
vista de protección.
Algunos de los ejemplos
de la arquitectura como son: Sybase, Microsoft
SQL Server, y se ilustra en la figura. 4,5.
La Arquitectura híbrida ofrece un ambiente protegido
para la ejecución de solicitudes de los usuarios sin
asignar un proceso permanente para cada usuario.
También ofrece el mejor equilibrio entre el servidor y
los clientes.
La Arquitectura híbrida Cliente / Servidor de base de
datos está compuesta básicamente de tres
componentes:
1. Multi-threaded network listener: La tarea principal de
ésta es la asignación de la conexión del cliente
a un despachador.
2. Los procesos de Dispatcher: Estos procesos son
los responsables de la colocación de los
mensajes en una cola de mensajes interna y
finalmente enviar de nuevo al cliente cuando la
respuesta regresar de la base de datos.
3. Reutilizables, compartidos, procesos de trabajo:
Son responsable de recoger el trabajo de la cola
de mensaje y ejecutarlo y finalmente coloca la
respuesta en una cola de mensajes de salida.
Oracle 7i, 8i/9i
Como ya hemos discutido en la arquitectura cliente / servidor la
comunicación de software middleware proporciona los medios a
través del cual los clientes y servidores se comunicar para
llevar a cabo acciones específicas.
Este software middleware se divide en tres componentes
principales.
API (Application programming interface) El
programador interactúa con el middleware mediante el
API provisto por el software middleware .
La API de middleware permite que el
programador escriba código genérico de SQL en lugar
de código específico para cada servidor de base de
datos.
En otras palabras, la API de middleware permite que el
proceso del cliente sea independiente de la BD
Esta independencia significa que el servidor puede
ser cambiado sin necesidad de que las aplicaciones
cliente se reescrito por completo.
Traduce las peticiones SQL a la sintaxis especifica del
servidor de base de datos.
La capa de base de datos del traductor toma
la petición genérica SQL y la mapea al protocolo de la
base de datos del servidor SQL.
Dado que un servidor de base de datos podría tener
algún no-estándar características, la capa de base de
datos de traductores pueden optar por traducir la
petición genérica de SQL en
el formato específico utilizado por el servidor de base
de datos.
El traductor de la red administra los protocolos de
comunicación de la red.
Recordemos que el servidor de base de datos
puede utilizar cualquiera de los protocolos de red. Si
una aplicación cliente se nutre de
las dos bases de datos, uno que utiliza el protocolo
TCP / IP y otro que utiliza IPX / SPX
La capa de red se encarga de todos los detalles de
comunicación de cada base de datos de forma
transparente para el cliente
aplicación.
La Figura 4.8 ilustra la interacción entre el cliente y los
componentes middleware de la base de datos.
Descargar

Cliente Server