¿Tengo que diseñar para una base de datos separada & amp; tiempo de ejecución del servidor por módulo diferente?

StackOverflow https://stackoverflow.com/questions/1421868

Pregunta

Al diseñar un nuevo marco empresarial basado en J2EE, ¿debo prepararme para la situación en la que los módulos empresariales separados tienen que usar diferentes bases de datos y deben ejecutarse en diferentes instancias de servidor de aplicaciones?

Desde otro punto de vista: ¿alguien ha experimentado alguna vez un requisito de vida real para diferentes bases de datos & amp; servidores por módulo? En caso afirmativo, ¿cuál era el tamaño de esa empresa?

Porque (hasta donde puedo ver) esto hace las cosas mucho más complicadas, y con la versión anterior de este marco (y en bancos más pequeños), el caso anterior nunca sucedió.

¡Gracias por las respuestas!

¿Fue útil?

Solución

No estoy seguro de haber entendido esta fraseología correctamente

  

donde los módulos comerciales separados tienen que usar bases de datos diferentes

Todo el tiempo.

Quizás estamos hablando de cosas diferentes aquí. Nunca he conocido a ninguna organización sin al menos dos bases de datos. Eso incluye a mí y a mi catálogo de CD y bases de datos de melodías de guitarra en mi computadora portátil.

¿Se refiere a diferentes proveedores de bases de datos? Versiones de bases de datos, como Oracle vX y Oracle vY? Incluso bajo esa definición, no puedo pensar en ningún cliente con el que me haya encontrado que haya estandarizado universalmente un único proveedor o versión.

Entonces, esperaría que un sistema no trivial tenga algunos módulos mirando una base de datos y otros mirando otra. Sí abolsutely.

Espero que algunos módulos miren dos bases de datos, sí. Los datos de referencia en uno viven en otro. Historia en otro más.

Módulos diferentes en servidores diferentes: sí. Por razones de aislamiento y escalabilidad. Eso es algo que los servidores de aplicaciones hacen bastante bien.

En general, ¿por qué ves esto como un problema? Sus módulos buscan sus conexiones JDBC en JNDI, no necesitan saber que están utilizando diferentes bases de datos. Es un problema de administrador conectar los módulos correctamente.

Un problema importante podría ser el uso de transacciones XA, pero a menudo es posible evitar actualizar ambas bases de datos en el mismo módulo, o si es del mismo módulo en la misma transacción.

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