U I B 20/01/1999 Sistemas distribuidos 1 Sistemas Distribuidos Ingeniería del Software III Gabriel Buades Enero 1.999.

Slides:



Advertisements
Presentaciones similares
APLICACIONES DISTRIBUIDAS
Advertisements

Internet y tecnologías web
Servicios Web XML 03 de Junio de 2004 Fernando Alonso Blázquez.
Plan de Implantación Sistemas de Información III
Hardware y Software de servidor
DATA MART Sergio Daniel.
Noveno Semestre UNIDEC
ATS – Cliente .
I T S S P LIC INFORMATICA SISTEMAS OPERATIVOS WINDOWS 2003 SERVER DOCENTE: L.I RAMIRO ROBLES VILLANUEVA ALUMNOS: ROGELIO CHAIDEZ CORDOBA ZENON ESTRADA.
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.
Carlos Rojas Kramer Universidad Cristóbal Colón
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
Sistemas Distribuidos
ASPECTOS DEL DISEÑO DE SD
Servicios Web.
Desarrollo de un laboratorio para la enseñanza, diseño y desarrollo de servicios móviles abiertos Autor: D. Mario de Molina Gómez Tutor: D. Francisco Javier.
Experiencia e innovación
"java del lado del servidor" Servlet y JSP Java Server Pages.
Guia Diseño Robert Echeverria
Diseño e implementación de un ambiente virtualizado para un Sistema de Administración de Contenidos usando Microsoft SharePoint con cada uno de sus componentes.
RMI Remote Method Invocation
Java 2 Platform Enterprise Edition
LOGICA DE NEGOCIOS ADAN GONZALEZ BARRERA.
Universidad Centroamericana
Universidad de La Coruña Escuela Universitaria Politécnica Control de Procesos por Computador Diego Cabaleiro 24 de Noviembre 2009.
HERRAMIENTAS CASE.
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
Tecnologías para el desarrollo de aplicaciones Web
SEMANA Introducción.
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
Programación I MC José Andrés Vázquez Flores
Introducción al modelo Cliente-Servidor Carlos Rojas Kramer Universidad Cristóbal Colón.
SISTEMAS DISTRIBUIDOS
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)
Haga clic para modificar el estilo de subtítulo del patrón 28/04/09 Por ARLEDY SARRIA MOLINA NAZLY DIAZ ARIZA JHOANNA MARQUELLA DESARROLLO DE SOFTWARE.
SICSTRA Sistema de Información para el control de solicitudes de tramites jurídicos Ministerio de Justicia y Seguridad Pública.
Universidad Nacional de San Juan Facultad de Ciencias Exactas, Físicas y Naturales “WEB SERVICES” Integrantes: Ene Adriana Guevara Vanina Martínez Cintia.
Diseño del servicio ITIL..
Act. #8 Equipo #2 Hipertexto Servidores web Protocolos http Lenguaje Html Lenguaje Dhtml Lenguaje Asp Lenguaje JAVA SCRIPT.
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.
Modelo de 3 capas.
Nombre Tema: Modelo Cliente-Servidor Integrantes: Enrique Aponte Lourdes Molina Pablo López Janeth Hernández Marbella Olvera Arturo Parra.
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)
GeneXus 9.0: Creando el ERP del Futuro basado en una Arquitectura Orientada a Servicios
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
Tecnologías Cliente / Servidor
Aplicaciones en 2,3 y n capas
Modelo Cliente - Servidor. La Web funciona siguiendo el denominado modelo cliente-servidor, habitual en las aplicaciones que funcionan en una red. Existe.
Arquitectura de una aplicación Arquitectur a: desarrolla un plan general del sistema, asegurando que las necesidades de los usuarios sean atendidas. Ingeniería.
BUSINESS T&G Think & Grow Uniclass Business Intelligence La solución Business Objects que analiza los procesos de su negocio.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Integrantes: Castro José República Bolivariana De Venezuela Ministerio Del Poder Popular Para La Educación Superior Instituto Universitario Tecnológico.
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 Distribuidos Conceptos Básicos Propiedades MSI. Nancy A. Olivares Ruiz.
SISTEMAS CLIENTE/ SERVIDOR M. en C. ANILÚ GÓMEZ PANTOJA.
Conociendo el modelo Cliente-Servidor. Introducción En el mundo de TCP/IP las comunicaciones entre computadoras se rigen básicamente por lo que se llama.
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:

U I B 20/01/1999 Sistemas distribuidos 1 Sistemas Distribuidos Ingeniería del Software III Gabriel Buades Enero 1.999

U I B 20/01/1999 Sistemas distribuidos 2 Í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

U I B 20/01/1999 Sistemas distribuidos 3 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.

U I B 20/01/1999 Sistemas distribuidos 4 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.

U I B 20/01/1999 Sistemas distribuidos 5 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.

U I B 20/01/1999 Sistemas distribuidos 6 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

U I B 20/01/1999 Sistemas distribuidos 7 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. Base de datos Lógica de aplicación Interface de usuario Terminal físico

U I B 20/01/1999 Sistemas distribuidos 8 Clasificación  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 Base de datos Lógica de aplicación Interface avanzado de usuario Terminal inteligente Intarface básico de usuario

U I B 20/01/1999 Sistemas distribuidos 9 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 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. Base de datos Lógica de aplicación Ordenador de sobremesa Lógica básica de aplicación Interface de usuario

U I B 20/01/1999 Sistemas distribuidos 10 Clasificación  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. Base de datos Ordenador de sobremesa Lógica de aplicación Interface de usuario

U I B 20/01/1999 Sistemas distribuidos 11 Clasificación  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

U I B 20/01/1999 Sistemas distribuidos 12 Clasificación  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 Ordenador de sobremesa Interface de usuario Lógica de aplicación

U I B 20/01/1999 Sistemas distribuidos 13 Ejemplos

U I B 20/01/1999 Sistemas distribuidos 14 Ejemplos

U I B 20/01/1999 Sistemas distribuidos 15 Ejemplos

U I B 20/01/1999 Sistemas distribuidos 16 Ejemplos

U I B 20/01/1999 Sistemas distribuidos 17 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

U I B 20/01/1999 Sistemas distribuidos 18 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

U I B 20/01/1999 Sistemas distribuidos 19 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.

U I B 20/01/1999 Sistemas distribuidos 20 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

U I B 20/01/1999 Sistemas distribuidos 21 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 (**)

U I B 20/01/1999 Sistemas distribuidos 22 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

U I B 20/01/1999 Sistemas distribuidos 23 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

U I B 20/01/1999 Sistemas distribuidos 24 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

U I B 20/01/1999 Sistemas distribuidos 25 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 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  Páginas ASP: Caso particular de CGI  Entorno propietario Microsoft  Aspectos de rendimiento bastante mejorados

U I B 20/01/1999 Sistemas distribuidos 26 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 la página de respuesta  No generan un proceso adicional por cada petición  Utilizan un lenguaje de alto nivel (Java)  Objetos CORBA:  Pemite 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

U I B 20/01/1999 Sistemas distribuidos 27 Desarrollos Web  Esquema general Navegador Web Server Servlet Máquina virtual Java Conector CORBA Servidor CORBA Procesos CGI HTTP Parámetros proceso CORBA RMI Base de datos

U I B 20/01/1999 Sistemas distribuidos 28 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:  el 50% de las transacciones habituales se podrán realizar desde dispositivos móviles  el 80% de los usuarios realizarán algún tipo de transacción desde dispositivos móviles  los se querrán realizar el 100% de las transacciones desde dispositivos móviles  Se esperan más de millones de usuarios móviles de internet

U I B 20/01/1999 Sistemas distribuidos 29 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

U I B 20/01/1999 Sistemas distribuidos 30 Nuevos tipos de dispositivos  Tendencia actual Navegador Web Server Páginas HTML Servidor Aplicaciones Lógica de negocio Datos Base de datos Interface de usuario Gestor comunicaciones Usuario Móvil WAP Server Páginas WML SQL XML -- Wml binariohttp

U I B 20/01/1999 Sistemas distribuidos 31 Nuevos tipos de dispositivos  Variante de los fabricantes BBDD Navegador Web Server Páginas HTML Lógica de negocio Datos Base de datos Interface de usuario Gestor comunicaciones Usuario Móvil WAP Server Páginas WML XML -- Wml binariohttp

U I B 20/01/1999 Sistemas distribuidos 32 Nuevos tipos de dispositivos  Variante de los fabricantes pasarelas Navegador Web Server Páginas HTML Lógica de negocio Datos Base de datos Interface de usuario Gestor comunicaciones Usuario Móvil WAP Server Reglas de traducción WML SQL -- Wml binariohttp Interface de usuario

U I B 20/01/1999 Sistemas distribuidos 33 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

U I B 20/01/1999 Sistemas distribuidos 34 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.