SlideShare una empresa de Scribd logo
Sistemas Distribuidos
                  Ingeniería del Software III
                      Gabriel Buades
                       Febrero 2.002




      Sistemas distribuidos
UIB
                                                21/2/2002
                                                        1
Í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




      Sistemas distribuidos
UIB
                                                   21/2/2002
                                                           2
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.




      Sistemas distribuidos
UIB
                                                 21/2/2002
                                                         3
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.




      Sistemas distribuidos
UIB
                                                   21/2/2002
                                                           4
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.


      Sistemas distribuidos
UIB
                                                   21/2/2002
                                                           5
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




      Sistemas distribuidos
UIB
                                                    21/2/2002
                                                            6
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               Terminal físico
           Lógica de aplicación
           Interface de usuario

      Sistemas distribuidos
UIB
                                                         21/2/2002
                                                                 7
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                     Terminal inteligente
            Lógica de aplicación              Intarface básico de usuario
            Interface avanzado de usuario

      Sistemas distribuidos
UIB
                                                                   21/2/2002
                                                                           8
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                      Ordenador de sobremesa
           Lógica de aplicación               Lógica básica de aplicación
                                              Interface de usuario


      Sistemas distribuidos
UIB
                                                                  21/2/2002
                                                                          9
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


      Sistemas distribuidos
UIB
                                                                21/2/2002
                                                                       10
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
               Base de datos                 Interface de usuario


      Sistemas distribuidos
UIB
                                                               21/2/2002
                                                                      11
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

                             Lógica de aplicación
                                                    Ordenador de sobremesa
                                                    Interface de usuario




      Sistemas distribuidos
UIB
                                                                   21/2/2002
                                                                          12
Ejemplos
             Ejemplo          Clasificación   Ancho de   Máquina   Máquina
                                              banda      cliente   servidor
             Aplicación
             Clipper sobre
             servidor
             archivos
             Windows NT
             Aplicación
             Windows sobre
             BBDD Cliente-
             Servidor
             Servidor Web
             páginas
             estáticas
             Aplicación Web
             dinámica
             contra B.D.
             externa


      Sistemas distribuidos
UIB
                                                                         21/2/2002
                                                                                13
Ejemplos
             Ejemplo          Clasificación Ancho de   Máquina        Máquina
                                            banda      cliente        servidor
             Aplicación       Acceso remota Mb/ s      Altas          Bajas
             Clipper sobre    a datos                  prestaciones   prestaciones
             servidor
             archivos
             Windows NT
             Aplicación       Acceso remota Kb/ s      Altas          Altas
             Windows sobre    a datos                  prestaciones   prestaciones
             BBDD Cliente-
             Servidor
             Servidor Web     Representació Kb/ s      Altas          Bajas
             páginas          n remota                 prestaciones   prestaciones
             estáticas
             Aplicación Web   Representació Kb/ s      Altas          Altas
             dinámica         n remota /               prestaciones   prestaciones
                              Lógíca
                              distribuida


      Sistemas distribuidos
UIB
                                                                            21/2/2002
                                                                                   14
Ejemplos
          Ejemplo           Clasificación   Ancho de   Máquina   Máquina
                                            banda      cliente   servidor
          Correo internet
          SMTP/ PO  P3
          Aplicación X 11

          Telnet

          Telnet 5250

          Applet Java
          que convierte
          Euros a
          Pesetas
          Teleproceso
          bancario




      Sistemas distribuidos
UIB
                                                                            21/2/2002
                                                                                   15
Ejemplos
          Ejemplo        Clasificación    Ancho de        Máquina   Máquina
                                          banda           cliente   servidor
          Correo internet BBDD            Bajo (Kb/ s)    Bajas     Bajas
          SMTP/ PO  P3    Distribuidas
          Aplicación X 11 Representació   Ancho (Mb/ s)   Bajas     Altas
                          n distribuida
          Telnet          Representació   Bajo (Kb/ s)    Bajas     Bajas
                          n distribuida
          Telnet 5250     Representació   Bajo (Kb/ s)    Bajas     Bajas
                          n remota
          Applet Java     Ninguna
          que convierte
          Euros a
          Pesetas
          Teleproceso     BBDD            Bajo (Kb/ s)    Altas     Altas
          bancario        Distribuidas




      Sistemas distribuidos
UIB
                                                                               21/2/2002
                                                                                      16
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


      Sistemas distribuidos
UIB
                                                             21/2/2002
                                                                    17
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



      Sistemas distribuidos
UIB
                                                             21/2/2002
                                                                    18
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.




      Sistemas distribuidos
UIB
                                                              21/2/2002
                                                                     19
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



      Sistemas distribuidos
UIB
                                                                   21/2/2002
                                                                          20
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 (**)

      Sistemas distribuidos
UIB
                                                                 21/2/2002
                                                                        21
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

      Sistemas distribuidos
UIB
                                                                       21/2/2002
                                                                              22
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



      Sistemas distribuidos
UIB
                                                            21/2/2002
                                                                   23
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



      Sistemas distribuidos
UIB
                                                   21/2/2002
                                                          24
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
       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

      Sistemas distribuidos
UIB
                                                                             21/2/2002
                                                                                    25
Desarrollos Web
   Tipos de plug-ins
       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



      Sistemas distribuidos
UIB
                                                  21/2/2002
                                                         26
Desarrollo Web
  Esquema aplicado a Apache y PHP                   Navegador

                                                           HTTP


                                     Parámetros   Apache
                                      proceso
                        Programa
                        ejecutable
                                             Plug-in PHP

                                             Página PHP
         Base de
          datos



      Sistemas distribuidos
UIB
                                                             21/2/2002
                                                                    27
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

       Sistemas distribuidos
UIB
                                                              21/2/2002
                                                                     28
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



      Sistemas distribuidos
UIB
                                                             21/2/2002
                                                                    29
Nuevos tipos de dispositivos
   Tendencia actual
               Navegador                    Móvil          Usuario
                 http                  Wml binario
                                                         Gestor
              Web Server               WAP Server     comunicaciones
                   -                           -

              Páginas HTML            Páginas WML    Interface de usuario

                               XML

                       Servidor Aplicaciones          Lógica de negocio

                                SQL

                                                            Datos
                            Base de datos


      Sistemas distribuidos
UIB
                                                                     21/2/2002
                                                                            30
Nuevos tipos de dispositivos
   Variante de los fabricantes BBDD
               Navegador                   Móvil          Usuario
                 http                 Wml binario
                                                        Gestor
              Web Server            WAP Server       comunicaciones
                   -                         -

              Páginas HTML           Páginas WML    Interface de usuario

                              XML



                                                     Lógica de negocio
                           Base de datos                   Datos



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

                                                             Datos
                              Base de datos


      Sistemas distribuidos
UIB
                                                                      21/2/2002
                                                                             32
Estándares de mercado
   Estrategia Java
               Navegador                    Móvil         Usuario
                 http                  Wml binario
                                                         Gestor
              Web Server              WAP Server      comunicaciones
                   -                           -

                Páginas JSP / Servlets / Java Beans   Interface de usuario

                               RMI

                       Enterprise Java Beans          Lógica de negocio
                                SQL

                                                            Datos
                            Base de datos


      Sistemas distribuidos
UIB
                                                                    21/2/2002
                                                                           33
Estándares de mercado
   Estrategia .NET
                      Navegador             Móvil          Usuario
                           http          Wml binario
                                                          Gestor
                      Web Server         WAP Server    comunicaciones
                     -                          -

      Visual Basic                Páginas ASP          Interface de usuario
                          XML

                     OBJECTO COM +                     Lógica de negocio
                           SQL

                                                             Datos
                         Base de datos


      Sistemas distribuidos
UIB
                                                                     21/2/2002
                                                                            34
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



      Sistemas distribuidos
UIB
                                                     21/2/2002
                                                            35
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


      Sistemas distribuidos
UIB
                                                     21/2/2002
                                                            36
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.

      Sistemas distribuidos
UIB
                                                            21/2/2002
                                                                   37
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



      Sistemas distribuidos
UIB
                                                           21/2/2002
                                                                  38

Más contenido relacionado

La actualidad más candente

Unidad 1
Unidad 1Unidad 1
Unidad 1mi casa
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidos
Tensor
 
Tecnologías de Desarrollo de Sistemas Distribuidos basados en Objetos
Tecnologías de Desarrollo de Sistemas Distribuidos basados en ObjetosTecnologías de Desarrollo de Sistemas Distribuidos basados en Objetos
Tecnologías de Desarrollo de Sistemas Distribuidos basados en Objetos
Tensor
 
Sistemas distribuidos 2
Sistemas distribuidos 2Sistemas distribuidos 2
Sistemas distribuidos 2
Tensor
 
Middleware en los sistemas distribuidos
Middleware en los sistemas distribuidosMiddleware en los sistemas distribuidos
Middleware en los sistemas distribuidos
JC Alca Arequi
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Universidad de Guadalajara
 
Variacion Cliente Servidor
Variacion Cliente ServidorVariacion Cliente Servidor
Variacion Cliente ServidorArnulfo Gomez
 
Servidores de-aplicacion-1211055568915043-9
Servidores de-aplicacion-1211055568915043-9Servidores de-aplicacion-1211055568915043-9
Servidores de-aplicacion-1211055568915043-9home
 
Modelos de los sistemas distribuidos
Modelos de los sistemas distribuidosModelos de los sistemas distribuidos
Modelos de los sistemas distribuidosMargarita Labastida
 
Arquitectura de sistemas distribuidos-grupo Maria
Arquitectura de sistemas distribuidos-grupo MariaArquitectura de sistemas distribuidos-grupo Maria
Arquitectura de sistemas distribuidos-grupo Maria
gequito
 
Universidad tecnológica de tehuacán diferencias entre sgboo y sgbr
Universidad tecnológica de tehuacán diferencias entre sgboo y sgbrUniversidad tecnológica de tehuacán diferencias entre sgboo y sgbr
Universidad tecnológica de tehuacán diferencias entre sgboo y sgbrVictor Dolores Marcos
 
Aplicaciones Distribuidas
Aplicaciones DistribuidasAplicaciones Distribuidas
Aplicaciones Distribuidas
Sorey García
 

La actualidad más candente (20)

Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Middleware
MiddlewareMiddleware
Middleware
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidos
 
Tecnologías de Desarrollo de Sistemas Distribuidos basados en Objetos
Tecnologías de Desarrollo de Sistemas Distribuidos basados en ObjetosTecnologías de Desarrollo de Sistemas Distribuidos basados en Objetos
Tecnologías de Desarrollo de Sistemas Distribuidos basados en Objetos
 
Aplicaciones distribuidas
Aplicaciones distribuidasAplicaciones distribuidas
Aplicaciones distribuidas
 
Sistemas distribuidos 2
Sistemas distribuidos 2Sistemas distribuidos 2
Sistemas distribuidos 2
 
Middleware
MiddlewareMiddleware
Middleware
 
Middleware en los sistemas distribuidos
Middleware en los sistemas distribuidosMiddleware en los sistemas distribuidos
Middleware en los sistemas distribuidos
 
Trabajo de investigacion_grupo_5
Trabajo de investigacion_grupo_5Trabajo de investigacion_grupo_5
Trabajo de investigacion_grupo_5
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
 
Middleware
MiddlewareMiddleware
Middleware
 
Aplicaciones distribuidas
Aplicaciones distribuidasAplicaciones distribuidas
Aplicaciones distribuidas
 
07 middleware
07 middleware07 middleware
07 middleware
 
Variacion Cliente Servidor
Variacion Cliente ServidorVariacion Cliente Servidor
Variacion Cliente Servidor
 
Servidores de-aplicacion-1211055568915043-9
Servidores de-aplicacion-1211055568915043-9Servidores de-aplicacion-1211055568915043-9
Servidores de-aplicacion-1211055568915043-9
 
Modelos de los sistemas distribuidos
Modelos de los sistemas distribuidosModelos de los sistemas distribuidos
Modelos de los sistemas distribuidos
 
Arquitectura de sistemas distribuidos-grupo Maria
Arquitectura de sistemas distribuidos-grupo MariaArquitectura de sistemas distribuidos-grupo Maria
Arquitectura de sistemas distribuidos-grupo Maria
 
Universidad tecnológica de tehuacán diferencias entre sgboo y sgbr
Universidad tecnológica de tehuacán diferencias entre sgboo y sgbrUniversidad tecnológica de tehuacán diferencias entre sgboo y sgbr
Universidad tecnológica de tehuacán diferencias entre sgboo y sgbr
 
Aplicaciones Distribuidas
Aplicaciones DistribuidasAplicaciones Distribuidas
Aplicaciones Distribuidas
 
Attend
AttendAttend
Attend
 

Similar a Sistdistr

Sistemas distribuidos 1
Sistemas distribuidos 1Sistemas distribuidos 1
Sistemas distribuidos 1
Bruno Zamo Ponti
 
Sistemas distribuidos
Sistemas distribuidos Sistemas distribuidos
Sistemas distribuidos
Bruno Zamo Ponti
 
Deber 2
Deber 2Deber 2
Deber 2
TaniaDanna
 
Unidad 1
Unidad 1Unidad 1
BASE DE DATOS: sistemas_clienteservidor
BASE DE DATOS: sistemas_clienteservidorBASE DE DATOS: sistemas_clienteservidor
BASE DE DATOS: sistemas_clienteservidorJonathan
 
Base de datos: sistemas_clienteservidor
Base de datos: sistemas_clienteservidorBase de datos: sistemas_clienteservidor
Base de datos: sistemas_clienteservidorJonathan
 
Diapositivas diego
Diapositivas diegoDiapositivas diego
Diapositivas diegodbastos15
 
Clase rii 10 11 u3 sistemas cliente servidor
Clase rii 10 11 u3 sistemas cliente servidorClase rii 10 11 u3 sistemas cliente servidor
Clase rii 10 11 u3 sistemas cliente servidor
Gregorio Tkachuk
 
cliente servidor de 3 niveles
cliente servidor de 3 nivelescliente servidor de 3 niveles
cliente servidor de 3 niveles
Lupitha Mendoza
 
cliente servidor de 3 niveles
cliente servidor de 3 nivelescliente servidor de 3 niveles
cliente servidor de 3 niveles
Lupitha Mendoza
 
Fresdes silvasalazar
Fresdes silvasalazarFresdes silvasalazar
Fresdes silvasalazarjulymci
 
Sesion 08 tel202 2010-1
Sesion 08   tel202 2010-1Sesion 08   tel202 2010-1
Sesion 08 tel202 2010-1kevinXD123
 
Arquitectura de sistemas distribuidos-Grupo de Maria
Arquitectura de sistemas distribuidos-Grupo de MariaArquitectura de sistemas distribuidos-Grupo de Maria
Arquitectura de sistemas distribuidos-Grupo de Maria
gequito
 
Seguridad de sistemas distribuidos
Seguridad de sistemas distribuidosSeguridad de sistemas distribuidos
Seguridad de sistemas distribuidosJavierialv
 
Apuntes de-sistemas-operativos-ii-e2
Apuntes de-sistemas-operativos-ii-e2Apuntes de-sistemas-operativos-ii-e2
Apuntes de-sistemas-operativos-ii-e2annyshey
 
SISTEMA DE BASE DE DATOS
SISTEMA DE BASE DE DATOSSISTEMA DE BASE DE DATOS
SISTEMA DE BASE DE DATOS
Natalia Perez
 

Similar a Sistdistr (20)

Sistemas distribuidos 1
Sistemas distribuidos 1Sistemas distribuidos 1
Sistemas distribuidos 1
 
Sistemas distribuidos
Sistemas distribuidos Sistemas distribuidos
Sistemas distribuidos
 
Deber 2
Deber 2Deber 2
Deber 2
 
1 intro
1 intro1 intro
1 intro
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
BASE DE DATOS: sistemas_clienteservidor
BASE DE DATOS: sistemas_clienteservidorBASE DE DATOS: sistemas_clienteservidor
BASE DE DATOS: sistemas_clienteservidor
 
Base de datos: sistemas_clienteservidor
Base de datos: sistemas_clienteservidorBase de datos: sistemas_clienteservidor
Base de datos: sistemas_clienteservidor
 
Diapositivas diego
Diapositivas diegoDiapositivas diego
Diapositivas diego
 
Clase rii 10 11 u3 sistemas cliente servidor
Clase rii 10 11 u3 sistemas cliente servidorClase rii 10 11 u3 sistemas cliente servidor
Clase rii 10 11 u3 sistemas cliente servidor
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
cliente servidor de 3 niveles
cliente servidor de 3 nivelescliente servidor de 3 niveles
cliente servidor de 3 niveles
 
cliente servidor de 3 niveles
cliente servidor de 3 nivelescliente servidor de 3 niveles
cliente servidor de 3 niveles
 
Fresdes silvasalazar
Fresdes silvasalazarFresdes silvasalazar
Fresdes silvasalazar
 
Sesion 08 tel202 2010-1
Sesion 08   tel202 2010-1Sesion 08   tel202 2010-1
Sesion 08 tel202 2010-1
 
Arquitectura de sistemas distribuidos-Grupo de Maria
Arquitectura de sistemas distribuidos-Grupo de MariaArquitectura de sistemas distribuidos-Grupo de Maria
Arquitectura de sistemas distribuidos-Grupo de Maria
 
Seguridad de sistemas distribuidos
Seguridad de sistemas distribuidosSeguridad de sistemas distribuidos
Seguridad de sistemas distribuidos
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
Taller 4 - Teleinformatica
Taller 4 - TeleinformaticaTaller 4 - Teleinformatica
Taller 4 - Teleinformatica
 
Apuntes de-sistemas-operativos-ii-e2
Apuntes de-sistemas-operativos-ii-e2Apuntes de-sistemas-operativos-ii-e2
Apuntes de-sistemas-operativos-ii-e2
 
SISTEMA DE BASE DE DATOS
SISTEMA DE BASE DE DATOSSISTEMA DE BASE DE DATOS
SISTEMA DE BASE DE DATOS
 

Sistdistr

  • 1. Sistemas Distribuidos Ingeniería del Software III Gabriel Buades Febrero 2.002 Sistemas distribuidos UIB 21/2/2002 1
  • 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 Sistemas distribuidos UIB 21/2/2002 2
  • 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. Sistemas distribuidos UIB 21/2/2002 3
  • 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. Sistemas distribuidos UIB 21/2/2002 4
  • 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. Sistemas distribuidos UIB 21/2/2002 5
  • 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 Sistemas distribuidos UIB 21/2/2002 6
  • 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 Terminal físico Lógica de aplicación Interface de usuario Sistemas distribuidos UIB 21/2/2002 7
  • 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 Terminal inteligente Lógica de aplicación Intarface básico de usuario Interface avanzado de usuario Sistemas distribuidos UIB 21/2/2002 8
  • 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 Ordenador de sobremesa Lógica de aplicación Lógica básica de aplicación Interface de usuario Sistemas distribuidos UIB 21/2/2002 9
  • 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 Sistemas distribuidos UIB 21/2/2002 10
  • 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 Base de datos Interface de usuario Sistemas distribuidos UIB 21/2/2002 11
  • 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 Lógica de aplicación Ordenador de sobremesa Interface de usuario Sistemas distribuidos UIB 21/2/2002 12
  • 13. Ejemplos Ejemplo Clasificación Ancho de Máquina Máquina banda cliente servidor Aplicación Clipper sobre servidor archivos Windows NT Aplicación Windows sobre BBDD Cliente- Servidor Servidor Web páginas estáticas Aplicación Web dinámica contra B.D. externa Sistemas distribuidos UIB 21/2/2002 13
  • 14. Ejemplos Ejemplo Clasificación Ancho de Máquina Máquina banda cliente servidor Aplicación Acceso remota Mb/ s Altas Bajas Clipper sobre a datos prestaciones prestaciones servidor archivos Windows NT Aplicación Acceso remota Kb/ s Altas Altas Windows sobre a datos prestaciones prestaciones BBDD Cliente- Servidor Servidor Web Representació Kb/ s Altas Bajas páginas n remota prestaciones prestaciones estáticas Aplicación Web Representació Kb/ s Altas Altas dinámica n remota / prestaciones prestaciones Lógíca distribuida Sistemas distribuidos UIB 21/2/2002 14
  • 15. Ejemplos Ejemplo Clasificación Ancho de Máquina Máquina banda cliente servidor Correo internet SMTP/ PO P3 Aplicación X 11 Telnet Telnet 5250 Applet Java que convierte Euros a Pesetas Teleproceso bancario Sistemas distribuidos UIB 21/2/2002 15
  • 16. Ejemplos Ejemplo Clasificación Ancho de Máquina Máquina banda cliente servidor Correo internet BBDD Bajo (Kb/ s) Bajas Bajas SMTP/ PO P3 Distribuidas Aplicación X 11 Representació Ancho (Mb/ s) Bajas Altas n distribuida Telnet Representació Bajo (Kb/ s) Bajas Bajas n distribuida Telnet 5250 Representació Bajo (Kb/ s) Bajas Bajas n remota Applet Java Ninguna que convierte Euros a Pesetas Teleproceso BBDD Bajo (Kb/ s) Altas Altas bancario Distribuidas Sistemas distribuidos UIB 21/2/2002 16
  • 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 Sistemas distribuidos UIB 21/2/2002 17
  • 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 Sistemas distribuidos UIB 21/2/2002 18
  • 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. Sistemas distribuidos UIB 21/2/2002 19
  • 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 Sistemas distribuidos UIB 21/2/2002 20
  • 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 (**) Sistemas distribuidos UIB 21/2/2002 21
  • 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 Sistemas distribuidos UIB 21/2/2002 22
  • 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 Sistemas distribuidos UIB 21/2/2002 23
  • 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 Sistemas distribuidos UIB 21/2/2002 24
  • 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  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 Sistemas distribuidos UIB 21/2/2002 25
  • 26. Desarrollos Web  Tipos de plug-ins  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 Sistemas distribuidos UIB 21/2/2002 26
  • 27. Desarrollo Web  Esquema aplicado a Apache y PHP Navegador HTTP Parámetros Apache proceso Programa ejecutable Plug-in PHP Página PHP Base de datos Sistemas distribuidos UIB 21/2/2002 27
  • 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:  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 Sistemas distribuidos UIB 21/2/2002 28
  • 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 Sistemas distribuidos UIB 21/2/2002 29
  • 30. Nuevos tipos de dispositivos  Tendencia actual Navegador Móvil Usuario http Wml binario Gestor Web Server WAP Server comunicaciones - - Páginas HTML Páginas WML Interface de usuario XML Servidor Aplicaciones Lógica de negocio SQL Datos Base de datos Sistemas distribuidos UIB 21/2/2002 30
  • 31. Nuevos tipos de dispositivos  Variante de los fabricantes BBDD Navegador Móvil Usuario http Wml binario Gestor Web Server WAP Server comunicaciones - - Páginas HTML Páginas WML Interface de usuario XML Lógica de negocio Base de datos Datos Sistemas distribuidos UIB 21/2/2002 31
  • 32. Nuevos tipos de dispositivos  Variante de los fabricantes pasarelas Navegador Móvil Usuario http Wml binario Gestor Web Server WAP Server comunicaciones - - Reglas de Interface de usuario traducción WML Interface de usuario Páginas HTML Lógica de negocio SQL Datos Base de datos Sistemas distribuidos UIB 21/2/2002 32
  • 33. Estándares de mercado  Estrategia Java Navegador Móvil Usuario http Wml binario Gestor Web Server WAP Server comunicaciones - - Páginas JSP / Servlets / Java Beans Interface de usuario RMI Enterprise Java Beans Lógica de negocio SQL Datos Base de datos Sistemas distribuidos UIB 21/2/2002 33
  • 34. Estándares de mercado  Estrategia .NET Navegador Móvil Usuario http Wml binario Gestor Web Server WAP Server comunicaciones - - Visual Basic Páginas ASP Interface de usuario XML OBJECTO COM + Lógica de negocio SQL Datos Base de datos Sistemas distribuidos UIB 21/2/2002 34
  • 35. 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 Sistemas distribuidos UIB 21/2/2002 35
  • 36. 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 Sistemas distribuidos UIB 21/2/2002 36
  • 37. 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. Sistemas distribuidos UIB 21/2/2002 37
  • 38. 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 Sistemas distribuidos UIB 21/2/2002 38