Migrar o Actualizar su Aplicación Delphi

Compartir
Share on Facebook11Tweet about this on TwitterShare on Google+0Share on LinkedIn0

Migrar o actualizar una aplicación Delphi es una decisión estratégica tomada utilizando la información disponible y evaluándola entre diferentes opciones.

Pero quién y con qué experiencia proporciona estas opciones, puede darse el caso que no tenga todo el marco de referencia para poder dar una opinión totalmente técnica.

El propósito del artículo es proporcionar las experiencias de migración en tres empresas con sistemas de diferente arquitectura.

La intención es que sirva para tener una idea del proceso y proporcione un marco de referencia para la toma de decisión entre migrar o actualizar una aplicación Delphi.

Sistema de Elaboración de Pedimentos Aduanales.

En este sistema se participó desde su creación y diseño con Delphi 6.0 utilizando tecnología BDE (Borland DataBase Engine).

Para la conexión de base de datos, se crearon varios controles personalizados, clases base para operaciones genéricas, frames con funciones específicas y componentes de terceros solo para funciones complejas como impresión de códigos de barras, algoritmos de seguridad, exportación de datos en Excel y PDF.

Nunca se utilizaron componentes de terceros obtenidos de internet o de fuentes desconocidas.

Con este antecedente el proceso de migración se realizó dos veces. En la primera utilizaron una versión de Delphi 2005 con soporte para BDE, y respetaron esa parte de la arquitectura.

banner aplicación delphi

Los puntos de cuidado al realizar esta actualización fueron:

Restructuración en las unidades de toda la VCL (Visual Component Library).

Para lograrlo se recurrió al código fuente y ayuda del mismo Delphi en donde se buscaron las unidades correctas a incluir en las definiciones y eliminando las inexistentes o innecesarias. Los mensajes del compilador fueron de gran ayuda para esta tarea.

Los componentes de terceros que pudieron actualizarse, no existió mayor problema. Pero en aquellos que ya no contaban con soporte fue necesario revisar sus códigos fuente originales.

Después de varias pruebas y cambios, se logró actualizar estos componentes a la nueva versión de Delphi sin perder funcionalidad.

Esta tarea se logró por adquirir los componentes con el código fuente completo y no hacía uso de librerías externas. Esto es muy importante a considerar al utilizar componentes de terceros.

Años después se requirió volver a realizar la actualización a la versión Delphi 2007, ahora sin soporte para BDE.

Esto llevo a realizar cambios a nivel arquitectura para el uso de conexiones del tipo Interbase.

Al conocer el diseño original el proceso de actualización no tuvo mayores inconvenientes logrando nuevamente un resultado satisfactorio.

VCL aplicación delphi

Sistema CRM para Reportes de Aseguradoras.

En este caso la situación en que se toma el proyecto es totalmente diferente, se desarrolló en la versión Delphi 2005 utilizando para el acceso a base de datos componentes ADO utilizando SQL Server como administrador de base de datos, se desconoce el diseño original y se carece de toda documentación de su desarrollo.

La actualización requerida es a la versión Delphi 2007.

Al tomar el proyecto se tenía un avance de migración en .Net con lenguaje C# como aplicación web, con un avance de aproximadamente 30%.

Con este escenario se procede de la misma forma a revisar el uso de componentes de terceros y se encuentran varios obtenidos de internet sin soporte ni código fuente.

En la revisión de su funcionalidad se detecta que pueden ser sustituidos por componentes nativos de Delphi, reemplazándolos.

Otro punto a considerar eran las pruebas de las funcionalidades ya que existía el riesgo de que al actualizar el código, alguna se perdiera.

De tal forma, la estrategia que se consideró fue realizar pruebas de caja negra, en donde solo se revisaban entradas y salidas dejando atrás el proceso.

Después de atender estas consideraciones, se realiza la actualización del sistema completo sin mayores contratiempos mientras que la migración a .Net continuaba con un avance del 60%.

Este resultado logra determinar dos directrices distintas en donde se abandona la migración y solo las nuevas funcionalidades necesarias se implementan en .Net mientras que se continua el soporte a la aplicación Delphi.

seguros aplicación delphi

Sistema de Flujo de Efectivo

En este caso el sistema se toma utilizando Delphi 2007 utilizando componentes ADO para acceso a datos y Oracle como administrador de base de datos.

Un uso bien estructurado de clases, componentes especializados y ningún componente de terceros utilizado en su arquitectura.

El requerimiento fue migrar las funcionalidades principales para la construcción del sistema orientado a un cliente nuevo con funcionalidades especiales en una versión con Delphi XE2.

En este caso la situación de mayor cuidado fue la revisión de las funcionalidades principales, así como su funcionamiento actual.

Se toma la misma estrategia de realizar pruebas de caja negra identificando productos de entrada y de salida, implementando la migración de las funcionalidades seleccionadas.

Después de las pruebas de calidad se obtiene un resultado en un tiempo bastante corto debido a la arquitectura bien estructurada y la eliminación de funcionalidades no necesarias.

flujo de efectivo aplicación delphi

Conclusiones

Las conclusiones del proceso de actualización se pueden resumir en los siguientes puntos:

Elementos no determinantes

  1. El conocimiento del diseño original ayuda, pero no es determinante en el proceso.
  2. La arquitectura estructurada es un factor que facilita las tareas, pero tampoco determina el éxito del proceso.
  3. El desconocimiento de las funcionalidades es un factor que no es determinante en el proceso.

Elementos determinantes

  1. El uso adecuado de componentes de terceros son un riesgo en el proceso. Se debe tener el soporte y habilidad de poder implementarlos en las nuevas versiones.
  2. La arquitectura de uso de componentes de acceso a base de datos determina la facilidad para realizar la migración.
  3. La habilidad de realizar pruebas de caja negra sí determina el éxito de la migración.
  4. Los tiempos de inversión para actualizar una aplicación Delphi son menores a su migración a otro lenguaje. No es necesario entender el funcionamiento para realizar esta función.
  5. Delphi desde la versión 2005 ha conservado la estructura de sus códigos fuente. Por lo tanto al migrar una aplicación no es necesario invertir mayor tiempo en modificaciones al código.

Existen factores como el uso de la herramienta, experiencia, conocimiento de nuevas funcionalidades y costos que puedan implicar una migración.

Pero al menos dentro del marco técnico espero que estas experiencias sirvan como referencia para decidir entre migrar o actualizar.

Compartir
Share on Facebook11Tweet about this on TwitterShare on Google+0Share on LinkedIn0
2017-12-18T11:51:21+00:00

Deja que tu mente hable

No te pierdas nuestros últimos posts,
suscribete a nuestro blog.

¡Listo! Ya estás suscrito.