Arquitectura Cliente-Servidor
En este ensayo nos
introduciremos a la arquitectura cliente-servidor explicando su significado,
sus principales características, las diferentes variantes que existen de esta
arquitectura y al final se mostraran las conclusiones obtenidas luego de la
elaboración de este ensayo. Primero iniciaremos con la definición de
Cliente-Servidor. <Cliente-Servidor es un sistema donde el cliente es una
máquina que solicita un determinado servicio y se denomina servidor a la
máquina que lo proporciona, hay diferentes servicios y pueden ser: Ejecución de
un programa determinado, acceso a un banco de información específico y acceso a
un dispositivo de hardware> (Cinestav, 2017) .
Ahora ya tenemos definido
que ya se tiene definido Cliente-Servidor debemos definir que es Arquitectura y
esta es: Un conjunto de componentes funcionales que aprovechando diferentes
estándares permite integrar una amplia gama de servicios. (Álvarez,
2007)
Entonces la arquitectura cliente
servidor es un modelo de diseño de software en el que las tareas se reparten
entre los proveedores de recursos o servicios y los clientes. En este tipo de
modelo existen muchas variantes en la arquitectura y una de estas es el nivel
llamado middleware el cual se explicara más adelante.
Esta arquitectura se divide
en dos partes, la primera “El servidor” es una máquina que actúa como depósito
de datos y funciona como un sistema gestor de base de datos. Y la segunda son
los clientes que suelen ser estaciones de trabajo que solicitan varios
servicios al servidor. Estas partes están conectada entre sí por una red.
La arquitectura
Cliente-Servidor necesita tres tipos de software para su correcto
funcionamiento:
a. Software
de gestión de datos: Se encarga de la manipulación y gestión de los datos
almacenados y requeridos por las diferentes aplicaciones. Normalmente este
software se aloja en el servidor. (Álvarez, 2007)
b. Software de desarrollo: este tipo de software se
aloja en los clientes y solo en aquellos que se dedique al desarrollo de
aplicaciones. (Álvarez, 2007)
c. Software
de interacción con los usuarios: También reside en los clientes y es la
aplicación gráfica de usuario para la manipulación de datos, siempre claro a
nivel usuario (consultas principalmente). (Álvarez, 2007)
Existen
varios tipos de arquitecturas cliente-servidor, las más conocidas son:
1. De dos capas: Una
capa es de presentación y lógica de la aplicación y la otra de la base de
datos. Se utiliza cuando se tiene una base de datos centrada en un solo
servidor o es relativamente estática, también cuando requiere poco mantenimiento
o un procesamiento de datos mínimo.
2.
De
tres capas: Primera capa es de presentación, la segunda es la lógica y en la
última capa esta la base de datos. Utilizada cuando se requiere separar el
código para un mantenimiento más sencillo, con la tecnológica orientada a
objetos o cuando la funcionalidad se encuentra en constante cambio.
Los
sistemas cliente-servidor se clasifican de acuerdo a su nivel de abstracción
del servicio que ofrecen:
a. Representación
distribuida.- La interacción con el usuario se realiza en el servidor, el
cliente está entre el usuario y el servidor.
b. Representación remota.- La lógica
de la aplicación y la base de datos se encuentran en el servidor y el cliente
recibe los datos para interactuar con el usuario
c. Lógica distribuida.- El cliente
se encarga de la interacción con el usuario y algunas funciones simples. Y el
resto de la aplicación está en el servidor.
d. Gestión remota de datos.- El cliente
realiza la interacción con el usuario y ejecuta la aplicación, el servidor
maneja los datos.
e. Base de datos distribuidas.- El cliente
realiza la interacción con el usuario, ejecuta la aplicación y la ubicación de
los datos.
f. Cliente-servidor
a tres niveles.- El cliente se encarga de la interacción con el usuario, el
servidor de la lógica de aplicación y la base de datos puede estar en otro
servidor.
Retomando
lo que se dijo anteriormente acerca de la variante en la arquitectura llamada
middleware. <El middleware es aquello que abarca todo el software necesario
para el soporte de las interacciones entre clientes y servidores principalmente
en aplicaciones distribuidas. Es el enlace que permite que el cliente obtenga
un servicio del servidor> (Cinestav, 2017).
Algunas
de las características del middleware son: Independización del sistema
operativo y de los protocolos de comunicaciones, permite la convivencia entre
distintos servicios de un mismo sistema y permite la transparencia en el
sistema.
En
conclusión esta arquitectura facilita la creación de los sistemas distribuidos
mediante la aplicación de módulos. Permite el uso de diferentes sistemas en uno
mismo y permite compartir información entre sistemas ya existentes. Mejora el
servicio y la calidad del producto a entregar a los clientes. Crea códigos más
accesibles al entendimiento, tiene una gran facilidad del uso pues es muy
accesible a las demás personas e implementa los mecanismos de seguridad de
autenticación y cifrado. Creo que este tipo de arquitectura es la mejor opción
para realizar un proyecto orientado a objetos y distribuido, es amigable con el
usuario y muestra una estructura sencilla y de fácil entendimiento.
Bibliografía
Alvarez, S. (30 de Agosto de 2007). Manual de
iniciación a la programación. Obtenido de Desarrolloweb:
https://desarrolloweb.com/articulos/arquitectura-cliente-servidor.html
Cinestav. (15 de agosto
de 2017). Cinestav. Obtenido de Tamaulipas:
cinvestav.mx/~vjsosa/clases/sd/sistemas_distribuidos_panorama.pdf
Coulouris, G. (2001). Sistemas
Distribuidos: Conceptos y Diseño. EUA: Pearson Addison-Wesley.
M.L.Liu. (2001). Computacion
Distribuida:Fundamentos y Aplicaciones. EUA: Pearson Addison-Wesley.
Comentarios
Publicar un comentario