210 likes | 445 Views
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor. Gustavo H. Sosa Servicio de Diagnóstico por Imágenes Hospital Italiano. Segunda Parte:. Plataforma Cliente / Servidor. Agenda. Terminología Concurrecia, bloqueos y transacciones Comunicación sincrónica y asincrónica
E N D
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor Gustavo H. Sosa Servicio de Diagnóstico por Imágenes Hospital Italiano
Segunda Parte: • Plataforma Cliente / Servidor
Agenda • Terminología • Concurrecia, bloqueos y transacciones • Comunicación sincrónica y asincrónica • Bases de datos • Redes • RPC • WEB Services
Terminología Cliente / Servidor • Computadoras cliente hacen pedidos a computadoras servidores • Computadoras servidores sirven o responden a estos pedidos • Modelo computacional donde aplicaciones en computadoras de escritorio o PCs acceden a información en servidores remotos y hosts. • Aplicación cliente optimizada para interacción con el usuario • Aplicación servidora provee funcionalidad centralizada para múltiples usuarios
Otro concepto • Relación pedido / servicio al pedido, independientemente de la ubicación física • Servicio: unidad de lógica de aplicación que implementa operaciones, funciones o transformaciones • Capas: conjunto lógico de servicios (usuario, negocios, datos)
Modelo de dos capas • Primer separación de la lógica de acceso a datos de la aplicación del cliente • Motor de base de datos y procedimientos almacenados en el servidor • Lógica de negocios en el cliente • Aplicaciones con moderado número de clientes conectados mediante una red LAN o WAN Capa de Presentación al Cliente y lógica Capa de Almacenamientoy Datos LAN / WAN
Capa de Presentación al Cliente Modelo de tres capas • Modelo para aplicaciones con gran crecimiento • Servicios de usuario en el equipo cliente • Servicios de lógica de negocios en servidores con funcionalidad multiusuario • Servicios de acceso a datos en el servidor de base de datos • Soportan gran número de clientes conectados mediante redes LAN / WAN o Internet Capa de Almacenamientoy Datos Capa de Negocios LAN / WAN Internet
Infraestructura • Computadora servidor con funcionalidad multiusuario • Software que soporta acceso concurrente a servicios compartidos (negocios y datos) • RDBMS • Monitores de transacciones o servidores de objetos que proveen servicios de lógica compartidos • En aplicaciones de Internet / Intranet, servicios WEB que proveen la interfaz de usuario a través de páginas descargadas al browser
Concurrencia y bloqueos • Varios clientes pueden querer acceder y modificar el mismo recurso al mismo tiempo • No pueden “mezclarse” sus acciones para mantener el recurso consistente • Cuando un cliente va a modificar un recurso, este se bloquea y ningún otro podrá accederlo para modificación hasta que el primero termine. • Bloqueos lo más cortos posible
Transacciones • Si un cliente va a modificar más de un recurso en una sola acción, deben cumplirse todas estas modificaciones o ninguna • Transacciones entre distintos tipos de recursos: distribuidas • Administradores de recursos • RDBMS • Servidores de mensajería • Sistemas de archivos
Mensajes • Comunicación entre aplicaciones • Escenarios: Una aplicación envía un mensaje a otra y: • Espera una respuesta inmediata • Espera la respuesta dentro de un período de tiempo, pero realiza otras tareas mientras tanto • No espera respuesta
Comunicación sincrónica • La aplicaión que envía el mensaje espera la respuesta de la aplicación receptora antes de seguir con su proceso • Requiere que la comunicación física y lógica esté disponible, de lo contrario se produce un error y, si existía una transacción, se aborta Aplicación servidor Aplicación cliente Sistema completo
Comunicación asincrónica • Una aplicaión que envía un mensaje y continúa su procesamiento sin esperar respuesta de la aplicación receptora • El mensaje va a una cola o repositorio hasta que la aplicación receptora pueda procesarlo • No requiere que el vínculo físico esté disponible en el momento del envío del mensaje Aplicación receptora Aplicación enviadora Cola de mensajes Sistema completo
Colas de mensajes • Ventajas • Son más tolerantes a fallos que los modelos sincrónicos • Permiten el trabajo desconectado • Desventajas • Son intrinsecamente más lentas que las comunicaciones sincrónicas • Es responsabilidad de la aplicación que envía el mensaje hacer su seguimiento y eventualmente tomar alguna acción basada en el resultado de la transacción
Bases de Datos • Casi todas las aplicaciones requieren almacenamiento persistente de información • Los datos se guardan estructuradamente en un repositorio centralizado • El motor de base de datos es el servicio centralizado capaz de manejar los datos almacenados y atender los requerimientos multiusuario
Redes • Medio físico de conexión entre equipos • Conjunto de equipos interconectados • Ambiente fundamental para la plataforma cliente / servidor • Diversos protocolos de comunicación
Procedimientos Remotos - RPC • Protocolo de llamada a procedimientos entre distintas aplicaciones • Interfaz binaria entre aplicaciones • Eficiente y confiable en ambiente LAN y WAN • Muy dificultosa implementación en Internet
Componentes Distribuidos • Porciones de software independientes, instalados en uno o más equipos, que prestan servicios o funcionalidad a otros componentes o aplicaciones • COM • CORBA • SOAP
WEB Services • Servicios que exponen una interfaz no binaria compatible con los estándares de Internet • XML y SOAP • Servicios disponibles en servidores WEB utilizables por otras aplicaciones WEB mediante http • Permiten aplicaciones distribuidas en la Internet