2. Introducción a la arquitectura en sistemas distribuidas
Conceptos - Arquitectura
La arquitectura es el arte o disciplina, donde empleando
distintas técnicas se pueden planear, proyectar, diseñar y
realizar edificios y monumentos (Cualquier cosa). A
través de ella se pueden llegar a una organización del
espacio dándole a éste su valor pleno, se trata de
otorgarle forma, utilidad y belleza al ambiente físico,
para poder cubrir y satisfacer ciertas necesidades que
experimentan los seres humanos.
3. Introducción a la arquitectura en sistemas distribuidas
Conceptos - Arquitectura
5. Arquitectura de Sistemas Centralizado
Arquitectura de Sistemas Distribuidos
En las arquitecturas centralizadas, la relación entre los
componentes sigue un patrón muy característico, en el que hay
una jerarquía definida de manera tal que ciertos componentes
requieren información o servicios que otros ofrecen.
A este tipo de aplicaciones, que concentran
todas las lógicas funcionales del software
(presentación, negocio y acceso a datos) en un
mismo componente se les denomina
aplicaciones monolíticas
7. Arquitectura de Sistemas Centralizado
• Un procesador central que ejecuta todas las aplicaciones
• Recursos locales compartidos
• Alta seguridad y confiabilidad de los datos
• Administración única del sistema
• Políticas de seguridad y acceso bien definidas y homogéneas
• Alto coste de procesadores y dispositivos de almacenamiento
• Dependencia del Centro de Proceso de Datos
• Un único sistema operativo
Arquitectura de Sistemas Distribuidos
11. Modelo Cliente Servidor
Desde el punto de vista funcional, se puede definir la arquitectura Cliente/Servidor
como un esquema distribuido el cual permite a los usuarios finales obtener acceso a la
información en forma transparente aún en múltiples plataformas
Sistemas Distribuidos
13. Es el proceso encargado de atender a múltiples clientes que hacen
peticiones de algún recurso administrado por él.
Al proceso servidor se le conoce con el término back-end. El servidor
normalmente maneja todas las funciones relacionadas con la mayoría de
las reglas del negocio y los recursos de datos.
Arquitectura de Sistemas Distribuidos
Modelo Cliente Servidor
Servidor
14. Funciones
• Procesar requerimientos de bases de datos.
• Formatear datos para trasmitirlos a los clientes.
• Procesar la lógica de la aplicación
• Realizar validaciones a nivel de bases de datos.
• Acceso, almacenamiento y organización de datos
• Administración de recursos compartidos
• Ejecución de toda la lógica para procesar una transacción
• Etc……………………
Modelo Cliente Servidor
Servidor
Arquitectura de Sistemas Distribuidos
16. Modelo Cliente Servidor
Cliente
El cliente es el proceso que permite al usuario formular los requerimientos y pasarlos
al servidor, se le conoce con el término front-end
El Cliente normalmente maneja todas las funciones relacionadas con la manipulación y
despliegue de datos, por lo que están desarrollados sobre plataformas que permiten
construir interfaces gráficas de usuario (GUI), además de acceder a los servicios
distribuidos en cualquier parte de una red.
Sistemas Distribuidos
17. Modelo Cliente Servidor
Cliente (Funciones)
• Administrar la interfaz de usuario.
• Interactuar con el usuario.
• Procesar la lógica de la aplicación y hacer validaciones locales.
• Generar requerimientos de bases de datos.
• Recibir resultados del servidor.
• Formatear resultados.
• Mantener y procesar todo el dialogo con el usuario
• Manejo de pantallas
• Menús e interpretación de comandos
• Entrada de datos y validación
Sistemas Distribuidos
18. Modelo Cliente Servidor
Características Físicas
Características del cliente
la capacidad de los ordenadores personales para realizar, sobre todo, los servicios de
presentación y algunos procesos de acceso a datos locales.
Sistemas Distribuidos
19. Modelo Cliente Servidor
Características Físicas
Características del servidor
Memoria – Disco Duro – Procesadores – Rac´s – Disipadores o
reguladores de temperatura
Sistemas Distribuidos
20. Modelo Cliente Servidor
Características Físicas
Características de la comunicación
Para la comunicación de todos estos elementos se emplea un sistema de red que transmite la
información entre clientes y servidores.
• Medio
• Cableado (coaxial, par trenzado, fibra óptica, etc.)
• Inalámbrica radio o infrarrojas
• Dependiendo del tamaño
• (LAN ,MAN, WAN)
Sistemas Distribuidos
21. Modelo Cliente Servidor
Características Lógicas
• Protocolos asimétricos: hay una relación muchos a uno entre los clientes y un servidor. Los
clientes siempre inician un diálogo mediante la solicitud de un servicio. Los servidores esperan
pasivamente por las solicitudes de los clientes.
Sistemas Distribuidos
Server Server
22. Modelo Cliente Servidor
Características Lógicas
• Encapsulación de servicios: El servidor es un especialista, cuando se le entrega un mensaje
solicitando un servicio, el determina cómo conseguir hacer el trabajo. Los servidores se pueden
actualizar sin afectar a los clientes en tanto que la interfaz pública de mensajes que se utilice
por ambos lados, permanezca sin cambiar.
Sistemas Distribuidos
23. Modelo Cliente Servidor
Características Lógicas
• Integridad: el código y los datos de un servidor se mantienen centralizados, lo
que origina que el mantenimiento sea más barato y la protección de la
integridad de datos compartidos. Al mismo tiempo, los clientes mantienen su
independencia y autonomía.
Sistemas Distribuidos
24. Modelo Cliente Servidor
Características Lógicas
• Modularidad, diseño extensible: el diseño modular de una aplicación
Cliente/Servidor permite que la aplicación sea tolerante a fallos.
Sistemas Distribuidos
25. Modelo Cliente Servidor
Características Lógicas
• Independencia de la plataforma: el software Cliente/Servidor "ideal" es
independiente del hardware o sistemas operativos, permitiendo al programador
mezclar plataformas de clientes y servidores. El entorno de explotación de clientes
y servidores puede ser sobre diferentes plataformas, con el fin de optimizar el tipo
de trabajo que cada uno desempeña.
• Código reutilizable: La implementación de un mismo servicio puede utilizarse en
varios servidores.
Sistemas Distribuidos
26. Modelo Cliente Servidor
Características
• Escalabilidad: Los sistemas Cliente/Servidor pueden ser escalados horizontal o
verticalmente. El escalado horizontal significa añadir o eliminar estaciones clientes con
un ligero impacto en el rendimiento mientras que el escalado vertical significa la
migración a una máquina físicas con mejores características o la incorporación de
nuevas máquinas servidoras.
• Recursos compartidos: un servidor puede proporcionar servicios a muchos clientes al
mismo tiempo, y regular el acceso de éstos a un conjunto de recursos compartidos
Sistemas Distribuidos
28. Modelo Cliente Servidor
Tipos de Servidores
Servidor de archivos: almacena varios tipos de archivo y los distribuye a otros
clientes en la red. Pueden ser servidos en distinto formato según el servicio que
presten y el medio.
Ejemplos:
• FTP, HTTP, etc
• Servidor de archivos NFS(Unix)
Sistemas Distribuidos
29. Modelo Cliente Servidor
Tipos de Servidores
Servidor de impresión: controla una o más impresoras y acepta trabajos de impresión de otros
clientes de la red, poniendo en cola los trabajos de impresión (aunque también puede cambiar la
prioridad de las diferentes impresiones),
Ejemplos:
Sistemas Distribuidos
30. Modelo Cliente Servidor
Tipos de Servidores
Servidor de correo: almacena, envía, recibe, en ruta y realiza otras operaciones relacionadas con el
correo-e (e-mail) para los clientes de la red.
Ejemplos:
Sistemas Distribuidos
31. Modelo Cliente Servidor
Tipos de Servidores
Servidor de telefonía: realiza funciones relacionadas con la telefonía, como es la de contestador
automático, realizando las funciones de un sistema interactivo para la respuesta de la voz,
almacenando los mensajes de voz, encaminando las llamadas y controlando también la red o
Internet, etc. Pueden operan con telefonía IP o analógica.
Ejemplos:
Sistemas Distribuidos
32. Modelo Cliente Servidor
Tipos de Servidores
Servidor proxy: Permite administrar el acceso a Internet en una red de
computadoras permitiendo o negando el acceso a diferentes sitios web, basándose
en contenidos, origen/destino, usuario, horario, etc.
33. Modelo Cliente Servidor
Tipos de Servidores
Servidor de acceso remoto (Remote Access Service, RAS): controla las líneas de módems u otros
canales de comunicación de la red para que las peticiones conecten una posición remota con la red,
responden las llamadas telefónicas entrantes o reconocen la petición de la red y realizan los chequeos
necesarios de seguridad y otros procedimientos necesarios para registrar a un usuario en la red.
Gestionan las entradas para establecer la redes virtuales privadas (VPN).
34. Modelo Cliente Servidor
Tipos de Servidores
Servidor web: almacena documentos HTML, imágenes, archivos de texto, escrituras,
y demás material web compuesto por datos (conocidos normalmente como
contenido), y distribuye este contenido a clientes que la piden en la red.
Ejemplos:
35. Modelo Cliente Servidor
Tipos de Servidores
Servidor de streaming: servidores que distribuyen multimedia de forma continua evitando al
usuario esperar a la descarga completa del fichero. De esta forma se pueden distribuir contenidos
tipo radio, vídeo, etc. en tiempo real y sin demoras.
Ejemplos:
36. Modelo Cliente Servidor
Tipos de Servidores
Servidor de reserva (standby server): tiene el software de reserva de la red
instalado y tiene cantidades grandes de almacenamiento de la red en discos duros
u otras formas del almacenamiento disponibles para que se utilice con el fin de
asegurarse de que la pérdida de un servidor principal no afecte a la red. El servidor
de reserva lo puede ser de cualquiera de los otros tipos de servidor, siendo muy
habituales en los servidores de aplicaciones y bases de datos.
37. Modelo Cliente Servidor
Tipos de Servidores
Servidor de autenticación: es el encargado de verificar que un usuario pueda conectarse a la red en
cualquier punto de acceso, ya sea inalámbrico o por cable, basándose en el estándar 802.1x y puede
ser un servidor de tipo RADIUS.
Ejemplos:
38. Modelo Cliente Servidor
Tipos de Servidores
Servidores para los servicios de red: estos equipos gestionan aquellos servicios necesarios propios
de la red y sin los cuales no se podrían interconectar, al menos de forma sencilla. Algunos de esos
servicios son:
• servicio de directorio para la gestión de los usuarios y los recursos compartidos
• Dynamic Host Configuration Protocol (DHCP) para la asignación de las direcciones IP en redes
TCP/IP,
• Domain Name System (DNS) para poder nombrar los equipos sin tener que recurrir a su dirección
IP numérica, etc.
39. Modelo Cliente Servidor
Tipos de Servidores
Servidor de base de datos: permite almacenar la información que utilizan las aplicaciones de todo
tipo, guardándola ordenada y clasificada y que puede ser recuperada en cualquier momento y en
base a una consulta concreta. Estos servidores suelen utilizar lenguajes estandarizados para hacer
más fácil y reutilizable la programación de aplicaciones.
Ejemplos
40. Modelo Cliente Servidor
Tipos de Servidores
Servidor de aplicaciones: ejecuta ciertas aplicaciones. Usualmente se trata de un
dispositivo de software que proporciona servicios de aplicación a las computadoras
cliente. Un servidor de aplicaciones gestiona la mayor parte (o la totalidad) de las
funciones de lógica de negocio y de acceso a los datos de la aplicación. Los
principales beneficios de la aplicación de la tecnología de servidores de aplicación
son la centralización y la disminución de la complejidad en el desarrollo de
aplicaciones.
43. Arquitectura de Sistemas Distribuidos
• Varios procesadores ejecutándose en sitios diferentes
• Existencia de uno o varios canales de comunicación que permitan comunicar los
procesadores
• Solo determinados recursos locales son compartidos
• Dispersión de los datos entre diferentes sistemas lo que obliga a utilizar protocolos
seguros al colocarlos en el canal de comunicación
• Administración del sistema distribuida
• Políticas de seguridad y acceso diversas
• Independencia del Centro de Proceso de Datos
• Diferentes sistemas operativos
Arquitectura de Sistemas Distribuidos