3
Principales estilos arquitectónicos Ref. Estilo Arquitectónico Descripción EA1 Cliente/Servidor El estilo cliente/servidor define una relación entre dos aplicaciones en las cuales una de ellas (cliente) envía peticiones a la otra (servidor fuente de datos). EA2 Basado en Componentes El estilo basado en componentes describe un acercamiento al diseño de sistemas como un conjunto de componentes que exponen interfaces bien definidas y que colaborar entre sí para resolver un problema. EA3 En Capas (N-Layer) El estilo arquitectural en capas se basa en una distribución jerárquica de los roles y las responsabilidades para proporcionar una división efectiva de los problemas a resolver. Los roles indican el tipo y la forma de la interacción con otras capas y las responsabilidades la funcionalidad que implementan. EA4 Presentación Desacoplada El estilo de presentación desacoplada indica cómo debe realizarse el manejo de las acciones del usuario, la manipulación de la interfaz y los datos de la aplicación. Este estilo separa los componentes de la interfaz del flujo de datos y de la manipulación. EA5 En Niveles (N-Tier) El estilo arquitectural de N-Niveles define la separación de la funcionalidad en segmentos/niveles físicos separados, similar al estilo en n-capas pero sitúa cada segmento en una máquina distinta. En este caso hablamos de niveles físicos (Tiers). EA6 Orientado al Dominio DDD (Domain Driven Design) no es solo un estilo arquitectónico, es también una forma de afrontar los proyectos a nivel de trabajo del equipo de desarrollo, Ciclo de vida del proyecto, identificación del “Lenguaje Ubicuo” a utilizar con los Expertos en el negocio, etc. Sin embargo, DDD también identifica una serie de patrones de diseño y estilo de Arquitectura en concreto. DDD es también, por lo tanto, una aproximación concreta para diseñar software basándonos sobre todo en la importancia del Dominio del Negocio, sus elementos y comportamientos y las relaciones entre ellos.

Principales estilos arquitectónicos

Embed Size (px)

DESCRIPTION

Principales Estilos Arquitectónicos

Citation preview

Page 1: Principales estilos arquitectónicos

Principales estilos arquitectónicos

Ref. Estilo Arquitectónico Descripción

EA1 Cliente/Servidor El estilo cliente/servidor define una relación entre dos aplicaciones en las cuales una de ellas (cliente) envía peticiones a la otra (servidor fuente de datos).

EA2 Basado en Componentes El estilo basado en componentes describe un acercamiento al diseño de sistemas como un conjunto de componentes que exponen interfaces bien definidas y que colaborar entre sí para resolver un problema.

EA3 En Capas (N-Layer) El estilo arquitectural en capas se basa en una distribución jerárquica de los roles y las responsabilidades para proporcionar una división efectiva de los problemas a resolver. Los roles indican el tipo y la forma de la interacción con otras capas y las responsabilidades la funcionalidad que implementan.

EA4 Presentación Desacoplada El estilo de presentación desacoplada indica cómo debe realizarse el manejo de las acciones del usuario, la manipulación de la interfaz y los datos de la aplicación. Este estilo separa los componentes de la interfaz del flujo de datos y de la manipulación.

EA5 En Niveles (N-Tier) El estilo arquitectural de N-Niveles define la separación de la funcionalidad en segmentos/niveles físicos separados, similar al estilo en n-capas pero sitúa cada segmento en una máquina distinta. En este caso hablamos de niveles físicos (Tiers).

EA6 Orientado al Dominio DDD (Domain Driven Design) no es solo un estilo arquitectónico, es también una forma de afrontar los proyectos a nivel de trabajo del equipo de desarrollo, Ciclo de vida del proyecto, identificación del “Lenguaje Ubicuo” a utilizar con los Expertos en el negocio, etc. Sin embargo, DDD también identifica una serie de patrones de diseño y estilo de Arquitectura en concreto. DDD es también, por lo tanto, una aproximación concreta para diseñar software basándonos sobre todo en la importancia del Dominio del Negocio, sus elementos y comportamientos y las relaciones entre ellos.

Page 2: Principales estilos arquitectónicos

EA7 Orientado a Objetos El estilo orientado a objetos es un estilo que define el sistema como un conjunto de objetos que cooperan entre sí en lugar de como un conjunto de procedimientos. Los objetos son discretos, independientes y poco acoplados, se comunican mediante interfaces y permiten enviar y recibir mensajes.

EA8 Orientación a Servicios El estilo orientado a servicios permite a una aplicación ofrecer su funcionalidad como un conjunto de servicios para que sean consumidos. Los servicios usan interfaces estándares que pueden ser invocadas, publicadas y descubiertas. Se centran en proporcionar un esquema basado en mensajes con operaciones a nivel de aplicación y no de componente o de objeto.

EA9 Bus de Servicios El estilo arquitectural bus de mensajes define un sistema software que puede enviar y recibir mensajes usando uno o más canales de forma que las aplicaciones pueden interactuar sin conocer detalles específicos la una de la otra.

Referencias: [18,35,36,38,39,40]

[18] Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, and Michael Stal, Pattern Oriented - Software Architecture. Germany: JOHN WILEY & SONS, 1996.

[35] Paul Clements, Rick Kazman Len Bass, Software Architecture in practice. USA: Addison-Wesley, 2002.

[36] Mary Shaw & David Garlan, Software Architecture: Perspectives on an Emerging Discipline.: Prentice Hall, 1996.

[38] Microsoft. (2010) Guía Arquitectura N-Capas DDD.

[39] Larman Craig, UML y Patrones, Introducción al análisis orientado a objetos.: Prentice Hall.

[40] Ian Sommerville, Ingeniería de Software, 7th ed.: Pearson Addison Wesley, 2005.

Referencias WEB:

Architectural styles (according to CMU’s SEI). http://www.softwareresearch.net/fileadmin/src/docs/teaching/SS05/SE2/02_ArchStyles.pdf

Page 3: Principales estilos arquitectónicos

An Introduction to Software Architecture. http://sunner.cn/courses/SA/intro_softarch.pdf

Software Architecture: An Executive Overview. http://www.sei.cmu.edu/reports/96tr003.pdf

Autor:

Juan José González Faúndez

Magister en Ingeniería Informática mención Ingeniería de Software

Universidad Andrés Bello, Campus República

Santiago, Chile

[email protected]

[email protected]