12/12/2009

La importancia de marcos para el desarrollo rápido de aplicaciones


Por años, las instituciones publicas han utilizado tecnologías de información para desarrollar sistemas que respondan a sus iniciativas de automatización y mejora continua. Por lo general, estas instituciones cuentan con equipos de desarrollo, que literalmente son bombardeados todos los días, con innumerables marcos de desarrollo, que entregan soluciones en áreas como: base de datos, pruebas unitarias, paginas dinámicas, aspectos, utilitarios, ajax, inyección de dependencias, patrones de diseño, etc. Este ecosistema de tecnologías es complejo y difícil de asimilar; porque requiere de tiempo, y de personal con experiencia, no solo en su manejo e integración; sino en el conocimiento de las mejores practicas que garantizan un nivel de calidad adecuado.

Este escenario complejo no ha facilitado la adopción de arquitecturas de software ágiles, y ha incentivado que equipos de desarrollo trabajen directamente sobre el lenguaje de programación, y no mediante marcos de trabajo conocidos como frameworks, que incluyen en su arquitectura, practicas y utilitarios que estandarizan, integran y aceleran los métodos de desarrollo de sistemas.

Desarrollo Rápido de Aplicaciones (DRA)

Para incentivar la utilización de marcos de desarrollo o frameworks, se han desarrollado los RAD (Rapid Application Development), en adelante  DRA (Desarrollo Rápido de Aplicaciones). Estos entornos de desarrollo, integran diversas tecnologías mediante la utilización de patrones de generación de código y diversas técnicas de automatización que incluyen : análisis, diseño, desarrollo, pruebas y despliegue. Estos entornos de desarrollo, despliegan componentes reutilizables conocidos como plugins, que maximizan los niveles de calidad de las soluciones desarrolladas bajo este modelo.  Los DRA proporcionan mayor coherencia, calidad, reutilizacion, y sobre todo; rapidez.

Como funcionan

Las tecnologías RAD, permiten generar un conjunto de artefactos de software a partir de un modelo relacional de base de datos o un modelo conceptual basado en objetos (clases, atributos, y relaciones). A partir de este modelo, y a través de una serie de comandos se pueden generar interfaces funcionales completas conocidas como andamiajes para  adicionar, modificar, eliminar o recuperar objetos de datos; generándose también: script de pruebas, marcos de validación, pruebas unitarias, y modelo de objetos de datos. Los RAD, autogeneran la mayoría del esfuerzo requerido para armar una arquitectura, e incluir componentes como logs, manejo de archivos de configuración, conexiones a base de datos, etc.

Tecnologías Disponibles

Actualmente existen diversos marcos DRA, entre los mas utilizados se encuentran:

Grails : Grails es una plataforma open source para el desarrollo de soluciones web, basada en Spring Framework y Groovy http://grails.org/
.
Ruby on Rails : Rails es un completo entorno para desarrollar aplicaciones web basada en el lenguaje de programacion Ruby. http://rubyonrails.org/

Symfony : Symfony es un marco de desarrollo basado en PHP,que integra algunas bibliotecas de terceros muy conocidas http://www.symfony-project.org/

Beneficios
  1. Incentiva la utilización de metodologías ágiles de desarrollo, como XP, Scrum, o Kanban en su organización.
  2. Acelera los tiempos de desarrollo y entrega de soluciones.
  3. Evita la codificación manual reduciendo los errores de codificación.
  4. Disminuye significativamente el tiempo y costo de desarrollo.
  5. Facilita la estimacion de esfuerzo de trabajo.
  6. Incentiva la utilización de componentes reutilizables.
  7. Mejora la calidad del marco de arquitectura.
Recomendaciones
  1. Incorpore tecnologías DRA en su institución.
  2. Desarrolle prototipos como estrategia para disminuir las brechas entre los requerimientos técnicos y funcionales.
  3. Aplique metodologías de desarrollo rápido de aplicaciones.
Conclusiones
Este tipo de tecnologías esta cambiando y simplificando la manera en la cual desarrollamos sistemas.

No hay comentarios.: