Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
L_2_+.doc
Скачиваний:
1
Добавлен:
21.11.2019
Размер:
202.75 Кб
Скачать

Вбудована Java

Однією з мов, що придатні для управління базами даних, є мова Java. Це продукт, пропонуючий в доповнення до мови SQL стандарт мови програмування, тобто те, що потрібно галузі серверів баз даних.

Як код ядра Java (класи Java), так і компілятор (Java Virtual Machine, JVM) присутні майже на всіх комп’ютерах, які підключаються до Internet за допомогою броузерів Netscape Navigator i MS Internet Explorer. Переваги такого розподілення в тому, що програми Java, написані для середовища броузера, дуже невеликі, і цей код буде працювати скрізь, де працює броузер.

Багато з напрямків використання Java в управлінні базами даних визначається можливостями моделі розподілення Java – невеликими портативними реалізаціями, придатними для роботи з Internet. Це – одна з причин, чому багато ранніх продуктів націлено на системний ринок вбудовуємих продуктів. Такі продукти мають невеликий розмір, їм потрібно не більше 2 Мб RAM, і в якості фонових серверів баз даних вони легко вбудовуються в інші програмні продукти.

Більшість великих розробників реляційних СУБД, такі, як Oracle, SyBase, IBM, Informix, пропонують різні варіанти використання Java в серверах баз даних. Така прихильність до Java зазвичай суміщується з іншими засобами роботи з Web.

Співіснування Java-підходу і світу баз даних не можна назвати безхмарним. Загальним рішенням існуючої проблеми є розбиття її на чотири області: підтримка JDBC, використання Java в тригерах і збережених процедурах, збереження об’єктів Java і, в деяких випадках, написання серверів баз даних на Java (W3apps Inc. випустила Jeevan – об‘єктно-орієнтовану СУБД, написану на Java).

Дані JDBC. Перше, з чим доводиться мати справу більшості систем реляційних баз даних, коли починають працювати з Java, – це JDBC. Як і стандарт ODBC, за зразком якого створений JDBC, останній являє собою API (Application Programming Interface) i містить набор драйверів для певних баз даних. Він може з’єднуватися з чим завгодно, що розуміє команди SQL і навіть з файлами типу ASCII. Перевагами JDBC при програмуванні в Java є те, що можна модифікувати і розширювати класи доступу до даних в залежності від потреб додатку. Зараз, якщо кажуть, що продукт підтримує Java, це означає, що, як мінімум, є підтримка JDBC.

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

Проблема стійкості об’єктів. Однією з проблем, з якою доводиться мати справу Java, особливо в середовищі Web, є збреженість статусу об’єкта. В той час, як класи Java предсатвляють об’єкт посттійними фрагментами кода, самі об’єкти – як поточний стан і методи – зникають, як тільки програма завершує роботу, що досить незручно для тих, хто працює в Web або для розробників, які щоденно працюють з об’єктами. Ця проблема вирішується збереженням в базі даних об’єтів Java разом з інформацією про їх статус, що дозволяє швидко відтворити їх робоче оточення.

Такий тип зберігання об’єктів називається репозиторій об’єкта (objecr repository), він стає стандартом для об’єктно-реляційних і об’єктно-орієнтованих СУБД. Можливість зберігання об’єктів разом з метаданими, що до них відносяться, є ідеальною для систем, впроваджених в брокери об’єктів, середовищ розробки додатків та іншого програмного забезпечення, зберігаючого об’єкти Java.

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

Незважаючи на те, що DB2 Universal Database не переписаний в Java, IBM першою серед велких поставників СУБД використала Java в своєму основному продукті. Universal Database – це об’єктно-реляційна СУБД, яку компанія вставила в свій продукт. IBM реалізувала це, застосувавши підтримку змішаних типів даних, що було необхідно для використання можливостей Web i Java.

Для забезпечення динамічних SQL-запитів, DB2 Universal Database підтримує JDBC АРІ. Крім того, не зважаючи на те, що тригери Java включені не були, підтримуються збережені процедури і функції користувача, написані на Java. Додаток Java може підключатися до DB2 за допомогою Client Aplication Enable, працюючого з боку клієнта. DB2 підтримує Java-аплети без необхідності використання Enable.

Серед нових можливостей, пов’язаних з підтримкою Java продукцією Oracle (наприклад, Oracle Lite 3.0, Oracle 9i), можна виділити підтримку JDBC, можливість створення тригерів і збережених процедур в Java, можливість використання класів доступу Java (Java Access Classes) для зберігання Java-об’єктів і управління даними за допомогою додатка броузера, підтримуючого Java. На відміну від Oracle PL/SQL, збережені процедури і тригери не програмуються в середовищі баз даних. Вони можуть програмуватися в будь-якому обраному засобі.

Для доступу до метаданих використовується набір класів Java. Ці Java-класи доступу надають прямий шлях до даних – немає необхідності перетворювати об’єктні дані до реляційних, що зберігає час програміста. Класи доступу мають й інші складні механізми, включаючи запит і створеня схеми даних, управління персистентними об’єктами (persistent objects), звертання до збережених процедур Java, розширення властивостей ACID для здійсненне транзакцій, і генерація класа заступників Java (використовуються для організації прямого інтерфейса с класасми Java).

Ціллю SyBase є забезпечення розробника мовою, яка може використовуватися на всіх рівнях. Adaptive Server Anywhere став першим продуктом, використовуючим “загальний процесор мови”, транслюючий Java i SQL Transact в збережену процедуру на машинній мові. Існує можливість зберігати об’єкти Java в стовпчиках реляційної бази даних Adaptive Server Anywhere. Кожний стовпчик представляє собою тип даних з таким же ім’ям, як і у збереженого класа Java.

Компанія Informix використовує Java в своєму флагмантському продукті Dynamic Server. Останній розширений і працює як контеинер, що містить Enterprise JavaBeans, які можуть з цього контейнера викликатися. Він підтримує Virtual Machine, отже розробники можуть писати модулі DataBlade на Java. Informix Dynamic Server підтримує інтерфейс Java Virtual Table, це дозволяє отримувати доступ до додаткових об’єктів або компонентів Java, а також він враховує галузеві стандарти Java – JDBC i JSQL.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]