Реферат по предмету "Информатика"


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

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-приложенияна более чемодной платформе.КомпонентыJavaRuntimeEnvironment показанына следующейдиаграмме.
/>

То, что язык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-байт-кода.
Архитектураплатформы Java2 показана наследующейдиаграмме.
/>
Изначально,Sun выпустилаJava 2 Runtime Environment для следующихплатформ: Solaris,Windows NT Server 4.0 и Windows 95/98. В ближайшиемесяцы поставщикидругих платформвыпустятсоответствующиеJRE. Таким образом,Java 2 будет реализованана следующихплатформах:AIX Digital UNIX HP-UX IRIX Linux Mac OS NetWare OpenServer OpenVMS OS/2 OS/390 RISC-OS Solaris Windows 95 Windows 98 Windows NT Windows NT-Alpha (DEC) UnixWare
Java 2 в деталях
Давайтерассмотримсостав Java 2 болееподробно. Явыделил триосновных компонента- средства разработкина Java, наборJava-библиотеки базовых классови Java 2 Runtime Environment.
Средстваразработкина Java
В состав JDK1.2 входит большоечисло утилит, которые можноподразделитьна несколькокатегорий:
Базовые утилиты
RMI-утилиты
Средства для локализации приложений
Средства для защиты приложений
IDL-утилиты
Базовыеутилиты
Утилиты, относящиесяк этой категории, служат основойJava Development Kit. Они используютсядля компиляциии отладки создаваемыхJava-приложений.К базовым утилитамотносятся:
javac Компилятор языка Java
java Загрузчик Java-приложений. Используется и в стадии разработки, и в стадии внедрения приложений
javadoc Генератор документации для API
appletviewer Утилита для запуска и отладки приложений без использования web-браузера
jar Утилита для управления Java Archive (JAR)-файлами
jdb Отладчик Java-приложений.
javah Генератор заголовочных файлов и заголушек для языка C
javap Дизассемблер Java-классов
extcheck Утилита для обнаружения конфликов между JAR-файлами
RMI-утилиты
Утилиты, относящиесяк этой категории, используютсядля созданияприложений, взаимодействующихмежду собойпо Internet или другимтипам сетей.К таким утилитамотносятся:
 
rmic Утилита для генерации заглушек и скелетов для удаленных объектов
rmiregistry Утилита для регистрации удаленных объектов
rmid Средство системной активации RMI
serialver Возвращает serialVersionUID.для данного класса
Средствадля локализацииприложений
К средствамдля локализацииприложенийотноситсяутилита native2ascii, выполняющаяпреобразованиетекста в Unicode Latin-1.
Средствадля защитыприложений
Утилиты, относящиесяк этой категории, используютсядля заданияуровней защитыи созданияприложений, который работаютна удаленныхузлах. К такимутилитам относятся:
keytool Средство для управления сертификатами
jarsigner Утилита для генерации и проверки цифровых подписей в JAR-файлах
policytool Графическое средство для управления файлами доступа
IDL-утилиты
Утилиты, относящиесяк этой категории, используютсяпри созданииприложений, использующихCORBA для доступак базам данных.К таким утилитамотносятся:
 
tnameserv Обеспечивает доступ к сервисам имен (naming service)
Idltojava Создает java-файлы для интерфейсов OMG IDL и позволяет приложениям, написанным на языке Java, использовать функциональность CORBA
Набор Java-библиотеки базовых классов
Ядром Java 2 являетсябиблиотекаклассов Java FoundationClasses (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.
 Многие изэтих новыхкомпонентовможно найтив галерее поадресу: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.colorchooser 
JcomboBox Комбинированый список – строка ввода и выпадающий список. Пользователь может вводить текст или выбирать элемент из списка.
Jcomponent Корневой элемент иерархии библиотеки компонентов Swing. Добавляет специфические свойства типа подсказок и поддержки двойной буферизации
JdesktopPane
Контейнер для компонентов JInternalFrame имитирующий работу desktop в одном окне. Поддерживает многооконный интерфейс (MDI) 
Jdialog Контейнер для отображения диалоговых панелей
JeditorPane
Текстовый редактор с богатыми возможностяим, управление свойствами которого возможно через объект EditorKit. По умолчанию может отобрать и редактировать текст в формате HTML и RTF
JfileChooser
Компонент для выбора файла или каталога. Поддерживается фильтрация и возможность предварительного просмотра содержимого файла. Используется совместно с javax.swing.filechooser
Jframe Контейнер для окон верхнего уровня
JinternalFrame
Контейнер для вложенных окон. Схож с JFrame и отображает заголовок окна. В то же время не является независимым окном и отображается внутри родительского контейнера. Часто используется вместе с JDesktopPane.
Jlabel Компонент для отображения текста, графического изображения или того и другого
JlayeredPane Контейнер, позволяющий дочерним объектам перекрывать друг друга. Управляет порядком наложения дочерних объектов двуг на друга
Jlist Компонент для отображения списка с возможностью выбора. Элементами списка могут быть строки, графические изображения или другие объекты
Jmenu
Выпадающее меню в JMenuBar или подменю внутри другого меню
JmenuBar Компонент, отображающий набор выпадающих меню.
JmenuItem Один элемент меню
JoptionPane
Компонент, использующийся для отображения простых диалоговых панелей внутри контейнера JDialog. Задает набор статических методов для стандартных диалоговых панелей
Jpanel
Контейнер для группировки компонентов в соответствующем LayoutManager.
JpasswordField Поле ввода данных, в котором вводимый текст не отображается
JpopupMenu
Окно, в котором отображается всплывающее меню. Используется JMenu или для создания отдельных всплывающих меню
JprogressBar Компонент, который показывает процесс выполнения длительной операции
JradioButton Кнопка с зависимой фиксацией
JradioButtonMenuItem Кнопка с зависимой фиксацией для использования в меню
JrootPane
Комплексный контейнер, используемый JApplet, JDialog, JFrame и JInternalFrame. 
JScrollBar Горизонтальная или вертикальная полоса прокрутки
JScrollPane Контейнер, позволяющий дочерним компонентам прокручиваться вертикально или горизонтально. Обеспечивает поддержку фиксированных областей.
Jseparator Компонент для отрисовки горизонтальных и вертикальных разделителей.
Jslider Компонент для наглядного ввода цифровых значений
JSplitPane Контейнер, в котором отображаются два дочерних объекта, размер которых можно изменять
JtabbedPane Контейнер, реализующий панель с закладками
Jtable
Компонент для отображения таблиц с возможностью редактирования их содержимого. Может отображать как строчные данные, так и любой другой тип данных. Обычно используется совместно с javax.swing.table
JtextArea
Компонент для отображения и редактирования многострочного текста. Основан на компоненте JTextComponent.
JtextComponent
Компонент для реализации компонентов для отображения и редактирования текста. Является частью javax.swing.text
JtextField
Компонент для отображения, ввода и редактирования одной строки текста. Основан на компоненте JTextComponent.
JtextPane
Подкласс JEditorPane для отображения и редактирования отформатированного текста, который не является текстом в формате HTML или RTF
JtoggleButton
Родительский компонент для JCheckBox и JRadioButton.
JtoolBar Компонент для отображения панели инструментов
JtoolTip Окно для отображения подсказок или другой пояснительной инфомации
Jtree
Компонент для отображения древрвидной структуры данных. Помимо строчных данных может отображать любые другие. Используется совместно с javax.swing.tree
Jviewport
Контейнер для отображения какой-лиюбо части дочернего объекта. Обычно используется совместно с JScrollPane.
Jwindow Окно, но без заголовка, полос прокрутки и других элементов.
С помощьюJava 2D можноразрабатыватьграфическиеприложения.Этот программныйинтерфейсобеспечиваетподдержкудвумернойграфики, обработкуграфическихизображений, рендеринг, управлениецветами и работус устройствамипечати. ИнтерфейсJava 2D состоит измодели, котораяподдерживаетотрисовкулиний, графическихизображений, преобразованияцветов, составлениеграфики. Модельявляетсяаппаратно-независимой.Интерфейс Java2D реализованв пакетах java.awtи java.awt.image.
Drag and Drop
В Java 2 введенаподдержкаопераций Drag andDrop, с помощьюкоторых можноперетаскиватьразличныеобъекты. ИнтерфейсDrag and Drop в JDK 1.2 обеспечиваетплатформенно-независимуюподдержку этихопераций дляJava-приложений, причем можноосуществлятьперетаскиваниеобъектов какмежду Java-программамиЮтак и междуJava-программамии программами,«родными» дляконкретнойплатформы.Интерфейс Dragand 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) – этостандартноерасширениеплатформы Java2. 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, часть изних являютсяновыми для Java2. Ряд интерфейсовявляется базовымдля платформы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-драйверов.
/>
ИнтерфейсJDBC реализованв пакете java.sql, который впервыепоявился в Java1.1. В платформеJava 2 появился рядновых классов, реализующихдополнительнуюфункциональность.Также в Java 2 включенпакет javax.sql, позволяющий, например, рассматриватьрезультатызапроса к базамданных какJavaBeans, выполнятьпулинг связейс базами и получатьинформациюо связях с базамичерез сервисыимен.
ИнтерфейсJDBC является простыми хорошо продуманным.Программисты, знакомые с SQLи основамипрограммноговзаимодействияс базами данных, смогут легковоспользоватьсяфункциями JDBCв Java-программах.
Поддержкараспределенныхобъектов
Распределенныеобъекты обеспечиваютмощную модельдля созданияобъектно-ориентированныхсетевых приложений, интерес к которымв последниегоды неуклоннорастет. В данноймодели клиентскаячасть должнаиметь возможностьвызывать методыобъектов, расположенныхна удаленныхсерверах так, как если бы этиобъекты располагалисьлокально. Даннаямодель можетбыть реализовананесколькимиспособами.Одним из нихявляется Java RemoteMethod Invocation (RMI). Соответствующиепрограмныеинтерфейсыреализованыв пакете java.rmi, который впервыепоявился в Java1.1 и был расширенв Java 2.
Распределенныеобъекты и CORBA
Java Remote Method Invocation – эторешение длясозданияраспределенныхсистем, котороеработает дляклиентскихи серверныхприложений, написанныхна языке Java. Нооно не подходитдля гетерогенныхсред, где клиентыи серверы написанына различныхязыках. Длятаких сред вплатформе Java2 реализованаподдержкаCORBA.
CORBA (Common Object Request Broker Architecture) –это стандарт, созданныйObject Management Group (OMG). Данныйстандарт реализованкак базоваясоставляющаяплатформы Java2 в пакете org.omg.CORBAи других подпакетах.Реализациявключает ObjectRequest 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, который являетсястандартнымрасширениемплатформы Java2.
ИнтерфейсыJNDI не являютсяспецифичнымидля каких-топротоколовподдержкисервисов имени каталогов.Вместо этогоони представляютсобой базовыеинтерфейсы, способныеработатть слюбыми серверами.Для поддержкикакого-то конкретногопротоколатребуетсяналичие специальногопровайдера.Для большинствапровайдеровтаких сервисов- LDAP, DNS или NIS реализованысоответствующиепрограммныесредства.
Электроннаяпочта
ИнтерфейсJavaMail представляетсобой независящийот протоколовинтерфейс ксервисам электроннойпочты. Он поддерживаетвозможностьотсылки и полученияэлектроннойпочты, а такжетакие функции, как поиск. ИнтерфейсJavaMail реализованв пакете javax.mailи подпакетахи являетсястандартнымрасширениемплатформы Java2.
Как и JNDI, JavaMail несвязан с каким-токонкретнымпротоколомдля полученияи отсылки электроннойпочты. JavaMail – этонабор базовыхфункций, способныхработать слюбым протоколом.Реализацияконкретногопротокола –SMTP, IMAP или POP3 – требуетналичия соответствующегопровайдера, который входитв комплектпоставки.
Enterprise JavaBeans
Enterprise JavaBeans – этосерверныйаналог JavaBeans. EnterpriseJavaBeans (EJB) представляетсобой компонентнуюмодель дляреализациибизнес логикии бизнес данных.Программнаямодель с «тонким»клиентом предполагаетвынос бизнес-логикис клиентскойчасти на серверили промежуточныйуровень (middle tier) ипозволяетсоздавать болеегибкие корпоративныеприложения.Но при этом, реализациябизнес логикисвязана снеобходимостьюподдержки кода, который быобрабатывалтранзакции, взаимодействовалбы с сетью иобеспечивалбы средствазащиты информации.
Модель EJB отделяетбизнес-логикуот низкоуровневыхфункций, позволяяразработчикамне заботитьсяо том, как в томили ином случаебудут реализованыстандартныефункции, например, для передачиданных илиобработкитранзакций.
Пакеты javax.ejbи javax.ejb.deploymentявляются стандартнымирасширениямиплатформы Java2 и содержатклассы, необходимыедля созданияи внедренияEJB. АрхитектураEJB также взаимодействуетс интерфейсамиJNDI и другим стандартнымрасширением- Java Transaction Services ( JTS).
Сервлеты
Сервлет– этоJava-код, выполняемыйна сервере, иобеспечивающийкакие-то сервисыдля клиента.Название «сервлет»схоже с названием«апплет» –сервлет являетсясервернымапплетом. ИнтерфейсJava Servlet предоставляетбазовый механизмдля расширенияфункциональностилюбого сервлета, использующегозапросы и ответына базе любогопротокола.
В настоящеевремя сервлетыиспользуются, в основном наWeb-серверах. Такимобразом сервлетыможно назватьJava-аналогомCGI-программ.Сервлеты вполнеконкурентно-спрособныс такими технологиями, как Active Server Pages фирмыMicrosoft или Cold Fusion фирмыAllaire. Преимуществомиспользованиясервлетовявляется то, что они являютсянезависимымиот платформыи сохраняютсяв памяти послезагрузки (вотличие отCGI-программ). Помимоэтого сервлетыимеют полныйдоступ к платформеJava и могут выполнятьтакие функции, как связь сбазами данных.
Сервлетыявляются стандартнымрасширениемплатформы Java2 и реализованыв пакетах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 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 Содержит все классы для создания пользовательских интерфейсов, отрисовки графики и изобржений
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.
activation Обеспечивает поддержку RMI Object Activation.
java.rmi.dgc Содержит классы и интерфейсы для распределенной сборки «мусора» на основе RMI — Distributed Garbage-Collection (DGC).
java.rmi.
registry Содержит класс и два интерфейса для регистрации RMI
java.rmi.server Содержит классы и интерфейсы для поддержки серверных RMI.
java.security Содержит классы и интерфейсы для защиты (security framework)
java.security.
acl
Реализует классы и интерфейсы, которые в Java 2 реализованы в пакете java.security
java.security.
cert Обеспечивает классы и интерфейсы для обработки сертификатов
java.security.
interfaces Содержит интерфейсы для генерации RSA-ключей и 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.
event Используется для поддержки событий в компонентах Swing
javax.swing.
filechooser
Содержит классы и интерфейсы, используемые компонентом JFileChooser
javax.swing.
plaf Содержит один интерфейс и несколько абстрактных классов, используемых Swing для реализации переключаемых настроек (pluggable look-and-feel)
javax.swing.
plaf.basic Содержит интерфейсные объекты для базовой настройки (Basic look-and-feel)
javax.swing.
plaf.metal Содержит интерфейсные объекты для настройки ``metal''
javax.swing.
plaf.multi Позволяет объединять различные интерфейсные настройки
javax.swing.
table
Содержит классы и интерфейсы, используемые java.awt.swing.JTable
javax.swing.
text Обеспечивает классы и интерфейсы для редактируемых и нередактируемых текстовых компонентов
javax.swing.
text.html
Содержит класс HTMLEditorKit и подклассы для создания HTML-редакторов
javax.swing.text.html.parser Содержит парсер языка HTML
javax.swing.text.rtf
Содержит класс RTFEditorKit для создания 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.
ORBPackage
Поддерживает исключение InvalidName для метода ORB.resolve_initial_references и исключение InconsistentTypeCode,.
org.omg.CORBA.
portable Обеспечивает уровень переносимости – набор интерфейсов ORB, которые делают возможным выполнение кода для одного брокера под управлением другого
org.omg.CORBA.
TypeCodePackage
Поддерживает исключения BadKind и Bounds
org.omg.
CosNaming Реализует сервисы имен для Java IDL.
org.omg.CosNamongContextPackage
Поддерживает исключения для пакета org.omg.CosNaming (AlreadyBound, CannotProceed, InvalidName, NotEmptyи NotFound) и классы Helper и Holder для этих исключений

Содержание.
Java: архитектураи интерфейсы
ТехнологияJava
ПлатформаJava 2
Средстваразработкина Java
Базовые утилиты
RMI-утилиты
Средства для локализации приложений
Средства для защиты приложений
IDL-утилиты
Набор Java-библиотеки базовых классов
Drag and Drop
Accessibility
Апплеты
JavaBeans
Java Media Framework
Поддержказвука
Разработкакорпоративныхприложений
Доступ к базам данных
Поддержка распределенных объектов
Распределенные объекты и CORBA
Сервисы имен и каталогов
Электронная почта
Enterprise JavaBeans
Сервлеты
Приложение
ИнтерфейсыJava 2 API


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.