Supongamos que tengo una gran infraestructura de middleware que media las solicitudes entre varios componentes comerciales (aplicaciones del cliente, red, pagos, etc.). La pila de middleware es responsable de la orquestación, el enrutamiento, la transformación y otras cosas (similar al libro de Patrones de integración empresarial de Gregor Hohpe).¿Se requieren aplicaciones de middleware para hacer lógica de negocios?
Mi pregunta es: ¿es un buen diseño poner lógica de negocio en el middleware?
Digamos que mi aplicación A solicita algunos datos del cliente del middleware. Pero para obtener estos datos, debo proporcionar ID de cliente y algún otro otro parámetro. La aplicación solicitante debe realizar la recuperación de este parámetro o el middleware responsable de "facilitar" y proporcionar una interfaz que recibe ID de cliente y obtiene internamente el otro parámetro?
Me doy cuenta de que esta no es una pregunta simple (debido a la definición de lógica comercial), pero me preguntaba si es un enfoque general o algunas pautas.
La parte difícil es la responsabilidad: quién debe ser responsable de qué. Creo que esto es esencialmente un problema cultural. Por cierto, mi pregunta era puramente hipotética, el proyecto en el que estoy ya está casi terminado y estamos utilizando un buen producto de middleware. –
La parte difícil se llama "gobernanza" e incluye la responsabilidad, así como el control de cambios y las normas técnicas. No es "cultural", es más que eso, y por lo general es muy difícil. –