Опубликован: 24.09.2008 | Уровень: специалист | Доступ: платный | ВУЗ: Московский физико-технический институт
Лекция 13:

Средства программной инженерии

12.2.2. Интеграция разных типов компонентов в JAVA

Интерфейс - видимая часть спецификации компонента, предназначенной для интеграции компонента в среде, как элемента повторного использования. Описание интерфейса задается в виде пары - имя параметра и значение параметра, которые могут изменяться автоматически без вмешательства в код компонента. Это описание реализует инструмент Inspector Components. Он позволяет изменять необходимые параметры интерфейса с помощью визуальной таблицы и содержать неизменную часть представленных параметров, которая может быть включена в инвариант спецификации. К нему относятся параметры: тип компонента, имя компонента, входные, выходные данные, типы атрибутов и параметров методов компонента.

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

К основным типам компонентов в языке JAVA относятся: проекты, формы (AWT компоненты), beans компоненты, CORВA компоненты, RMI компоненты, стандартные классы-оболочки, базы данных, JSP-компоненты, сервлеты, XML-документы, DTD документы, файлы разных типов и их групп [12.3-12.6]. Рассмотрим их более подробно.

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

Для селекции и подключения нового компонента избранного типа используется механизм NFTW в JAVA. Для интегрирования нового компонента в определенном пакете набор параметров варьируется в зависимости от типа компонента.

Проекты - средство композиции компонентов. Создание нового проекта состоит в определении конфигурации системы с помощью компонентов JAVA и обеспечении их взаимодействия следующими шагами:

  • компилирование разных файлов с разными JAVA-компонентами;
  • установка основного компонента (класса) в проекте, который задает шаблон кооперации других его компонентов;
  • определение конфигурацию для каждого отдельного проекта;
  • поддержка соответствующей файловой системы,
  • установка уникальных типов компилирования, выполнения и отладки;
  • подключение иерархии окон к работе.

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

Для реализации ПИК типа проект система JAVA предлагает ряд шаблонов развертывания компонентов:

  • BlankAntProject создает проект, который не содержит в себе ни одного класса или пакета классов, разрешает подключать новые классы и пакеты в схему проекта;
  • SampleAntProject разрешает сконфигурировать общую схему проекта с помощью иерархии системы файлов как корневой узел схемы нового проекта. Затем в проект добавляются новые компоненты, они пакетируются и делается их детальный просмотр;
  • CustomTask позволяет создать новый проект, начиная с формирования первоначального класса в этом проекте.

Классы - основа 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 независимо от платформы. Swing и 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.
Александр Медов
Александр Медов

Здравствуйте,при покупке печатной формы сертификата,будут ли выданы обе печатные сторны?

Александр Медов
Александр Медов

Здравствуйте, прошел курс МБА Управление ИТ-проектами и направил документы на получение диплома почтой. Подскажите, сроки получения оного в бумажной форме?

:

Иван Одоевский
Иван Одоевский
Россия, Москва
Давид Белозеров
Давид Белозеров
Россия