Aplicaciones dinámicas y genéricas

Estilo de desarrollo tradicional

En el desarrollo clásico de sistemas de información se utilizan técnicas como: aplicación de plantillas, generación de código a partir del modelo físico de base de datos y/o diagrama de clases, etc. Esta modalidad de programar, automatiza requerimientos de una forma relativamente rápida, pero a corto plazo genera una gama de problemas que a priori no son claramente visibles por parte del desarrollador, pero influyen directamente sobre el cliente.

Las aplicaciones desarrolladas con este estilo tradicional, son excesivamente grandes en líneas de código y lentas al momento de su despliegue. Esto se debe a que, los generadores de código o desarrollos manuales de los programadores contienen instrucciones de programación repetidas, no necesarias para cumplir el objetivo e irrelevantes. Por ello, los técnicos deben hacer ajustes o correcciones manuales de forma posterior a la generación de código.

Por otro lado, considerando la cantidad de líneas de código repetitivas que cumplen una similar función, el mantenimiento adaptativo y correctivo se torna complejo, conducente al cometimiento de errores y la inversión de gran cantidad de horas de trabajo que podrían utilizarse en la solución de otros requerimientos. En el caso de una empresa de desarrollo de software, este paradigma provoca un alto tiempo de respuesta en el cumplimiento de nuevas necesidades solicitadas por los clientes. Así también, un incremento en los costos relacionado con el recurso humano técnico que, sin duda es uno de los rubros de mayor importancia dentro de los presupuestos de este tipo de empresas.

El desarrollo sin usar generadores de código, es decir, mediante programación manual, también conlleva a inconvenientes al momento del mantenimiento correctivo y adaptativo, ya que al realizar estas actividades, frecuentemente se encuentran grupos de instrucciones que no están estandarizadas. Por lo tanto, no siempre se tiene la certeza de que un cambio en el código esté correctamente aplicado solo en los sitios identificados. No olvidemos que, un sistema ERP dispone de millones de instrucciones, por lo que hay que usar las técnicas adecuadas para afrontar los desafíos que los procesos automatizados demandan.

Respecto del tiempo de desarrollo, en esta última modalidad se emplea muchas más horas técnicas, debido a la gran cantidad de código que se debe escribir y/o revisar, incrementando los plazos de entrega y costos de desarrollo tanto en aplicaciones nuevas, como en las fases de mantenimiento.

Una alternativa más eficiente y efectiva

En ese contexto, la programación genérica y dinámica, se presenta como una alternativa de solución más adecuada para una empresa de desarrollo de software, donde se requiere: minimizar las horas de desarrollo, reducir los costos de customización, disminuir los errores y mejorar los tiempos de entrega de los requerimientos a los clientes.

Este tipo de tecnología, en conjunto con la herencia, polimorfismo y otras estrategias de programación, se basa en la escritura de líneas de código que son capaces de: reaccionar a tiempo de ejecución frente a la presencia datos existentes en una base de datos, permitir la recepción de parámetros y configuraciones por parte del desarrollador durante la programación. 

De esta forma, los millones de líneas de código se reducen ostensiblemente, ya que se dispone de grupos de instrucciones que cumplen una función específica y que pueden ser reutilizados dando respuesta a las necesidades del programador a tiempo de ejecución. Este conjunto de líneas de código, dispone de especialidades como: pantallas simples, pantallas  compuestas  o complejas, árboles de navegación, ventanas de selección y demás casos que se presentan durante el desarrollo de un sistema los cuales son repetitivos. 

No olvidemos que, un sistema ERP que automatiza cientos de empresas dispone de decenas de módulos y miles de tablas en su base de datos.  Razón por la cual, la gestión de esa complejidad sería muy difícil y con altos riesgos utilizando programación tradicional. La programación genérica y dinámica, aunque compleja en la construcción de su plataforma base, se presenta como el mejor patrón de desarrollo de software.

Por supuesto que, para este estilo de programación se requiere aplicar el ciclo del construcción del software de una forma distinta a la tradicional. En primer lugar, se encuentra la elaboración de una plataforma genérica y dinámica llamada Framework. Sobre esta capa de software, cada uno de los desarrolladores escriben líneas estandarizadas y basadas en la plataforma, lo que conlleva a cumplir los requerimientos funcionales y no funcionales del usuario de una forma rápida, efectiva y con una minimización de errores importante.

Tal es el nivel de dinamismo en la programación que, cuando se presentan problemas de automatización sencillos, el desarrollador no necesita escribir líneas de código, simplemente cumple sus objetivos haciendo una parametrización y configuración a nivel de base de datos, para que la plataforma genérica presente las interfaces al usuario con la funcionalidad requerida. Cuando se presentan escenarios más complejos, el desarrollador puede combinar entre parametrización y escritura de código manual, pero siempre manteniéndose la estandarización.

Pablo Almeida Haro Ph. D.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *