Tenemos un sistema heredado para actualizar porque:
- Utiliza una base de datos no sql impopular (entre nuestros usuarios) (Btrieve)
- Proporciona solo una interfaz de texto
- Está escrito en Turbo Pascal (pero compilado en pascal gratuito) que es difícil reclutar / retener desarrolladores para mantenerlo
Para darle una idea de la escala, el código base es de 15 MB sobre 756 archivos.
Todos los estudios que he consultado, como los enumerados aquí sugieren que es mucho más costoso para Reescribe para adaptar lo que tienes.
Si pensara que podríamos encapsular las cosas heredadas detrás de un servicio web y luego diseñar nuevos clientes, estaría bien. Pero estoy atascado con esta base de datos heredada que hace referencia al 90% de esos 756 archivos.
Incluso intentamos reemplazar el código de base de datos de bajo nivel con el código para convertirlo a SQL, y aunque funcionó bien, fue demasiado lento porque el código aún está accediendo a los registros uno a la vez generando demasiadas sentencias de SQL de lo que lo haría necesitar. Además, este enfoque no permite ninguna mejora en el diseño de la base de datos.
Cuando nos enfrentamos a un trastorno como la sustitución de la base de datos a la que tanto se hace referencia en el código y en los otros requisitos enumerados, ¿puede seguir pagando para reutilizarlo o es mejor que tratemos la nueva versión como un producto completamente nuevo y solo enumeramos el Las capacidades de los sistemas actuales como requisitos (teniendo en cuenta que no existen requisitos prácticos para el sistema actual).
Sé que es demasiado difícil dar una respuesta definitiva a esto, por lo que cualquier consejo sería apreciado especialmente si has experimentado una situación similar.