Profesor: Mg. Enrique Larios V.
SESIÓN 8
Procesamiento y Comunicación en Sistemas Distribuidos
Arquitectura de Computadoras y Sistemas Operativos para
Telecomunicaciones
AGENDA
• Definición y concepto• Clasificación• Procesos cliente/servidor• Llamadas a procesos remotos – RPC• Desarrollos Web • Bibliografía
Definición y concepto Un sistema distribuido es aquel en el que dos o más
máquinas colaboran para la obtención de unresultado.
En todo sistema distribuido se establecen una ovarias comunicaciones siguiendo un protocoloprefijado mediante un esquema cliente-servidor.
Definición y concepto En un esquema cliente-servidor, se denomina
cliente la máquina que solicita un determinadoservicio y se denomina servidor la máquina que loproporciona.
El servicio puede ser la ejecución de undeterminado algoritmo, el acceso a determinadobanco de información o el acceso a un dispositivohardware.
Definición y concepto Por extensión, se puede aplicar el esquema cliente-
servidor dentro de una misma máquina, donde elproceso servidor y el proceso cliente son dosprocesos independientes que corren dentro de lamisma instancia del sistema operativo.
Es por tanto un elemento primordial para que hayaun sistema distribuido, la presencia de un mediofísico de comunicación entre ambas máquinas, yserá la naturaleza de este medio la que marque enmuchos casos la viabilidad del sistema.
Clasificación Se clasifican los sistemas cliente servidor de
acuerdo al nivel de abstracción del servicio que seofrece. Se distinguen tres componentes básicos desoftware: Interacción con el usuario Lógica de Aplicación Repositorio de datos
Clasificación 1. Representación distribuida. La interacción con el
usuario se realiza básicamente en el servidor. Elcliente hace de pasarela, de sistema de acceso alos elementos hardware pantalla y teclado.
Base de datosLógica de aplicaciónInterfase de usuario
Terminal físico
Clasificación 2. Representación remota. Los datos se envían sin
formatear, y es el cliente el responsable deformatear los datos y realizar las acciones deinteracción con el usuario. En este caso, laaplicación y la base de datos se encuentran en elservidor
Base de datosLógica de aplicaciónInterfase avanzado de usuario
Terminal inteligenteInterfase básico de usuario
Clasificación 3. Lógica distribuida. En el cliente se llevan a cabo
la interacción con el usuario y la parte más trivial dela lógica de la aplicación. En este caso, se llevan acabo controles básicos de rango de campos,campos obligatorios, etc, mientras que el grueso dela lógica permanece en el servidor.
Base de datosLógica de aplicación
PC Desk TopLógica básica de aplicaciónInterfase de usuario
Clasificación 4. Gestión remota de datos. Tanto la interacción
con el usuario como la aplicación residen en elcliente, siendo el servidor el depositario de losdatos.
Base de datos PC Desk TopLógica de aplicaciónInterfase de usuario
Clasificación 5. B.D. Distribuidas. El cliente debe conocer la
topología de la red, así como la disposición yubicación de los datos. En este caso, se delegaparte de la gestión de base de datos a los clientes.
Base de datos
PC Desk TopDistribución de datosLógica de aplicaciónInterfase de usuarioBase de datos
Clasificación Cliente servidor a tres niveles (three tier). La
aplicación se distribuye en los tres niveles:aplicación, datos e interfase de usuario
Base de datos
PC Desk TopInterfase de usuario
Lógica de aplicación
Proceso cliente/servidor Las máquinas cliente son, en general, PC
monousuario o puestos de trabajo que ofrecen unainterfaz muy amigable para el usuario final.
Cada servidor ofrece una serie de servicios deusuario compartidos a los clientes.
El servidor permite a los clientes compartir elacceso a la misma base de datos y permite el usode un sistema de computación de alto rendimientopara gestionar la base de datos.
ServidorEstación de trabajo(cliente)
Entorno genérico cliente/servidor.
LAN o WAN o Internet
Aplicaciones cliente/servidor El software básico es un sistema operativo que se
ejecuta en la plataforma del hardware. Las plataformas y los sistemas operativos del cliente
y del servidor pueden ser diferentes. Estas diferencias de niveles inferiores no son
relevantes en tanto que un cliente y un servidorcompartan los mismos protocolos de comunicación ysoporten las mismas aplicaciones.
Arquitectura genérica cliente/servidor.
Servidor
Estación de trabajocliente
Servicios depresentación
Software de comunicaciones
Sistema operativocliente
Plataforma hardware
Software decomunicaciones
Sistema operativocliente
Plataforma hardware
Petición
Respuesta
Interacciónde protocolos
Lógica de aplicación (parte del cliente)
Lógica de aplicación (parte del cliente)
Arquitectura genérica cliente/servidor
Aplicaciones cliente/servidor Las funciones reales de la aplicación pueden
repartirse entre cliente y servidor de forma que: Se obtienen los recursos de la red y de la
plataforma. Se optimiza la capacidad de los usuarios para
realizar varias tareas. Se optimiza la capacidad para cooperar el uno
con el otro en el uso de recursos compartidos.
Aplicaciones de bases de datos El servidor es un servidor de base de datos. La interacción entre el cliente y el servidor se hace
en forma de transacciones: El cliente realiza una petición a la base de datos
y recibe una respuesta de aquella. El servidor es responsable de mantener la base de
datos.
Servicios de presentación
Lógica deaplicación
Software decomunicaciones
Sistema operativocliente
Plataformahardware
Estación de trabajo cliente
Petición
Respuesta
Interacción de protocolo
Software decomunicaciones
Sistema gestorde base de datos
Sistema operativo servidor
Plataforma hardware
Servidor
Lógica de basede datos Lógica de base de datos
Arquitectura c/s para aplicaciones de base de datos.
Utilización de bases de datos cliente/servidor
Servidor
Cliente
Base de datosde 1.000.000de registros
Consulta inicial
100.000 registros posibles
Consulta siguiente
100.000 registros posibles
Consulta final
Un registro devuelto
(a) Cliente/servidor bien empleado
Cliente
Servidor
Base de datosde 1.000.000de registros
Consulta
300.000 registros devueltos
(b) Cliente/servidor mal empleado
Utilización de bases de datos cliente/servidor
Arquitectura cliente/servidor de tres capas El software de aplicación está distribuido entre tres
tipos de máquinas: Máquina de usuario: Cliente delgado.
Servidor de capa intermedia: Pasarelas. Convierte protocolos. Mezcla e integra resultados de distintas fuentes de
datos. Servidor final (backend).
Cliente
Servidor de capa intermedia(servidor de aplicaciones)
Servidores finales(servidores de datos)
Arquitectura c/s en capas
Middleware Conjunto de herramientas que proporcionan una
manera uniforme de acceder a los recursos delsistema en todas las plataformas.
Herramienta o conjunto de herramientas que nospermitirán gestionar y coordinar los mecanismos decomunicación Permite a los programadores
construir aplicaciones que parezcan las mismas. utilizar el mismo método de acceso a los datos. Independiza el servicio y su implementación, del S.O. y
protocolos de comunicaciones Permite la convivencia de distintos servicios en una misma
máquina
Middleware Middleware
Estación de trabajo cliente
Servicio de presentación
Lógica de aplicación
Software de comunicaciones
Sistema operativocliente
Plataforma hardware
Servidor
Software de comunicaciones
Servicios de aplicación
Sistema operativo servidor
Plataforma hardware
Interacción de ´Middleware
Interacción de protocolos
El papel del middleware en la arquitectura cliente/servidor
Aplicación Aplicación
Plataforma:SOHardware
Plataforma:SOHardware
Interfaz con plataforma
API
Middleware(Servicios del sistema distribuido)
Visión lógica del middleware
Ejemplo de la funcionalidad del middleware
Ejecutando sobre la DECnet y en los PChay aplicaciones y
middlewareRedNovell
Redcentral
RedTCP/IP
DECnetLAN
VMS ejecutando
en VAX
Estacionesde trabajo
Puente
Servidor de terminales
Ejecutando en la red Novell hay aplicaciones, middleware, software de
red Novell y OS/2 de IBM
Ejecutando sobre la red local TCP/IP hay aplicaciones,
middleware, softwareTPC/IP y UNIX
Paso distribuido de mensajes El paso de mensajes se utiliza para comunicar
procesos. Se envían y reciben mensajes, tal y como se hace
en un sistema único. Llamadas a procedimiento remoto.
Primitivas básicas de paso de mensajes
Proceso emisor
Proceso receptor
Módulo de pasode mensajes
Módulo de pasode mensajes
IDProceso Mensaje
Fiabilidad frente a no fiabilidad Un servicio de paso de mensajes fiable garantiza la
entrega, siempre que sea posible. No es necesario hacer que el proceso emisor
sepa que se entregó el mensaje. Puede enviar el mensaje a la red de
comunicaciones sin informar de su éxito ni de sufracaso: Reduce la complejidad y la sobrecarga.
Bloqueante frente a no bloqueante No bloqueante: Un proceso no queda suspendido como resultado
de un Send o un Receive. Ofrece un empleo eficiente y flexible. Los programas son difíciles de depurar.
Bloqueante: Un Send bloqueante no devuelve el control al
proceso emisor hasta que el mensaje se hayatransmitido.
O no devuelve el control hasta que se hayaobtenido un acuse de recibo.
Un Receive bloqueante no devuelve el controlhasta que el mensaje se haya ubicado en elbuffer asignado.
Llamadas a procedimiento remoto Permite que programas de máquinas diferentes
interactúen mediante la semántica dellamadas/retornos a simples procedimientos.
Es un enfoque muy aceptado. Como la interfaz es estándar: Los módulos clientes y servidores pueden
trasladarse entre computadores y sistemasoperativos fácilmente.
Aplicacióncliente
Aplicación local o
sistema operativo
Presentación local
MecanismoRPC
Aplicación deservidor remoto
Mecanismo RPC
Presentaciónlocal
Respuestalocal
Respuestalocal
Respuestalocal
Llamada a proce-dimiento
local
Llamada a proce-dimiento
local
Llamada a procedimiento remoto
Llamada a procedimiento remoto
Mecanismo de llamada a procedimiento remoto
Enlace cliente/servidor El enlace especifica la relación entre un
procedimiento remoto y el programa llamador. Enlaces no persistentes: La conexión lógica se establece entre dos
procesos en el momento de la llamada remota. Enlaces persistentes: Una conexión se mantiene después de que el
procedimiento termina.
Sincronismo frente a asincronismo RPC síncrona: Las llamadas tradicionales a procedimiento
remoto son síncronas, lo que requiere que elproceso llamador espere hasta que el procesollamado devuelva un valor.
Se comporta de manera muy parecida a unallamada a subrutina.
RPC asíncrona: No bloquea al llamador. Permite que un cliente invoque repetidamente a
un servidor, generando una serie de peticiones deuna vez .
Mecanismos de Orientación a Objetos Un cliente que necesita un servicio envía una
petición a un agente de servicio de objetos. El agente: Actúa como un directorio de todos los servicios
disponibles en la red. Llama al objeto adecuado y le pasa los datos
relevantes El objeto remoto atiende la petición y responde al
agente, quien devuelve la respuesta al cliente.
Mecanismos de orientación a objetos
Solicitadorde objetosremotos
Agente desolicitudesde objetos
Servidorde objetos
Aplicación
Cliente Servidor
Solicitudesy respuestasde objetos
Solicitudesy respuestasde objetos
Tran
spor
te
Transporte
Red
Tran
spor
te
Red
Red
(c) Agentes de solicitud de objetos (ORB)
Desarrollos Web Caso particular de desarrollo cliente servidor con
representación remota, en la cual disponemos deun protocolo standard: HTTP y un middlewaredenominado WebServer.
Cada página puede desencadenar la solicitud denumerosos peticiones adicionales para finalizar elproceso de representación remota.
Se dispone de un lenguaje standard de definición yformateo de páginas: HTML
Desarrollos Web Incrustación de la lógica de aplicación en el servidor
Web: CGI: Common Gateware Interface
Cada petición HTTP genera un nuevo proceso, el cual analizala solicitud y genera un resultado. Cada proceso correspondea una transacción.
Es flexible, ideal para pequeñas aplicaciones de uso reducido No escala adecuadamente
Páginas ASP: Caso particular de CGI Entorno propietario Microsoft Aspectos de rendimiento bastante mejorados
Desarrollos Web Incrustación de la lógica de aplicación en el servidor
Web Servlets: Ejecución de aplicaciones Java en el
servidor que procesan la petición y generan lapágina de respuesta No generan un proceso adicional por cada petición Utilizan un lenguaje de alto nivel (Java)
Objetos CORBA: Permite la integración de objetos CORBA con el servidor Web,
creando una estructura cliente servidor multinivel Es la solución más generalista y adaptable Permite fácil, flexible y eficiente integración con BBDD
Desarrollos Web Esquema general
Navegador
Web Server
ServletMáquina virtual
Java
ConectorCORBA
ServidorCORBA
Procesos CGI
HTTP
Parámetrosproceso
CORBA
RMIBase de datos
Nuevos tipos de dispositivos Dispositivos que acceden hoy a internet: Internet Explorer, Netscape, Set Top Box, Móviles
WAP, PDAs Palm Pilot, Windows CE, ...
Nuevos tipos de dispositivos Problema a resolver: Necesidad de adaptar la interfase de usuario a
cada tipo de dispositivo Medidas a tomar: Separar la lógica de aplicación de la interfase de
usuario Utilizar métodos estándar de comunicación entre
la lógica de aplicación y la interfase de usuario Uso de herramientas que permitan adaptar
rápidamente las aplicaciones a los nuevos tiposde dispositivos que irán apareciendo
Nuevos tipos de dispositivos Tendencia actual
Navegador
Web Server
Páginas HTML
Servidor Aplicaciones Lógica de negocio
DatosBase de datos
Interfase de usuario
Gestor comunicaciones
UsuarioMóvil
WAP Server
Páginas WML
SQL
XML
- -
Wml binariohttp
Nuevos tipos de dispositivos Variante de los fabricantes BBDD
Navegador
Web Server
Páginas HTML
Lógica de negocio
DatosBase de datos
Interfase de usuario
Gestor comunicaciones
UsuarioMóvil
WAP Server
Páginas WML
XML
- -
Wml binariohttp
Nuevos tipos de dispositivos Variante de los fabricantes pasarelas
Navegador
Web Server
Páginas HTML Lógica de negocio
DatosBase de datos
Interfase de usuario
Gestor comunicaciones
UsuarioMóvil
WAP Server
Reglas de traducción WML
SQL
- -
Wml binariohttp
Interfase de usuario
51
BibliografíaLibro Descripción
Operating system concepts
Silberschatz, Abraham
Modern Operating Systems
Tanenbaum, Andrew S.
Sistemas OperativosMg. Oporto Díaz, Samuel
Gracias por su atención
Top Related