Java від Oracle, Java World, Видавництво «Відкриті системи»

Технологію можна вважати зрілою, якщо її підтримують основні розробники СУБД. Адже виробники систем управління базами даних не просто підтримують Java, але активно використовують її у різних типах своїх продуктів: від інструментів до систем допомоги. Наприклад, компанія Oracle використовує Java як у клієнтських програмах, які можуть працювати на мережевих комп'ютерах, так і на сервері бази даних як збережені процедури. Крім того, Oracle вбудувала Java у сервер додатків і навіть у невелику базу даних – Oracle Lite, яка також може бути завантажена на мережевий комп'ютер. Природно, що Oracle також підтримує Java і створеному нею засобі розробки додатків Valhalla. Таким чином, Java фігурує в наступних продуктах Oracle:

  • набір програм та компонентів на Java, які орієнтовані на мережевий комп'ютер;
  • засіб розробки та налагодження Java додатків - проект Valhalla;
  • два JDBC драйвери для зв'язку з базами даних Oracle;
  • невелика база даних, розрахована на використання у тонких клієнтах, – Oracle Lite 3.0;
  • сервер додатків – Oracle Application Server 4.0.

Передбачається, що з допомогою перелічених продуктів можна побудувати Java повну розподілену обчислювальну систему - від клієнтського ПЗ до сервера баз даних.

Тонкий клієнт

Одна з ключових ланок концепції мережевих комп'ютерів – використання Java як універсального середовища виконання програм. Характерною особливістю мережевих комп'ютерів можна вважати те, що на них можуть працювати лише Java-програми, які дозволяють отримувати доступ до обчислювальних ресурсів комп'ютерних мереж. До речі, термін "мережові обчислення" означає, що всі обчислення виконуються в основному насерверах, а чи не на комп'ютерах клієнтів.

Оскільки сполучною ланкою для мережевих обчислень є Java, то розробникам програмного забезпечення доводиться переносити на цю платформу стандартні технології розподілених обчислень: монітори транзакцій, сервери додатків, механізми віддаленого виконання процедур, підтримку різних мережевих протоколів та багато інших технологій, що є компонентами для побудови розподіленої обчислювальної системи. У системах, що розробляються, допустимо використовувати для доступу до баз даних і додатків JDBC-драйвери, а за допомогою спеціальних майстрів створювати елементи Enterprise JavaBeans. Крім того, і самі сервери мають вбудоване Java-середовище, в якому можна виконувати частини різних Java-додатків.

JDBC-драйвери

Перший крок у забезпеченні підтримки мережевих обчислень для СУБД полягає у розробці JDBC-драйверів до бази даних. У Oracle таких драйверів два: один "повноцінний" - для сервера додатків, а інший, полегшений (thin) - для завантаження на клієнта. Таким чином, у розробників Java-додатків на основі СУБД Oracle є можливість вибрати найбільш підходящу для них архітектуру клієнт-серверної системи - трирівневу (багаторівневу), дворівневу або навіть однорівневу (якщо використовувати Oracle Lite).

Oracle розробила для своїх СУБД інтерфейс віддаленого виклику процедур, який називається Oracle Call Interface (OCI), та протокол зв'язку SQL*Net, що дозволяє використовувати кілька стандартних протоколів мережного рівня (наприклад, TCP/IP, Named Pipes, DECNet) для зв'язку між клієнтськими програмами , проміжний сервер додатків і сервер бази даних. Повноцінний JDBC-драйвер є міст між викликами методів JDBC і OCI і дає можливістькористувачу Java-програми використовувати протокол SQL*Net. Засобами OCI можна організувати підтримку специфічних особливостей СУБД Oracle, наприклад, специфічних типів даних (ROWID, REFCURSOR), а за допомогою SQL*Net неважко досягти ефективної роботи мережі для додатків, що взаємодіють з базою даних. Повноцінний JDBC-драйвер від Oracle підтримує Oracle7 та 8.

Слід зазначити, що міст JDBC/OCI не потребує встановлення на клієнтську машину або сервер додаткових додаткових бібліотек для підтримки OCI, SQL*Net або інших технологій. Однак сам міст JDBC/OCI має занадто великий розмір, щоб його можна було завантажувати по мережі на віддалену машину, наприклад, на мережний комп'ютер. Щоб дати користувачам мережевих комп'ютерів можливість отримати доступ до баз даних Oracle, компанія розробила урізаний варіант JDBC-драйвера, який займає всього 150 Кбайт і може бути завантажений по мережі на тонкий клієнт.

Thin JDBC Driver повністю написаний на Java і може бути завантажений будь-який тонкий клієнт і самостійно встановлювати зв'язок з базою даних Oracle через OCI. Тонкий драйвер працює тільки з протоколом TCP/IP і підтримує Oracle, починаючи з версії 7.2. В результаті за допомогою тонкого JDBC-драйвера можна перетворити будь-який мережевий комп'ютер на повноцінний клієнт бази даних. Таким чином, наявність двох різних JDBC-драйверів дозволяє вибрати потрібний варіант і з його допомогою побудувати свою програму.

Java на сервері

Сучасні технології СУБД орієнтовані використання багаторівневої архітектури клієнт-сервер. Причому як сполучну ланку між клієнтом і сервером додатків, як правило, використовується транспортний протокол HTTP. Тому розробникам програмного забезпечення для побудови складних обчислювальних системдоводиться створювати Web-сервери, які одночасно виконували функції та серверів додатків. Oracle не виняток – вона розробила спеціалізований сервер Oracle Web Application Server.

У Web-сервері додатків виробництва Oracle використано концепцію картриджів, які є модулями розширення сервера додатків. Спільна робота картриджів та зв'язок їх із сервером бази даних забезпечується за допомогою брокерів запитів, що відповідають архітектурі CORBA. Причому картриджі можна писати різними мовами, зокрема і Java. Сервер програм Oracle орієнтований на розробку Java-додатків, відповідає стандарту CORBA 2.0 і дозволяє Java-картриджам взаємодіяти з будь-якими іншими серверами, що підтримують протокол IIOP.

Полегшена версія бази даних Oracle Lite відрізняє невеликий обсяг - від 350 до 700 Кбайт. Ця версія бази встановлюється по мережі на будь-який мережевий комп'ютер і має вбудовані механізми прямого виклику Java своїх компонентів чи доступу до них через JDBC, збереження Java-об'єктів на віддаленому сервері та зв'язку з іншими базами даних Oracle. Крім того, Oracle Lite містить браузер Java-об'єктів, що дозволяє знаходити їх у великому репозитарії. Таким чином, Oracle Lite забезпечує користувачів Java не тільки базою даних, написаною на Java, але й засобом інтеграції її з обчислювальною системою, що вже існує.

"300% Java". Хто більше?

Компанія Oracle оприлюднила свій план підтримки Java у базі даних, серверах додатків та клієнтських інтерфейсах.

Компанія Oracle до кінця року збирається вбудувати віртуальну машину Java (JVM) власної розробки у СУБД Oracle 8.1. Це дозволить виконувати Java-додатки для обробки даних. "Для JVM, виробленої Oracle, буде достатньо35 Кбайт пам'яті у кожного користувача, тоді як іншим віртуальним машинам Java потрібно від 3 до 5 Мбайт", - сказав Марк Джарвіс, віце-президент Oracle із системних продуктів. - Втім, Oracle не збирається окреслити голову кидатися переписувати на Java свою базу даних. - Наш козир – двадцять років досвіду розробок баз даних, і ми зовсім не маємо наміру ризикувати продуктивністю”.

Нещодавно Oracle оголосила про випуск комплекту Java Software Developer's Kit для розробників Java-програм, орієнтованих на бази даних Oracle.

Тим часом, компанія відвела Oracle Cartridges (розширення до БД для роботи зі складними типами даних) іншу роль - тепер вони стануть опціями бази даних Oracle. До таких опцій можуть входити Enterprise Java Beans (EJB).

Крім того, для взаємодії компонентів один з одним у версії Oracle 8.1 буде реалізовано підтримку брокера об'єктних запитів CORBA/IIOP (Internet Inter-ORB Protocol). Сервер додатків Oracle Application Server збагатиться підтримкою CORBA/IIOP, що дозволить розробникам створювати програми обробки транзакцій, які будуть виконуватися і в базі даних, і на сервері додатків. Компанія також працює над функціями, які сформують шар обробки повідомлень з організацією черг, але вони будуть реалізовані у продуктах Oracle пізніше.

Випуск Oracle Application Server 4.0 for the Enterprise намічений на осінь. Спочатку компанія відчувала проблеми з визначенням вартості Application Server. Його продажем займаються одночасно два підрозділи, і жодному їх не вдалося налагодити ефективний збут цього продукту. Однак ці проблеми все ж таки вдалося вирішити і схема ціноутворення була перероблена. Тепер ціна встановлюється не на основі числа центральних процесорів, а в залежностівід кількості робочих місць.

Версії 3.0 та 4.0 продукту Oracle Application Server коштуватимуть по 195 дол. за робоче місце. Application Server 4.0 має підтримувати Enterprise Java Beans (EJB). До кінця року в базі даних з'явиться можливість використання EJB і процедур Java, що зберігаються. Підтримка SQLJ для інтеграції команд Java та SQL вже реалізована.

Чи дійсно Oracle випереджає своїх конкурентів у просуванні Java? За твердженням представників IBM, у базі даних IBM DB/2, на відміну від Oracle, підтримка API-інтерфейсів Java Database Connectivity (JDBC) вже реалізована. Компанія Sybase також планує вбудувати віртуальну машину Java у свою базу даних Adaptive Server Enterprise майже одночасно з Oracle.

Представники Oracle повідомили, що за допомогою інструментальних комплектів Designer/2000 і Developer/2000, які вона виробляє, можна буде створювати клієнтські інтерфейси на базі Java. Наразі Oracle пропонує AppBuilder for Java 1.0 у складі пакету Jdeveloper Suite. З його допомогою розробники можуть створювати серверні рішення, що дозволяють "перенести" логіку додатків із клієнтів на сервери додатків. У комплект AppBuilder for Java входять середовище розробника Borland JBuilder Java та розширення для бази даних Oracle, такі як JSQL (мова запитів до баз даних "з елементами Java"). Oracle також планує переписати свої програми, перетворивши їх на Java-компоненти.

Поділіться матеріалом з колегами та друзями