powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / EJB - разводка или полезная технология?
20 сообщений из 120, страница 5 из 5
EJB - разводка или полезная технология?
    #34745981
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
компонентщикЗдесь хоть спрашивают "как сделать самому|лучше|правильно" а вот тут только ищут. Сами знаете что.

Offtop: Что то ты батенька, что "в лужу перднул" (с) местные идиоматические конструкции.



Твой запрос - выдал меньше 1% от всех тем, не говоря уже о том, что в 50% от этого <1% вообще про поиск компонента речь не идёт.

--

Совсем fine-grained-part-of + GoF "концепции" способность мысли выражать разъели?
Впрочем, хочешь верить в свою брякнутую глупость - верь (собственно говоря - это лишь твои личные жизненные трудности).
...
Рейтинг: 0 / 0
EJB - разводка или полезная технология?
    #34752930
mini_root
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нетчик у которого ЗП короче 90кР Хрюхрюшкин. скажите НЕТТаки имел дело и с джава и ежб. Расскажи тогда плз что такого есть в ежб в двух словах?
EJB — удобное средство для централизации всей бизнес-логики приложения. Тебя устроит такое определение? :)

А если бизнес-логику поместить в сборку ( просто jar ), и поставить на него ссылку отовсюда где он нужен? Конечный клиент или ASP.NET ( сперто под именем JSF ) - напрямую линкуем эту сборку. ВинФорм клиент ( недоСвинг зато быстрое ) - обращается к вебсервису который цепляет эту сборку.

Что тут не так? Чего еще нехватает - ау господа за 90+Кр :)
Добрый день, товарищи!
Как я понял большинство нетчиков считает что EJB это такая муйня которая позволяет вызвать методы удаленно... Ну что с них взять? Нет они конечно правы (в первом приближении)!
Вот только там есть еще пара интересных слов(на самом деле их больше): stateless и statefull.
Представьте что у вас есть класс A, есть два варианта использования его как Session EJB:
1. Класс А представляет компонент без состояния (stateless).
В этом случае нет гарантии что два разных вызова от одного будут обрабатанны одним экземпляром класса компонента. Т.е. компонент представляет собой просто набор независимых методов. Зачем это нужно? А дело в том что в этом случае у контейнера развязаны руки - он может заранее создать пул экземпляров и раздавать запросы любым из них => можно делить нагрузку между разными контейнерами.
При это многие задачи замечательно ложаться на компоненты без состояния. Если вам не нужен пул экземпляров, и не нужно иметь в будущем возможность создать кластер => Вам нахрен не нужен не нужен EJB - Spring Remoting в руки и вперед. А если прикрутить к нему какой-нибудь JPA (к EJB тоже можно), то клепать распределенные приложения для работы с БД можно стахановскими темпами (по крайней мере те из них которые работают по модели store&forward), например:
.....
public void saveMessageList(Collection<Message> _list) throws RemoteException
{
....
EntityManager em=....
for (Message m : _list) {em.persist(m);}
....
}
....

....
public class Message implements Serializable {...}
....
2. Класс A представляет компонент с состоянием (statefull).
В этом случае как ясно из название компонент сохраняет состояние между вызовами одного и того же клиента. В этом случае контейнер обеспечивает что запросы клиента будут доставлены именно тому экземпляру компонента, которому надо. Кроме того контейнер по собственным соображениям может переместить тот или иной экземпляр в постоянное хранилище (например если клиент долго молчит). В этом случе создатель компонента должен обработать данную ситуацию реализовав методы ebjActivate/ejbPassivate (например чтобы получить/отдать коннект к БД). В случае если долго молчавший клиент даст о себе знать - контейнер десериализует экземпляр из постоянного хранилища. Если задача требует сохранения состояния и не ложиться на stateless, тогда компоненты с состоянием самое то (учтите также что EJB могут выступать как backend для веб сервисов). Ключевой вопрос для такого компонета - кто и с помощью каких механизмов это состояние обеспечивает (А как рабатает поддержка состояние в .NET Remoting и в .NET веб сервисах ;) ?)

А что же представляет собой контейнер? В случае Geronimo это монументальный класс (что то типа EJBConatainer..) с торчащим наружу методом:
public Object invoke(String _methodName, Object[] _args) throws ЧегоТоТам; (точно не помню).
А все механизмы в том числе взаимодействие с менеджером транзакций, сохранение/восстановление спрятаны внутри. Добавьте сюда коннектор (RMI/SOAP), принимающий запрос по сети и в общем это все (не считая локального интерфейса).
Что же до интерфейсов - то это просто декларация методов которые реализует компонент (для локального и удаленного интерфейсов) + домашний интерфейс (для создания). В J2EE 5 - используются аннотации.

При этом EJB например могут выступать как жопа для JMS - Message Driven Bean это stateless EJB..

Прибавьте сюда деклариативное управление безопасностью (роли), менеджер транзакций (в том числе глобальных), декларативное определение ресурсов и получите довольно неплохой комплект, если знать когда и как его применять.

А теперь вопрос к нетчикам: для обеспечения всего этого мне нужен любой J2EE совместимый сервер приложений (учтите что туда еще входит и веб контейнер, пул соединений к БД и пр.), например geronimo, и 100-200 Мб на жестаке (+100 Мб на J2SE). При этом мне не надо заморачиваться на ОС (windows/linux). (ЦЕНА: НОЛЬ!).
Что нужно чтобы пользоваться аналогичными благами в .NET (не забудьте учесть ОС), какие механизмы за что отвечают и во сколько мне это обойдется?

Чисто технический вопрос: кто и каким образом обеспечивает состояние Вашему веб сервису?
P.S. Не надо путать распределенные компоненты и возможность подцепить удаленную библиотеку.
P.P.S. Хотя моя ЗП гораздо меньше 90кр :( (в провинции знаете ли все равно Java или Net - одинэсеры сожрали всех...)
...
Рейтинг: 0 / 0
EJB - разводка или полезная технология?
    #34752956
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вобще-то и пул соединений с склсервером и хранение состояний объектов в дотнет изначально входил. Единственное преимущество ежб это распределение нагрузки. Если это надо конечно
...
Рейтинг: 0 / 0
EJB - разводка или полезная технология?
    #34752958
mini_root
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024вобще-то и пул соединений с склсервером и хранение состояний объектов в дотнет изначально входил. Единственное преимущество ежб это распределение нагрузки. Если это надо конечно
Я если не MSSQL? А кто хранит состояние объектов?
...
Рейтинг: 0 / 0
EJB - разводка или полезная технология?
    #34753032
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пул соединений не для мсскл а для любого склсервера
хранение состояний может быть организовано несколькими способами

вопросы по донету наверна в другом форуме задавать надо
...
Рейтинг: 0 / 0
EJB - разводка или полезная технология?
    #34753166
Олег Гапон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор EJB - разводка или полезная технология?

Полезная разводка
...
Рейтинг: 0 / 0
EJB - разводка или полезная технология?
    #34753171
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mini_rootЯ если не MSSQL? А кто хранит состояние объектов?

Забавно... Интересно, а это обязательно только так рассматривать предмет:
есть объекты, все, что нужно от БД - это хранить их состояния, малейший чих - это активация этих состояний в виде объектов в БД?

Нафига тогда вообще СУБД - храните состояния в плоских файлах, делов то?

Может иногда полезно поизучать матчасть самой БД? В целях - не тянуть эти состояния объектов на клиента БД в обязательном порядке (а самый расфуфыренный J2EE - это лишь клиент)?

--

Нет? Глупость, наверное, сказал? Или против религии попер? ж)
...
Рейтинг: 0 / 0
EJB - разводка или полезная технология?
    #34753183
shawshank
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
grexhideМожет иногда полезно поизучать матчасть самой БД? В целях - не тянуть эти состояния объектов на клиента БД в обязательном порядке (а самый расфуфыренный J2EE - это лишь клиент)?А как в БД обеспечивать целостность и непротиворечивость объектов, и их состояний? Сами данные в БД хранить это полдела. В БД оператор может залить столько противоречивых данных, что ау. PL/SQL? А если обработка нетривиальна и в процедурный код не укладывается?
...
Рейтинг: 0 / 0
EJB - разводка или полезная технология?
    #34753184
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shawshankА как в БД обеспечивать целостность и непротиворечивость объектов, и их состояний? Сами данные в БД хранить это полдела. В БД оператор может залить столько противоречивых данных, что ау. PL/SQL? А если обработка нетривиальна и в процедурный код не укладывается?
Открой для себя транзакции СУБД.
...
Рейтинг: 0 / 0
EJB - разводка или полезная технология?
    #34753297
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а также ограничения целостности
...
Рейтинг: 0 / 0
EJB - разводка или полезная технология?
    #34753310
НЕТ чик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mini_root нетчик у которого ЗП короче 90кР Хрюхрюшкин. скажите НЕТТаки имел дело и с джава и ежб. Расскажи тогда плз что такого есть в ежб в двух словах?
EJB — удобное средство для централизации всей бизнес-логики приложения. Тебя устроит такое определение? :)

А если бизнес-логику поместить в сборку ( просто jar ), и поставить на него ссылку отовсюда где он нужен? Конечный клиент или ASP.NET ( сперто под именем JSF ) - напрямую линкуем эту сборку. ВинФорм клиент ( недоСвинг зато быстрое ) - обращается к вебсервису который цепляет эту сборку.

Что тут не так? Чего еще нехватает - ау господа за 90+Кр :)
Добрый день, товарищи!
Как я понял большинство нетчиков считает что EJB это такая муйня которая позволяет вызвать методы удаленно... Ну что с них взять? Нет они конечно правы (в первом приближении)!
Вот только там есть еще пара интересных слов(на самом деле их больше): stateless и statefull.
Представьте что у вас есть класс A, есть два варианта использования его как Session EJB:
1. Класс А представляет компонент без состояния (stateless).
В этом случае нет гарантии что два разных вызова от одного будут обрабатанны одним экземпляром класса компонента. Т.е. компонент представляет собой просто набор независимых методов. Зачем это нужно? А дело в том что в этом случае у контейнера развязаны руки - он может заранее создать пул экземпляров и раздавать запросы любым из них => можно делить нагрузку между разными контейнерами.
При это многие задачи замечательно ложаться на компоненты без состояния. Если вам не нужен пул экземпляров, и не нужно иметь в будущем возможность создать кластер => Вам нахрен не нужен не нужен EJB - Spring Remoting в руки и вперед. А если прикрутить к нему какой-нибудь JPA (к EJB тоже можно), то клепать распределенные приложения для работы с БД можно стахановскими темпами (по крайней мере те из них которые работают по модели store&forward), например:
.....
public void saveMessageList(Collection<Message> _list) throws RemoteException
{
....
EntityManager em=....
for (Message m : _list) {em.persist(m);}
....
}
....

....
public class Message implements Serializable {...}
....
2. Класс A представляет компонент с состоянием (statefull).
В этом случае как ясно из название компонент сохраняет состояние между вызовами одного и того же клиента. В этом случае контейнер обеспечивает что запросы клиента будут доставлены именно тому экземпляру компонента, которому надо. Кроме того контейнер по собственным соображениям может переместить тот или иной экземпляр в постоянное хранилище (например если клиент долго молчит). В этом случе создатель компонента должен обработать данную ситуацию реализовав методы ebjActivate/ejbPassivate (например чтобы получить/отдать коннект к БД). В случае если долго молчавший клиент даст о себе знать - контейнер десериализует экземпляр из постоянного хранилища. Если задача требует сохранения состояния и не ложиться на stateless, тогда компоненты с состоянием самое то (учтите также что EJB могут выступать как backend для веб сервисов). Ключевой вопрос для такого компонета - кто и с помощью каких механизмов это состояние обеспечивает (А как рабатает поддержка состояние в .NET Remoting и в .NET веб сервисах ;) ?)

А что же представляет собой контейнер? В случае Geronimo это монументальный класс (что то типа EJBConatainer..) с торчащим наружу методом:
public Object invoke(String _methodName, Object[] _args) throws ЧегоТоТам; (точно не помню).
А все механизмы в том числе взаимодействие с менеджером транзакций, сохранение/восстановление спрятаны внутри. Добавьте сюда коннектор (RMI/SOAP), принимающий запрос по сети и в общем это все (не считая локального интерфейса).
Что же до интерфейсов - то это просто декларация методов которые реализует компонент (для локального и удаленного интерфейсов) + домашний интерфейс (для создания). В J2EE 5 - используются аннотации.

При этом EJB например могут выступать как жопа для JMS - Message Driven Bean это stateless EJB..

Прибавьте сюда деклариативное управление безопасностью (роли), менеджер транзакций (в том числе глобальных), декларативное определение ресурсов и получите довольно неплохой комплект, если знать когда и как его применять.

А теперь вопрос к нетчикам: для обеспечения всего этого мне нужен любой J2EE совместимый сервер приложений (учтите что туда еще входит и веб контейнер, пул соединений к БД и пр.), например geronimo, и 100-200 Мб на жестаке (+100 Мб на J2SE). При этом мне не надо заморачиваться на ОС (windows/linux). (ЦЕНА: НОЛЬ!).
Что нужно чтобы пользоваться аналогичными благами в .NET (не забудьте учесть ОС), какие механизмы за что отвечают и во сколько мне это обойдется?

Чисто технический вопрос: кто и каким образом обеспечивает состояние Вашему веб сервису?
P.S. Не надо путать распределенные компоненты и возможность подцепить удаленную библиотеку.
P.P.S. Хотя моя ЗП гораздо меньше 90кр :( (в провинции знаете ли все равно Java или Net - одинэсеры сожрали всех...)

Com+
обойдется в лицензию на винду
...
Рейтинг: 0 / 0
EJB - разводка или полезная технология?
    #34753313
НЕТ чик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mini_root

Чисто технический вопрос: кто и каким образом обеспечивает состояние Вашему веб сервису?


умный:
1. SELECT * from states WHERE session_id=@session_id, этот параметр приходит или в Хидере каждый запрос, или как один из параметров

2. Сессия ASP.NET - сделана аналогично сессии JSP. Может храниться в паямти другой машины, на SQL-ле (т.е. постоянно), где я захочу (если я напишу свой провайдер хранения сессии - та его часть, что согласуется с asp.net ну пол дня-день от силы. Основное именно сам механизм написать)
...
Рейтинг: 0 / 0
EJB - разводка или полезная технология?
    #34753322
И всё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
НЕТ чикCom+
обойдется в лицензию на виндуИ всё? А программировать этот COM+ в ноутпаде?
...
Рейтинг: 0 / 0
EJB - разводка или полезная технология?
    #34753331
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
рифма: нетчик-минетчик. Шутка

ком+ и ежб это вобщем-то технологии с одинаковыми целями
...
Рейтинг: 0 / 0
EJB - разводка или полезная технология?
    #34753332
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024ком+ и ежб это вобщем-то технологии с одинаковыми целями
DCOM можно сравнивать с RMI, а EJB это больше чем RMI, также как JEE больше чем EJB
...
Рейтинг: 0 / 0
EJB - разводка или полезная технология?
    #34753500
mini_root
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide mini_rootЯ если не MSSQL? А кто хранит состояние объектов?

Забавно... Интересно, а это обязательно только так рассматривать предмет:
есть объекты, все, что нужно от БД - это хранить их состояния, малейший чих - это активация этих состояний в виде объектов в БД?

Нафига тогда вообще СУБД - храните состояния в плоских файлах, делов то?

Может иногда полезно поизучать матчасть самой БД? В целях - не тянуть эти состояния объектов на клиента БД в обязательном порядке (а самый расфуфыренный J2EE - это лишь клиент)?

--

Нет? Глупость, наверное, сказал? Или против религии попер? ж)

Вы меня не поняли - я имел в виду Session EJB а не Entity. Т.е. не сущности, а именно сервисы. И хранятся они во встроенной БД(HSQL,Derby) сервера приложений в сериализованном виде (см. ObjectOutputStream). Что позволяет одновременно держать в памяти сервера определенное их количество, а остальное (от неактивных клиентов) хранит в БД.
...
Рейтинг: 0 / 0
EJB - разводка или полезная технология?
    #34770022
mini_root
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И куда все нетчики разбежались - я хочу холиварчик! .... Или тоже забить?
...
Рейтинг: 0 / 0
EJB - разводка или полезная технология?
    #34770751
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mini_rootИ куда все нетчики разбежались - я хочу холиварчик! .... Или тоже забить?
мочи его
...
Рейтинг: 0 / 0
EJB - разводка или полезная технология?
    #34771669
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
expp mini_rootИ куда все нетчики разбежались - я хочу холиварчик! .... Или тоже забить?
мочи его
готово
...
Рейтинг: 0 / 0
EJB - разводка или полезная технология?
    #34773354
mini_root
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz expp mini_rootИ куда все нетчики разбежались - я хочу холиварчик! .... Или тоже забить?
мочи его
готово

Не... скучно! Беседа на уровне "сам дурак"... причем без огонька и сравнения/сопоставления каких-то технических моментов! С другой стороны чего еще ждать от нетчиков (да и жабрЫ там какие-то без задора). Забью я.
...
Рейтинг: 0 / 0
20 сообщений из 120, страница 5 из 5
Форумы / Java [игнор отключен] [закрыт для гостей] / EJB - разводка или полезная технология?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]