Sistemas Distribuidos

Slides:



Advertisements
Presentaciones similares
Arquitectura de una red MAN
Advertisements

Sistema de Información Cultural, CONACULTA México, 2006 SiC / RENiC Aspectos técnicos relevantes para un Sistema de Información (SI)
1 PRINCIPALES INDICADORES DEL DESARROLLO DE LA SOCIEDAD DE LA INFORMACIÓN EN GALICIA CUADRO DE MANDO Apartado: Empresas Septiembre de 2004.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS ( Resumen PYMES ) Noviembre de 2004.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS (MICROEMPRESAS, resultados provisionales) 29 de julio de 2004.
Internet y tecnologías web
En primer lugar presentarme…
Servidores Web Capítulo 2.
© 2007 Cisco Systems, Inc. All rights reserved. Traducido en apoyo a la capacitación de Instructores de la Red Proydesa Comunicación por la red Fundamentos.
Noveno Semestre UNIDEC
1 Reporte Componente Impacto Por Orden Territorial Por Departamento No Disponible ND *Los indicadores para el año 2008 no fueron calculados.
I T S S P LIC INFORMATICA SISTEMAS OPERATIVOS WINDOWS 2003 SERVER DOCENTE: L.I RAMIRO ROBLES VILLANUEVA ALUMNOS: ROGELIO CHAIDEZ CORDOBA ZENON ESTRADA.
Base de Datos Distribuidas Bases de Datos II Universidad Argentina J. F. Kennedy - Año 2008 Maletin Yahoo => briefcase.yahoo.com Usuario => bd2_jfk Pssw.
Phone2Wave-Server Manual de Operación.
Universidad Nacional Autónoma de Honduras
Aplicaciones Cliente-Servidor
Aplicación informática. formando parte de una red. pone sus recursos a disposición de las demás computadoras(clientes) de la red. Maneja información.
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
INTRODUCCIÓN A JAVA.
Servicios Web.
ATeDis Tecnologías de Apoyo y Ayudas Técnicas
Trascendencia de este curso Curso Introducción a la Computación 1
Experiencia e innovación
"java del lado del servidor" Servlet y JSP Java Server Pages.
50 principios 1. Los clientes asumen el mando.
Guia Diseño Robert Echeverria
Compartir Informacion Compartir Hardware y Software
Java 2 Platform Enterprise Edition
Proyecto Fin de Carrera E.T.S. Ingeniería Informática 26 de Septiembre de 2006 DESARROLLO DE UN COMPONENTE TECLADO ALUMNO: Fco. Javier Sánchez Ramos TUTORES:
Ingeniería del Software
Reunión de los requerimientos de la red
APENDICE TEMA 4. MÉTRICA DE LOS PUNTOS DE FUNCIÓN
Mecanismo de petición y respuesta Prof. Manuel Blázquez Ochando
PROYECTO MEJORA DE PROCESOS
AUDITORIA DE LA SEGURIDAD en Telecomunicaciones y redes de computadoras Unidad VI.
Aspectos básicos de networking: Clase 5
Página 1 Indicadores de Desempeño de los Fondos de Aportaciones Federales del Ramo 33 Subsecretaría de Egresos Unidad de Política y Control Presupuestario.
HERRAMIENTAS CASE.
Aplicaciones Web con Oracle y XML 5 años de experiencias Universidad de las Islas Baleares Centro de Tecnologías de la Información Daniel López.
“Android – Hola Mundo” Rogelio Ferreira Escutia. 2 Creación del Proyecto.
1 LOS PROBLEMAS DE DISEÑO EN INGENIERÍA: CONCEPTO Y FORMULACIÓN NELSON VÍLCHEZ UNIVERSIDAD TECNOLÓGICA DEL CENTRO COORDINACIÓN DE INGENIERÍA.
Direccionamiento de la red: IPv4
Arquitectura Web.
OMAR SANCHEZ ROBLES HECTOR PEREZ GARCIA. “Sistemas de cómputo compuesto por un gran número de CPU´s conectados mediante una red de alta velocidad”, Tanenbaum.
Servicios Web. Servicios web Son programas con funcionalidad accesible a través de protocolo http que permiten la ejecución remota de métodos y funciones.
Arquitectura de una aplicación
U I B 20/01/1999 Sistemas distribuidos 1 Sistemas Distribuidos Ingeniería del Software III Gabriel Buades Enero
Desarrollo de aplicaciones para ambientes distribuidos
Introduccion Bases de Datos Distribuidas
Un sistema de gestión de bases de datos: Es un conjunto de programas que permite a los usuarios crear y mantener una base de datos. Por tanto, el SGBD.
Servidores Conceptos Generales.
Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)
Universidad Nacional de San Juan Facultad de Ciencias Exactas, Físicas y Naturales “WEB SERVICES” Integrantes: Ene Adriana Guevara Vanina Martínez Cintia.
Definición y concepto Un sistema distribuido es aquel en el que dos o más máquinas colaboran para la obtención de un resultado. En todo sistema distribuido.
“condición que necesita el usuario para resolver un problema o conseguir un objetivo determinado”. Los requisitos de un sistema son los aspectos que el.
Cristian Fonnegra Marin
Modelo de 3 capas.
1. Introducción a los Sistemas de Internet Gestión de Sistemas en Internet Universidad Antonio de Nebrija 2003/04 Justo N. Hidalgo Sanz.
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
Tecnologías Cliente / Servidor
Navarro Hernández Nadia Samantha. Preescolar 1º. B.
APACHE WEB SERVER El proyecto Apache Web Server es un desarrollo de software en colaboración, enfocado en crear una implementación de un servidor HTTP.
Arquitectura de una aplicación Arquitectur a: desarrolla un plan general del sistema, asegurando que las necesidades de los usuarios sean atendidas. Ingeniería.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
CICLO DE VIDA DE UN SOFTWARE. Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de.
Conociendo el modelo Cliente-Servidor
SISTEMAS CLIENTE/ SERVIDOR M. en C. ANILÚ GÓMEZ PANTOJA.
Definición: Es un estilo de programación, su objetivo primordial es la separación de la capa de presentación, capa de negocio y la capa de datos. ARQUITECTURA.
Transcripción de la presentación:

Sistemas Distribuidos Ingeniería del Software III Gabriel Buades Febrero 2.002 21/2/2002 Sistemas distribuidos

Índice Definición y concepto Clasificación de sistemas distribuidos Aspectos referentes al proceso de ingeniería Caso particular: aplicaciones Web Aspectos relativos al coste 21/2/2002 Sistemas distribuidos

Definición y concepto Un sistema distribuido es aquel en el que dos o más máquinas colaboran para la obtención de un resultado. En todo sistema distribuido se establecen una o varias comunicaciones siguiendo un protocolo prefijado mediante un esquema cliente-servidor. 21/2/2002 Sistemas distribuidos

Definición y concepto En un esquema cliente-servidor, se denomina cliente la máquina que solicita un determinado servicio y se denomina servidor la máquina que lo proporciona. El servicio puede ser la ejecución de un determinado algortimo, el acceso a determinado banco de información o el acceso a un dispositivo hardware. 21/2/2002 Sistemas distribuidos

Definición y concepto Por extensión, se puede aplicar el esquema cliente-servidor dentro de una misma máquina, donde el proceso servidor y el proceso cliente son dos procesos independientes que corren dentro de la misma instancia de sistema operativo. Es por tanto un elemento primordial para que haya un sistema distribuido, la presencia de un medio físico de comunicación entre ambas máquinas, y será la naturaleza de este medio la que marque en muchos casos la viabilidad del sistema. 21/2/2002 Sistemas distribuidos

Clasificación Se clasifican los sistemas cliente servidor de acuerdo al nivel de abstracción del servicio que se ofrece. Se distinguen tres componentes básicos de software: Interacción con el usuario Lógica de Aplicación Repositorio de datos 21/2/2002 Sistemas distribuidos

Clasificación 1. Representación distribuida. La interacción con el usuario se realiza básicamente en el servidor. El cliente hace de pasarela, de sistema de acceo a los elementos hardware pantalla y teclado. Terminal físico Base de datos Lógica de aplicación Interface de usuario 21/2/2002 Sistemas distribuidos

Clasificación Sistemas distribuidos 2. Representación remota. Los datos se envían sin formatear, y es el cliente el responsable de formatear los datos y realizar las acciones de interacción con el usuario. En este caso, la aplicación y la base de datos se encuentran en el servidor Terminal inteligente Intarface básico de usuario Base de datos Lógica de aplicación Interface avanzado de usuario 21/2/2002 Sistemas distribuidos

Clasificación Sistemas distribuidos 3. Lógica distribuida. En el cliente se llevan a cabo la interacción con el usuario y la parte más trivial de la lógica de la aplicación. En este caso, se llevan a cabo controles básicos de rango de campos, campos obligatorios, etc, mientras que el grueso de la lógica permanece en el servidor. Ordenador de sobremesa Lógica básica de aplicación Interface de usuario Base de datos Lógica de aplicación 21/2/2002 Sistemas distribuidos

Clasificación Sistemas distribuidos 4. Gestión remota de datos. Tanto la interacción con el usuario como la aplicación residen en el cilente, siendo el servidor el depositario de los datos. Ordenador de sobremesa Lógica de aplicación Interface de usuario Base de datos 21/2/2002 Sistemas distribuidos

Clasificación Sistemas distribuidos 5. B.D. Distribuidas. El cliente debe conocer la topología de la red, así como la disposición y ubicación de los datos. En este caso, se delega parte de la gestión de base de datos a los clientes. Base de datos Ordenador de sobremesa Distribución de datos Lógica de aplicación Interface de usuario Base de datos 21/2/2002 Sistemas distribuidos

Clasificación Sistemas distribuidos Cliente servidor a tres niveles (three tier). La aplicación se distribuye en los tres niveles: aplicación, datos e interface de usuario Base de datos Lógica de aplicación Ordenador de sobremesa Interface de usuario 21/2/2002 Sistemas distribuidos

Ejemplos 21/2/2002 Sistemas distribuidos

Ejemplos 21/2/2002 Sistemas distribuidos

Ejemplos 21/2/2002 Sistemas distribuidos

Ejemplos 21/2/2002 Sistemas distribuidos

Aspectos a tener en cuenta en el proceso de ingeniería Protocolos de comunicaciones: Son más importantes que la propia arquitectura distribuida o centralizada. Un buen protocolo permite que se pueda pasar, sin un coste adicional de rediseño o codificación, de una arquitectura centralizada a una distribuida, y viceversa: Pipes RPC SQL Remoto HTTP X11 Otros 21/2/2002 Sistemas distribuidos

Aspectos a tener en cuenta Middleware. Es la herramienta o conjunto de herramientas que nos permitiran gestionar y coordinar los mecanismos de comunicación. 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 Modelo tradicional: Monitor de teleproceso CICS, Tuxedo, Encina Modelo OO: CORBA 21/2/2002 Sistemas distribuidos

Aspectos a tener en cuenta Fase de análisis: Prácticamente no hay diferencias respecto a un S.I. tradicional Se debe definir la política de empresa: fat client o fat server. Se debe definir el coste en comunicaciones que puede asumir la organización. 21/2/2002 Sistemas distribuidos

Aspectos a tener en cuenta Fase de diseño El diseño de entidades, en raras ocasiones se verán éstas afectadas Aparecerán nuevos conjuntos de datos en los DFDs. No se trata de nuevas entidades, sino de información que debe viajar entre nodos Respecto al diseño de tablas, se debe especificar su implementación: Desde qué nodos debe ser accesible Qué nivel de acceso se precisa desde cada uno de ellos Cómo implementarlo 21/2/2002 Sistemas distribuidos

Aspectos a tener en cuenta Implementación BB.DD. Distribuidas No hay entornos puramente distribuidos. Debe analizarse, tabla a tabla, qué distribuir, qué centralizar y cómo hacerlo: Tabla única Tablas con réplica simétrica on-line Tablas con réplica simétrica off-line ** Tabla maestra más copias instantáneas Tabla maestra más copias instantáneas actualizables ** Especial atención a las secuencias !! Especial atencíón a los conflictos de réplica (**) 21/2/2002 Sistemas distribuidos

Aspectos a tener en cuenta Diseño de procesos Se deberán tener en cuenta, no tan sólo los procesos de réplica y su periodicidad, sino el ancho de banda que consuman, máxime si implican tarificación por paquetes trasnmitidos: Pipes y sockets -> Aproximación analítica Middleware -> Información a transmitir + Sobrecoste en ancho de banda + Sobrecoste en tiempo de proceso Protocolos propietarios (SQL) -> Recurrir a benchmarks o referencias del fabricante Analizados los consumos de ancho de banda y tiempo estimado de proceso, se deberá replantear la idoneidad de ubicación de cada proceso Extremar las pruebas cuando se requiera diseñar e implementar protocolos de comunicación 21/2/2002 Sistemas distribuidos

Aspectos a tener en cuenta Fase de pruebas. Debido a la complejidad del sistema, serán necesarias varias fases: Pruebas de funcionalidad de la aplicación. Se puede llevar a cabo sobre máquinas de desarrollo y estaciones de trabajo de forma paralela Pruebas de carga del servidor Pruebas de integridad de datos. Son especialmente importantes en el caso de bases de datos distribuidas Pruebas transaccionales Pruebas de red 21/2/2002 Sistemas distribuidos

Desarrollos Web Caso particular de desarrollo cliente servidor con representación remota, en la cual disponemos de un protocolo standard: HTTP y un middleware denominado WebServer. Cada página puede desencadenar la solicitud de numerosos peticiones adicionales para finalizar el proceso de representación remota. Se dispone de un lenguaje standard de definición y formateo de páginas: HTML 21/2/2002 Sistemas distribuidos

Desarrollos Web Sistemas distribuidos 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 analiza la solicitud y genera un resultado. Cada proceso corresponde a una transacción. Es flexible, ideal para pequeñas aplicaciones de uso reducido No escala adecuadamente Plug-ins Cada petición HTTP es resuelta por el componente adecuada, dentro del mismo proceso del Web-Server. Mejor rendimiento Compromete la seguridad y fiabilidad del servidor Web Servidor especializado Facilidad de desarrollo Buen rendimiento Rigidez de configuración 21/2/2002 Sistemas distribuidos

Desarrollos Web Tipos de plug-ins Sistemas distribuidos HTML incrustado en código Se centran en la lógica Son fácilmente de optimizables Ejemplos: servlets, Perl, Python Código incrustado en HTML Se centran en el interface de usuario Son fáciles de crear y modificar No requieren grandes formalismos No necesitan una gran formación Ejemplos: ASP, JSP, PHP 21/2/2002 Sistemas distribuidos

Desarrollo Web Esquema aplicado a Apache y PHP Sistemas distribuidos Navegador HTTP Apache Parámetros proceso Programa ejecutable Plug-in PHP Página PHP Base de datos 21/2/2002 Sistemas distribuidos

Nuevos tipos de dispositivos Dispositivos que acceden hoy a internet: Internet Explorer, Netscape, Set Top Box, Móviles WAP, PDAs Palm Pilot, Windows CE, ... Previsiones para los próximos años: 2.002 el 50% de las transacciones habituales se podrán realizar desde dispositivos móviles 2.003 el 80% de los usuarios realizarán algún tipo de transacción desde dispositivos móviles 2.004 los se querrán realizar el 100% de las transacciones desde dispositivos móviles 2.005 Se esperan más de 1.000 millones de usuarios móviles de internet 21/2/2002 Sistemas distribuidos

Nuevos tipos de dispositivos Problema a resolver: Necesidad de adaptar el interface de usuario a cada tipo de dispositivo Medidas a tomar: Separar la lógica de aplicación del interface de usuario Utilizar métodos estándar de comunicación entre la lógica de aplicación y el interface de usuario Uso de herramientas que permitan adaptar rápidamente las aplicaciones a los nuevos tipos de dispositivos que irán apareciendo 21/2/2002 Sistemas distribuidos

Nuevos tipos de dispositivos Tendencia actual Navegador Móvil Usuario http Wml binario Gestor comunicaciones Web Server WAP Server - - Páginas HTML Páginas WML Interface de usuario XML Servidor Aplicaciones Lógica de negocio SQL Base de datos Datos 21/2/2002 Sistemas distribuidos

Nuevos tipos de dispositivos Variante de los fabricantes BBDD Navegador Móvil Usuario http Wml binario Gestor comunicaciones Web Server WAP Server - - Páginas HTML Páginas WML Interface de usuario XML Base de datos Lógica de negocio Datos 21/2/2002 Sistemas distribuidos

Nuevos tipos de dispositivos Variante de los fabricantes pasarelas Navegador Móvil Usuario http Wml binario Gestor comunicaciones Web Server WAP Server - - Reglas de traducción WML Interface de usuario Páginas HTML Interface de usuario Lógica de negocio SQL Base de datos Datos 21/2/2002 Sistemas distribuidos

Gestor comunicaciones Estándares de mercado Estrategia Java Navegador Móvil Usuario http Wml binario Gestor comunicaciones Web Server WAP Server - - Páginas JSP / Servlets / Java Beans Interface de usuario RMI Enterprise Java Beans Lógica de negocio SQL Base de datos Datos 21/2/2002 Sistemas distribuidos

Gestor comunicaciones Estándares de mercado Estrategia .NET Navegador Móvil Usuario http Wml binario Gestor comunicaciones Web Server WAP Server - - Visual Basic Páginas ASP Interface de usuario XML OBJECTO COM + Lógica de negocio SQL Base de datos Datos 21/2/2002 Sistemas distribuidos

Problemas no resueltos La gestión de la sesión de usuario es todavía hoy deficiente, debido en parte a la naturaleza del protocolo http La maleabilidad del interface de usuario es muy limitada si no se quiere sacrificar la portabilidad La encadenación entre pantallas se realiza de forma artesana. Las herramientas no permiten implementar pantallas recursivas ni fácilmente reutilizables 21/2/2002 Sistemas distribuidos

Estrategia a seguir Valorar la durabilidad temporal de las tecnologías a aplicar Separar, en el diseño e implentación de la aplicación, las capas de lógica de aplicación e interface de usuario Prestar mucha atención a los nuevos tipos de dispositivos Examinar con lupa los “atajos” ofrecidos por los fabricantes 21/2/2002 Sistemas distribuidos

Costes sistema distribuido Elementos a valorar: Coste de las comunicaciones: Valorar alternativas presentadas por los nuevos proveedores de telecomunicaciones. No descartar el tirar líneas propias Evaluar el coste adicional en hardware, software y gestión que implica una arquitectura distribuida. Si las comunicaciones lo permiten, saldrá más rentable una arquitectura centralizada El impacto de los protocolos de comunicaciones será vital en el desglose posterior de costes. Se deben dedicar todos los esfuerzos necesarios para evaluar cuál es el protocolo óptimo. 21/2/2002 Sistemas distribuidos

Costes sistema distribuido Elementos a valorar: Se ha de tener en cuenta que plantear un sistema distribuido implica la aparición de numerosos problemas que antes no estaban presentes. Estos problemas se deben resolver mediante tecnología, productos, organización y método. Un sistema bien distribuido puede suponer un pequeño ahorro de costes de gestión y mantenimiento Un sistema mal distribuido puede comprometer la validez de la información del sistema 21/2/2002 Sistemas distribuidos