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

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

 Вход 

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


На страницу Пред.  1, 2 
Начать новую тему 
Предыдущая тема :: Следующая тема  
Автор Сообщение
nullvoid : 505
Постоянный посетитель
Откуда: Красноярск

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

СообщениеНоя 12, 2011 20:22 
Ответить с цитатой
Конкретно есть, что сказать? Тебе не понравилось Spring интеграционный фреймворк предоставляющий свободу мысли, действия, кода, рефакторинга. Так оспорь в чем проблема? Какая технология по твоему предоставляет большую свободу?
К началу Посмотреть профиль Отправить личное сообщение
nullvoid : 505
Постоянный посетитель
Откуда: Красноярск

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

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

О чем тут можно спорить? Высказывание ни о чем.

Моя философия: спринги, ежб и прочие хрени это всего лишь инструменты. Возьмем лопату - ей можно копать а можно колбасу нарезать а можно людей на вечный покой отправлять.
О какой свободе мысли, действия, кода, рефакторинга идет речь я не понимаю.

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

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

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

О чем тут можно спорить? Высказывание ни о чем.

Моя философия: спринги, ежб и прочие хрени это всего лишь инструменты. Возьмем лопату - ей можно копать а можно колбасу нарезать а можно людей на вечный покой отправлять.
О какой свободе мысли, действия, кода, рефакторинга идет речь я не понимаю.

Я ни о чем не хочу спорить, мне просто надоела эта реклама.

Не надо вертеться как уж на сковородке, как человек использовавший спринг ты всё прекрасно понимаешь, и то что ты свободен иметь множественную реализацию одного интерфейса, и множество по разному сконфигурированных интстансов одной реализации в одном приложении и инжектить зависимости классы которых вообще ничего о ынтерпрайз не знали, и возможность инжектить массивы, мапы, списки и.т.д., в общем в отличие от ежей как хочешь так и пишешь а спринг за тебя всё это соберёт, о всём об этом ты прекрасно осведомлён, но продалжаешь выпендриваться, понятно что, это возрастное и это пройдёт, но это не повод забредать во все темы где увидел слово Spring и устраивать там срачи, лучше ответь на вопросы топик стартера, толку от тебя больше будет.
К началу Посмотреть профиль Отправить личное сообщение
Vermut : 1062
Завсегдатай
Откуда: Ростов-на-Дону

СообщениеНоя 12, 2011 22:13 
Ответить с цитатой
WertLex писал(а):
У меня скорее вопрос.
А как можно использовать _одновременно_ оба интерфейса?

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

WertLex писал(а):

Т.е. Remote работает через RMI далеко-далеко. Local работает только на сервере... но ведь их нельзя использовать по-очереди в контейнере обращаясь к одному бину, так ведь? Поэтому получается, что нет необходимости в двух интерфейсах для одного бина, ведь так или иначе работа происходит либо с Remote, либо с Local, а следовательно, это могли бы быть различные бины.
Вот о чем я думаю.

Ты правильно думаешь, но пока в качестве Remote используется только RMI твои размышления избыточны.

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

Отсутствие возможности вызвать бин удаленно по нестандартным протоколам навеянно только отсутствием знаний о open source фреймворках таких как hessian, Burlap, HttpInvoke, которые Oracle не спешит рекламировать, но наличие же этих фреймворков позволяет вызывать Local Stateless Bean практически из любого языка программирования C#, JavaScript, Action Script/Flex/Flash, Php, Objective C и.т.д. Правда с маленькой поправкой без spring прозрачной маршрутизации не получиться придется писать код, но так как spring стандарт де-факто и входит в каждое современное приложение, то считаю что ужаснахи связанными с вызовом EJB по нестандартному протоколу надуманными и высосанными из пальца.
_________________
Познакомлюсь с привлекательной Ростовчанкой для совместного изучения Java


Последний раз редактировалось: Vermut (Ноя 12, 2011 22:26), всего редактировалось 1 раз
К началу Посмотреть профиль Отправить личное сообщение Отправить e-mail
nullvoid : 505
Постоянный посетитель
Откуда: Красноярск

СообщениеНоя 12, 2011 22:18 
Ответить с цитатой
to vimba
1. Мне 27,5 годиков, проблем с прыщами вроде не имел.
Остальное не в обиду будет сказано, но относится к личности:
2. Учи OOAD - долго курил твои слова, из предыдущего поста, пытался понять их смысл и пришел к выводу то что ты привел в пример, это из-за не очень четкого понимания объектной парадигмы. Сорри если обидел.
3. Давно сделан EJB 3.1 подозреваю, что ты в примере приводишь доводы и указываешь на недостатки технологии ejb, которые были в старых версиях.
4. Не вижу в 99% случаев, что можно сделать на спринге легко и просто и чего нельзя в EJB и наоборот.
_________________
http://LinguaLeo.ru/r/8b3o08
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора ICQ Number
vimba : 147
Новичок
Откуда: Шахты

СообщениеНоя 12, 2011 22:34 
Ответить с цитатой
nullvoid писал(а):
to vimba
1. Мне 27,5 годиков, проблем с прыщами вроде не имел.
Остальное не в обиду будет сказано, но относится к личности:
2. Учи OOAD

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

СообщениеНоя 13, 2011 8:18 
Ответить с цитатой
2 Vermut:
Цитата:


WertLex писал(а):
У меня скорее вопрос.
А как можно использовать _одновременно_ оба интерфейса?

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


А подробнее можно? Есть у меня метод, который отдает пользователю Remote бин, но перед этим ему необходим передать пару параметров, о которых пользователь бина знать не должен. Я думаю логично было бы это сделать через локальный интерфейс, а пользователю отдать удаленный. Но как это сделать? Я ведь не могу никаким образом по локальному интерфейсу получить его удаленный, чтобы отдать потом пользователю.

За hessian, Burlap, HttpInvoke спасибо.
К началу Посмотреть профиль Отправить личное сообщение
Vermut : 1062
Завсегдатай
Откуда: Ростов-на-Дону

СообщениеНоя 13, 2011 9:01 
Ответить с цитатой
Так сделать невозможно и не нужно. В EJB 2.x для этой цели предназначены Home интерфейсы через которые можно было создавать бины с различными параметрами, в EJB 3.x их спрятали, но они ни куда не делись ими можно пользоваться
Код:


   public interface MyBeanHome extends EJBHome {

       public MyBean create(String param1, String param2)
           throws CreateException, RemoteException;
   }




   public interface MyBeanRemote extends EJBObject {

       public void doSomething() throws RemoteException;
   }




   @Stateless
   @RemoteHome(MyBeanHome .class)
   public class MyBean {

       private String param1;
       private String param2;

       @Init
       public void create(String param1, String param2) {
            this.param1 = param1;
            this.param2 = param2;
       }

      public void doSomething() {
         ...
      }

   }   

Соответсвенно клиент этого бина будет выглядеть так
Код:

        InitialContext ctx = new InitialContext();
        Object o = ctx.lookup(MyBeanHome.class.getName());
        MyBeanHome myBeanHome = (MyBeanHome) PortableRemoteObject.narrow(o, MyBeanHome .class);
        MyBeanRemote myBean = myBeanHome.create("param1", "param2");
        myBean.doSomething();

_________________
Познакомлюсь с привлекательной Ростовчанкой для совместного изучения Java
К началу Посмотреть профиль Отправить личное сообщение Отправить e-mail
Skipy : 4801
Я тут живу!
Откуда: Москва, Россия

СообщениеНоя 14, 2011 11:08 
Ответить с цитатой
vimba писал(а):
Конкретно есть, что сказать? Тебе не понравилось Spring интеграционный фреймворк предоставляющий свободу мысли, действия, кода, рефакторинга. Так оспорь в чем проблема? Какая технология по твоему предоставляет большую свободу?


Какая технология? Легко. Java. БЕЗ Spring. Максимальная свобода действий, НИКАКИХ ограничений. То есть абсолютно. А Spring как фреймворк предполагает определенное направление действий. И если я захочу пойти перпендикулярно этому направлению - встречусь со сложностями. Проходили.

Любой фреймворк предполагает упрощение решения задачи, для которой он предназначен, с одновременным усложнением решения задач, для которых он не предназначен. Spring не исключение. И точно так же Java упрощает создание большого класса приложений, но вот, увы, сетевой трафик на нем не пофильтруешь. А на С++ - легко. Зато на С++ переносимые приложения создавать - адский геморрой. И т.д. и т.п.

Spring - не панацея. У нас вон, группа товарищей создала новый UI-фреймворк на базе Spring. Этой поделкой просто невозможно пользоваться. То есть абсолютно. Сложность разработки возрасла в разы. В итоге проект закрыли, команду разогнали.
_________________
С уважением,
Евгений aka Skipy
www.skipy.ru
P.S. Я НЕ решаю задачи ЗА других!
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора
 
Начать новую тему  Ответить на тему
Страница 2 из 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