СТАТЬЯ
24.04.01

Назад | Оглавление | Вперед

Enterprise JavaBeans
Упрощение разработки распределенных многозвенных приложений

Зачем нужны Enterprise JavaBeans?

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

Техническое описание Enterprise JavaBeans обрисовывает API, расширяющий компонентную модель JavaBeans и позволяющий использовать Java для построения независящих от платформы приложений, критичных к производительности, и выполняемых на стороне сервера. Эти серверные приложения построены на многократно используемых программных блоках (Enterprise JavaBeans), хранящихся на серверах среднего звена и отражающих логику бизнес-процессов. Отделяя семантику приложений от вопросов инфраструктуры (таких как транзакции, распределенность и безопасность), EJB упрощает разработку приложений и позволяет проектировщикам создавать сложные проблемно-зависимые распределенные приложения, не беспокоясь о базовой инфрастуктуре.

Что такое Enterprise JavaBeans?

Техническое описание Enterprise JavaBeans определяет компонентную модель, направленную на развитие и развертывание приложений Java, основанных на многозвенной распределенной объектной архитектуре.

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

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

Рисунок 2: Архитектура Enterprise JavaBeans.
   

EJB усиливает отдачу от Java

Поскольку EJB строится на основе языка Java, он поддерживает модель развертывания приложений "один раз напиши и запускай где угодно". Можно не только выполнять эти компоненты на любой платформе. Их можно полностью переносить в любой контейнер, принадлежащий поставщику Enterprise JavaBeans (исполнительную компонентную систему)

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

Простота многозвенного программирования

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

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

EJB упрощает многозвенную разработку, идентифицируя две типовые проектные модели:

Рисунок 3: Session Beans и Entity Beans.

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

Простота развертывания

После создания сервера или его компонентов, EJB существенно упрощает развертывание этих решений, заново используя упакованный формат Java Beans (файлы Jar) в качестве стандартного формата упаковки. EJB также определяет стандартную оперативную среду, которую должна предоставлять каждая исполнительная компонентная система EJB, т.е. обеспечивающую взаимодействие между разными реализациями спецификаций EJB. Исполнительная компонентная система должна включать средства, поддерживающие установку Enterprise JavaBeans, скомпонованного в стандартном формате файлов JAR. Эти инструменты должны динамически находить все реализации Enterprise JavaBeans и контролировать следующие детали процедуры установки:

Далее, эти компоненты серверов можно установить на любую реализацию EBJ поставщика, так как бизнес-логика компонент сервера не связана с деталями реализации на конкретной исполнительной компонентной системе.

Изготовление на заказ без программирования

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

Рыночная ниша компонентов

Долговременная перспектива EJB – это производство готовых серверных компонент, которые можно транслировать в полномасштабные решения для предприятия, совсем или почти не программируя. Поставщики программ могли бы производить многочисленные специализированные коммерческие компоненты, а организации могли бы отбирать компоненты, подходящие для их коммерческих нужд. До сих пор поставлялось довольно много готовых сторонних компонентов разработок, предназначенных для стороны клиента. На настоящий момент рынок компонентов для серверов все еще очень юн. Так как все больше организаций принимают серверную компонентную архитектуру, этот рынок должен быстро повзрослеть. Лидирующие промышленные компании, такие как IBM, Oracle, Sybase, Informix, Netscape, Novell, NCR, и Symantec, поддерживают технические характеристики Enterprise JavaBeans, так как они работают с существующими у них программными системами и базами данных для предприятий. А компании, развивающие программные приложения, уже начинают реализовывать приложения с использованием серверных компонентов. В конечном счете, эти компании начнут торговать отдельными компонентами для серверов.

Назад | Оглавление | Вперед

Дополнительную информацию Вы можете получить в компании Interface Ltd.

Обсудить на форуме Borland
Отправить ссылку на страницу по e-mail


Interface Ltd.

Ваши замечания и предложения отправляйте автору
По техническим вопросам обращайтесь к вебмастеру
Документ опубликован: 24.04.01