Типы компонентов и средства их интеграции в JAVA
Интерфейс является видимой частью спецификации компонента, предназначенной для интеграции компонента в среду для повторного использования. Для описания интерфейса компонента применяется Inspector Components, позволяющий изменять необходимые параметры интерфейса компонента с помощью визуальной таблицы, отображающей все параметры. Интерфейс в Inspector Components задается в виде пары – имя параметра и значение параметра, которые могут изменяться автоматически без вмешательства в код компонента.
Для разных типов компонентов Inspector Components содержит неизменную часть представленных параметров, которая может быть включена в инвариант спецификации, к которому относятся параметры: тип компонента, имя компонента, входные, выходные данные, типы атрибутов и параметров методов компонента.
Для описания и инициализации разных типов компонентов и интеграции их в новый проект используются специализированные шаблоны. Тип компонента имеет функциональность и поддерживается стандартным набором методов JAVA, которые обеспечивают инициализацию, запуск, функционирование и уничтожение компонента.
Инструментарий NFTW (New From Teplate Wizard) обеспечивает поиск, селекцию и подключение компонентов к выбранному пакету или проекту. Верхний уровень иерархии задает основные шаблоны для построения новых компонентов и интеграции их в проекты. Этот уровень определяется с помощью основных типов компонентов в языке программирования JAVA, к которым относятся: проекты, формы (AWT компоненты), beans компоненты, COBRA компоненты, RMI компоненты, стандартные классы–оболочки, базы данных, JSP компоненты, сервлети, XML документы, DTD документы, файлы разных типов и их групп [3-5]. Рассмотрим основные типы компонентов
Шаблон развертывания представляет собою скрытую часть и необязательную часть абстракции компонента, который может быть повторно использован в одном или многих средах и для этого он имеет несколько шаблонов отладки. К спецификации компонента могут добавляются новые шаблоны его интеграции или изменяются старые шаблоны. В некоторых классах ПИК параметры интегрирования в новое среды включаются в интерфейс компонента, что ограничивает способность компонента адаптироваться к новым средам и тем самым сужается круг задач, в которых он может повторно использоваться.
Для селекции и подключения нового компонента избранного типа используется механизм NFTW в JAVA. Набор параметров для интегрирования нового компонента в определенном пакете варьируется в зависимости от типа компонента.
Приведем дальше краткое описание функциональности и обзор шаблонов развертывания для отдельных типов компонентов в JAVA.
Проекты как средство композиции компонентов. Создание нового проекта состоит в конфигурации системы с помощью компонентов JAVA и обеспечении их взаимодействия следующими шагами:
– скомпилировать разные файлы с разными JAVA компонентами одной командой;
установить основной компонент (класс) в проекте, который задает шаблон кооперации других компонентов в проекте;
– установить уникальную конфигурацию для каждого отдельного проекта,
– поддержать соответствующую файловую систему,
– установить уникальные типы компилирования, выполнения и отладки;
– подключить к работе иерархию окон.
Базовые операция проекта – это создание нового проекта, импорт компонентов из другого проекта, создание новых компонентов с помощью “Мастера шаблонов”, компиляция, выполнение и отладка группы подключенных к проекту компонентов как единой композиции. Проект является мощным средством разработки, сохранения и корректировки шаблона для поддержки взаимодействия разных типов компонентов для решения одной задачи и для последующего повторного использования.
Для реализации ПИК типа проект JAVA предлагает ряд шаблонов для развертывания компонентов:
- BlankAntProject создает проект, который не содержит в себе ни одного класса или пакета классов, разрешает подключать новые классы и пакеты в схему проекта;
- SampleAntProject разрешает сконфигурировать общую схему проекта с помощью иерархии системы файлов как корневой узел схемы нового проекта. Этот шаблон создает первичный эскиз проекта. Потом предоставляется возможность добавлять компоненты к проекту, делать их пакетирование и просматривать более детально для достройки отдельных компонентов.
- CastomTask. разрешает создать новый проект, начиная с формирования первоначального класса в этом проекте.
Классы –основа ЯП JAVA, порождаются с помощью ключевого слова Extends, после которого указывается тип компонента (например, JApplet). В проектах используются основной класс, с которого начинается выполнение проекта, и вторичный класс. К основному классу относится Class, Main, Empty (пустой класс) и шаблоны типа:
– exception применяется для создания класса, его исключений и соответствующих сообщений об ошибках, которые могут случиться в программе;
– persistence–Capable разрешает отобразить реляционную схему БД и использовать ее для создания БД без подключения к MySQL;
– interface – шаблон, который помогает создать новый JAVA интерфейс и в дальнейшем использовать его любым классом с помощью ключевого слово implements.
При построении классов с помощью шаблонов применяются стандартные классы–оболочки (Boolean, Character, BigInteger, BigDecimal, Class), класс работы из строчными переменными, класс–коллекция (Vector, Stack, Hashtable, Collection, List, Set, Map, Iterator) и класс–утилита (Calendar, работа с массивами, работа со случайными числами).
Формы. Интерфейсы компонентов содержат методы работы с графическими объектами и классы, реализующие эти методы, подключаются к AWT библиотеке классов, каждый из которых описывает отдельный графический компонент, применяемый независимо от других элементов. В AWT существует класс Component, а графический компонент является экземпляром этого класса. При выводе графического элемента на экран он размещается в окне дисплея, как потомок класса Container.
Библиотека AWT содержит формы, каждая из форм представляет собою контейнер для размещения графических элементов интерфейса пользователя, а также систему классов Abstract Window Toolkit для построения абстрактного окна.
Различаются AWT формы и Swing формы. AWT формы построены на базе“тяжелых” интерфейсов (peer–интерфейс), а Swing формы – на базе “легких” интерфейсов. В разных средах AWT компоненты имеют вид, специфический для данной среды, а Swing компоненты выглядят одинаково в разных средах и сохраняют этот вид (“plaf” – Pluggable Look and Feel) за счет того, что они разработаны средствами ЯП JAVA независимо от платформы. Swimg и AWT библиотеки используются самостоятельно.
Все упомянутые окна применяются как контейнеры, к которым можно добавлять более простые графические элементы интерфейса с пользователем (кнопок, полос прокрутки, разных типов меню и т.п.). Интеграция простых компонентов в программный код происходит с помощью панели с изображением всех графических компонентов, изменение которого выполняются автоматически. Необходимые методы обработки форм подключаются к коду с помощью окна Inspector Components.
Аплетпредставляет собою небольшую программу, доступную на Internet сервере, автоматически устанавливается и выполняется WEB браузером или программой просмотра аплета appletviewer пакета JDK (Java developer Kit). Аплети не выполняются JAVA интерпретатором, а работают в консольном режиме. После компиляции аплет подключается к HTML файлу, использующий тег <applet>. Компонент JAVA Applet обеспечивается набором стандартных методов инициализации, запуска, подключения аплета в требуемый WEB контекст для работы с аудиоклипами, с URL адресами, с объектами типа Image и др.
Диалоговая форма создается в виде окна для поддержки диалога с пользователем, имеет механизм открытия и закрытия в зависимости от интерфейса с пользователем, может существовать при условии, если оно принадлежит определенному окну–фрейма. Каждое такое окно может быть модальным (из него невозможно выйти, пока пользователь не выполнит все приписанные ему действия) и немодальное, из которого можно выйти в любой момент времени.
Фреймпредставляет собою окно со строкой заголовка, которое может быть встроено в апелет или существовать само по себе в программе. Чаще всего фрейм используют для того, чтобы сделаться собственником других окон, которые имеют свой порядок открытия и закрытия, но могут существовать только как подокна Frame.
Панель – это область окна (фрейм или диалоговое окно), в которой могут быть собраны разные элементы, открываемые и закрываемые вместе с панелью. Swing формы представляют набор компонентов интерфейса пользователя, подобных функциональности AWT формам, но реализованных на языке JAVA, что дает Swing компонентам быть независимым от платформы компонентов.
Для создания наиболее употребляемых форм в языке JAVA используются шаблоны:
– Application, который создает фрейм, в состав которого входит трехуровневое меню;
– MDI Application служит для создания фрейма, в состав которого входит меню и панель с заведомо определенными в ней элементами;
– OkCancelDialog создает диалоговое окно, которое имеет обязательно две кнопки – Ok и Cancel.