Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Arquitectura de software orientada a patrones

Los patrones de arquitectura de software son fundamentales para guiar el trabajo de un arquitecto de software y empresarial. Aquí se explican, usando Matrix como analogía, la estructura indicada por Patterns of Software Architecture Volumen 1

Arquitectura de software orientada a patrones

  1. 1. Agenda • Objetivos de la presentación • Estructura de POSA • Clase-Responsabilidad-Colaboración • Patrón de Capas • Patrón de Filtros y tuberías • Patrón de Mediador • Patrón Modelo Vista Controlador • Patrón Presentación Abstracción Control • Patrón de Micronúcleo
  2. 2. El arquitecto necesita crear un sistema y usa patrones para especificar la organización del mismo …
  3. 3. POSA (Objetivos) Presentar y dar el esquema de arquitectura de software orientada a patrones (Pattern Oriented Software Architecture) Explicar cada una de las agrupaciones de patrones, los patrones y su aplicación. Mostrar un lenguaje de patrones que facilitará el diseño de la arquitectura de software a partir de los diferentes patrones.
  4. 4. Estructura de POSA POSA es un conjunto de patrones para arquitectura de software. Su enfoque es genérico y abstracto. El volumen 3 de POSA se enfoca a patrones para la arquitectura de recursos de computación El volumen 4 de POSA conjunta los patrones de cómputo distribuido y conocidos por la comunidad (incluyendo GoF, PEAA, EIP) El volumen 5 de POSA se enfoca a tratar un modelo para definir lenguajes de patrones El volumen 1 de POSA se enfoca a los patrones fundamentales de arquitectura de software El volumen 2 de POSA se enfoca a la arquitectura del software para manejo de concurrencia y de gestión con la red
  5. 5. En el sistema todo debe tener un propósito y lo que no lo tenga, no debe ser parte del sistema. Identifica el propósito a través de la técnica de CRC…
  6. 6. Clase-Responsabilidad-Colaboración Se utiliza una tarjeta CRC para plasmar en una lluvia de ideas CRC es una técnica para identificar las clases de un sistema a partir de las responsabilidades que tiene en el sistema y la colaboración con otras clases POSA 1 utiliza CRC para especificar los patrones
  7. 7. Primero, divide el sistema en capas para tratar la complejidad …
  8. 8. Patrón de capas (layers) Un sistema que por sus dimensiones requiere ser dividido en componentes
  9. 9. Ejemplo de Patrón de capas
  10. 10. Segundo, define el esquema básico de comportamiento, basado en unidades llamadas filtros y comunicados por tuberías …
  11. 11. Patrón de tuberías y filtros (pipe & filters) El sistema requiere de un procesamiento orientado a flujo de datos. Cada procesamiento se implementa como un filtro y comunicados a través de tuberías Class Class Filter Filter Responsability · Obtiene datos de Responsability · Obtiene datos de entrada entrada · Efectúa funciones sobre · Efectúa funciones sobre los datos los datos · Provee datos de salida · Provee datos de salida Collaborator · Pipe Collaborator · Pipe Class Class Pipe Pipe Responsability · Transfiere datos · Canaliza la información · Sincroniza elementos Responsability · Transfiere datos · Canaliza la información · Sincroniza elementos contigüos contigüos Collaborator · Fuente de Collaborator · Fuente de datos datos · Contenedor · Contenedor de datos de datos · Filtro · Filtro
  12. 12. Ejemplo de pipe & filters
  13. 13. Tercero, necesita comunicar a todos los componentes del sistema, utilizando canales de comunicación y un mediador …
  14. 14. Patrón de mediador (broker) Patrón para estructurar sistemas distribuidos usando el desacoplamiento de componentes y que interactúan entre ellos a través de invocación a servicios remotos. El mediador coordina la comunicación de solicitudes del cliente al servidor y coordina el retorno del resultado del servidor al cliente, procurando la transparencia en el formato de datos y el protocolo de transporte.
  15. 15. Ejemplo de broker
  16. 16. Cuarto, establece la interacción entre los humanos y el sistema, usando modelo vista controlador… Preparado por:
  17. 17. Patrón de Modelo Vista Controlador (MVC) El patrón MVC se utiliza para estructurar sistemas interactivos
  18. 18. Ejemplo de MVC
  19. 19. Quinto, establecer un esquema complejo para visualizar la información del sistema en diversos niveles, usando el patrón Presentación Abstracción Control…
  20. 20. Patrón de Presentación-Abstracción- Control (PAC) El patrón PAC estructura la interacción de la aplicación cuando las partes son componentes autónomos y con sus propias capacidades independientes << Cmp >> AAggeennttee aallttoo nniivveell << Cmp >> AAggeennttee bbaajjoo nniivveell << Cmp >> AAggeennttee bbaajjoo nniivveell << Cmp >> Agente nivel intermedio Agente nivel intermedio << Cmp >> AAggeennttee bbaajjoo nniivveell << Cmp >> AAggeennttee bbaajjoo nniivveell << Cmp >> AAggeennttee bbaajjoo nniivveell
  21. 21. Ejemplo PAC
  22. 22. Sexto, encapsula las funciones primordiales del sistema en un micro nucleo y así generarás un sistema adaptable
  23. 23. Patrón de Micro núcleo (Microkernel) El patrón microkernel permite construir las capas externas del sistema a partir de componentes internos que son eficientes, simples, con facilidad de intercambio y con interfaces bien definidas
  24. 24. Ejemplo Microkernel
  25. 25. Séptimo, tu sistema debe ser adaptable, a través de la manipulación de su meta modelo. Todo componente del sistema puede ser potencialmente modificado en tiempo de ejecución, utilizando el patrón de Reflexión
  26. 26. Patrón de Reflexión (Reflection) El patrón de reflexión otorga la habilidad a un programa para inspeccionar su estructura interna y poder modificar a ésta misma en tiempo de ejecución y por tanto, su comportamiento.
  27. 27. Ejemplo Reflection
  28. 28. Estructura Layer Pipe and Filters Blackboard * Distribución Broker Interacción Model-View-Controller Presentation-Abstraction -Control Adaptable Microkernel Reflection
  29. 29. Para la creación de los objetos del sistema, el Oraculo ofrece un conjunto de recetas, patrones de diseño, para fortalecer la arquitectura …
  30. 30. Un sistema que es complejo, debe ser concebido en término de sus partes y la suma de ellas debe describir al sistema como un todo…
  31. 31. Patrón de Todos y sus partes (Whole-Part) El patrón indica que un sistema debe constituirse de sus partes de tal manera que el todo es el resultado de la suma de sus partes. Es la agregación de componentes para conformar una unidad semántica. El Acceso directo a las partes no es posible.
  32. 32. Para un sistema que requiere un alto nivel de procesamiento, repartirlo a múltiples esclavos y que son coordinados por el maestro …
  33. 33. Patrón de Maestro Esclavo (Master-slave) El patrón permite organizar el trabajo de tal manera que un componente (el maestro) distribuye trabajo a componentes idénticos (esclavos) y calcula un resultado final de los resultados que dichos esclavos retornan. Soporta procesamiento en paralelo, tolerancia a fallas
  34. 34. No tener contacto directo con el ambiento externo, utilizar un agente Proxy para que sea la manera como se controle el acceso a un servicio y sea protector ante posibles ataques …
  35. 35. Ejemplos de Proxy
  36. 36. Para administrar al sistema proporciona una serie de comandos y organizarlos para que sea invocados de manera similar y con un lenguaje específico al dominio …
  37. 37. Patrón de Procesador de comando (Command Processor) El patrón permite que de manera ordenada se agreguen o eliminen comandos con los que se gestiona un sistema
  38. 38. Ejemplos de Command Processor
  39. 39. Para manipular de una manera uniforme la representación visual del sistema utilizar un administrador de vistas…
  40. 40. Patrón de Manejador de Vistas (View Handler) El patrón ayuda a manejar todas las vistas que un sistema de software proporciona. El manejador de vista permite al cliente el manipular y disponer de las vistas, controla la dependencia entre las mismas y organiza su actualización
  41. 41. Ejemplos de View Handler
  42. 42. Ofrecer un mecanismo eficiente de comunicación entre los pares del sistema usando el esquema de envío recepción…
  43. 43. Cuando exista una relación entre cliente y servidor poner como un intermediario de comunicación a un despachador para ofrecer transparencia en la ubicación y establecimiento de la conexión. Cliente-Despachador- Servidor …
  44. 44. Cuando múltiples componentes están cooperando en el sistema, proporcionar un mecanismo de propagación de cambios a través de la suscripción a las actualizaciones de un publicador, formando así un esquema de publicador suscriptor…

×