Esto puede sonar similar a this, pero no lo es.¿Todavía es útil implementar EJB con RMI cuando puede implementar servicios web (SOA/REST)?
Entiendo por qué EJB y RMI, y he estado trabajando con servicios web bajo SOA por un tiempo. Quiero saber por qué es útil trabajar usando EJB exponiendo interfaces remotas bajo RMI en lugar de publicar servicios web (SOA/REST, pero principalmente SOA). No estoy preguntando cuál es mejor, solo quiero saber una muy buena razón de por qué debería preferir implementar EJB con interfaces remotas a través de los servicios web.
He revisado muchas páginas web, pero todas parecían obsoletas. Hasta ahora, lo que tengo es que EJB expone las interfaces remotas solo es mejor que WS cuando se integra con el sistema heredado de Java. Si quiero administrar transacciones, podría implementar EJB con interfaces locales. Además, no creo que elegir EJB sobre RMI sea más eficiente que una interfaz de servicio web.
¿Estoy en lo cierto? ¿Se me escapa algo?
Realmente gracias de antemano.
Gracias, pero antes de marcarlo como respondido, el primero no sería una razón válida, porque puedo implementar un servicio web con un EJB exponiendo una interfaz local ¿verdad? Entonces la transacción sería la misma. –
Es cierto que el problema comienza cuando necesita hacer una serie de llamadas separadas en una transacción. Los servicios web generalmente no tienen estado, y uno tiene que administrar las transacciones "a mano", lo que puede ser engorroso. Stateful EJB daría eso gratis. –
Bueno, también puede tener servicios web con estado, incluso utilizando la última razón que dio antes. Así que iré por la segunda y tercera razón, la eficiencia (un poco, supongo) y el legado. ¡Gracias! –