Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccin
Contenido Introduccin
Sistemas Multiprocesadores
Esquema Cliente/Servidor
Ingeniera del Software Aplicaciones Web
Docente: Ing. Jaime E. Daz Snchez Sistemas Distribuidos - Introduccin, 2
Introduccin
La computacin, por decirlo de una manera, se ha vuelto en un proceso o fenmeno distribuido, ms que centralizado. Para utilizar los ciclos del procesador de un computador central desde un terminal remoto, ese terminal necesita estar conectada al computador central mediante una lnea de comunicacin.
arquitectura de un computador basndose en cmo la mquina relaciona sus instrucciones con los datos a procesar:
Un flujo de una instruccin (SI) Un flujo de mltiples instrucciones (MI) Operando sobre un solo dato (SD) Operando sobre mltiples datos (MD)
Sistemas Multiprocesadores
Hay dos esquemas para construir estos sistemas: Cuando los procesadores comparten memorias y reloj y la comunicacin se lleva a cabo a travs de la memoria compartida. Cuando no comparten memoria ni reloj y cada uno tiene su memoria local y la comunicacin es a travs de las lneas de comunicacin.
Sistemas Multiprocesadores
Motivos de implementacin: Rendimiento y potencia de clculo. Tolerancia a fallas. Flexibilidad. Crecimiento modular. Especializacin funcional. Coste/rendimiento.
Sistemas Distribuidos
Introduccin
Sistemas Multiprocesadores
Clasificacin segn relacin procesadores-memoria: Fuertemente acoplados. Dbilmente acoplados.
Sistemas Multiprocesadores
Dos conceptos debe ser tomados en cuenta en la interconexin de procesadores: Escalabilidad: se refiere a la capacidad de una determinada arquitectura para expandirse con el fin de
Clasificacin de los acceso a memoria: Acceso Uniforme a Memoria (UMA). Acceso No Uniforme a Memoria (NUMA). Acceso No Remoto a Memoria (NORMA).
soportar un mayor nmero de procesadores. Contencin: se refiere a la dificultad del paso de datos en el medio compartido.
Sistemas Multiprocesadores
CPU Cach CPU Cach CPU Cach CPU Cach
Sistemas Operativos
Memorias M M M M
Supervisores separados.
Maestro/esclavos. Simtrico.
C CPU C
Conmutador
Esquema Cliente/Servidor
En un Esquema Cliente/Servidor, se denomina cliente la mquina que solicita un determinado servicio y se denomina servidor la mquina que lo proporciona. El servicio puede ser la ejecucin de un determinado algoritmo, el acceso a determinado banco de informacin o el acceso a un dispositivo de hardware. Se clasifican los sistemas cliente servidor de acuerdo al nivel de abstraccin del servicio que se ofrece. Se distinguen tres componentes bsicos de software: Interaccin con el usuario, Lgica de Aplicacin y Repositorio de datos.
Docente: Ing. Jaime E. Daz Snchez Sistemas Distribuidos - Introduccin, 11
Clasificacin
Representacin distribuida: La interaccin con el usuario se realiza bsicamente en el servidor. El cliente funciona como sistema de acceso a los elementos de hardware (e.g. pantalla y teclado).
Terminal fsico
Sistemas Distribuidos
Introduccin
Clasificacin
Representacin remota: Los datos se envan sin formatear, y es el cliente el responsable de formatear los datos y realizar las acciones de interaccin con el usuario. En este caso, la aplicacin y la base de datos se encuentran en el servidor
Clasificacin
Lgica distribuida: En el cliente se llevan a cabo la interaccin con el usuario y la parte ms trivial de la lgica de la aplicacin. En este caso, se realizan controles bsicos de rango de campos, campos obligatorios, etc, mientras que el grueso de la lgica permanece en el servidor.
Base de datos Lgica de aplicacin Interface avanzado Docente: de usuario Ing. Jaime E. Daz Snchez
Clasificacin
Administracin remota de datos: Tanto la interaccin con el usuario como la aplicacin residen en el cliente, siendo el servidor el depositario de los datos.
Clasificacin
B.D. Distribuidas: El cliente debe conocer la topologa de la red, as como la disposicin y ubicacin de los datos. En este caso, se delega parte de la administracin de la base de datos a los clientes.
Base de datos
Base de datos
Clasificacin
Cliente servidor a tres niveles (three tier): La aplicacin se distribuye en los tres niveles: aplicacin, datos e interface de usuario
Middleware:
Es conjunto de herramientas que permite administrar y coordinar los mecanismos de comunicacin, independizando el servicio y su
Base de datos Lgica de aplicacin Computadora Personal Interface de usuario
Sistemas Distribuidos - Introduccin, 17
implementacin del S.O. y protocolos de comunicaciones. El Modelo tradicional es el Monitor de teleproceso y el Modelo OO es CORBA.
Docente: Ing. Jaime E. Daz Snchez Sistemas Distribuidos - Introduccin, 18
Sistemas Distribuidos
Introduccin
Fase de diseo:
El diseo de entidades, en raras ocasiones se vern stas afectadas. Aparecern nuevos conjuntos de datos en los Diagramas: la informacin que debe viajar entre nodos.
Desarrollos Web
Caso particular de desarrollo cliente servidor con representacin remota, en la cual disponemos de un protocolo standard: HTTP y un middleware denominado WebServer. Cada pgina puede desencadenar la solicitud de numerosos peticiones adicionales para finalizar el proceso de representacin remota. Se dispone de un lenguaje standard de definicin y formateo de pginas: HTML
Docente: Ing. Jaime E. Daz Snchez Sistemas Distribuidos - Introduccin, 23
Desarrollos Web
Incrustacin de la lgica de aplicacin en el servidor Web:
CGI: Common Gateware Interface
Cada peticin HTTP genera un nuevo proceso, el cual analiza la solicitud y genera un resultado. Cada proceso corresponde a una transaccin. Es flexible, ideal para pequeas aplicaciones de uso reducido No escala adecuadamente
Sistemas Distribuidos
Introduccin
Desarrollos Web
Incrustacin de la lgica de aplicacin en el servidor Web
Servlets: Ejecucin de aplicaciones Java en el servidor que procesan la peticin y generan la pgina de respuesta
No generan un proceso adicional por cada peticin Utilizan un lenguaje de alto nivel (Java)
Desarrollos Web
Esquema general
Navegador
Objetos CORBA:
Permite la integracin de objetos CORBA con el servidor Web, creando una estructura cliente servidor multinivel Es la solucin ms generalista y adaptable Permite fcil, flexible y eficiente integracin con BBDD
Docente: Ing. Jaime E. Daz Snchez Sistemas Distribuidos - Introduccin, 25
RMI
Medidas a tomar:
Separar la lgica de aplicacin del interface de usuario Utilizar mtodos estndar de comunicacin entre la lgica de aplicacin y el interface de usuario Uso de herramientas que permitan adaptar rpidamente las aplicaciones a los nuevos tipos de dispositivos que irn apareciendo
Mvil
Wml binario
Navegador
http
Mvil
Wml binario
Web Server
-
WAP Server
-
Web Server
-
WAP Server
-
Pginas HTML
XML
Pginas WML
Pginas HTML
XML
Pginas WML
Servidor Aplicaciones
SQL
Base de datos
Base de datos
Datos
Sistemas Distribuidos
Introduccin
Estrategia a seguir
Valorar la durabilidad temporal de las tecnologas a
Usuario Administrador de comunicaciones Interface de usuario Interface de usuario Lgica de negocio
Mvil
Wml binario
aplicar Separar, en el diseo e implementacin de la aplicacin, las capas de lgica de aplicacin e interface de usuario Prestar mucha atencin a los dispositivos Examinar con lupa los atajos ofrecidos por los fabricantes nuevos tipos de
Web Server
-
WAP Server
-
Base de datos
Datos