Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Java: архитектура и интерфейсыСтр 1 из 3Следующая ⇒
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 будет реализована на следующих платформах:
Java 2 в деталях Давайте рассмотрим состав Java 2 более подробно. Я выделил три основных компонента - средства разработки на Java, набор Java-библиотек и базовых классов и Java 2 Runtime Environment. Средства разработки на Java В состав JDK 1.2 входит большое число утилит, которые можно подразделить на несколько категорий: Базовые утилиты RMI-утилиты Средства для локализации приложений Средства для защиты приложений IDL-утилиты Базовые утилиты Утилиты, относящиеся к этой категории, служат основой Java Development Kit. Они используются для компиляции и отладки создаваемых Java-приложений. К базовым утилитам относятся:
RMI-утилиты Утилиты, относящиеся к этой категории, используются для создания приложений, взаимодействующих между собой по Internet или другим типам сетей. К таким утилитам относятся:
IDL-утилиты Утилиты, относящиеся к этой категории, используются при создании приложений, использующих CORBA для доступа к базам данных. К таким утилитам относятся:
Drag and Drop В Java 2 введена поддержка операций Drag and Drop, с помощью которых можно перетаскивать различные объекты. Интерфейс Drag and Drop в JDK 1.2 обеспечивает платформенно-независимую поддержку этих операций для Java-приложений, причем можно осуществлять перетаскивание объектов как между Java-программамиЮ так и между Java-программами и программами, " родными" для конкретной платформы. Интерфейс Drag and Drop реализован в пакете java.awt.dnd и поддерживается классами и интерфейсами других пакетов JFC. Accessibility Для пользователей с различными физическими недостатками в JDK 1.2 введен ряд интерфейсов, облегчающих создание сотоветствующих программных средств. Интерфейс Accessibility в JDK 1.2 реализован в пакете java.awt.accessibility. Апплеты При обзоре платформы Java нельзя не упомянуть апплеты – мини-приложения, загружаемые из сети и выполняемые в Web-браузере. Так как аплеты загружаются из сети, они обычно содержат " непроверенный" код, что накладывает опрделенные требования к проверке их надежности. Апплеты сыграли большую роль в популяризации платформы Java и практически не изменились со времен Java 1.0. В Java 2 появился Swing-класс JApplet и новая, более гибкая модель защиты. Базовый класс Applet и Swing-класс JApplet являются GUI-контейнерами, которые могут содержать другие GUI-компоненты и контейнеры. Но не эти свойства определяют основные характеристики апплетов. Наиболее важными здесь являются возможность работы в сети, динамическая загрузка и выполнение и развитые средства защиты. JavaBeans Компоненты JavaBeans. впервые появились в Java 1.1. В Java 2 реализованы некоторые расширения компонентной модели JavaBeans. Компонент JavaBeans – это Java-объект, интерфейс которого поддерживает некоторые соглашения. Так, компонентами можно управлять из средств разработки, из скриптовых языков и т.п. В некоторых случаях целые приложения могут быть динамически собраны из группы независимых, но взаимодействующих друг с другом компонентов. Компоненты JavaBeans часто, но необязательно, являются GUI-компонентами. Все GUI-компоненты платформы Java следуют соглашениям компонентов JavaBeans и могут использоваться в контексте JavaBeans. Такими компонентами могут быть и простая кнопка, и сложный полнофункциональный текстовый процессор. В Java 2 появилось понятие контекста компонента, - контейнера, который может содержать в себе компоненты и другие контейнеры. Такой контейнер может обеспечивать набор сервисов, например, возможность работы с устройством печати, для всех вложенных компонентов. Фактически, контекст контейнера является расширением модели апплетов – в платформе Java 2 реализована поддержка создания объектов, которые могут выступать и как компоненты, и как апплеты. Java Media Framework Java Media Framework (JMF) – это стандартное расширение платформы Java 2. JMF задает библиотеку классов для работы со звуком и видео. В дополнение к возможностям воспроизведения аудиоданных и отображения видеоданных, закодированных в различных форматах, JMF включает средства для обработки, контроля и синхронизации потоков мультимедийных данных. Java Media Framework может работать как с файлами, хранимыми на локальных дисках, так и упакованными потоковыми данными, передаваемыми в реальном времени по сети. Java Media Framework реализовано полностью на языке Java и может работать на любой платформе, поддерживающей язык Java. В дополнение к этому, существуют платформенно-зависимые расширения в коде для той или иной платформы, с помощью которых можно существенно повысить производительность создаваемых приложений и обеспечить поддержку специфичных для данной платформы форматов данных. В следующих версиях JMF будут реализованы средства записи мультимедийных данных и поддержки конференций. Поддержка звука В первых двух версиях Java (1.0 и 1.1) были лишь рудиментарные функции для поддержки звука – можно было воспроизводить только звук, закодированный в формате AU фирмы Sun. Соответствующие интерфейсы были доступны только для апплетов. Платформа Java 2 содержит новое ядро для воспроизведения звуковых файлов в наиболее популярных форматах, а программные интерфейсы могут использоваться в любом Java-коде, не только в апплетах, как это было раньше. Для поддержки звука в состав Java 2 включен интерфейс Java Sound, обеспечивающий полный контроль над аудиоданными. Доступ к базам данных Интерфейс Java Database Connectivity (JDBC) позволяет Java-программам посылать SQL-запросы и обновлять данные на серверах баз данных, а также обрабатывать полученные с сервера результаты. JDBC также позволяет получать метаинформацию о базе данных и ее таблицах с сервера баз данных. Архитектура JDBC основывается на классе Driver, который " скрывает" все детали общения с конкретным сервером баз данных. Каждый конкретный сервер требует наличия соответствующего класса Driver, с которым взаимодействуют Java-программы. Большинство производителей баз данных поставляют JDBC-драйверы со своими продуктами. Помимо этого, существуют специальные драйверы для взаимодействия с базами через соответствующие ODBC-драйверы. На следующей диаграмме показаны два возможных варианта создания JDBC-приложений - с использованием только JDBC-драйверов и с использованием JDBC/ODBC-драйверов. Интерфейс JDBC реализован в пакете java.sql, который впервые появился в Java 1.1. В платформе Java 2 появился ряд новых классов, реализующих дополнительную функциональность. Также в Java 2 включен пакет javax.sql, позволяющий, например, рассматривать результаты запроса к базам данных как JavaBeans, выполнять пулинг связей с базами и получать информацию о связях с базами через сервисы имен. Интерфейс JDBC является простым и хорошо продуманным. Программисты, знакомые с SQL и основами программного взаимодействия с базами данных, смогут легко воспользоваться функциями JDBC в Java-программах. Сервисы имен и каталогов Интерфейсы Java Naming and Directory Interface (JNDI) представляют собой независимые от протоколов интерфейсы к сетевым сервисам имен и каталогов. Эти интерфейсы реализованы в пакете javax.jndi, который является стандартным расширением платформы Java 2. Интерфейсы JNDI не являются специфичными для каких-то протоколов поддержки сервисов имен и каталогов. Вместо этого они представляют собой базовые интерфейсы, способные работатть с любыми серверами. Для поддержки какого-то конкретного протокола требуется наличие специального провайдера. Для большинства провайдеров таких сервисов - LDAP, DNS или NIS реализованы соответствующие программные средства. Электронная почта Интерфейс JavaMail представляет собой независящий от протоколов интерфейс к сервисам электронной почты. Он поддерживает возможность отсылки и получения электронной почты, а также такие функции, как поиск. Интерфейс JavaMail реализован в пакете javax.mail и подпакетах и является стандартным расширением платформы Java 2. Как и JNDI, JavaMail не связан с каким-то конкретным протоколом для получения и отсылки электронной почты. JavaMail – это набор базовых функций, способных работать с любым протоколом. Реализация конкретного протокола – SMTP, IMAP или POP3 – требует наличия соответствующего провайдера, который входит в комплект поставки. Enterprise JavaBeans Enterprise JavaBeans – это серверный аналог JavaBeans. Enterprise JavaBeans (EJB) представляет собой компонентную модель для реализации бизнес логики и бизнес данных. Программная модель с " тонким" клиентом предполагает вынос бизнес-логики с клиентской части на сервер или промежуточный уровень (middle tier) и позволяет создавать более гибкие корпоративные приложения. Но при этом, реализация бизнес логики связана с необходимостью поддержки кода, который бы обрабатывал транзакции, взаимодействовал бы с сетью и обеспечивал бы средства защиты информации. Модель EJB отделяет бизнес-логику от низкоуровневых функций, позволяя разработчикам не заботиться о том, как в том или ином случае будут реализованы стандартные функции, например, для передачи данных или обработки транзакций. Пакеты javax.ejb и javax.ejb.deployment являются стандартными расширениями платформы Java 2 и содержат классы, необходимые для создания и внедрения EJB. Архитектура EJB также взаимодействует с интерфейсами JNDI и другим стандартным расширением - Java Transaction Services ( JTS). Сервлеты Сервлет – этоJava-код, выполняемый на сервере, и обеспечивающий какие-то сервисы для клиента. Название " сервлет" схоже с названием " апплет" – сервлет является серверным апплетом. Интерфейс Java Servlet предоставляет базовый механизм для расширения функциональности любого сервлета, использующего запросы и ответы на базе любого протокола. В настоящее время сервлеты используются, в основном на Web-серверах. Таким образом сервлеты можно назвать Java-аналогом CGI-программ. Сервлеты вполне конкурентно-спрособны с такими технологиями, как Active Server Pages фирмы Microsoft или Cold Fusion фирмы Allaire. Преимуществом использования сервлетов является то, что они являются независимыми от платформы и сохраняются в памяти после загрузки (в отличие от CGI-программ). Помимо этого сервлеты имеют полный доступ к платформе Java и могут выполнять такие функции, как связь с базами данных. Сервлеты являются стандартным расширением платформы Java 2 и реализованы в пакетах javax.servlet и javax.servlet.http. Пакет javax.servlet задает классы для обработки клиентских запросов и серверных ответов. Пакет javax.servlet.http обеспечивает поддержку протокола HTTP, включая обработку запросов от нескольких клиентов в рамках одной клиентской сессии. Это еще не все Как мы увидели выше, платформа Java 2 предоставляет в распоряжение разработчиков большой набор разнообразных программных интерфейсов, с помощью которых возможно реализовать практически любые приложения. Помимо этого, фирма Sun работает над различными расширениями и дополнениями к платформе Java 2, которые со временем могут стать стандартными расширениями этой платформы. В следующей таблице перечислены наиболее важные расширения, работа над которыми еще ведется.
Приложение Интерфейсы Java 2 API
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 будет реализована на следующих платформах:
Java 2 в деталях Давайте рассмотрим состав Java 2 более подробно. Я выделил три основных компонента - средства разработки на Java, набор Java-библиотек и базовых классов и Java 2 Runtime Environment. Средства разработки на Java В состав JDK 1.2 входит большое число утилит, которые можно подразделить на несколько категорий: Базовые утилиты RMI-утилиты Средства для локализации приложений Средства для защиты приложений IDL-утилиты Базовые утилиты Утилиты, относящиеся к этой категории, служат основой Java Development Kit. Они используются для компиляции и отладки создаваемых Java-приложений. К базовым утилитам относятся:
RMI-утилиты Утилиты, относящиеся к этой категории, используются для создания приложений, взаимодействующих между собой по Internet или другим типам сетей. К таким утилитам относятся:
|
Последнее изменение этой страницы: 2019-10-04; Просмотров: 612; Нарушение авторского права страницы