Средства ЯП JAVA для описания и интеграции компонентов

В языке JAVA в качестве готовых компонентов используются beans компоненты, которые включают описание функциональности, интерфейса и шаблона развертывания, как средства интеграции их в новые ПС. Он может повторно использоваться в разных средах для выполнения своих функций самостоятельно или в составе с другими компонентами. Класс можно сделать Beans компонентом, внеся небольшие изменения с помощью специальной утилиты системы BDK (Bean Development Kit) [3-5].

Компоненты beans подразделяются на три категории:

1. Компоненты сеансов, которые поддерживают правила бизнеса–логики, ориентированы

на состояния и могут быть связаны с конкретным клиентским сеансом;

2. Компоненты сущностей используются для связи с БД непосредственно, представляют данные в объектной форме;

3. Компоненты, которые управляются событиями, функционируют для получения сообщений, поступающих от системы обмена сообщениями JMS (Java Messaging System), и реагируют на них.

При создании bean компонентов используется интерфейсы: Home для управления ЖЦ компонента, интерфейс Remote для вызова и рализации компонента в среде виртуальной машины JVM (Java Virtual Machine). Каждый компонент beans имеет свой контейнер, который вызывает и регулирует все аспекты ЖЦ, а также интерфейс.

Основной особенностью beans компонентов в JAVA является отображение – т.е.способность анализировать самого себя и описывать свои возможности динамично во время выполнения, а не во время компиляции. Пакет JAVA java.lang.reflect входит в ядро API, поддерживает отображение разных компонентов и содержит один интерфейс – Member, определяющий методы получения информации о полях, структуре классов.

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

Bean компонента – это подмножество состояний, которые определяют поведение и внешний вид компонента. Эти свойства делятся на простые, булевы и индексированные. Простые свойства имеют одиночные значения, могут быть идентифицированы проектными шаблонами (например, свойства для read/write, read–only, write–only). Булевы свойства принимают значение true или false и идентифицируются проектными шаблонами. Индексированные свойства состоят из множества индексированных значений, задаваемых проектным шаблоном.

Bean компоненты могут иметь, так называемые связанные свойства, которые отражают событие без изменения свойства компонента. В стандартном шаблоне BeanInfo непосредственно содержатся информационные массивы свойств, событий и методов PropertyDescriptor, EventSetDescriptor, MethodDescriptor), при реализации которых разработчик может обеспечивается предложение пользователя.

Bean компонент с ограниченным свойством генерирует событие и изменяет значение этого свойства, затем это событие отсылается объектам, которые могут отклонить изменение свойств или поддержать в зависимости от среды выполнения. Инструментарий BDK позволяет сохранять компоненты с помощью пунктов меню (File, Save) в JAR архиве следующей последовательностью шагов:

– создать каталог для нового Bean компонента;

– создать одних или несколько исходных JAVA файлов, которые реализуют компонент;

– скомпилировать эти файлы;

– создать файл описания свойств компонента;

– сгенерировать JAR файл;

– запустить BDK инструментарий для сохранения нового компонента;

– протестовать компонент.

Для взаимодействия разных компонентов используется механизм вызова удаленного метода RMI, который дополнен к языку JAVA через стандартную модель EJB (Enterprise Java Beans) компании Sun. К ней подключены классы языка JAVA, определения их атрибутов, параметров среды и свойств группирования компонентов в прикладную программу для выполнения на виртуальной машине JVM. Механизм развертывания JAVA–компонентов типа beans на сервере базируется на программах в исходном языке, а сервер создает для них оптимальную среду для выполнения задач EJB.

Для реализации и повторного использования ПИК типа beans разработаны следующие шаблоны в Java for Forte:

– Bean для создания нового beans компонент и формирования каркас компонента с простыми свойствами и возможностью автоматического изменения этих свойств;

– BeanInfo для интеграции beans компонентов и обеспечения взаимодействия;

– Customizer создает панель, на которой размещаются элементы, которые со временем можно использовать для управления конфигурацией beans компонента;

– Property Editor создает класс, который используется во время проектирования и редактирования свойств beans компонентов.

Фирма Microsoft Active разработала ряд Beans компонентов, которые формируют интегрированную архитектуру приложения. Контейнеры этих компонентов поддерживаются Internet Explorer, Microsoft Office и Visual Basic. Кроме того, на сайтеjava.sun.comможно загрузить инструментальную систему Bridge for Active в целях применения Java Beans компонентов в контейнерах Active, а также загрузить инструментарий Java Beans Migration Assistant for Active для анализа элементов управления Active и генерации каркаса JavaBean компонентов.

Таким образом, JAVA поддерживает стандартные механизмы для работы с компонентами как со строительными блоками со следующими особенностями:

– большинство свойств, событий и методов в ПС являются управляемыми;

– реинженерия компонента основывается на параметрах времени разработки;

– параметры отладки конфигурации сохраняются и используются в заданное время;

– beans компоненты регистрируют принятые сообщения о событиях или сами генерируют события;

– ПИК сохраняется в архиве JAVA с помощью шаблона JAR Contents самостоятельно либо в виде группы;

– каждый компонент может описываться в разных языках.

Для всех классов компонентов в Forte for JAVA компании Sun Microsoft Systems, Inc., предлагаются шаблоны интеграции в программную разработку [7].

Наши рекомендации