МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Java99: Архитектура и интерфейсы

    | |любые другие. Используется совместно с |

    | |javax.swing.tree |

    |Jviewport |Контейнер для отображения какой-лиюбо части |

    | |дочернего объекта. Обычно используется совместно с |

    | |JScrollPane. |

    |Jwindow |Окно, но без заголовка, полос прокрутки и других |

    | |элементов. |

    С помощью Java 2D можно разрабатывать графические приложения. Этот

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

    графических изображений, рендеринг, управление цветами и работу с

    устройствами печати. Интерфейс Java 2D состоит из модели, которая

    поддерживает отрисовку линий, графических изображений, преобразования

    цветов, составление графики. Модель является аппаратно-независимой.

    Интерфейс Java 2D реализован в пакетах java.awt и java.awt.image.

    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 2 – это новинки в графических

    интерфейсах и поддержке графических функций. Но наиболее важными, со

    стратегической точки зрения, несомненно, являются программные интерфейсы

    Java Enterprise. Эти интерфейсы позволяют использовать Java для создания

    корпоративных приложений, которые обладают средствами масштабирования,

    могут работать в сетевых средах и обладают поддержкой работы с уже

    существующими приложениями.

    Некоторые из этих интерфейсов существовали в Java 1.1, часть из них

    являются новыми для Java 2. Ряд интерфейсов является базовым для платформы

    Java 2, остальные – это дополнения и расширения. Тем не менее именно

    платформа Java 2.является первой, где полностью реализованы интерфейсы Java

    Enterprise, и которая служит в качестве основы для создания корпоративных

    приложений.

    Ниже мы кратко рассмотрим основные интерфейсы 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-драйверов.

    [pic]

    Интерфейс 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 |Кодовое название расширений для поддержки языка XML |

    |Java |Позволяет Java-приложениям использовать |

    |Communications |последовательные и параллельные порты компьютера |

    |API | |

    |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 |Содержит все классы для создания пользовательских |

    | |интерфейсов, отрисовки графики и изобржений |

    |java.awt.color |Содержит классы для уветовых схем |

    |java.awt. |Предоставляет интерфейсы и классы для передачи данных |

    |datatransfer |между приложениями или внутри одного приложения |

    |java.awt.dnd |Обеспечивает интерфейсы и классы для поддержки |

    | |операций Drag-and-Drop |

    |java.awt.event |Содержит интерфейсы и классы для обработки различных |

    | |событий, возникающих в AWT-компонентах |

    |java.awt.font |Содержит классы и шрифты для работы со шрифтами |

    |java.awt.geom |Предоставляет класы Java 2D для выполнения операций |

    | |над объектами, реализующими 2-мерную геометрию |

    |java.awt.im |Содержит классы и интерфейсы для реализации ввода |

    | |(input method framework) |

    |java.awt.image |Реализует классы для создания и модификации |

    | |графических изображений |

    |java.awt.image. |Содержит классы и интерфейсы для обработки графических|

    |renderable |изображений |

    |java.awt.print |Предоставляет классы и интерфейсы для поддержки работы|

    | |с принтером |

    |java.beans |Содержит классы, относящиеся к разработке Java Beans |

    |java.beans. |Реализует классы и интерфейсы для реализации контекста|

    |beancontext |Java Beans |

    |java.io |Содержит средства для работы с вводом и выводом через |

    | |потоки данных, сериализацию и файловую систему |

    |java.lang |Обеспечивает классы, реализующие основу языка Java |

    |java.lang.ref |Содержит ссылочные классы, поддерживающие связь со |

    | |сборщиком "мусора" |

    |java.lang. |Содержит классы и интерфейсы для получения информации |

    |reflect |о классах и объектах |

    |java.math |Обеспечивает классы для выполнения арифметических |

    | |действий |

    |java.net |Содержит классы для выполнения сетевых функций |

    |java.rmi |Представляет собой RMI-методы |

    |java.rmi. |Обеспечивает поддержку RMI Object Activation. |

    |activation | |

    |java.rmi.dgc |Содержит классы и интерфейсы для распределенной сборки|

    | |"мусора" на основе RMI - Distributed |

    | |Garbage-Collection (DGC). |

    |java.rmi. |Содержит класс и два интерфейса для регистрации RMI |

    |registry | |

    |java.rmi.server |Содержит классы и интерфейсы для поддержки серверных |

    | |RMI. |

    |java.security |Содержит классы и интерфейсы для защиты (security |

    | |framework) |

    |java.security. |Реализует классы и интерфейсы, которые в Java 2 |

    |acl |реализованы в пакете java.security |

    |java.security. |Обеспечивает классы и интерфейсы для обработки |

    |cert |сертификатов |

    |java.security. |Содержит интерфейсы для генерации RSA-ключей и |

    |interfaces |DSA-ключей в соответствии со стандартами |

    |java.security. |Обеспечивает интерфейсы для различных спецификаций |

    |spec |защиты |

    |java.sql |Интерфейс к JDBC |

    |java.text |Предоставляет классы и интерфейсы для обработки |

    | |текста, дат, чисел и сообщений, независимо от языка |

    |java.util |Содержит интерфейсы для работы с коллекциями |

    | |(collections framework), событийную модель, функции |

    | |для даты и времени, функции локализации и различные |

    | |дополнительные классы |

    |java.util.jar |Обеспечивает классы для чтения и записи файлов в |

    | |формате JAR (Java ARchive), который основывается на |

    | |стандарте ZIP с необязательными дополнениями |

    |java.util.zip |Содержит классы для чтения и записи файлов в формате |

    | |ZIP и GZIP |

    |javax. |Реализует функции Accessibility |

    |accessibility | |

    |javax.swing |Предоставляет набор легковесных компонентов для |

    | |реализации пользовательских интерфейсов |

    |javax.swing. |Содержит классы и интерфейсы для отрисовки специальных|

    |border |рамок вокруг компонентов Swing. |

    |javax.swing. |Содержит классы и интерфейсы, используемые компонентом|

    |colorchooser |JColorChooser |

    |javax.swing. |Используется для поддержки событий в компонентах Swing|

    |event | |

    |javax.swing. |Содержит классы и интерфейсы, используемые компонентом|

    |filechooser |JFileChooser |

    |javax.swing. |Содержит один интерфейс и несколько абстрактных |

    |plaf |классов, используемых Swing для реализации |

    | |переключаемых настроек (pluggable look-and-feel) |

    |javax.swing. |Содержит интерфейсные объекты для базовой настройки |

    |plaf.basic |(Basic look-and-feel) |

    |javax.swing. |Содержит интерфейсные объекты для настройки ``metal'' |

    |plaf.metal | |

    |javax.swing. |Позволяет объединять различные интерфейсные настройки |

    |plaf.multi | |

    |javax.swing. |Содержит классы и интерфейсы, используемые |

    |table |java.awt.swing.JTable |

    |javax.swing. |Обеспечивает классы и интерфейсы для редактируемых и |

    |text |нередактируемых текстовых компонентов |

    |javax.swing. |Содержит класс HTMLEditorKit и подклассы для создания |

    |text.html |HTML-редакторов |

    |javax.swing.text.h|Содержит парсер языка HTML |

    |tml.parser | |

    |javax.swing.text.r|Содержит класс RTFEditorKit для создания |

    |tf |RTF-редакторов |

    |javax.swing.tree |Содержит классы и интерфейсы для java.awt.swing.JTree |

    |javax.swing.undo |Обеспечивает поддержку отмены/повтора операций в |

    | |приложениях. |

    |org.omg.CORBA |Реализует интерфейсы OMG CORBA на языке Java, включая |

    | |класс ORB, который может использоваться как |

    | |полнофункциональный брокер - Object Request Broker |

    | |(ORB). |

    |org.omg.CORBA. |Поддерживает исключительные ситуации, используемые |

    |DynAnyPackage |интерфейсом DynAny (InvalidValue, Invalid, InvalidSeq,|

    | |и TypeMismatch). |

    |org.omg.CORBA. |Поддерживает исключение InvalidName для метода |

    |ORBPackage |ORB.resolve_initial_references и исключение |

    | |InconsistentTypeCode,. |

    |org.omg.CORBA. |Обеспечивает уровень переносимости – набор интерфейсов|

    |portable |ORB, которые делают возможным выполнение кода для |

    | |одного брокера под управлением другого |

    |org.omg.CORBA. |Поддерживает исключения BadKind и Bounds |

    |TypeCodePackage | |

    |org.omg. |Реализует сервисы имен для Java IDL. |

    |CosNaming | |

    |org.omg.CosNamongC|Поддерживает исключения для пакета org.omg.CosNaming |

    |ontextPackage |(AlreadyBound, CannotProceed, InvalidName, NotEmpty и |

    | |NotFound) и классы Helper и Holder для этих исключений|

    Страницы: 1, 2


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.