Una arquitectura de referencia en el campo de la arquitectura de software o la arquitectura empresarial proporciona una solución de plantilla para una arquitectura para un dominio en particular. También proporciona un vocabulario común con el que discutir implementaciones , a menudo con el objetivo de enfatizar los puntos en común. Una arquitectura de referencia de software es una arquitectura de software [1] donde las estructuras y los elementos y relaciones respectivos proporcionan plantillas para arquitecturas concretas en un dominio particular o en una familia de sistemas de software .
Una arquitectura de referencia a menudo consta de una lista de funciones y alguna indicación de sus interfaces (o API ) e interacciones entre sí y con funciones ubicadas fuera del alcance de la arquitectura de referencia.
Las arquitecturas de referencia se pueden definir en diferentes niveles de abstracción. Uno muy abstracto podría mostrar diferentes equipos en una red de comunicaciones , cada uno con funciones diferentes. Un nivel inferior podría demostrar las interacciones de los procedimientos (o métodos ) dentro de un programa de computadora definido para realizar una tarea muy específica.
Una arquitectura de referencia proporciona una plantilla, a menudo basada en la generalización de un conjunto de soluciones. Estas soluciones pueden haber sido generalizadas y estructuradas para la descripción de una o más estructuras de arquitectura basadas en la recolección de un conjunto de patrones que se han observado en varias implementaciones exitosas. Además, muestra cómo componer estas partes juntas en una solución. Se crearán instancias de arquitecturas de referencia para un dominio en particular o para proyectos específicos.
La adopción de una arquitectura de referencia dentro de una organización acelera la entrega mediante la reutilización de una solución eficaz y proporciona una base para la gobernanza para garantizar la coherencia y la aplicabilidad del uso de la tecnología dentro de una organización. En el campo de la arquitectura de software, muchos estudios empíricos han demostrado los siguientes beneficios y desventajas comunes de adoptar una arquitectura de referencia de software dentro de las organizaciones: (a) mejora de la interoperabilidad de los sistemas de software mediante el establecimiento de una solución estándar y mecanismos comunes para el intercambio de información ; (b) reducción de los costos de desarrollo de proyectos de software mediante la reutilización de activos comunes; (c) mejora de la comunicación dentro de la organización porque las partes interesadas comparten la misma mentalidad arquitectónica; y, (d) influir en la curva de aprendizaje de los desarrolladores debido a la necesidad de aprender sus características. [2]
Ejemplos de
- La arquitectura Java Platform, Enterprise Edition ( Java EE ) es una arquitectura de referencia en capas que proporciona una solución de plantilla para muchos sistemas empresariales desarrollados en Java.
- La Arquitectura de Aplicación de Seguros de IBM [3] es una arquitectura de referencia para el dominio de Seguros.
- AUTOSAR es una arquitectura de referencia basada en componentes para arquitecturas de software automotriz.
- Eulynx es una arquitectura de referencia para sistemas de señalización ferroviaria.
Ver también
Referencias
- ^ Clements, Paul; Felix Bachmann; Len Bass ; David Garlan; James Ivers; Reed Little; Paulo Merson; Robert Nord; Judith Stafford (2010). Documentación de arquitecturas de software: vistas y más allá, segunda edición . Boston: Addison-Wesley. ISBN 978-0-321-55268-6.
- ^ Martínez-Fernández, Silverio; Medeiros Dos Santos, Paulo Sergio; Ayala, Claudia P .; Franch, Xavier; Travassos, Guilherme H. (2015). "Agregación de evidencia empírica sobre los beneficios e inconvenientes de las arquitecturas de referencia de software". 2015 Simposio internacional ACM / IEEE sobre ingeniería y medición de software empírico (ESEM) . págs. 1-10. doi : 10.1109 / ESEM.2015.7321184 . hdl : 2117/80457 . ISBN 978-1-4673-7899-4.
- ^ La arquitectura de la aplicación de seguros de IBM