Una aplicación ágil es el resultado de una arquitectura orientada a servicios y paradigmas de desarrollo ágil . Se distingue de las aplicaciones convencionales por ser un conjunto de servicios débilmente acoplados con una capa de orquestación desacoplada , fácilmente modificable para adaptarse a las necesidades cambiantes del negocio y escalable por diseño.
Utilizando paradigmas de desarrollo de aplicaciones ágiles , se puede construir un conjunto de servicios para abordar componentes funcionales específicos del negocio. Estos servicios se pueden exponer utilizando cualquiera de los protocolos de comunicación estándar, incluidos los servicios web. Una aplicación ágil bien diseñada estandarizará un protocolo de comunicación común y un modelo de datos común . Los servicios se pueden luego orquestar utilizando una capa desacoplada para implementar la lógica de negocio. [ 1 ] Hay muchas herramientas de diferentes proveedores (IBM, [ 2 ] Intel [ 3 ] etc.) en la industria que pueden soportar la capa de orquestación .
La naturaleza desacoplada de una aplicación ágil le permite incorporar tolerancia a fallos y escalabilidad . Por ejemplo, la escalabilidad se aborda centrando la atención del equipo de control de calidad en el conjunto de servicios que causan el cuello de botella, en lugar de intentar resolver la escalabilidad de todo el sistema, lo que puede ser un problema mucho mayor. Del mismo modo, la tolerancia a fallos se puede lograr mediante el despliegue de múltiples instancias de un servicio. Si un servicio falla, otra instancia puede asumir la carga. Para los servicios sin estado, esto puede conducir a una disponibilidad continua.
Siguiendo el paradigma de desarrollo ágil, cada unidad del ciclo de desarrollo puede centrarse en un único servicio. Además, varios de estos ciclos de desarrollo pueden ejecutarse en paralelo, lo que permite una finalización más rápida del desarrollo.
Agile es un método de respuesta basado en la personalización, en lugar de la producción estable o la estandarización.
Referencias
Lecturas adicionales
- Nanocomputadoras e inteligencia de enjambre por Jean-Baptiste Waldner , ISTE, ISBN 978-1-84704-002-2, 2007.
- Desarrollo web ágil con Rails, 2.ª edición, por Dave Thomas, David Heinemeier y Leon Breedt, Rails, ISBN 0-9776166-3-0, 2007.yy
Véase también
- Desarrollo ágil de software