Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Qu es un estilo arquitectnico?
Es llamado tambin patrn arquitectnico. Es un conjunto de principios y caractersticas que identifican y proporcionan
un marco abstracto para una familia de sistemas. El uso de estilos arquitectnicos mejora muchos aspectos del diseo
de la arquitectura como la reutilizacin de ste.
Uno de los beneficios ms importante de utilizar los estilos arquitectnicos es que ellos proporcionan un lenguaje
comn.
La arquitectura de un sistema de software nunca se limita a un nico estilo arquitectnico, a menudo se combinan los
estilos arquitectnicos.
El principio clave del estilo basado en componentes es el uso de componentes que son:
Reutilizable: diseados para ser utilizados en diferentes escenarios, algunos componentes pueden ser
diseados para una tarea especfica.
Reemplazable: se pueden sustituir fcilmente.
Contexto no especfico: diseados para operar en diferentes entornos y contextos.
Extensible: un componente puede ser extendido a partir de componentes existentes para proporcionar un
nuevo comportamiento.
Encapsulado: encapsula componentes con tal de no revelar detalles de los procesos internos.
Independiente: diseados para tener dependencias mnimos sobre otros componentes.
Principales beneficios: Facilidad de implementacin, Costo reducido, Facilidad de desarrollo, Reutilizable, Mitigacin de
complejidad tcnica.
Para aplicar un buen conocimiento del dominio de negocio, el equipo de desarrollo a menudo trabaja con expertos en
el dominio de negocio para modelar el dominio. Todo el equipo se compromete a utilizar un solo idioma que se centra
en el mbito empresarial.
El objetivo no es solo poner en prctica el idioma que se utiliza, sino tambin mejorar y perfeccionar el lenguaje de la
comunidad.
Principales beneficios: Comunicacin, Extensible, Comparable.
Arquitectura en capas
Se enfoca en la distribucin de roles y responsabilidades de forma jerrquica proveyendo una forma muy efectiva de
separacin de responsabilidades. El rol indica el modo y tipo de interaccin con otras capas, y la responsabilidad indica
la funcionalidad que est siendo desarrollada.
Las comunicacin entre capas es explicita y dbilmente acoplado, apoya la flexibilidad y facilidad de mantenimiento.
Las capas de una aplicacin pueden residir en el mismo equipo fsico (el mismo nivel) o pueden estar distribuido en
equipos independientes (n-niveles), y los componentes de cada capa se comunican con los componentes de otras capas
a travs de interfaces bien definidas.
Es un estilo para el diseo de aplicaciones en las que la interaccin entre las aplicaciones se logra mediante la
transmisin de mensajes (por lo general de forma asncrona) por un bus comn. A menudo se implementa utilizando
un sistema de mensajera tales como Message Queuing. Un bus de mensaje proporciona la capacidad de manejar:
Comunicaciones de mensajes orientados: toda la comunicacin entre las aplicaciones se basa en mensajes que
utilizan esquemas conocidos.
Lgica de procesamiento complejo: operaciones complejas se pueden ejecutar mediante la combinacin de
un conjunto de operaciones ms pequeas, tareas especficas.
Las modificaciones a la lgica de procesamiento: se basa en esquemas y comandos comunes.
Integracin con diferentes ambientes: se puede interactuar con las aplicaciones desarrolladas por diferentes
entornos Microsoft .NET y Java.
Las variaciones en el estilo de bus de mensajes incluyen:
Enterprise Service Bus (ESB): utiliza el servicio para la comunicacin entre el bus y los componentes conectados
al bus. Proporciona los servicios que transforman los mensajes de un formato a otro.
Internet Service Bus (ISB): aplicaciones alojadas en la nube. Es el uso de identificadores uniformes re recursos
(URI) y polticas para controlar el encaminamiento de la lgica a travs de aplicaciones y servicios en la nube.
Principales beneficios: Extensibilidad, Baja complejidad, Flexibilidad, Articulacin flexible, Escalabilidad, Simplificacin
de aplicacin.
Estilo Arquitectnico n-nivel/ 3-nivel
Divide funcionalidad de segmentos separados de la misma manera como el estilo en capas, pero con cada segmento de
ser un nivel situado en un equipo separado fsicamente. Se caracteriza por la descomposicin funcional de aplicaciones,
los componentes de servicio, y su implementacin distribuida, proporcionando una mejor escalabilidad, disponibilidad,
capacidad de gestin y la utilizacin de recursos. La comunicacin entre los niveles normalmente es asncrona con el fin
de apoyar una mejor escalabilidad.
Principales beneficios: Mantenibilidad, Escalabilidad, Flexibilidad, Disponibilidad.