Есть два приложения — ear и war.
war может быть задеплоен как в тот же самый контейнер, что и ear, так и может быть задеплоен на удаленную машину.
Сделать общение через вебсервиса начальство не хочет — большая часть клиентов использует конфигурацию, когда ear и war задеплоены в один контейнер.
В EJB можно оформить приложение как ejb-bean и пользоваться либо remote, либо local интерфейсами, в зависимости от деплоймента этого ejb-бина.
И получается, что в случае изменения деплоймента, код менять не надо — надо только менять конфигурацию получения ссылки на бин.
По спеке через локальный интерфейс можно общаться с ejb-бином только в пределах одного приложения, но
вот тут пишут, что большинство серверов позволяет общаться через Local интерфейс с внешним бином, задеплоенным на тот же сервер.
Мы это пока не проверяли. У нас сейчас поддерживается JBoss 5 и WebLogic. Планируется поддержка GF.
А есть что-то похожее в Спринге?
Приложения написаны с использованием Spring. Скорее всего не захотят вводить еще и ejb.
D>>Приложения написаны с использованием Spring. Скорее всего не захотят вводить еще и ejb.
B>Технических сложностей не вижу. Spring Remoting работает через вызовы интерфейса — можно легко подсунуть как локальную реализацию так и remoting проксю.
Я правильно понимаю, что надо читтать про
Remote Method Invocation (RMI)?
Что такое локальная реализация?
Приложения все равно будут отдельные.
Только в одном случае они будут деплоиться на разных серверах, а в другом — на одном.
Здравствуйте, dneprq, Вы писали:
D>Я правильно понимаю, что надо читтать про Remote Method Invocation (RMI)?
Ссылка правильная. Но RMI это одна опция из нескольких. Можно и Http Invoker и XML и другие.
D>Что такое локальная реализация?
Реализация интерфейса в той же JVM 8)
D>Приложения все равно будут отдельные.
Тогда нужно решить проблему как ссылку на бин передать, если контексты разные.
Здравствуйте, dneprq, Вы писали:
d> B>Тогда нужно решить проблему как ссылку на бин передать, если контексты разные.
d> А это вообще возможно?
Вроде можно, например, через
jndi.