Procesamiento cliente-servidor.pdf

7
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

Transcript of Procesamiento cliente-servidor.pdf

Page 1: 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

Page 2: Procesamiento cliente-servidor.pdf

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.

Page 3: Procesamiento cliente-servidor.pdf

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

Page 4: Procesamiento cliente-servidor.pdf

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

Page 5: Procesamiento cliente-servidor.pdf

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

Page 6: Procesamiento cliente-servidor.pdf

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.

Page 7: Procesamiento cliente-servidor.pdf

REFERENCIAS

Mannino V., Michael (2007) Administración de base de datos, diseño y desarrollo de

aplicaciones. México D.F. McGraw Hill