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

     

     

     

     

     

         
     
    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 -програми на більш ніж одній платформі. Компоненти 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 | UnixWare |
    | | (DEC) | |


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

    Інтерфейс 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 для цих виключень |


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

     

     

     

     

     

     

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