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

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

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

Информация

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

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

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

Сдать работу со 100% гаранией
интерфейсы Java Enterprise (более подробно мы поговорим об этих интерфейсах в одной из следующих статей данного цикла). К ним относятся:

  • JDBC - доступ к базам данных
  • RMI - поддержка распределенных объектов
  • Распределенные объекты и CORBA
  • JNDI - Сервисы имен и каталогов
  • JavaMail - электронная почта
  • Enterprise JavaBeans
  • Сервлеты

Доступ к базам данных

Интерфейс 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 Remote Method Invocation (RMI). Соответствующие програмные интерфейсы реализованы в пакете java.rmi, который впервые появился в Java 1.1 и был расширен в Java 2.

Распределенные объекты и CORBA

Java Remote Method Invocation это решение для создания распределенных систем, которое работает для клиентских и серверных приложений, написанных на языке Java. Но оно не подходит для гетерогенных сред, где клиенты и серверы написаны на различных языках. Для таких сред в платформе Java 2 реализована поддержка CORBA.

CORBA (Common Object Request Broker Architecture) это стандарт, созданный Object Management Group (OMG). Данный стандарт реализован как базовая составляющая платформы Java 2 в пакете org.omg.CORBA и других подпакетах. Реализация включает Object Request Broker (ORB), который Java-приложения могут использовать для общения с другими брокерами и другими CORBA-объектами.

Интерфейсы к удаленным CORBA-объектам являются независимыми от языка и платформы и описываются на языке описания интерфейсов - Interface Description Language (IDL). В состав Java Development Kit входит компилятор IDL, который преобразует интерфейсы, описанные на языке Interface Description Language в специальные Java-классы, необходимые для реализации IDL-интерфейсов на Java или для связи с удаленными реализациями интерфейсов из 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, которые со временем могут стать стандартными расширениями этой платформы. В следующей таблице перечислены наиболее важные расширения, работа над которыми еще ведется.

ИнтерфейсОписаниеAdvanced Imaging APIОбеспечивает высокопроизводительные средства для обработки изображений, включая поддержку работы с изображениями большого размера, фрагментарно хранимыми на дискахJava SpeechОбеспечивает поддержку синтеза речи и распознавание голоса.Java TelephonyПредставляет собой интерфейс для создания компьютерных приложений для работы с телефонией.Project XКодовое название расширений для поддержки языка XMLJava Communications APIПозволяет Java-приложениям использовать последовательные и параллельные порты компьютераJiniНабор пакетов для обеспечения сетевых функций "plug-and-play" для компьютеров, периферийных устройств и различных электронных приспособленийJava Message ServiceПредставляет собой интерфейс для асинхронного обмена сообщениями.Java Transaction Service/Java

Transaction APIЭти программные интерфейсы задают средства управления транзакциями и их обработки. Реализуют стандарты X/Open XA и OMG OTS для управления транзакциямиJava Electronic Commerce FrameworkПредставляет собой набор классов для создания приложений электронной коммерции, используя метафору "бумажника" на клиентском компьютереJava Management APIЗадает набор интерфейсов для централизованного управления динамическими распределенными Java-приложениями и средамиПриложение

Интерфейсы Java 2 API

ПакетОписаниеjava.appletСодержит классы, необходимые для создания апплетов и классы, которыми пользуются апплеты для взаимодействия с контекстомjava.awt

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

<< < 1 2 3 4 >