Java99: Архитектура и интерфейсы

КомпонентОписаниеBoxКонтейнер общего назначения для организации вложенных компонентов используя модель BoxLayout.JappletПодкласс класса Applet содержащий JRootPane для того, чтобы добавить к

Java99: Архитектура и интерфейсы

Информация

Компьютеры, программирование

Другие материалы по предмету

Компьютеры, программирование

Сдать работу со 100% гаранией

Java: архитектура и интерфейсы

Многим наверняка уже известно, что язык Java был разработан фирмой Sun, как платформенно-независимый, переносимый, объектно-ориентированный язык для Internet и Intranet. Я не вижу особого смысла перечислять преимущества языка, его отличия от C++ - это уже описано в десятках книг и сотнях публикаций, как за рубежом, так и в нашей стране. Здесь мы остановимся на том, что представляет собой платформа Java сегодня, из каких компонентов она состоит и какие средства, доступны для разработчиков. Таким образом, по завершении данного цикла вы должны будете получить достаточно четкое представление о том, что предлагает фирма Sun, какими средствами разработки можно пользоваться, какие существуют компоненты и средства для их создания и как с помощью Java можно создавать корпоративные решения.

Технология Java

Технология Java обеспечивает разработчиков основой для создания решений, при разработке которых не нужно задумываться об операционной системе и аппаратной платформе, на которых эти решения будут функционировать. Часто используемое выражение "Написано однажды работает везде" лучшим образом характеризует основное назначение этой технологии. Независимость от платформы достигается за счет того, что уникальные характеристики каждой из поддерживаемых Java 2 платформ, реализованы в виде оболочки, называемой Java Runtime Environment (JRE). Во время создания приложения разработчик пишет код на языке Java так, как если бы в мире была бы всего одна программно/аппаратная платформа. Компилятор языка Java преобразует код в последовательность байт-кодов, которая будет выполняться на одной из платформ в рамках JRE.

Java Runtime Environment содержит специальные средства проверки кода, обеспечивающие надежность и защищенность программ, загрузчик классов, который динамически загружает классы в процессе выполнения и виртуальную машину Java (Java VM), которая выполняет последовательность байт-кодов, взаимодействую с конкретной операционной системой. Такой подходт освобождает разработчика от необходимости обращать внимания на специфику какой-то конкретной операционной системы и позволяет внедрять Java-приложения на более чем одной платформе. Компоненты JavaRuntime Environment показаны на следующей диаграмме.

 

То, что язык Java за короткое время стал одним из самых популярных коммерческих объектно-ориентированных языков программирования, помогает распространению технологии Java и подтверждается тем, что в настоящее время этот язык использует около 1 млн. разработчиков (80% из них создает кросс-платформенные приложения), продукты для Java выпускают сотни фирм, а число копий JDK, загруженных с сайта фирмы Sun, превысило 2.5 млн.

Платформа Java 2

Платформа Java 2 (Java Development Kit 1.2), объявленная фирмой Sun в декабре 1998 года, представляет собой физическую реализацию технологии Java. Собственно говоря, она заключена в небольшом по объему файле и состоит из следующих основных компонентов:

  • Средства разработки на Java редактор, компилятор, отладчик и средство для документации Java API
  • Богатый набор Java-библиотек и базовых классов (foundation classes), которые используются для создания графических интерфейсов, доступа к базам данных, реализации сетевых функций, разработки приложений, работающих с несколькими языками и т.п.
  • Java 2 Runtime Environment средство для динамической загрузки Java-классов, их проверки и выполнения Java-байт-кода.

Архитектура платформы Java 2 показана на следующей диаграмме.

 

Изначально, Sun выпустила Java 2 Runtime Environment для следующих платформ: Solaris, Windows NT Server 4.0 и Windows 95/98. В ближайшие месяцы поставщики других платформ выпустят соответствующие JRE. Таким образом, Java 2 будет реализована на следующих платформах:

AIXDigital UNIXHP-UXIRIXLinuxMac OSNetWareOpenServerOpenVMSOS/2OS/390RISC-OSSolarisWindows 95Windows 98Windows NTWindows NT-Alpha (DEC)UnixWareJava 2 в деталях

Давайте рассмотрим состав Java 2 более подробно. Я выделил три основных компонента - средства разработки на Java, набор Java-библиотек и базовых классов и Java 2 Runtime Environment.

Средства разработки на Java

В состав JDK 1.2 входит большое число утилит, которые можно подразделить на несколько категорий:

  • Базовые утилиты
  • RMI-утилиты
  • Средства для локализации приложений
  • Средства для защиты приложений
  • IDL-утилиты

Базовые утилиты

Утилиты, относящиеся к этой категории, служат основой Java Development Kit. Они используются для компиляции и отладки создаваемых Java-приложений. К базовым утилитам относятся:

javacКомпилятор языка JavajavaЗагрузчик Java-приложений. Используется и в стадии разработки, и в стадии внедрения приложенийjavadocГенератор документации для APIappletviewerУтилита для запуска и отладки приложений без использования web-браузераjarУтилита для управления Java Archive (JAR)-файламиjdbОтладчик Java-приложений.javahГенератор заголовочных файлов и заголушек для языка CjavapДизассемблер Java-классовextcheckУтилита для обнаружения конфликов между JAR-файламиRMI-утилиты

Утилиты, относящиеся к этой категории, используются для создания приложений, взаимодействующих между собой по Internet или другим типам сетей. К таким утилитам относятся:

rmicУтилита для генерации заглушек и скелетов для удаленных объектовrmiregistryУтилита для регистрации удаленных объектовrmidСредство системной активации RMIserialverВозвращает serialVersionUID.для данного классаСредства для локализации приложений

К средствам для локализации приложений относится утилита native2ascii, выполняющая преобразование текста в Unicode Latin-1.

Средства для защиты приложений

Утилиты, относящиеся к этой категории, используются для задания уровней защиты и создания приложений, который работают на удаленных узлах. К таким утилитам относятся:

keytoolСредство для управления сертификатамиjarsignerУтилита для генерации и проверки цифровых подписей в JAR-файлахpolicytoolГрафическое средство для управления файлами доступаIDL-утилиты

Утилиты, относящиеся к этой категории, используются при создании приложений, использующих CORBA для доступа к базам данных. К таким утилитам относятся:

tnameservОбеспечивает доступ к сервисам имен (naming service)IdltojavaСоздает java-файлы для интерфейсов OMG IDL и позволяет приложениям, написанным на языке Java, использовать функциональность CORBAНабор Java-библиотек и базовых классов

Ядром Java 2 является библиотека классов Java Foundation Classes (JFC) версии 1.1, предназначенная для создания графических интерфейсов Java-приложений. В ее состав входят собственно библиотека JFC версии 1.1 (которая была доступна для JDK 1.1 с февраля прошлого года) и следующие интерфейсы:

  • Abstract Windowing Toolkit (AWT)
  • Swing
  • Java 2D
  • Drag and Drop
  • Accessibility

Архитектура Java Foundation Classes показана на следующей диаграмме.

 

Abstract Windowing Toolkit позволяет создавать программы с графическими интерфейсами, независящими от конкретной платформы. Более того, программный интерфейс AWT намного проще и понятнее программных интерфейсов Windows, Motif или OS/2. В JDK 1.2 было добавлено много новых классов и интерфейсов, включая поддержку функций рисования, вывода на принтер, обработки изображений и поддержки Drag and Drop и Java 2D.

Многие из этих новых компонентов можно найти в галерее по адресу: http://java.sun.com/products/jfc/swingdoc-current/comp_gal.html. Также, можно посмотреть программу SwingSet, чтобы увидеть компоненты Swing в действии.

Компоненты Swing являются 100% Java-компонентами. Это означает, что они не зависят от конкретных реализаций интерфейсных элементов на той или иной платформе. Это также означает, что эти компоненты доступны на всех платформах, где есть поддержка Java 2. Компоненты Swing реализованы как расширение AWT, но не используют компонентов AWT. На самом деле, многие традиционные компоненты AWT кнопки, списки, диалоговые панели, были переделаны в компоненты Swing Благодаря этому, компоненты AWT стали более доступными на различных платформах и теперь предоставляют дополнительные возможности, отсутствующие в некоторых графических средах. На следующей диаграмме показано взаимодействие Swing и AWT.

 

Одно из наиболее интересных свойств библиотеки Swing это возможность изменения внешнего вида компонентов и интерфейсов - Pluggable Look and Feel (PL&F). Архитектура PL&F позволяет настраивать внешний вид и поведение как одного компонента, так и группы компонентов. Также в состав Swing входит ряд предопределенных настроек - Metal L&F, Motif L&F, Windows L&F. Существуют настройки по умолчанию для Macintosh и других платформ.

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

КомпонентОписаниеBoxКонтейнер общего назначения для организации вложенных компонентов используя модель BoxLayout.JappletПодкласс класса Applet содержащий JRootPane для того, чтобы добавить к приложению различные интерфейсные элементы типа менюJbuttonКнопка, которая может содержать либо текст, либо графическое изображение, либо и то и другоеJcheckBoxКнопка с независимой фиксациейJcheckBoxMenuItemКнопка с независимой фиксацией для использования в менюJcolorChooserКомпонент для выбора цвета в одной из цветовых схем. Используется совместно с javax.swing.colorchooserJcomboBoxКомбинированый список строка

Похожие работы

1 2 3 4 > >>