Procesamiento cliente-servidor.pdf
-
Upload
luis-enrique-quintino -
Category
Documents
-
view
11 -
download
2
Transcript of Procesamiento cliente-servidor.pdf
INSTITUTO TECNOLÓGICO SUPERIOR
DE CIUDAD CONSTITUCIÓN
Procesamiento cliente-servidor, procesamiento de
bases de datos paralelas y bases de datos
distribuidas
Ingeniería en Sistemas Computacionales
Presentan:
Argel Murillo Trasviña
Luis Enrique Quintino Verdugo
Ciudad Constitución, B.C.S
Ciudad constitución a 11 de Abril de 2014
INTRODUCCIÓN
En el presente ensayo daremos un repaso general sobre el procesamiento cliente-
servidor, el procesamiento de base de datos paralelas y los datos distribuidos. El objetivo
que tenemos es que toda aquella persona que lea esta documentación pueda entender en
qué consiste estos tipos de procesamiento, qué beneficios conlleva aplicarlo en el ámbito
empresarial, en qué se diferencia con el procesamiento cotidiano, local y rígido de las
bases de datos, entre otras cuestiones.
Estas tecnologías están teniendo un fuerte auge últimamente debido a que pueden
solventar considerablemente la eficiencia en bases de datos corporativas al dividir las
funciones de una manera clara de todas las entidades involucradas. El único motivo por el
que no se han mudado todas las bases de datos a este tipo de procesamiento puede ser
debido a un incremento en cuanto a la complejidad de requerida para aplicar
apropiadamente este tipo de implementación.
PROCESAMIENTO CLIENTE SERVIDOR, PROCESAMIENTO DE BASES DE
DATOS PARALELAS Y BASES DE DATOS DISTRIBUIDAS
En primera instancia, abordaremos los conceptos propios a la arquitectura cliente-
servidor. En este tipo de arquitectura, existe uno o varios clientes que realizan peticiones y
solicitudes a un servidor (que generalmente se encuentra localizado remotamente). Este
servidor procesa estas solicitudes y devuelve un resultado. El resultado dependerá del tipo
de servidor, ya que existe una infinidad de variaciones. La respuesta del servidor también
puede ser simplemente un rechazo a la solicitud del cliente. El ordenamiento más simple
es dividir el trabajo entre clientes que procesen en computadoras personales y un servidor
que procese en una computadora separada, como se muestra en la siguiente figura:
Figura 1. Arquitectura cliente servidor simple para
procesamiento distribuido
Algunas de las ventajas más fácilmente perceptibles al utilizar este tipo de arquitectura, son la
flexibilidad, la escalabilidad y la interoperabilidad. Definiremos brevemente en qué consiste cada
una de estas características a continuación: la flexibilidad hace referencia a la facilidad con la que
nosotros podemos mantener o hacer modificaciones en sistema o conjunto de sistemas ya
elaborados. La escalabilidad, por otro lado, refiere a la capacidad que tenemos de agregar o
remover nuevas entidades en cualquier lado de la arquitectura cliente-servidor, sin afectar la
operatividad actual de sistema. Por último, la interoperabilidad refiere a la capacidad que existe
entre los diversos hosts involucrados en el sistema de operar entre sí. Para este último paso es
importante el uso de estándares para que las diferentes entidades de software y hardware en
ambos lados (cliente y servidor) puedan trabajar conjuntamente.
A pesar de las ventajas previamente mencionadas, también existen algunas desventajas a
considerar a la hora de incursionar en este tipo de arquitectura. Primeramente cabe mencionar
que existe cierto grado de complejidad a la hora de trabajar con estos sistemas, tanto en el
desarrollo de las aplicaciones involucradas, como en la implementación de los equipos de
software, especialmente porque a veces debe existir comunicación entre sistemas desarrollados e
implementados por diferencias corporaciones. La solución a esto, como mencionamos
previamente, es la correcta implementación de estándares en las interfaces que se encargarán de
las comunicaciones.
En el caso de las bases de datos paralelas, las operaciones necesarias que se soliciten al servidor se
dividen en sub-operaciones que son realizadas por diferentes equipos y sistemas, para así
descongestionar el trabajo en un solo equipo y así hacer más eficiente todos los procesos
necesarios.
Otro tema fundamental que debemos mencionar es el concepto de los datos distribuidos. En esta
estructura, los datos de una base de datos pueden distribuirse remotamente, y entre diferentes
locaciones, siempre a elección del usuario, de acuerdo a las necesidades y a las características
inherentes a cada tipo de dato. Esto añade mayor control y reduce los costos de mantenimiento,
aunque aumenta la complejidad. En la siguiente tabla se resumen las ventajas y desventajas de los
tres conceptos vistos anteriormente:
Figura 2. Resumen de procesamiento distribuido y datos
Para tener una base de datos eficiente es necesario realizar un diseño adecuado. Cuando
se está trabajando en un ambiente cliente-servidor. Los principales conflictos que se
presentan durante el diseño de las bases de datos cliente-servidor son la división de
procesamiento al igual que la gestión del proceso. La división de procesamiento se refiere
a las tareas asignadas mientras que la gestión del proceso, implica la interoperabilidad
entre los clientes y el/los servidores. Quien se encarga de estas actividades es el software
que se le conoce como “middleware”.
La función más importante del middleware es la interoperabilidad. Entre los clientes y
servidores existen plataformas con diferentes sistemas operativos, sistemas gestores de
bases de datos, lenguajes de programación y hardware; por lo tanto, el middleware
permite al cliente y servidor comunicarse entre ellos sin la preocupación de sus
características.
Figura 1. Computación cliente-servidor con middleware
Cuando se está trabajando en un ambiente cliente-servidor se debe describir la división de
procesamiento para diferentes arquitecturas. La arquitectura de dos niveles se
caracteriza por contar con una PC cliente y un servidor de base de datos. El cliente
contiene el código SQL para el acceso a los datos. Por otro lado, el servidor procesa las
peticiones que realiza el cliente y envía los resultados a la PC además de que está
encargado de administrar todos los procesos.
Esta arquitectura es recomendada para sistemas con requerimientos estables donde la
cantidad de clientes sea moderada. Una característica positiva de ésta arquitectura es que
es simple de implementar debido a la cantidad de clientes, sin embargo, tiene su lado
negativo; el mantenimiento del software se torna difícil ya que cada cliente maneja
códigos de lógica diferentes, por lo tanto los cambios necesitan hacerse en cada PC
cliente.
Para mejorar el funcionamiento de una arquitectura de dos niveles y solucionar el
problema que presenta cuando recibe peticiones de múltiples clientes se tiene la
arquitectura de tres niveles. Esta arquitectura agrega un middleware para mejorar la
administración de los procesos. El middleware puede ser de diferentes tipos dependiendo
de las necesidades que se tenga. Si bien, la arquitectura de tres niveles resuelve la
problemática que presenta la arquitectura de dos niveles, no es la más optimizada y sigue
mostrando la misma división del procesamiento. Para mejorar ello, la arquitectura de
múltiples niveles se implementa para dar más flexibilidad a la división de procesamiento.
La arquitectura de múltiples niveles agrega capas de servidores que proporcionan una
división más final de procesamiento. Viene como mejora de las arquitecturas de dos y tres
capaz.
Finalmente se tiene la arquitectura de servicios web, la cual trabaja con arquitecturas de
múltiples niveles. Los servicios web permiten que se reduzca el costo agilizando las
solicitudes de los clientes. Esta arquitectura soporta la interacción entre un proveedor de
servicio, un solicitante de servicio (cliente) y el registro del servicio.
REFERENCIAS
Mannino V., Michael (2007) Administración de base de datos, diseño y desarrollo de
aplicaciones. México D.F. McGraw Hill