Arquitectura aplicaciones clase3

18
Germania Rodríguez [email protected] Arquitectura de Aplicaciones

Transcript of Arquitectura aplicaciones clase3

Page 1: Arquitectura aplicaciones clase3

Germania Rodríguez [email protected]

Arquitectura de Aplicaciones

Page 2: Arquitectura aplicaciones clase3

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?

Page 3: Arquitectura aplicaciones clase3

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.

Page 4: Arquitectura aplicaciones clase3

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.

Page 5: Arquitectura aplicaciones clase3

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.

Page 6: Arquitectura aplicaciones clase3

Arquitecturas de Sistemas distribuidos

•  Arquitecturas multiprocesador: Procesos que pueden ejecutarse en procesadores diferentes bajo el control de un despachador.

Page 7: Arquitectura aplicaciones clase3

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

Page 8: Arquitectura aplicaciones clase3

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

Page 9: Arquitectura aplicaciones clase3

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).

Page 10: Arquitectura aplicaciones clase3

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.

Page 11: Arquitectura aplicaciones clase3

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.

Page 12: Arquitectura aplicaciones clase3

CORBA

– Conjunto de componentes comunes construidos sobre estos servicios básicos que pueden ser requeridos por las aplicaciones.

Page 13: Arquitectura aplicaciones clase3

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.

Page 14: Arquitectura aplicaciones clase3

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.

Page 15: Arquitectura aplicaciones clase3

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.

Page 16: Arquitectura aplicaciones clase3

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.

Page 17: Arquitectura aplicaciones clase3

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.

Page 18: Arquitectura aplicaciones clase3

Bibliografía

•  Sommerville I., Ingeniería Software 7ma edición