Arquitectura aplicaciones clase3
-
Upload
germania-rodriguez -
Category
Technology
-
view
1.238 -
download
0
Transcript of Arquitectura aplicaciones clase3
Germania Rodríguez [email protected]
Arquitectura de Aplicaciones
Revisión • ¿Cuáles son las salidas del diseño arquitectónico? • ¿Cuál es el propósito del diseño arquitectónico? • ¿Cuáles son las ventajas o propósitos del diseño
arquitectónico? • ¿Grafique a grandes rasgos el Proceso de diseño
arquitectónico? • ¿Descomposición Modular? • ¿Formas de organización para sistemas distribuidos? • ¿Formas de descomposición modular?
Arquitecturas de Sistemas distribuidos
• Características (Coulouris, 2001): – Compartición de recursos: hardware y software de una red – Apertura: Abiertos con protocolos estándar,
interoperabilidad – Concurrencia: De procesos en un recurso – Escalabilidad: Capacidad de incrementar nuevos recursos
y demandas – Tolerancia a defectos: Independencia de componentes,
fallo total solo si falla la red.
Arquitecturas de Sistemas distribuidos
• Desventajas: – Complejidad: Más difíciles de entender y probar, cambios
pequeños pueden afectar al todo. – Seguridad: Acceso a varios computadores la red puede
tener ruido. – Manejabilidad: Requiere más esfuerzo para gestionar y
mantener, los defectos de una máquina pueden propagarse a otras máquinas con otras consecuencias.
– Impredecibilidad: Las respuestas de cada componente pueden ser impredecibles ya que son afectados por varios factores.
Reto diseñar software y hardware para maximizar sus características y minimizar sus desventajas.
Arquitecturas de Sistemas distribuidos
Tipos: – Arquitecturas multiprocesador – Arquitectura cliente-servidor – Arquitectura de objetos distribuidos
Otras: – Peer to peer – Orientadas a servicios
Un sistema distribuidos requiere de un software que pueda gestionar las partes llamado middleware se ubica entre los componentes del sistema distribuido.
Arquitecturas de Sistemas distribuidos
• Arquitecturas multiprocesador: Procesos que pueden ejecutarse en procesadores diferentes bajo el control de un despachador.
Arquitecturas de Sistemas distribuidos • Arquitectura cliente-servidor: Basada en patrones de
comportamiento (cliente y servidor) para los procesos lógicos no computadores físicos;
La más simple de dos capas que pueden ser de dos tipos: – Modelo de cliente ligero (thin-client) todo el procesamiento y gestión de
datos se lleva a cabo en el servidor, el cliente simplemente es responsable de la presentación.
– Modelo de cliente rico (fat-client) el servidor solamente es responsable de la gestión de los datos, el cliente implementa la lógica de aplicación y las interacciones con el usuario.
Cliente-servidor de tres capas: – Presentación – Aplicación – Datos
Arquitecturas de Sistemas distribuidos
• Arquitecturas objetos distribuidos: Pensar en objetos que pueden distribuirse en varias computadores de una red y comunicarse a través de middleware.
Ventajas: abierto, flexible, escalable posibilidad de reconfiguración
CORBA
Middleware, Intermediario de peticiones de objetos. Se requiere middleware a dos niveles: – Nivel de comunicación lógica: funcionalidades que
permite a los objetos intercambiar datos y controlar la información sobre diferentes computadores – estándares CORBA y COM.
– Nivel de componentes: proporciona una base para desarrollar componentes compatibles – estándares como CORBA, EJB o Active X.
CORBA (Common Object Request Broker Architecture) desarrollado por OMG (Object Management Group).
CORBA
Propone Object Management Architectura una arquitectura formada por varios componentes: – Objetos de aplicación propios. – Objetos estándar para un dominio especifico. – Servicios fundamentales para computación distribuida
como gestión de seguridad y directorios. – Facilidades horizontales como interfaz de usuarios,
gestión del sistema y otras.
CORBA
Los cuatro elementos principales para los estándares CORBA son: – Modelos de objetos para objetos de aplicación donde
un objeto CORBA es una encapsulación de un estado con un lenguaje neutral bien definido IDL (Interface Definition Language).
– Un intermediario de peticiones de objetos ORB que gestiona peticiones para servicios de objetos – localiza el servicio, prepara la petición, envía la petición y devuelve el resultado.
– Un conjunto de servicios generales que serán requeridos por muchas aplicaciones distribuidas.
CORBA
– Conjunto de componentes comunes construidos sobre estos servicios básicos que pueden ser requeridos por las aplicaciones.
CORBA
• Un objeto es una encapsulación de atributos y servicios. Los objetos CORBA además incluyen una interfaz con atributos y operaciones del objeto.
• Identificador denominado IOR (referencia de objeto interoperable).
• El ORB gestiona la comunicación entre los objetos, estos no necesitan conocer la localización de los objetos ni detalles de su implementación.
• IDL aísla los objetos del ORB lo que garantiza la transparencia.
Computación distribuida interorganizacional
Proporciona mejores condiciones para aplicar estándares locales y procesos operacionales. Disponibilidad de modelos más recientes de computación distribuida que permiten computación d i s t r i b u i d a i n t e r o r g a n i z a c i o n a l q u e intraorgranizacional.
• Computación peer to peer (p2p). • Sistemas orientados a servicios.
Computación peer to peer Son sistemas descentralizados en los que los cálculos
pueden llevarse a cabo en cualquier nodo de la red y, al menos en principio no se hace distinción entre clientes y servidores.
Su fin, aprovechar la ventaja de la potencia computacional y disponibilidad de almacenamiento a través de una red de computadoras.
En una arquitectura descentralizada los nodos no son simplemente elementos funcional, sino también interruptores que encaminan los datos y señales.
Altamente tolerante a fallos y tolerante a nodos desconectados.
Sistemas orientados a servicios El desarrollo de la WWW trajo consigo que los clientes
tuvieses acceso a servidores remotos situados fuera de las organizaciones, si éstas ubicaban su información en HTML entonces esta podía ser accedida por estas computadores; el acceso podría ser por navegador y el acceso a almacenes de información por otros programas.
Para solucionar este problema se propuso la noción de un servicio web – que permite a las organizaciones hacer accesible la información a otros programas definiendo y publicando una interfaz de servicio web independiente de la aplicación que lo ogrede o lo utiliza.
Sistemas orientados a servicios Los tres estándares fundamentales que permiten la
comunicación de servicios web son: • SOAP (Simple Object Access Protocol) Define una
organización para intercambio de datos estructurados entre servicios web.
• WSDL (Web Services Description Language). Define cómo puede presentarse las interfaces de los servicios web.
• UDDI (Universal Description, Discovery and Integration) define como puede organizarse la información de descripción de servicios.
Bibliografía
• Sommerville I., Ingeniería Software 7ma edición