ProgBook — книги и учебники по программированию. Книга ejb


Enterprise Java Beans (EJB)

Enterprise JavaBeans (EJB) – технология быстрой и достаточно простой (Прим. админа. сайта.: лично я так не считаю, но так написано в книге) разработки приложений на языке Java. EJB позволяет разработчикам сконцентрироваться на реализации бизнес-логики приложения.

EJB может быть использована совместно с другими технологиями, например: сервлеты, JSP, JSF, апплеты, JSE приложения и д.р.

Использование бина включает:

1) объявление ссылки на бин2) создание экземпляра бина3) вывов методов бина

Существует два способа получить доступ к EJB:

1) Dependency Injection (DI) 2) Java Naming and Directory Service (JNDI).

DI - более простой способ, но JNDI может быть использована, в том числе, в случае если приложение использует разные JVM.

EJB не должны быть созданы с использованием ключевого слова new. Если EJB создан с использованием ключевого new, в этом случае будет создан не EJB, а обычный объект, который не сможет воспользоваться возможностями, предоставляемыми контейнером EJB.

Существуют следущие типы EJB:

  • Session Beans (Клиентская часть. Т.е. та часть которая работает с браузером клиента (чаще всего) или другим клиентским приложением.)
  • Message-Driven Beans(Серверная часть. С помощью служб JMS (в messaging queue (очередях) или в topic (топиках)) на сервере создаются ассинхронные сообщения (задания) для выполненения.
  • Entity Beans (Часть, связанная с работой с базами данных.).

Entity Beans считаются устаревшими, вместо них рекомендуется использовать технологии Java Persistence API (JPA).

Рекомендации по присвоению имен:

Construct Suffix Example
Bean Implementation Class Bean TicketProcessorBean
EJB (the sum of its parts) EJB TicketProcessorEJB
Remote Component Interface Remote TicketProcessorRemote
Local Component Interface Local TicketProcessorLocal
Remote Home Interface RemoteHome TicketProcessorRemoteHome
Local Home Interface LocalHome TicketProcessorLocalHome
Remote Business Interface RemoteBusiness TicketProcessorRemoteBusiness
Local Business Interface LocalBusiness TicketProcessorLocalBusiness
Endpoint Interface WS (for WebService) TicketProcessorWS

Мирончик Игорь о технологии EJB 3:

Книги EJB 3.1

EJBs seamlessly integrate with other Java SE and Java EE technologies, such as JDBC, JavaMail, JPA, Java Transaction API (JTA), Java Messaging Service (JMS), Java Authentication and Authorization Service (JAAS), Java Naming and Directory Interface (JNDI), and Remote Method Invocation (RMI).

ejb.javadev.ru

Лучшие книги Java EE

Приветствую всех любителей боли и страданий. Оказавшись на пороге Энтерпрайза – оставь надежду всяк сюда входящий. Сегодня предлагаю вашему вниманию небольшую подборку книг по Java EE. Но для начала минуточка тишины для Java EE… Король умер, да здравствует король! Дело в том, что в середине августа 2017 года компания Oracle оказалась от прав на Java EE в пользу Eclipse Foundation, а уже в начале 2018 по итогам голосования по смене имени проекта (в связи с тем фактом, что Oracle отказалась передать Eclipse права на использование торговой марки «Java»), решено переименовать Java EE в Jakarta EE. Вернемся к книгам. Тут все не так просто, как могла бы показаться на первый взгляд. Во-первых, выбранная тема звучит как «Лучшие книги по Java EE» и тут небольшой нюанс, книги по фреймворкам тут не подходят, а значит даже «Высший разум» из Ответов.Маил тут не поможет. Во-вторых, выходя из теплой и уютной зоны комфорта под названием «Java SE», стоит забыть о русском языке и перейти на буржуйский. В третьих, если на таком уровне вы не обзавелись ментором или друзьями из числа хотя бы чуть более опытных разработчиков, которые бы могли помочь советом и наставить на путь истинный, то… все очень печально ^_^ Но вы же не думали, что эти мелочи остановят меня? Итак, несмотря на то, что у платформы Java EE сменился семпай, по условиям передачи будет сохранена святая святых Java со времен Swing – это обратная совместимость, а значит, нам ничего не мешает использовать уже написанную литературу. Для начала немного информации из самого надежного и достоверного источника: На основе платформы SE построена платформа EE, включающая в себя все то, что есть в SE + дополнительные технологии для создания Коммерческого ПО, предоставляющая API для работы с ней, фреймворки работают уже поверх нее. Дешево и сердито. А также список технологий и ссылка на спецификацию: Зачем тут эта история? Давай уже лучшие книги по Java EE! Минутку, «нумерация Java» идет по платформе SE, т.е. Java 10 – по сути Java SE 10, а как видно из скрина, у платформы EE все немного иначе. После долгого перерыва, слез, страданий и истерик, после нескольких громких заявлений о разрыве отношений, Oracle под давлением общественности все же выпустили платформу Java EE8 – в конце августа 2017, значит самая «свежая» литература на русском языке будет по платформе EE7, вот чем я руководствовался при поиске книг.

1. Изучаем Java EE 7

Небольшая заметка. Боюсь одной статьи не хватит чтобы дать хотя бы краткое описание книги и уровня, необходимого для ее прочтения, поэтому на этом моменте я ограничусь небольшими комментариями. Подобных книг очень мало и на каждую уже существует большое количество рецензий. Небольшое описание от издательского дома "Питер" В скором времени это же издательство планирует перевод книги по EE8 - ждем

2. EJB 3 в действии

3. Java EE 7 и сервер приложений GlassFish 4

4. Head First Servlets and JSP: Passing the Sun Certified Web Component Developer Exam

Как бы я ни старался подобрать лучшую литературу по Java EE только на русском языке специально для JavaRush, это, к сожалению, не удалось. Однако книги из серии Head First достаточно легкие и написаны на очень хорошем английском, поэтому, я считаю, ее изучение не составит труда.

Заключение

В рамках изучения Java на курсе JavaRush скорее всего вы перепрыгните саму платформу EE и сразу окажетесь в гуще фреймворков. И это нормально… или нет? Споры об этом можно вести бесконечно, привести миллионы аргументов и получить столько же контраргументов, переходить на личности и даже звать на «го PvP или засцал». Все зависит от должности, фирмы, знаний... Ниже я добавил несколько ссылок на статьи которые, я надеюсь, помогут вам разобраться. Спасибо за внимание, до скорых встреч! Фреймворки делают разработчиков тупыми? Не учите фреймворки, учите архитектуру Java Enterprise: что и как учить Enterprise разработка накануне провала традиционных методов Web приложение на Java без фреймворков Строим веб-приложение на Java без JEE и Spring

javarush.ru

EJB 3 в действии – ScanLibs

Первоначально технология EJB появилась под влиянием идей, заложенных в технологии распределенных вычислений, таких как CORBA, и предназначалась для поддержки масштабирования серверных приложений. Во время бума доткомов вокруг EJB и J2EE была поднята большая рекламная шумиха.

Первоначальной целью EJB было предоставить простую альтернативу технологии CORBA на основе стандартной инфраструктуры разработки и компонентовмногократного пользования. К моменту выхода EJB 2 стало очевидно, что эта инфраструктура превратилась в новый стандарт разработки серверных приложений. Она предоставляет промышленным разработчикам все необходимое – поддержку удаленных взаимодействий, механизмы управления транзакциями, средства обеспечения безопасности, обработки и хранения информации, и веб-службы – но все это были тяжеловесные механизмы, требующие от разработчиков основное внимание уделять особенностям взаимодействий с самой инфраструктурой, чем реализации бизнес-логики приложений. Из-за включения в EJB все новых особенностей, основатели этой инфраструктуры оказались не в состоянии справиться со все возрастающей сложностью.

С появлением недовольств, вызванных ограничениями в EJB 2, стали появляться новые инструменты с открытым исходным кодом. Эти инструменты являютсяярким признаком растущего недовольства сложностью Java EE. Однако, несмотря на благие намерения, эти инструменты еще больше осложнили разработку промышленных приложений, так как они отклонялись от стандартов, лежащих в основе сервера приложений, где эти инструменты должны использоваться. В этот период была запущен процесс Java Community Process (JCP) и сформирована экспертная группа для выполнения работ по упрощению разработки на основе Java EE. Это была единственная причина начала разработки Java EE 5 и EJB 3.

Для технологии с такой широкой областью применения, изменения в EJB 3 стали просто оглушительными. EJB 3 благополучно объединила в себе инновационные приемы, существенно упрощающие разработку компонентов. В число этих приемов входят: использование аннотаций, метапрограммирование, внедрение зависимостей, AspectJ-подобные интерцепторы и интеллектуальное использование значений по умолчанию. Произошел отказ от тяжеловесной модели программирования на основе наследования в пользу более легковесной модели на основе простых объектов Java (Plain Old Java Object, POJO), а подробные описания настроек на языке XML ушли с пути разработчика.

Обзор EJB

Первое, что следует выяснить при оценке новой технологии, – что она в действительности дает. Что же такого особенного в EJB? Помимо технологий уровня представления, таких как JavaServer Pages (JSP), JavaServer Faces (JSF) или Struts, разве нельзя создать веб-приложение на языке Java с использованием некоторого API, такого как Java Database Connectivity (JDBC) для доступа к базам данных? Конечно можно, если вы не ограничены жесткими временными рамками и ресурсами. До появления EJB именно так и работали. По опыту прошлых лет мы знаем, что в этом случае придется потратить массу времени на решение типовых задач системного уровня, вместо того, чтобы сосредоточиться на решении прикладных задач. Этот же опыт показывает, что типовые задачи имеют типовые решения. Это именно то, что с готовностью выкладывает на стол EJB. EJB – это коллекция «фиксированных»

scanlibs.com

Я не знаю EJB и JSF

Как то так сложилось что при моем примерно 7-летнем опыте коммерческой разработки на Java я почти не имею опыта в EJB. Хотя это первое что спрашивают на собеседовании, я ведь проверял не так давно. Самое интересное, кстати, в том что многие собеседователи после кучи вопросов по опыту в EJB/WebSphere/JMS/пр., о том как это все им важно и пр., рассказывая о своих проектах, говорят что на практике все их проекты разрабатываются без какого либо EJB и прекрасно работают по Tomcat, а WebSphere получается лишь для веса. Возможно и потому что не серьезно сейчас предлагать решение без WebSphere/WebLogic + Oracle.

А мне всегда как то хватало связки Spring + Hibernate + Tomcat/JBoss, что в сущности дает тоже самое, но удобнее. Список можно продолжить добавив еще как минимум Acegi, AspectJ, и прочие решения умеющие хорошо и удобно решать свою отдельную задачу, многие легко взаимозаменяемы и дают очень неплохой синергетический эффект.EJB немного был когда я работал в Luxoft, но это почти мимо меня прошло. К EJB как таковому у меня отношение отрицательное из-за больших объемов лишней работы, я считаю что простые вещи должны делаться просто. Для EJB это не выполнялось, простые вещи делались сложно. Да и, честно говоря, сложные вещи делались не сложно, а очень сложно. Тоже самое касается и JSF. Система становится всеобъемлющей, делает все что можно, но, как результат комплексности, делает «все» одинаково плохо. Говорят с EJB 3.0 все лучше стало, т.к. изучили опыт аналогов (читай стараются догнать). Но это немного поздно, и с учетом инертности крупных разработчиков все совсем плохо.

Все это рассчитывалось на то что с этим сможет работать совершенно некомпетентный специалист, который возьмет какую либо GUI рисовалку и, не понимая базовых принципов, наклепает работающее приложение. В результате совершенно непонятно как вся эта хренотень может работать, и требует огромных компьютерных ресурсов. Хотя для последнего всегда проще купить HP Superdome и не парится (к тому же часто наоборот, сервера уже стоят, а загружены на 10%, но это уже решается другими методами). На самом деле я даже согласен, часто действительно лучше и гораздо дешевле поставить железо мощнее, но только когда это не вызвано уродством архитектуры. Т.е. когда мы пишем сервер на Ruby (например) и получаем красивое технологически решение, поддерживаемое и легко расширяемое, то потребность в больших ресурсах вполне себе оправдана, но когда говорят «а нафиг нам пул соединений с БД? без него точно все работает, а с ним вдруг что случится? у нас сервер хороший и без пула потянет!» то тут уже не сервер ставить, а архитектора увольнять. Хотя и мысль теоретически даже правильная, но не в том месте.

JSF больше страдает клиентской избыточностью, но для intranet на это еще можно забить. Я даже пару раз пытался использовать это, но так и не понял вкуса. К тому же если нужно создавать хороший интерфейс не заморачиваясь с html/javascript, то надо использовать GWT, а не JSF. Но это, конечно, если нет в требованиях пункта «поддержка Netscape Navigator 3.0», что еще было обязательным года 3 назад, надеюсь сейчас эти «компьютеры» уже окончательно доломались и на замену поставили те где можно поставить браузер посовременней.

А то к чему приводит разработка лишь на JSF могу проиллюстрировать тем что на очередном собеседовании с большим недоверием отнеслись к тому что я могу редактировать JSP/HTML в текстовом редакторе, вместо положенного WYSIWYG редактора. Очень удивились тому что я могу предполагать как изменится внешний вид в браузере после редактирования исходного HTML этой страницы. Я по своей наивности считал это вполне обыденной вещью, которую можно поручать даже школьнику-верстальщику. Ладно хоть не сказал что, к примеру, еще понимаю как HTTP протокол организован и на сайты хоть телнетом ходить могу.

Та вот, к чему я. В начале заголовок статьи был «Я не использую EJB и JSF», сейчас заменил на «Я не знаю EJB и JSF». Т.е. это скорее не принципиальное решение, а ситуация. Ведь может быть действительно моя проблема в том что я не знаю их? Может там есть очень серьезные плюсы? Серьезные выигрыши для проекта, для архитектуры, по сравнению с теми же Spring, Hibernate и пр.? Снижение каких то рисков? Если в случае EJB еще более-менее понятно, само по себе оно нужно, как минимум все части по отдельности востребованы. Вопрос в том нужны ли столь тяжеловесные решения иногда для простых задач, когда есть прекрасные и удобные альтернативы. Иногда конечно стоит взять готовую коробку от IBM, Oracle или BEA, вместо набора различных OS кубиков типа Mule, ActiveMQ, JBoss, Hibernate, Spring и т.д. Это касается EJB, а вот в случае JSF мне вообще непонятно как оно до сих пор существует и кому это надо, неужели JSF дает что-то такое что разработка становится настолько дешевле?

artamonov.ru

Enterprise JavaBeans — Ричард Монсон-Хейфел | ProgBook

Загрузка... Навазние: Enterprise JavaBeans, 3-е издание Автор: Ричард Монсон-ХейфелИздательство: Символ-ПлюсГод: 2002ISBN: 5-93286-041-3PDF: 6 Мб

Книга «Enterprise JavaBeans» является третьим изданием, в котором описывается технология построения сложных ответственных систем, основанная на объединении компонентов, моделирующих прикладные объекты и процессы. EJB позаботится об объектном постоянстве, безопасности и управлении транзакциями. Не так давно представлялось необычным, что компоненты EJB смогут не только выполняться в любой операционной системе без какой-либо модификации, но и работать на любом корпоративном сервере EJB. В версии EJB 2.0 установлены компоненты, управляющиеся сообщениями, которые могут при помощи службы сообщений JMS взаимодействовать с системами промежуточного уровня; предлагается более развитая модель управляемого контейнером постоянства, и поддерживаются сложные отношения между объектными компонентами. В данном издании рассмотрены: EJB 2.0 и 1.1; компоненты, управляемые сообщениями; сеансовые и объектные компоненты, в том числе новая модель СМР и язык запросов EJB QL; служба JMS; XML-дескрипторы развертывания; управление транзакциями и безопасность; , взаимосвязь EJB и Java 2; Enterprise Edition. Всем разработчикам корпоративных программных продуктов известно, что технология EJB сильно изменила данную область. С помощью этой книги читатели смогут освоить все новейшие достижения. Для пользователей, не работавших с EJB, здесь находятся начальные сведения о технологии построения прикладных систем.

9,116 просмотров всего, 1 просмотров сегодня

progbook.ru

Учебный курс по электронной коммерции NetBeans. Добавление классов сущностей и сеансных компонентов

В этом учебном курсе рассмотрены технологии Enterprise JavaBeans (EJB) и Java Persistence (JPA). Используются необходимые для разработки в Java EE мастеры среды IDE. Это:

  • Мастер создания классов сущностей из базы данныхДля каждой выбранной таблицы базы данных создается класс сущности, сохраняющий состояние при помощи JPA, с аннотациями именованных запросов, полями, соответствующими столбцам и отношениями, соответствующими внешним ключам.
  • Мастер сеансных компонентов для классов сущностейСоздает фасад сеанса EJB для каждого класса сущностей с основными методами доступа.

Эти два мастера предоставляют эффективный способ быстрого создания модели для приложения. При рассмотрении диаграммы MVC для создаваемого приложения можно увидеть место расположения сеансных компонентов EJB и классов сущностей JPA в его структуре.

Создаваемые в этом разделе классы сущностей создают представление базы данных affablebean в форме Java. Каждый класс сущностей представляет таблицу базы данных, а экземпляры классов сущностей соответствуют записям, сохраняемым в базе данных. Бизнес-логика приложения инкапсулируется сеансными компонентами, которые могут использоваться как классы фасада, предоставляющие доступ CRUD (создание, чтение, обновление, удаление) к записям (см. ниже), или могут содержать код, реализующий характерные для приложения действия. Пример такого использования приведен в разделе Раздел 9: интеграция транзакционной бизнес-логики.

Можно просмотреть интерактивную демонстрацию приложения, которое создается в этом учебном курсе: Демонстрация приложения электронной коммерции NetBeans

Примечания:

  • The IDE NetBeans requires the Java Development Kit (JDK) to run properly. Если указанные материалы не установлены, JDK следует загрузить и установить в первую очередь.
  • The IDE NetBeans Java Bundle includes Java Web and EE technologies, which are required for the application you build in this tutorial.
  • The IDE NetBeans Java Bundle also includes the GlassFish server, which you require for this tutorial. Можно загрузить сервер GlassFish отдельно, но версия, предоставляемая с NetBeans, имеет преимущество, так как автоматически зарегистрирована в среде IDE.
  • Этот учебный курс можно выполнять без выполнения предыдущих. Для этого обратитесь к инструкциям по настройке, в которых описана подготовка базы данных и настройка подключений между IDE, GlassFish, и MySQL.
  • Snapshot 4 of the AffableBean project is available for download and corresponds to state the project after completing this unit using IDE NetBeans 6.9.

Общие сведения о технологиях EJB и JPA

До сих пор проект, который создавался в процессе этого учебного курса, можно было запустить на веб-сервере с контейнером сервлетов, таком как Apache Tomcat. Пока использовались только технологии JSTL и сервлетов, а подключение к базе осуществлялось напрямую через JDBC. Теоретически можно продолжать разработку с применением только этих технологий и вручную писать код для всех аспектов приложения, включая многопоточное исполнение, транзакции и безопасность. Однако компоненты EJB и классы сущностей JPA позволяют сосредоточиться на бизнес-логике приложения, используя проверенные и протестированные решения. В следующих разделах рассматриваются данные технологии и их роль в разработке для Java EE.

JavaBeans Enterprise

На официальной странице продукта EJB технология EnterPrise JavaBeans описана как "компонентная архитектура клиент-сервер", которая "позволяет быстро и легко разрабатывать распределенные транзакционные безопасные и переносимые приложения." При применении EJB все службы, предоставляемые этой технологией, остаются прозрачными для разработчика, избавляя его от утомительного и часто приводящего к ошибкам добавления кода заготовок. Для новичка в разработке для Java EE потребность в EJB для веб-приложения Java неочевидна. В книге Дебу Панды, Реза Рахмана и Дерека Лейна (Debu Panda, Reza Rahman и Derek Lane) EJB 3 в действии (EJB 3 In Action) роль EJB четко сформулирована:

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

netbeans.org

Java по-русски. Часть первая: Книги / Хабр

Не так давно я проводил опрос «Какие материалы о Java вас интересуют на русском языке?» среди посетителей Хабра. Вторым этапом моего исследования будет обзор существующих русско-язычных ресурсов.
Книги
За 2009 на Ozon.ru можно найти 8 книг по Java (всего за последние 3 года их вышло 22 — примерно по 7 в год, на books.ru набор примерно такой же, так что наша выборка довольно репрезентативна). Посмотрим, что это за книги?
Java EE
«Программирование web-приложений на языке Java» от Буди Курняван, «Технологии программирования на Java 2. Распределенные приложения» от Х. М. Дейтел, П. Дж. Дейтел, С. И. Сантри и «Java сервлеты и JSP. Сборник рецептов» Брюс Перри. Выпущены они были в 2002, 2001 и 2004 годах и современные Java EE(5 версия вышла в 2006, к концу 2009 выходит 6) технологии и фреймворки(EJB 3, JPA, JSF, Spring, Hibernate, Dependency Injection) никак не покрывают, поэтому говорить что-то о них смысла попросту нет.
Java SE
Здесь авторы куда более именитые. Все 4 книги в принципе можно рекомендовать как начальные, хотя я бы посоветовал Хорстманна.

«Философия Java» Брюс Эккель. По праву считается одной из лучших книг по Java(русское издание даже идёт с логотипом Luxoft), но к сожалению перевод страдает не только качеством(судя по отзывам на books.ru), а и урезанным содержанием: 640 страниц против 1150 в оригинале.

«Java 2. Библиотека профессионала. Том 2. Тонкости программирования» Кей Хорстманн, Гари Корнелл. Это второй том книги, которую можно назвать учебником от создателя(Sun Press). Первый том книги вышел в прошлом году, а задержка перевода составляет всего год. Наверное, это самый полный и актуальный(отражающий 6 версию) учебник по Java SE.

«Java. Руководство для начинающих» Герберт Шилдт. Треть всех книг по Java за последние 3 года именно от этого автора. Так же у этой книги самый большой тираж — 3000 экземпляров. Популярны и его книги по C++ & C#(уж не знаю, как ему удаётся писать по 3-4 книге в год по разным технологиям), поэтому наверное много программистов, переходящих с этих технологий на Java, выбирают именно его: знакомая фамилия как-никак.

«Язык программирования Java и среда NetBeans» В. Монахов. Курс лекций СПбГУ, содержит обзор практически всех технологий компании Sun: Java, Netbeans, Java ME/SE/EE. Так что если вы хотите познакомится с платформой в целом — это ваш выбор. Правда в свете недавнего приобретения Sun компанией Oracle, будущее инструментов, используемых в книге, неизвестно.

Java ME
Единственная книжка по Java ME за этот год — Майкл Моррисон «Java 2 Me. Программирование игр для мобильных телефонов». К сожалению сказать ничего не могу, но рейтинг оригинала на Amazon = 4,5 звезды(максимум 5). Надеюсь, что это так, потому что все другие книги по этой технологии за прошедшие года(а их набралось всего 4) не нашли ни одного положительного комментария на books.ru & Ozon.
Итог
Довольно широкий выбор книжек по Java SE: совеременные издания, которые позволяют вам даже поэстетствовать при выборе автора. К сожалению, не всегда удачный перевод.

ШОК: Практически полное отсутствие книжек по технологии Java EE: единственная книга, стоящая покупки за последние 4 года: Дэвид Гери, Кей Хорстманн «JavaServer Faces»(что интересно: английское издание на Ozon стоит в 3 раза дороже, чем на Amazon). По Java ME ситуация схожая, хотя технология эта уже не так популярна у начинающих разработчиков, которые смотрят в сторону iPhone & Android.

habr.com