Средства ЯП 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].