Обычная версия
Java форум JavaTalks
форум программистов

Поиск   Пользователи   Группы   Регистрация 
 Профиль   Личные сообщения 

 Вход 

EJB. Local vs Remote
Список форумов
 ->  Java Enterprise и распределённые технологии


На страницу 1, 2  След. 
Начать новую тему 
Предыдущая тема :: Следующая тема  
Автор Сообщение
WertLex : 93
Новичок

СообщениеНоя 11, 2011 22:01 
Ответить с цитатой
А вот кстати сейчас задумался, действительно, зачем в EJB3 два интерфейса - Local и Remote. Для удаленного и локального доступа, скажете вы. Но, ведь бин, так или иначе выполняет только одну роль. Я ведь не могу по локальному инстансу бина получить его удаленный интерфейс? Т.е. использовать один и тот же бин не получиться. Ну и зачем их тогда два?
К началу Посмотреть профиль Отправить личное сообщение
Evgin : 748
Постоянный посетитель
Откуда: (SPB)

СообщениеНоя 11, 2011 22:43 
Ответить с цитатой
О какой "роли" вы говорите непонятно. Приведите пример такой роли. По-моему, "роль" - это термин из такой темы как авторизация/секурность.
_________________
Велюровый Петон приветствует Вас :-*
----------------------------
Кроме того, я думаю, что Карфаген должен быть разрушен!!!
----------------------------
javax.swing.JDesktopPane <--- Печаль
----------------------------
НЕ ФЛУДИ, КОМРАД!
К началу Посмотреть профиль Отправить личное сообщение
vimba : 147
Новичок
Откуда: Шахты

СообщениеНоя 12, 2011 0:29 
Ответить с цитатой
Цитата:

зачем в EJB3 два интерфейса - Local и Remote

Чтобы устранить возможный паралич связанный с невозможностью изменения внутреннего интерфейса из-за того, что на него завязаны внешние клиенты. Было раз дело, правда не в EJB а в Spring, один шибко умный деятель расшарил сервис по протоколу Burlap через интерфейс который также использовался внутри приложения, на него сразу завязались внешние клиенты, и не только java, но так как интерфейс оказался не очень удачный для использования внутри приложения, то пришлось его менять, а так как на интерфейс были завязаны внешние клиенты, то понадобился изощренный многоходовый рефакторинг растянувшийся на два релиза, сродни шахматной комбинации. Имея же два интерфейса Local и Remote мы развязываем руки рефакторингу, и можем менять Local интерфейс хоть десять раз на день, не тревожа клиентов которые находятся как вне текущего приложения, так и возможно вне зоны ответсвенности разработчика или команды.
К началу Посмотреть профиль Отправить личное сообщение
WertLex : 93
Новичок

СообщениеНоя 12, 2011 15:51 
Ответить с цитатой
У меня скорее вопрос.
А как можно использовать _одновременно_ оба интерфейса?
Т.е. Remote работает через RMI далеко-далеко. Local работает только на сервере... но ведь их нельзя использовать по-очереди в контейнере обращаясь к одному бину, так ведь? Поэтому получается, что нет необходимости в двух интерфейсах для одного бина, ведь так или иначе работа происходит либо с Remote, либо с Local, а следовательно, это могли бы быть различные бины.
Вот о чем я думаю.

Собственно вот еще вопрос, касательно EJB, который меня давно мучает. А почему нет возможности использовать не RMI, а скажем какой-либо другой менее платформозависимый RPC? Поясню откуда ноги растут: тут рядом тема есть, как я хлебнул горя с CORBA и сериализацией. Выход найден с помощью костыля, но первопричина так и не решена. Если бы это был, скажем, JSON, на данные можно было бы хоть глазами посмотреть, а тут.. даже не знаю куда и копать.

В общем, очень интересно мнение людей, который съели собаку на EJB.

2 Evgin: К бину можно обратиться как к Local или Remote. Ну и будем для проформы считать бин эээ в роли локального и удаленного.
К началу Посмотреть профиль Отправить личное сообщение
vimba : 147
Новичок
Откуда: Шахты

СообщениеНоя 12, 2011 17:24 
Ответить с цитатой
WertLex писал(а):
У меня скорее вопрос.
А как можно использовать _одновременно_ оба интерфейса?
Т.е. Remote работает через RMI далеко-далеко. Local работает только на сервере... но ведь их нельзя использовать по-очереди в контейнере обращаясь к одному бину, так ведь? Поэтому получается, что нет необходимости в двух интерфейсах для одного бина, ведь так или иначе работа происходит либо с Remote, либо с Local, а следовательно, это могли бы быть различные бины.

Собственно вот еще вопрос, касательно EJB, который меня давно мучает. А почему нет возможности использовать не RMI, а скажем какой-либо другой менее платформозависимый RPC? Поясню откуда ноги растут: тут рядом тема есть, как я хлебнул горя с CORBA и сериализацией. Выход найден с помощью костыля, но первопричина так и не решена. Если бы это был, скажем, JSON, на данные можно было бы хоть глазами посмотреть, а тут.. даже не знаю куда и копать.

Вот о чем я думаю.

Ты начинаешь рассуждать как настоящий Spring разработчик, возможно для тебя пришло время переходить на настоящую взрослую платформу, и мы сможем помочь тебе итак: красная таблетка поможет тебе забыть о существующих в EJB противоречиях и продолжать жить в гармонии забыв о них, синяя таблетка Spring откроет новый мир возможно местами жестокий и более многообразный и сложный, но охватывающий границы сотен и тысяч фреймвоков, стандартов и протоколов: итак какую таблетку выбираешь красную или синюю?
К началу Посмотреть профиль Отправить личное сообщение
WertLex : 93
Новичок

СообщениеНоя 12, 2011 17:59 
Ответить с цитатой
А к Spring тетка в обтягивающем кожанном костюме прилагается?=)

А если серьезно, то читая EJB3 in action я проникся платформой. Но когда дело дошло до разработки.. либо я не умею ее готовить, либо Sun не такие уж и молодцы.

А вообще, в разрезе EJB что такое Spring? Везде пишут, что это все-все-все на все случаи жизни.
К началу Посмотреть профиль Отправить личное сообщение
vimba : 147
Новичок
Откуда: Шахты

СообщениеНоя 12, 2011 18:20 
Ответить с цитатой
WertLex писал(а):

А вообще, в разрезе EJB что такое Spring? Везде пишут, что это все-все-все на все случаи жизни.

Spring интеграционный фреймворк предоставляющий свободу мысли, действия, кода, рефакторинга. Это EJB является всего лишь одной из сотен технологий с которой спринг может интегрироваться но ни как не наоборот, поэтому "спринг в разрезе EJB" бессмысленная абра-кадабра.
К началу Посмотреть профиль Отправить личное сообщение
nullvoid : 505
Постоянный посетитель
Откуда: Красноярск

СообщениеНоя 12, 2011 19:00 
Ответить с цитатой
vimba писал(а):
WertLex писал(а):
У меня скорее вопрос.
А как можно использовать _одновременно_ оба интерфейса?
Т.е. Remote работает через RMI далеко-далеко. Local работает только на сервере... но ведь их нельзя использовать по-очереди в контейнере обращаясь к одному бину, так ведь? Поэтому получается, что нет необходимости в двух интерфейсах для одного бина, ведь так или иначе работа происходит либо с Remote, либо с Local, а следовательно, это могли бы быть различные бины.

Собственно вот еще вопрос, касательно EJB, который меня давно мучает. А почему нет возможности использовать не RMI, а скажем какой-либо другой менее платформозависимый RPC? Поясню откуда ноги растут: тут рядом тема есть, как я хлебнул горя с CORBA и сериализацией. Выход найден с помощью костыля, но первопричина так и не решена. Если бы это был, скажем, JSON, на данные можно было бы хоть глазами посмотреть, а тут.. даже не знаю куда и копать.

Вот о чем я думаю.

Ты начинаешь рассуждать как настоящий Spring разработчик, возможно для тебя пришло время переходить на настоящую взрослую платформу, и мы сможем помочь тебе итак: красная таблетка поможет тебе забыть о существующих в EJB противоречиях и продолжать жить в гармонии забыв о них, синяя таблетка Spring откроет новый мир возможно местами жестокий и более многообразный и сложный, но охватывающий границы сотен и тысяч фреймвоков, стандартов и протоколов: итак какую таблетку выбираешь красную или синюю?


Кхм... Smile блин не хотел вмешиваться ей богу Smile
Меня напрягают слова о серьезности спринга и опущенности EJB.
Ок если spring такая мега серьезная технология, то назови мне хоть один из ниже перечисленных проектов, в котором юзается spring =)
http://www.insight-it.ru/highload/
Возможно я не знаю (сам пробежался по статьям мельком) нигде не увидел спринга.
EJB юзается как миниум в одноклассиниках.

Если пошел холивар на эту тему, предлагаю обсудить в каких серьезных проектах юзается та или иная технология. Этим всё будет сказано.
_________________
http://LinguaLeo.ru/r/8b3o08
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора ICQ Number
Evgin : 748
Постоянный посетитель
Откуда: (SPB)

СообщениеНоя 12, 2011 19:05 
Ответить с цитатой
WertLex писал(а):
У меня скорее вопрос.
А как можно использовать _одновременно_ оба интерфейса?
Т.е. Remote работает через RMI далеко-далеко. Local работает только на сервере... но ведь их нельзя использовать по-очереди в контейнере обращаясь к одному бину, так ведь?

Не стоит забывать что Remote-интерфейс предполагает использование сериализуемых параметров, т.е. передача объектов происходит по значению. При использовании Local - по ссылке, обычно. Это так, кстати.
Использовать remote-доступ можно и в рамках одной jvm(на сервере) вам никто не мешает.
Существует простой подход - local-интерфейс наследовать от remote-интерфейса - таким образом использование локально remote-интерфейса сводиться на нет.


WertLex писал(а):

Собственно вот еще вопрос, касательно EJB, который меня давно мучает. А почему нет возможности использовать не RMI, а скажем какой-либо другой менее платформозависимый RPC?

"Менее платформозависимый RPC" есть конечно - имеются jax-ws и jax-rs.
_________________
Велюровый Петон приветствует Вас :-*
----------------------------
Кроме того, я думаю, что Карфаген должен быть разрушен!!!
----------------------------
javax.swing.JDesktopPane <--- Печаль
----------------------------
НЕ ФЛУДИ, КОМРАД!
К началу Посмотреть профиль Отправить личное сообщение
nullvoid : 505
Постоянный посетитель
Откуда: Красноярск

СообщениеНоя 12, 2011 19:09 
Ответить с цитатой
LinkedIn юзает весну - http://www.insight-it.ru/masshtabiruemost/arkhitektura-linkedin/

будем знать =)
_________________
http://LinguaLeo.ru/r/8b3o08
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора ICQ Number
vimba : 147
Новичок
Откуда: Шахты

СообщениеНоя 12, 2011 19:23 
Ответить с цитатой
nullvoid писал(а):

Кхм... Smile блин не хотел вмешиваться ей богу Smile

Не хотел, не вмешивайся. Каждое высоко-нагруженное приложение, нагруженно по своему, какое отношение твой оффтоп к нагрузке имеет к теме обсуждения где выяснялось различие Remote и Local, непонятно. На всякий случай напишу, что тот же самый Yahoo на hadoop который в совою очередь на spring побил мировой рекорд как по количеству серверов в кластере так и по типичной пиписькомерке сортировка большого объема данных http://developer.yahoo.com/blogs/hadoop/posts/2009/05/hadoop_sorts_a_petabyte_in_162/.
К началу Посмотреть профиль Отправить личное сообщение
nullvoid : 505
Постоянный посетитель
Откуда: Красноярск

СообщениеНоя 12, 2011 19:37 
Ответить с цитатой
vimba писал(а):
nullvoid писал(а):

Кхм... Smile блин не хотел вмешиваться ей богу Smile

Не хотел, не вмешивайся. Каждое высоко-нагруженное приложение, нагруженно по своему, какое отношение твой высер к нагрузке имеет к теме обсуждения где выяснялось различие Remote и Local, непонятно. На всякий случай напишу, что тот же самый Yahoo на hadoop который в совою очередь на spring побил мировой рекорд как по количеству серверов в кластере так и по типичной пиписькомерке сортировка большого объема данных http://developer.yahoo.com/blogs/hadoop/posts/2009/05/hadoop_sorts_a_petabyte_in_162/.

Ну во первых где ты увидел высер?
Во вторых ты бы за своими высерами следил:
Цитата:

Spring интеграционный фреймворк предоставляющий свободу мысли, действия, кода, рефакторинга.

Одна реклама в каждой теме в каждом посте. Надоело пипец.
В третьих серьезность технологии определяется использользованием её в серьезных проектах. Подозреваю, что " побил мировой рекорд как по количеству серверов в кластере так и по типичной пиписькомерке сортировка большого объема данных" заслуга hadoop.
_________________
http://LinguaLeo.ru/r/8b3o08
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора ICQ Number
vimba : 147
Новичок
Откуда: Шахты

СообщениеНоя 12, 2011 19:47 
Ответить с цитатой
Спермотоксикоз? Или очередная пятиминутка ненависти? Использую спринг но не навижу за то что использую?
К началу Посмотреть профиль Отправить личное сообщение
nullvoid : 505
Постоянный посетитель
Откуда: Красноярск

СообщениеНоя 12, 2011 19:53 
Ответить с цитатой
Одна реклама в каждой теме в каждом посте. Надоело пипец
_________________
http://LinguaLeo.ru/r/8b3o08
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора ICQ Number
vimba : 147
Новичок
Откуда: Шахты

СообщениеНоя 12, 2011 20:08 
Ответить с цитатой
Ты можешь аргументированно оспорить, например:
vimba писал(а):

Spring интеграционный фреймворк предоставляющий свободу мысли, действия, кода, рефакторинга.

Мог бы ответить так:
предполагаемый_ответ писал(а):

В отличие от вашего спринг, в EJB на мой код не налагается никаких ограничений, в EJB я могу писать код так хочу и EJB соберет это вместе, в отличии от вашего спринга

Тогда бы пошел разговор со взрослым человеком, а не с прыщавым подростком, который хочет выглядеть не так как все, и только по этому критикует общепризнанный выбор общества.
К началу Посмотреть профиль Отправить личное сообщение
 
Начать новую тему  Ответить на тему
Страница 1 из 2
На страницу 1, 2  След.
Список форумов
 -> Java Enterprise и распределённые технологии


 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Java and all Java-related trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the United States and other countries.
Это сайт не относится к фирме Oracle Corporation и не поддерживается ею.

© 2006-2010 www.javatalks.ru: форум java программистов
Используется скрипт phpBB © 2001, 2010 phpBB Group

Хостинг от bizname.ru