Aplicación Delphi XE, Win32, base de datos de SQL Server 2005.Implementación de mapa de proceso dinámico para la aplicación win32 utilizando Delphi
Estoy implementando un Sistema de gestión de calidad. Tengo algunos mapas de proceso predefinidos para aplicarlos dentro de mi aplicación/sistema. Se me solicita que tenga todas las transacciones (no estoy seguro si es la palabra correcta) dinámicas así que cuando modifiquen los mapas de proceso afecta la aplicación (sin recompilación o cualquier parche de curso)
Aquí hay un ejemplo para explicar más claro:
asumir un módulo de control de documentos, tenemos un mapa de procesos como:
- [documento controlador] Recibe el documento del contratista
- [documento controlador] Comprueba el documento con la lista de comprobación
- [Documento Controlador] envía el documento a la [director de proyecto]
- [director de proyecto] se aplica y acción en el documento
- [jefe de proyecto] envía el documento a [responsable del documento]
- [responsable del documento] Archiva el documento.
Ahora la aplicación debe leer los parámetros de una base de datos para conocer sus funciones. Digamos Recibido y Comprobado el documento (1 y 2) y ahora lo envía. Tan pronto como se presione el botón "Guardar", el sistema debe verificar quién debe ser el receptor de este documento y enviarle el documento. En nuestro ejemplo, el receptor es el [project Manager]. sin embargo, en algún momento más tarde podrían decidir cambiar el mapa de proceso como - "3- [Controlador de documentos] envía el documento al [Arquitecto del proyecto]". Por lo tanto, el sistema debe actuar como se define en el mapa de proceso.
Me pregunto cuál es la forma correcta de implementar dicho sistema (Delphi XE, win32)?
Tengo una idea pero no estoy seguro si es correcta: Para cada proceso en el mapa de proceso puedo definir un servicio con un tipo de Id único y leer el servicio de la base de datos y llamarlo en la capa de aplicación (con los parámetros relevantes). En este caso, no estoy seguro de si cada servicio debe ser un archivo dll o paquete y creo que es incorrecto tener esa cantidad de archivos de la biblioteca, ¡ya que los servicios van a ser muy pocos!
Espero poder explicar bien mi problema y disculparme si es demasiado largo. Por favor, hágamelo saber si no está claro.
Gracias,
Mahya
Creo que esta es una cuestión de arquitectura en lugar de uno de codificación y, por lo tanto, no es adecuado para Stack Overflow. –
Quizás relacionado o útil: _ ¿Existe una implementación de "Motor de flujo de trabajo" para Delphi? "_ (Http://stackoverflow.com/questions/3492725/is-there-a-workflow-engine-implementation-for-delphi) – mjn