Pregunta

Supongamos que tengo una gran infraestructura de middleware mediación de solicitudes entre diferentes componentes de negocio (aplicaciones de clientes, red, pagos, etc.). La pila de middleware es responsable de la orquestación, enrutamiento, transformación y otras cosas (similar al libro de Patrones de Integración Empresarial de Gregor Hohpe).

Mi pregunta es: ¿es un buen diseño para poner un poco de lógica de negocio en el middleware

?

Digamos que mi aplicación A solicita algunos datos de los clientes a partir del middleware. Sin embargo, con el fin de obtener estos datos, tengo que suministrar Identificación del cliente y algunos otro parámetro . La captación de este parámetro debe ser realizado por la aplicación que solicita o es el middleware responsable de 'facilitador' y proporcionando una interfaz que recibe cliente identificadores de e internamente Obtiene los otro parámetro ?

Sé que esto no es una cuestión sencilla (por la definición de la lógica de negocio), pero me preguntaba si se trata de un enfoque general o algunas pautas.

¿Fue útil?

Solución

Este es el patrón "Composite Application"; el corazón de una arquitectura orientada a servicios. Eso es lo que los vendedores están vendiendo ESB:. Una manera de poner adicional lógica de negocio en alguna parte que crea una aplicación compuesta de aplicaciones existentes

Esto no es sencilla debido a que su aplicación compuesta no sólo de enrutamiento. Es una nueva transacción de material compuesto adecuado en capas en la parte superior de la hoja de ruta.

Indirecta. Mirar en conseguir un buen ESB antes de ir demasiado lejos. Esto se pone rápidamente fuera de control y tener un poco de apoyo adicional es útil. Incluso si usted no compra algo así como JCAPS o Open ESB , serás feliz que ha aprendido lo que hace y cómo se organizan las aplicaciones compuestas complejas.

Otros consejos

Además de la ruta, la transformación y la orquestación, el rendimiento debe tenerse en cuenta durante la carga de middleware con los requisitos funcionales. Middlware debe tener una fracción de todo el tiempo de vida de transacciones de extremo a extremo. Esto sólo puede lograrse mediante la concentración en las funcionalidades básicas de middleware, en lugar de tratar de complementar las funcionalidades del sistema anfitrión.

orquestación, enrutamiento y Transformación.

No hacer ninguna de estas, por razones técnicas, de forma aleatoria, o simplemente por diversión, porque hacer esto usted tiene algún requerimiento del negocio -. Ergo no es la lógica de negocio involucrados

Lo único que se echa en falta un sistema de negocios completo es el cálculo y la presentación de informes (permítanos asumir ya tener seguridad en su lugar!).

A excepción de las redes nivel muy bajo, los problemas del SO y de almacenamiento de casi todo lo que comprende un sistema informático está ahí porque los usuarios de negocios / gobierno / end quiere que sea allí.

La elección de la 'lógica de negocios' como terminoligy era muy pobre y ha dado lugar a un sinfín de distorsiones de diseño y arquitectura.

Lo que más buenos diseñadores / arquitectos quieren decir con la lógica de negocio es el cálculo y el análisis.

Si "% s / lógica de negocios / Cálculo / g" la mayor parte de los edictos arquitectónicos más sentido.

La aplicación middleware debe hacerlo. Un sistema debe tener ni idea de que existe otro parámetro, y sin duda no tienen idea acerca de cómo llegar a él.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top