ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Архітектура і інтерфейси Java
         

     

    Інформатика, програмування
    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 буде реалізована на наступних платформах:

    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

    До складу JDK 1.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 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.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 складається з моделі, яка підтримує отрисовку ліній, графічних зображень, перетворення кольорів, складання графіки. Модель є апаратно-незалежною. Інтерфейс Java 2D реалізований у пакетах java.awt і java.awt.8314_.

    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-драйверів.

    Інтерфейс 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 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.8314_

    Реалізує класи для створення і модифікації графічних зображень

    java.awt.8314_.

    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 для цих виключень

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status