Главная » JavaBeans

Зачем использовать реализацию Inprise Контейнера EJB?

Добавлено Дата: 26 December, 2011 категория: Java, JavaBeans

Реализация Контейнера EJB фирмой Inprise характеризуется:

•                 Полной поддержкой спецификации EJB 1.1.

•                 Гибкостью и надежностью Контейнера как среды выполнения и управления Компонентами.

Читать »

Сервисы менеджера транзакции EJB

Добавлено Дата: 25 December, 2011 категория: Java, JavaBeans

Существуют два сервиса (две службы) управления транзакциями, которые входят в комплект поставки Inprise EJB Container – реализация фирмой Inprise Java Transaction Service (JTS) и Inprise Integrated Transaction Service (ITS).

JTS является службой, которая входит в состав Контейнера и используется для управления транзакцией по умолчанию. JTS предоставляет большие возможности, но содержит и существенные ограничения – она не поддерживает тайм-ауты транзакции. Транзакция может никогда не завершится вследствие некоторых причин. В отсутствие тайм-аута, некорректная транзакция может "зависнуть". Если с такой транзакцией сопоставлен session-Компонент, то Контейнер никогда не сможет удалить его, так как Контейнер не может удалять session-Компоненты, связанные с транзакцией. Очевидно, что это существенно ограничивает возможности Контейнера по эффективному управлению ресурсами.

Читать »

Поддержка EJB1.0

Добавлено Дата: 25 December, 2011 категория: Java, JavaBeans

Генерация Дескриптора Поставки

Класс GenerateDescriptors генерирует Дескриптор Поставки EJB 1.0. Дескрипторы Поставки – это объекты языка Java, свойства которых описывают, как нужно поставить (deploy) конкретную программу, написанную на Java. Например, свойство может описывать, как нужно запустить программу на выполнение или как зарегистрировать ее имя в службе имен (naming service). В EJB 1.0 Дескриптор Поставки хранится в файле в сериализованном виде. Процесс построения приложения включает в себя помещение файла, содержащего сериализованный Дескриптор Поставки, в jar-файл.

Читать »

Поддержка JDBC EJB

Добавлено Дата: 24 December, 2011 категория: Java, JavaBeans

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

Читать »

Компоненты EJB и транзакции

Добавлено Дата: 24 December, 2011 категория: Java, JavaBeans

Основы транзакций, управляемых Компонентом или Контейнером

Говорят, что используется транзакция, управляемая Компонентом (Bean- managed transaction, ВМТ), когда сам Компонент программно задает начало и конец транзакции. Если же компонент доверяет управление своей транзакцией Контейнеру, и Контейнер определяет параметры транзакции на основании инструкций, находящихся в Дескрипторе Поставки, тогда говорят об использовании транзакций, управляемых Контейнером (Container-managed transaction, СМТ). Как правило, эта информация помещается в Дескриптор Поставки Сборщиком Приложений (Application Assembler).

Читать »

Архитектура Enterprise JavaBeans

Добавлено Дата: 24 December, 2011 категория: Java, JavaBeans

Enterprise JavaBeans – это высокоуровневая, базирующаяся на использовании компонентов технология создания распределенных приложений, которая использует низкоуровневый API для управления транзакциями. EJB существенно упрощает разработку, поставку и настройку систем уровня предприятия, написанных на языке Java. Архитектура EJB определена в спецификации, разработанной Sun Microsystems. Реализации Контейнера EJB фирмой Inprise базируется на версии EJB 1.1.

Читать »

Обзор Entity-Компонента EJB

Добавлено Дата: 22 December, 2011 категория: Java, JavaBeans

Entity-Компонент является объектным представлением данных, находящихся в долговременном хранилище, таком, как базы данных, или данных, реализованных с помощью существующего приложения. Они предназначены для того, чтобы несколько клиентов использовали их одновременно, в отличие от Session-Компонентов, которые всегда взаимодействуют только с одним клиентом.

Читать »

Ограничения при программировании EJB

Добавлено Дата: 22 December, 2011 категория: Java, JavaBeans

Ниже приведен список программных ограничений, определенных в

спецификации EJB 1.1.

•                 Компонентам EJB не разрешается управлять потоками (threads) или группами потоков. Им не следует создавать новые потоки или активизировать приостановленные, а так же завершать или приостанавливать выполняемые. Кроме того, Компоненты EJB не должны менять приоритеты потоков или их имена.

Читать »

Более сложные вопросы использования СМР

Добавлено Дата: 21 December, 2011 категория: Java, JavaBeans

В предыдущих разделах были рассмотрены основы использования СМР. Было показано, как нужно работать с полями, управление которыми берет на себя Контейнер, а именно: такие поля нужно объявить как public-поля в классе реализации Компонента, а затем перечислить их в Дескрипторе Поставки. Хотя методы поиска объявлены в home- интерфейсе, их реализация отсутствует в классе Компонента. Описание логики работы этих методов также содержится в Дескрипторе Поставки. Эта информация используется Контейнером EJB для определения полей, сохранение состояния которых он берет на себя, а также для реализации методов поиска.

Читать »

Структурные шаблоны (design patterns) и соглашения об именах в EJB

Добавлено Дата: 21 December, 2011 категория: Java, JavaBeans

Существуют три основных подхода для создания объектно- ориентированных многозвенных распределенных систем: с сервером без состояния, ориентированный на сеансы связи с клиентом и с использованием "долгоживущих" объектов.

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

Читать »

Соотношения между типами Java и SQL

Добавлено Дата: 21 December, 2011 категория: Java, JavaBeans

Когда вы разрабатываете Компонент EJB для работы с существующей базой данных, вы должны сопоставить типы данных Java в вашем приложении с SQL-типами данных БД.

Inprise-реализация Контейнера EJB использует стандартне отображение между SQL- и Java-типами, принятое в JDBC. JDBC определяет набор обобщенных SQL-типов, соответствующих наиболее часто используемым типам данных SQL. При разработке вашего Компонента, предназначенного для моделирования существующих баз данных, рекомендуется использовать эти правила отображения типов (эти типы определены в классе lava, sql .Types.)

Читать »

java2iiop

Добавлено Дата: 20 December, 2011 категория: Java, JavaBeans

Этот компилятор используется для генерации IIOP-совместимых стабов и скелетов на базе home-интерфейса. Вы должны сгенерировать стабы и скелеты для того, чтобы клиент мог обратиться к серверу.

Сгенерированные стабы и скелеты соответствуют спецификации CORBA 2.3. Это означает поддержку RMI-over-IIOP в терминах передачи объектов по значению (object-by-value). Комплексные типы данных Java (такие, как словари, векторы и другие) могут передаваться с использованием ПОР при помощи новых типов данных IDL "value", в соответствие со спецификацией CORBA 2.3. Это обеспечивает настоящее взаимодействие между продуктами разных производителей.

Читать »

Обзор Session-Компонентов EJB

Добавлено Дата: 20 December, 2011 категория: Java, JavaBeans

Класс Session-Компонента должен реализовать интерфейс SessionBean. Он также должен соответствовать всем требованиям и соглашениям об именах, касающихся отношений между этим классом и home- и remote- интерфейсами Компонента.

Кроме того, при создании Компонента необходимо реализовать все методы, для который объявлены соответствующие им методы в home- и remote-интерфейсах. Например, метод home-интерфейса create () сопоставлен с методом ejbCreate() в классе Компонента. Бизнес- методы, которые сделаны доступными для клиента путем их объявления в remote-интерфейсе, также имеют соответствующие им методы в классе Компонента.

Читать »

Использование API транзакций EJB

Добавлено Дата: 19 December, 2011 категория: Java, JavaBeans

Все транзакции используют Java Transaction API (JTA). Когда для управления транзакциями используется режим СМТ, границы

транзакции определяются автоматически и вызовы JTA API выполняются Контейнером; код вашего Компонента не содержит этих вызовов.

Читать »

Управление транзакциями с оптимистичной схемой блокировок

Добавлено Дата: 19 December, 2011 категория: Java, JavaBeans

Inprise-реализация Контейнера EJB не выполняет блокировок Entity- Компонентов для выполнения транзакций. Это означает, что несколько различных транзакций, выполняемых параллельно в интересах различных клиентов, обращаются к "логически" одному и тому же Entity-объекту, но к различным "физическим" копиям данных. Это может вызвать проблемы при работе с большинством СУБД.

Читать »