Oracle Power Objects

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Зміст

Введення. 2

Oracle Power Objects. 4

Аспекти і компоненти програми. 4

Об'єктно-орієнтована розробка. 4

Методи 5

Зовнішній інтерфейс: Набори записів і пов'язані контейнери 7

Розробка в об'єктно-орієнтованої середовищі. 8

Інші питання. 8

Сервер: Розмови та бази даних. 9

Бази даних 9

Бази даних Blaze 11

ORACLE7 Server 1912

Бази даних SQL Server 1913

Об'єкти бази даних 14

Середовище розробки 16

Структура програми 18

Обробка транзакцій 18

Підхід до розробки, що реалізовується в Oracle Power Objects 19

Якщо почати з клієнта 20

Якщо спочатку розробляється зовнішній інтерфейс, слід відповісти на наступні питання: 20

Якщо починати з серверу бази даних 21

Починаючи проектування з сервера бази даних, необхідно відповісти на наступні питання: 22

Як проектувати користувальницькі класи і бібліотеки 23

Висновок 25

Список літератури 26


Введення.

Потужні сучасні системи управління базами даних, такі як ORACLE 7, SQL Server та інші, застосовуються, як правило, для підтримки і обробки великих і дуже великих баз даних, до інформації яких одночасно звертається безліч користувачів. У цих умовах, забезпечення кожного з цих користувачів або групи користувачів якимось засобом (додатком) для доступу до даних локальної або віддаленої бази даних стає дуже складним завданням, що вимагає істотних трудовитрат. Вирішити це завдання можна або шляхом залучення значних сил програмістів і розробників, або застосуванням нових, високопродуктивних технологій розробки. Об'єктно-орієнтоване, візуальне проектування - приклад успішної реалізації другого, інтенсивного підходу.

Oracle Power Objects - високоякісний (що характерно для всіх продуктів Oracle Corporation), оригінальний і надійний інструмент для розробки програмного забезпечення доступу до баз даних. Він об'єднує можливості додатків клієнт / сервер з перевагами об'єктно-орієнтованої моделі розробки.

Для побудови програми розробник повинен мати у своєму розпорядженні деякі конструктивні елементи - об'єкти. У Oracle Power Objects кожен компонент програми, від безпосередньо бази даних (або серверної частини системи) до інтерфейсу клієнта (або зовнішнього інтерфейсу) - це об'єкт, який можна ідентифікувати і керувати ним, використовуючи уніфіковані технології. Усім об'єктам, з якими працює проектувальник, незалежно від типу об'єкта, притаманні стандартні властивості (характеристики, керують поведінкою об'єкта) і, в більшості випадків, методи (програмне опис дій об'єкта) - стандартні або призначені для користувача.

Такий об'єктно-орієнтований підхід до розробки спрощує завдання створення програми і ближче і точно, ніж інші моделі розробки, відображає уявлення проектувальника щодо компонентів програми та їх взаємозв'язку. Зазвичай, при роботі з визначенням об'єкта (форми, звіту, таблиці), розробник замислюється про те, як керувати аспектами цього об'єкта. При цьому всі істотні характеристики об'єкта визначаються значеннями його властивостей.

Об'єкти програми Power Objects можуть бути цілком «відчутними» для користувача, як наприклад, вікна діалогу, командні кнопки, текстові поля і т.д. Об'єкти можуть також являти собою деякі категорії, які не є частиною користувальницького інтерфейсу. Це, наприклад, зв'язку бази даних і сеанси користувача. При побудові програми розробник програмує дії об'єктів або задає реакцію цих об'єктів на деякі події або стану середовища або програми.

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

Oracle Power Objects дозволяє працювати з поширеними мережевими базами даних, такими як SQL Server і ORACLE7. Крім того, на рівні клієнта Oracle Power Objects забезпечує зв'язок з Personal Oracle7, а також Blaze - персональною базою даних, що поставляються з Oracle Power Objects. Blaze повністю сумісна по структурі і даними з ORACLE7.

На додаток до цієї гнучкості при виборі платформи бази даних, Oracle Power Objects ще більше спрощує розробку додатків, автоматизуючи багато аспектів доступу до бази даних за допомогою надзвичайно розвинених функцій drag-and-drop. Наприклад, поклавши мишею опис таблиці на форму, можна автоматично асоціювати форму з цією таблицею, навіть якщо це об'єкт віддаленої бази даних. Ця можливість дозволяє розробнику, замість написання складного програмного коду з'єднання зовнішнього інтерфейсу з сервером бази даних, зосереджуватися безпосередньо на проектуванні програми.

Для користувальницького програмування в Oracle Power Objects використовується Oracle Basic, процедурний мову з підтримкою SQL, сумісний з Visual Basic for Application. Якщо розробник раніше програмував додатки в Microsoft Visual Basic або Microsoft Access - він може швидко і легко перейти до написання коду на Oracle Basic в Power Objects.


Oracle Power Objects.

Аспекти і компоненти програми.

Процедури розробки додатків різних типів ставлять розробника перед низкою складних проблем і виборів. Прийняті при цьому рішення багато в чому визначаються тим, як додаток повинен звертатися до даних - локально, до бази даних на тому ж РС, де розташований виконуваний файл програми, або дистанційно, в системі мережевої бази даних, подібної ORACLE7 або SQL Server. Маючи в своєму розпорядженні інструментарієм Oracle Power Objects допомагає спростити і полегшити розробку програми для середовища клієнт / сервер за рахунок застосування наступних технологій:

  • Об'єктно-орієнтована модель розробки дозволяє використовувати стандартну методологію при роботі з усіма об'єктами - від таблиць і подань на сервері бази даних до форм, текстових полів і растрових об'єктів зовнішнього інтерфейсу.

  • Розвинені механізми drag-and-drop допомагають швидко зв'язати форми і звіти (об'єкти зовнішнього інтерфейсу) з таблицями і уявленнями (об'єктами даних).

  • Автоматизована обробка транзакцій усуває необхідність написання для управління транзакціями великих об'ємів програмного коду, а в ряді випадків дозволяє взагалі обійтися без програмування.

Об'єктно-орієнтована розробка.

У загальній об'єктно-орієнтованої моделі кожен компонент програми надається розробнику як об'єкт. Об'єкт має два різних набору характеристик:

  • Властивості визначають уявлення, поведінка та інші риси об'єкта. Колір фону форми, рядок з'єднання, що використовується для відкриття сеансу бази даних, і вихідна таблиця бази даних для звіту - все це властивості тих чи інших об'єктів.

У період виконання додаток може оцінювати значення, призначене властивості, і, коли потрібно, призначати йому нове значення. Наприклад, при натисканні командної кнопки у вікні діалогу, додаток перевіряє, чи встановлено властивість Enabled цієї кнопки до значення True.Еслі це так, натискання цієї кнопки зумовить певний результат, інакше, натиснути цю кнопку не вдасться. У період виконання, програма може деактивувати командну кнопку, призначаючи властивості Enabled командної кнопки значення False.

  • Методи - процедури, які виконують деяку обробку, пов'язану з об'єктом. Наприклад, якщо натисканням командної кнопки потрібно відкрити форму, необхідно до тіла методу Click () командної кнопки додати відповідний програмний код. Код методу записується мовою програмування Oracle Basic і додається до методу через вікно редагування в аркуші властивостей.

Більшість стандартний методів (тобто, методів, які є частиною умолчательную визначення об'єкта) мають пов'язану з ними умолчательную обробку. Наприклад, метод форми OpenWindow () завантажує форму на пам'ять і виводить її на екран. Якщо стандартний метод має умолчательную обробку, до нього можна додати певний код, який або замінює умолчательную обробку, чи розширює її. Як частина умолчательной обробки, один метод може викликати інший. Це означає, що, якщо умолчательную обробка для одного методу переривається, наступний метод в ланцюжку не буде викликаний.

Розробник може також створювати свої власні користувацькі методи, які потім додаються об'єкту.

Методи

Метод визначає поведінку об'єкта при зверненні до нього або при настанні деякої події. Наприклад, при виклику форми її метод Open Window () завантажує форму на пам'ять і виводить її на екран через інтерфейс програми. У методах розміщується програмний код Oracle Basic, за допомогою якого настроюється робота додатка. Фактично, весь код Oracle Basic инкапсулируется в методах. У цьому розділі описується, як викликати об'єктні методи і як додавати до них код Oracle Dasic.

Методи - це програмні процедури - функції або підпрограми. Вони можуть (але не обов'язково повинні) приймати один або більше параметрів.

Oracle Power Objects включає набір визначених стандартних методів, більшість з яких включають умолчательную обробку, виконувану при виклику методу. До об'єктів можна додавати також користувальницькі методи; користувальницькі методи не мають умолчательной обробки.

Стандартні і нестандартні методи можна настроювати, додаючи код Oracle Basic. Для стандартних методів можна або повністю перевизначати умолчательную обробку, чи вставляти користувальницький код до або після виклику умолчательной обробки.

Метод може бути ініційований одним із двох способів:

  1. Через подію. Подія - дія, яка має місце в інтерфейсі приложени. Події відбуваються, коли користувач виконує в додатку деякі маніпуляції (наприклад, клацання на елементі керування або закриття програми) або у відповідь на системне функціонування.

  2. Викликом методу. Метод можна викликати явно через код Oracle Basic.

Якщо метод - функція, він може повертати значення, яке можна використовувати де-небудь у виразі або в операторі присвоєння. Метод-функція використовується, подібно вбудованої функції Oracle Basic.

Наприклад, метод GetRecordset () - функція. GetRecordset () повертає значення типу даного Object, яке можна присвоювати змінної. Змінну можна потім використовувати скрізь, де потрібно звернення до об'єкта набору записів.

Якщо метод - підпрограма, його ім'я використовується не подібно до функції, в операторі присвоєння або вираженні, а у вигляді команди, тобто, єдиний виклик в рядку. Підпрограми не повертають значення, але, підпрограма може змінювати переданий їй параметр.

У ході виконання, підпрограмі або функції передаються параметри. Ці параметри специфицируются в круглих дужках поряд з ім'ям методу. Параметри функції можуть бути передані по посиланню (умовчання) або за значенням.

При передачі параметра за посиланням, фактично, передається покажчик на область пам'яті, зайнятої змінної, яка використовується для специфицирования параметра, За посиланням можуть бути передані тільки змінні; інші типи виразів автоматично передаються за значенням. Будь-які зміни, проведені в параметрі при виконанні функції, впливають на змінну в зухвалій методі.

З іншого боку, при передачі параметра за значенням, передається тільки «абстрактне» поточне значення, присвоєне параметру, без посилання безпосередньо на сам параметр. У цьому випадку зміни, проведені в параметрі, не мають ніякого ефекту поза підпрограми або функції. Всі висловлювання, що не містять змінних, автоматично передаються за значенням. Змінні також можуть бути передані явно за значенням, якщо в оголошенні функції використовується ключове слово BYVL.

Щоб створити для користувача функцію або підпрограму, необхідно оголосити її і асоціювати її з об'єктом у додатку. Найчастіше функцію або підпрограму додають до форми, класу чи звіту, звідки вона викликається, але фактично, метод можна додавати до будь-якого об'єкту програми.

Щоб налаштувати поведінку методу, до нього додається програмний код. Код методу може бути доданий до будь-якого стандартного або користувача методу Oracle Power Objects.

У будь-якому методі Oracle Power Objects неявно оголошує набір змінних. Змінна оголошується для кожного параметра в оголошенні методу і має тип даного, позначений в оголошенні. Ці змінні можна використовувати в коді, подібно будь-яким іншим значенням. Необхідно відзначити, що присвоювання значень цим змінним має сенс, тільки якщо параметр був переданий за посиланням; параметр, переданий за значенням, також може бути встановлений, але після виконання методу значення параметра зникає.

Для методів-функцій повертається значення функції призначають, присвоївши значення імені функції. Це ім'я, фактично, не є змінною; Це - просто угоду для представлення значення, що повертається.

При введенні в метод програмного коду Oracle Basic автоматично перевизначається будь-яка умолчательную обробка, зазвичай виконується цим методом.

Цю встановлену за замовчуванням обробку можна, однак, виконувати, додаючи до коду методу синтаксис Inheried. Імя_метода.

Умолчательную обробка виконується в точці коду методу, де вона викликана. Отже, їй може передувати або виконуватися після її користувальницький код Oracle Basic. Якщо викликаний стандартний метод вимагає параметрів, то їх необхідно передати у виклику процедури Inherited. Імя_метода.

Умолчательную обробка для методу часто включає виклик в зумовленому порядку низки інших методів, У таких випадках, перш, ніж потік управління повертається в зухвалу процедуру, відразу після оператора Inherited. Імя_метода виконуються ці методи умолчательной обробки.

Будь-який код, який додається до методу, може потребувати коригування. Процедури не завжди відразу реалізують ідею розробника так, як він це припускає при написанні програмного коду.

Налагодження - процес аналізу, коригування та тестування коду, що виконується з метою домогтися необхідного порядку виконання програми і отримання необхідних результатів. Коли виконання стикається з проблемами, відладчик Oracle Power Objects показує, де виникає ця проблема, і дозволяє досліджувати значення і крок за кроком пройти через код, щоб локалізувати її.

Зовнішній інтерфейс: Набори записів і пов'язані контейнери

У клієнтських системах з базою даних можуть взаємодіяти два різних види об'єктів: набори записів і пов'язані контейнери.

Набір записів (об'єкт recordset) - набір рядків, запитаних з таблиці або подання, який зберігається в пам'яті системи клієнта. Зазвичай, для зниження інформаційного навантаження мережі та економії пам'яті клієнта, додаток зберігає тільки підмножини всього набору записів. Коли потрібно вивести на екран такі записи або коли застосування повинне виконати деяку агрегатну операцію, що включає всі записи таблиці або подання, воно робить запит більшої кількості рядків.

Коли користувач або додаток проводить зміни записів, зміни реєструються спочатку в наборі записів, але не в базі даних. У певний момент, додаток передає зміни до бази даних. У ході цієї процедури додаток може встановлювати блокування даних, запобігаючи редагування тієї ж самої записи іншими користувачами; воно може також відстежувати зміни, проведені в записі з моменту початкового запиту.

Набори записів не обов'язково повинні включати всі стовпці з пов'язаних таблиць або уявлень. У більшості випадків, коли набір записів пов'язують з контейнером, він включає тільки ті стовпця, які потрібні для виведення на екран даних у текстових полях, списках і інших елементах управління контейнера.

Більшість наборів записів пов'язують з деяким контейнером, хоча в Oracle Power Objects можна створювати також незв'язані набори записів.

Зв'язаний контейнер - об'єкт інтерфейсу, який виводить на екран дані, отримані з таблиці або подання в результаті запиту SQL. Після виконання запиту значення зі стовпців набору записів відображаються в пов'язаних елементах управління контейнера. У Oracle Power Objects. Пов'язаним контейнером може бути форма, звіт, впроваджена форма, призначений для користувача клас або вікно репітера. Не всі пов'язують контейнери повинні бути пов'язані з джерелом записів: наприклад, багато вікна діалогу - це форми, які не мають пов'язаних таблиць або уявлень. Проте, всі пов'язані контейнери мають асоційовані набори записів, які заповнюються даними запитів бази даних при завантаженні контейнера в пам'ять.

Усередині пов'язаного контейнера розташовуються пов'язані елементи управління, які з'єднані зі стовпцями пов'язаного набору записів. Наприклад, у формі, призначеної для роботи з записами замовників, кілька текстових полів виводять на екран ім'я замовника, адреса, номер телефону та іншу важливу інформацію, Інформація в кожному текстовому полі відбувається з різних шпальт набору записів.

Контейнер - лише одне з багатьох типів об'єктів програми. Визначення об'єктів додатків зберігаються у файлах. РОА і, в кінцевому рахунку, компілюються в виконуваний додаток. Інші об'єкти докладання - елементи управління (наприклад, командні кнопки), статичні об'єкти (наприклад, лінії). OLE-об'єкти, імпортовані растрові малюнки і призначені для користувача класи.

Розробка в об'єктно-орієнтованої середовищі.

На додаток до зміни характеристик окремих об'єктів, необхідно також визначити відносини між об'єктами. Наприклад, при зв'язуванні форми з таблицею визначається відношення між об'єктом докладання і об'єктом бази даних.

Якщо дані, що відбираються з таблиці і представлені у формі, переупорядочіваются, відношення між цими двома об'єктами перевизначається. Для командної кнопки, яка, будучи натиснута, відкриває форму, діє дещо інша залежність: відношення між командної кнопкою і формою визначає код методу, який додається до методу Click () командної кнопки.

Кожен об'єкт має великий інтервал стандартних властивостей і методів. Таким чином, характеристика, яку потрібно отримати, або дія, що потрібно виконати, часто вже міститься у властивості чи методі. При необхідності, однак, можна також додавати нові, призначені для користувача властивості і методи. Нова властивість може бути додано до об'єкта, коли розробник вирішує, що для об'єкта потрібна деяка додаткова характеристика (наприклад, додатковий рівень захисту при відкритті форми). Новий метод додається, коли потрібно визначити нове завдання обробки, не охоплену стандартними методами (наприклад, виконання специфічних бухгалтерських обчислень).

По суті, об'єктно-орієнтована розробка лише швидко фіксує оформилася уявлення розробника щодо програми. Знаючи набір засобів того або іншого інструментального продукту, перед виконанням фактичної розробки програміст малює в своїй уяві, які об'єкти йому потрібні, які характеристики вони повинні мати і як дія, що виконується над одним об'єктом (наприклад, командної кнопкою) вплине на інший (наприклад, форму). Для роботи з майже кожним об'єктом в Oracle Power Objects використовується загальна методологія. Незалежно від того, є об'єкт сеансом бази даних або перемикачем, для управління об'єктом розробник визначає або змінює одне з властивостей або викликає один з методів цього об'єкта.

Інші питання.

Крім викладеного, об'єктно-орієнтоване проектування має три інші важливі риси:

  1. Модульність. В об'єктно-орієнтованої середовищі розробки, об'єкти повинні містити в собі повне визначення їх характеристик. Ніякі визначення щодо методів і властивостей об'єкта не повинні розташовуватися де-небудь поза даного об'єкта. Ця риса робить можливим копіювання об'єкта в інші об'єкти - форми, звіти, призначені для користувача класи, сеанси або програми без втрат будь-яких показників поведінки, подання або інших важливих характеристик.

  2. Ієрархічна структура включення. В об'єктно-орієнтованому додатку деякі класи об'єктів можуть містити інші об'єкти. Наприклад, форма може включати елементи управління, статичні об'єкти і навіть інші контейнери (наприклад вікна репітерів). Об'єктно-орієнтовані інструментальні засоби розробки, дозволяють визначати, які об'єкти будуть містити інші об'єкти, і вибудовувати об'єктну ієрархію зверху (додаток) до низу (наприклад, командна кнопка всередині форми).

  3. Можливість багаторазового використання. При проектуванні об'єктів необхідно, наскільки це можливо, передбачати можливість їх багаторазового використання. У Oracle Power Objects, призначені для користувача класи і растрові об'єкти - найбільш характерні види об'єктів докладання багаторазового використання. Легко копіювати між додатками можна й інші об'єкти, наприклад, форми і звіти. У разі користувальницьких класів, спочатку визначається загальний тип елемента керування, який потім тиражується для будь-якої програми. Екземпляри класу можуть бути точними копіями, але, у разі необхідності, вони можуть включати будь-які модифікації. Можливості тиражування користувальницького класу, практично, нічим не обмежені.

Сервер: Розмови та бази даних.

У Oracle Power Objects об'єкт-сеанс створюється на серверної частини системи програми бази даних. Сеанси забезпечують доступ до об'єктів бази даних (таблиці, подання, послідовності та індекси), так і до даних, збереженим в самих таблицях і уявленнях. У додатку можна використовувати кілька сеансів; фактично, єдина форма, звіт або користувальницький клас можуть звертатися до кількох сеансів.

За допомогою властивостей і методів об'єкта-сеансу можна керувати режимом з'єднання з базою даних (відкрите чи закрите). Встановлюючи параметри логічної структури бази даних, визначеної для сеансу, розробник керує діапазоном об'єктом бази даних, доступних через сеанс. Багато процесори баз даних використовують логічні структури (схеми користувачів) для обмеження доступу до об'єктів бази даних окремим користувачам. Наприклад, логічна структура адміністратора бази даних буде мати доступ до всіх об'єктів бази даних, але рядові користувачі повинні мати можливість редагувати дані тільки тих таблиць і уявлень, які потрібні їм для роботи.

У Oracle Power Objects сеанс представляє собою окреме вікно, у якому символічно показані всі об'єкти бази даних, доступні через цей сеанс. Двічі клацнувши на піктограмі сеансу, можна активувати і деактивувати з'єднання з базою даних Коли з'єднання активно, вікно Database Designer виводить всі об'єкти бази даних, доступні в цьому сеансі. Крім того, при відкритому з'єднанні, під час розробки можна додавати нові об'єкти бази даних і редагувати існуючі.

Бази даних

База даних - система, яка зберігає і організує інформацію. Oracle Power Objecs дозволяє формувати програми, які звертаються до інформації, збереженої в реляційній базі даних, і колекції об'єктів бази даних, включаючи таблиці, уявлення, індекси, послідовності і синоніми. Процесор бази даних координує користувальницький доступ до інформації бази даних.

У Oracle Power Objects користувач взаємодіє з базою даних через сеанс бази даних - об'єкт, який містить інформацію, необхідну для встановлення з'єднання з базою даних. У цій главі описуються об'єкти-сеанси бази даних та загальні методи роботи з ними.

Далі описуються типи баз даних, які підтримує Oracle Power Objects внутрішні (бази даних Blaze) і зовнішні бази даних

Внутрішні бази даних створюються і підтримуються Oracle Power Objects. Бази даних Blaze компактні й ефективні, не вимагають для виконання великої кількості системних ресурсів. Об'єкти бази даних Blaze зберігаються на жорсткому диску в єдиному файлі.

Зовнішні бази даних створюються і підтримуються процесором бази даних поза Oracle Power Objects, наприклад, ORACLE7 Server.

Розглянута версія Oracle Power Objects підтримує такі зовнішні бази даних

ORACLE7 Server. ORACLE7 Server - потужна, високопродуктивна система управління реляційними базами даних Oracle Corp., Яка експлуатується на широкому розмаїтті програмно-апаратних платформ.

Бази даних SQL Server. Надійні і досконалі бази даних SQL Server поставляються компаніями Microsoft та Sybase. Oracle Power Objects забезпечує доступ до баз даних SQL Server через драйвер DBLIB.

Сеанс бази даних - об'єкт, що представляє з'єднання між користувальницьким додатком і базою даних. Сеанс бази даних, забезпечує зв'язок між зовнішнім інтерфейсом і серверною частиною системи бази даних.

Кожен об'єкт-сеанс бази даних зберігається у власному дисковому файлі (в Windows цей файл має розширення POS). Об'єкти-сеанси бази даних представлені піктограмою у вікні Main робочого столу Oracle Power Objects

Об'єкт-сеанс може бути в одному з двох станів: неактивний або активний.

Неактивний сеанс - не з'єднаний в даний момент з базою даних. Через неактивний сеанс не можна вивести на екран об'єкти бази даних.

Активний сеанс - з'єднаний в даний момент з базою даних; він «містить» всі об'єкти бази даних, які можуть бути доступні через з'єднання. Активний стан сеансу відображається піктограмою включеного з'єднувача.

Користувач звертається до об'єкта-сеансу так, як якщо б він містив об'єкти бази даних. Однак, об'єкт-сеанс фактично не містить ніяких об'єктів. Замість цього, він містить інформацію, необхідну для встановлення з'єднання бази даних - наприклад, він може містити ім'я користувача, пароль і мережеву адресу облікового запису в базі даних сервера. Коли додаток запитує інформацію з сеансу бази даних, він автоматично передає відповідний запит базі даних і обробляє результат.

Кожен об'єкт-сеанс бази даних забезпечує доступ до єдиної логічної структурі (схемі) або облікового запису користувача в базі даних. Сеанс забезпечує повний доступ до об'єктів і функцій облікового запису, хоча деякі можливості бази даних доступні лише через код SQL (наприклад, в ORACLE7 Server необхідно писати користувальницький код SQL, щоб створювати або звертатися до об'єкта-знімку). Під час розробки сеанс бази даних містить піктограми, які мають об'єкти бази даних, що належать облікового запису. У вікні сеансу присутні лише найбільш загальні типи об'єктів бази даних (таблиці, уявлення, індекси і послідовності). Сеанс не показує об'єкти бази даних в інших логічних структурах або облікових записах, до яких користувач має доступ.

Об'єкти-сеанси бази даних не залежать від об'єктів програми, Ця незалежність забезпечує гнучкість у конфігуруванні з'єднання додатки з базами даних. Наприклад, кілька додатків можуть використовувати один і той же сеанс бази даних або єдиний додаток може використовувати одночасно багато різних сеансів. Один сеанс бази даних можна також використовувати для з'єднання в різний час з різними базами даних. Наприклад, через сеанс можна в процесі розробки та налагодження програми з'єднуватися з базою даних Blaze, а потім при розгортанні закінченого додатка у виробничому середовищі через той же сеанс підключитися до ORACLE7 Server.

При створенні об'єкта-сеансу бази даних створюється окремий файл на жорсткому диску, який містить інформацію щодо того, як має бути виконано з'єднання з базою даних.

Бази даних Blaze

База даних Blaze - компактна і ефективна реляційна база даних, яка створюється і підтримується Oracle Power Objects. Oracle Power Objects надає всі інструментальні засоби, необхідні для створення і роботи з базами даних Blaze.

Бази даних Blaze підтримують багато з функцій і можливостей великих реляційних баз даних, але вимагають при роботі значно меншої кількості системних ресурсів. Вони можуть містити основні об'єкти бази даних: таблиці, уявлення, індекси, послідовності і синоніми. Як і для більшості реляційних баз даних, звернення до них здійснюється через SQL - мова програмування і реляційних звернень. Мова SQL, підтримуваний Blaze - підмножина мови Oracle7 SQL з декількома додатковими рисами.

Кожна база даних Blaze зберігається як єдиний дисковий файл операційної системи (який в Windows має розширення BLZ). Цей файл містить всі об'єкти користувача і дані, а також інформацію, необхідну для з'єднань і роз'єднань бази даних в додатках-клієнтах. База даних Blaze може мати одночасно лише одне відкрите з'єднання.

На відміну від деяких інших реляційних баз даних, Blaze не має ніяких серверних виділених структур пам'яті або процесів. Вся інформація щодо бази даних, включаючи інформацію з блокуванням даних і управління транзакціями, зберігається у файлі бази даних. Всі необхідні операції періоду виконання (т акі як аналіз операторів SQL і читання або запис даних) виконуються процесором бази даних Blaze, який вбудований в Oracle Power Objects Designer і Oracle Power Objects Rum-time. Коли два різних програми-клієнта з'єднуються з однією базою даних Blaze, кожен клієнт використовує власну копію процесора бази даних.

Бази даних Blaze ідеальні для ситуацій помірного доступу до даних, включаючи наступні застосування:

  • Локальні переглядові таблиці. Якщо додаток звертається до зовнішніх таблиць або уявленням, інформація яких залишається відносно статичною (наприклад, список країн або категорій товарів), продуктивність системи бази даних можна підвищити, зберігаючи копії цих таблиць локально в базі даних Blaze. Часто оновлювані таблиці також можуть бути збережені локально, однак при цьому необхідно організувати синхронізацію вмісту окремих баз даних.

  • Макетування. При розробці програми, яке призначене для роботи з великою корпоративною базою даних, наприклад для тестування можна копіювати визначення об'єктів цієї бази даних у базу даних Blaze. Це може послабити навантаження на расделяемие ресури, підвищити продуктивність розробки програми і дозволить працювати, не з'єднуючись з мережею.

  • Невеликі додатки. Для відносно невеликих обсягів (до 4 GB) даних, база даних Blaze формує компактне, легко кероване сховище даних, яке підтримує доступ одного користувача.

  • Від `клієнтський доступ. Базу даних Blaze можна використовувати для зберігання інформації, разгруженной з великої системи бази даних; цю інформацію користувач може автономно досліджувати й змінювати в некритичному режимі.

  • Бази даних лише для читання. База даних Blaze може підтримувати структури інформації на пристроях тільки для читання, таких як CD-ROM.

Нижче наводяться ситуації доступу до даних, які вимагають додаткових можливостей зовнішньої бази даних:

  • Великі вимоги до обсягу зберігання даних. Бази даних Blaze обмежені максимальним доступним розміром файлу базової операційної системи. Для Windows максимальний розмір файлу - 4GB.

  • Паралельний доступ. Потужні зовнішні бази даних дозволяють ефективно управляти великою кількістю паралельних сеансів.

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

  • Суворі вимоги захисту. Хоча бази даних Blaze підтримують захист з використанням пароля і шифрування даних, вони не можуть забезпечити такий же рівень захисту, як захищена база даних, розміщена в захищеній операційній системі. Зовнішні бази даних також можуть підтримувати такі додаткові можливості захисту і управління, як ревізія, ролі і захищені логічні структури.

  • Доступ з інших платформ та інструментальних засобів. У даний момент до бази даних Blaze можна звернутися тільки Oracle Power Objects. Якщо потрібно використовувати інші інструментальні засоби доступу до бази даних або необхідний доступ до бази даних з операційної системи, не підтримуваної Oracle Power Objects, необхідно використовувати зовнішню базу даних.

ORACLE7 Server

ORACLE7 Server - система управління реляційними базами даних, доступна на великій кількості програмно-апаратних платформ. ORACLE7 Server забезпечує якісні та ефективні рішення по головних функцій бази даних, включаючи:

  • Управління великими базами даних і просторами

  • Необмежена (з боку JRACLE7 Server) кількість паралельних користувачів бази даних

  • Висока продуктивність обробки транзакцій

  • Висока доступність

  • Підтримка промислових стандартів

  • Керована захист

  • Централізовано підтримувана цілісність

  • Підтримка середовища клієнт / сервер (розподілена обробка)

  • Підтримка систем розподілених баз даних

  • Мобільність

  • Працює

  • Стикування

Oracle Power Objects забезпечує повну підтримку функцій і можливостей ORACLE7 Server. Однак, Oracle Power Objects не має інструментальними засобами для створення або управління базою даних ORACLE7 Server.

Як і більшості реляційних баз даних, звернення до ORACLE7 Server здійснюється за допомогою мови SQL. До багатьох функція ORACLE7 Server можна звернутися через Record Manager в Oracle Power Objects, а також за допомогою властивостей, методів і вікон, асоційованих з доступом до бази даних. Інші можливості ORACLE7 Server можна реалізувати, виконуючи через команду EXEC SQL користувальницькі оператори SQL або PL / SQL.

Бази даних SQL Server

База даних SQL Server - багатокористувацька система управління реляційними базами даних, що поставляється фірмами Microsoft та Sybase. Як і ORACLE 7 Server, бази даних SQL Server експлуатуються на широкому діапазоні програмно-апаратних платформ і забезпечують підтримку головних функцій баз даних.

Типова інсталяція SQL Server включає набір системних і користувальницьких баз даних. Системні бази даних включають бази даних «master», «model» і «tempdb». Користувальницькі бази даних створюються і підтримуються, у міру необхідності, системним адміністратором SQL Server.

Oracle Power Objects в даний момент підтримує будь-яку базу даних SQL Server, яка може бути доступна через драйвер DBLIB. Деякі функції баз даних Sybase System 10, включаючи підтримку курсів, через драйвер DBLIB не доступні.

Для таблиць, які будуть використовуватися з Oracle Power Objects, необходмо завжди визначати обмеження Primary Key.Oracle Power Objects використовує значення первинного ключа для ідентифікації окремих рядків в операціях бази даних - наприклад, при оновленні або видалення рядків. Якщо програма використовує таблиці, які не включають Primary Key, воно може поводитися непередбачувано.

Драйвер DBLIB не включає підтримку кількох паралельних курсорів. Отже, в кожний момент часу може бути оброблена лише один результуючий набір запиту - всі результуючі рядка запиту повинні бути повернені перш, ніж може бути виконано другий запит.

Встановлюючи властивість RowFetchMode пов'язаного контейнера, можна управляти порядком відбору результуючих рядків. Коли властивість RowFetchMode встановлено в «Fetch All Immediately», додаток буде поводитися ідентично з базами даних усіх типів. Проте, коли властивість RowFetchMode встановлено в «Fetch as Needed» або «Fetch Count First», з базами даних SQL Server додаток може працювати більш повільно. Це відбувається більш повільно. Це відбувається тому, що все не вибрані (не переглянуті користувачем) рядки запиту повинні бути довибрани з бази даних, перш ніж можна буде вводити інші запити.

Драйвер DBLIB безпосередньо не передбачає підтримку пов'язаних змінних. Щоб емулювати підтримку зв'язаної змінної, Oracle Power Objects автоматично замінює згадки зв'язаної змінної в операторах EXEC SQL літеральнимі значеннями даних.

Бази даних SQL Server не підтримують об'єкти-послідовності. Отже, для генерування унікальних значень таблиць (наприклад, для стовбця Primary Key) необхідно використовувати альтернативну методику.

Об'єкти бази даних

Об'єкти бази даних зберігають і організують інформацію в реляційних базах даних. У Oracle Power Objects об'єкти бази даних представлені піктограмами у вікні сеансу бази даних.

Об'єкти бази даних, на відміну від об'єктів програми, не створюються і не підтримуються безпосередньо Oracle Power Objects. Всі процедури, що стосуються об'єктів бази даних, виконуються процесором бази даних - компонентом бази даних, в якій зберігаються об'єкти. Оскільки процесори реляційних баз даних мають різні можливості, доступні об'єктні типи і функції для різних баз даних різні.

Об'єкти бази даних формують «сервер бази даних» додатка Oracle Power Objects. При розробці програми об'єкти бази даних зв'язуються з об'єктами програми (такими, як форми і звіти). Об'єкти програми забезпечують «вікно» в об'єкти бази даних, надаючи збережену інформацію в корисному форматі. Процес з'єднання об'єктів бази даних з об'єктами програми називається зв'язуванням.

Об'єкти бази даних візуально містяться всередині об'єкта-сеансу. У кожному вікні сеансу представлені об'єкти, що належать єдиному користувачеві бази даних.

У деяких базах даних об'єкти кожного користувача зберігаються в окремій логічній структурі. Логічна структура - іменована колекція об'єктів всередині бази даних. З кожним користувачем бази даних асоційована логічна структура того ж імені. Наприклад, користувач NINA має логічну структуру NINA. Для баз даних, які підтримують логічні структури, кожен об'єкт-сеанс бази даних забезпечує доступ до єдиної логічної структурі користувача.

Вікно сеансу бази даних не обов'язково показує всі об'єкти, доступні користувачеві - в ньому представлені тільки об'єкти, для яких користувач є власником (об'єкти, створені цим користувачем). У вікні сеансу бази даних не показані public синоніми або об'єкти, що належать іншим користувачам для доступу до яких поточний користувач має привілеї.

Нижче наводяться типи об'єктів бази даних, притаманні більшості баз даних, з якими може взаємодіяти Oracle Power Objects:

  1. Таблиці. Об'єкти бази даних, які фактично зберігають дані. Окрема таблиця найчастіше зберігає інформацію по конкретній темі (наприклад, службовці компанії або адреси замовників). Інформація в таблиці організована у рядки та стовпці.

  2. Подання. Налаштовані огляди даних з однієї або більше таблиць. Уявлення - віртуальна таблиця, яка дозволяє пов'язувати і об'єднувати дані з кількох таблиць і уявлень (званих вихідними таблицями). Уявлення, подібно таблиць, організовані у рядки та стовпці, а проте, подання безпосередньо не містять ніяких дані - вони створюються логічно як результат визначення в операторі SQL. Уявлення дозволяють обробляти кілька таблиць і чи уявлень як один об'єкт бази даних.

  3. Індекси. Забезпечують швидкий доступ до окремих рядків у таблиці. Індекси зберігають «покажчики» на кожну рядок у таблиці у форматі, оптимізованому для швидкого сортування і пошуку дані. Будучи створений, індекс автоматично підтримується і використовується базою даних щоразу при зверненні до індексованих стовпцях.

  4. Послідовності. Об'єкти, що генерують ряд цілих чисел, які можуть застосовуватися для призначення унікальних ідентифікаторів рядкам таблиці. Значення послідовності можна використовувати, щоб гарантувати, що стовпець не містить дубльованих значень (наприклад, стовпець первинного ключа). Деякі бази даних, такі какSQL Server, не підтримують послідовності; для цих баз даних необхідні альтернативні методи формування унікальних значень.

  5. Синоніми. Псевдоніми об'єктів бази даних (таблиць, уявлень і послідовностей). Синоніми можуть забезпечувати public доступ до часто використовуваних об'єктів і можуть приховувати розташування і власника об'єкта.

Для роботи з цими базовими об'єктами бази даних Oracle Power Objects забезпечує графічні інтерфейси.

Зовнішні бази даних (такі, як ORACLE7 Server) можуть містити ряд додаткових об'єктів бази даних (такий як кластери, пакети, знімки та ролі) які часто використовуються для забезпечення додаткових рівнів захисту або підвищення ефективності системи бази даних, Щоб звернутися до цих об'єктів з Oracle Power Objects, необхідно виконати команди SQL, використовуючи команду Oracle Basic EXEC SQL або функцію SQLLOOKUP.

Об'єкти бази даних не мають таких властивостей і методів, які є у об'єктів програми, так як вони не створюються за допомогою об'єктних механізмів Oracle Power Objects.У об'єктів бази даних є асоційовані листи властивостей, в які, однак. Не можна додавати власні властивості або методи. Більшість об'єктів бази даних має лише властивість Name, яке передбачене для звернень розробника. Властивість Name може бути змінено через аркуші властивостей під час розробки, і при цьому об'єкт буде перейменований в базі даних, але це властивість не можна змінювати за допомогою Oracle Basic в період виконання.

Над об'єктами бази даних модно виконувати два загальні типи операцій: операції визначення даних і операції маніпулювання даними.

Операції визначення даних маніпулюють структурою об'єкта бази даних. Вони включають створення, видалення і зміна структури об'єктів бази даних. Зазвичай ці операції виконуються проектувальником під час розробки.

Операції маніпулювання даними управляють даними, збереженими в об'єкті або доступними через об'єкт. Вони включають запити, вставку, оновлення та видалення рядків даних. Операції маніпулювання даними застосовуються, головним чином, до таблиць і уявленням, хоча, іноді вони використовуються з іншими об'єктами бази даних, такими як послідовності. Ці операції можуть виконуватися як розробником, так і користувачем в період виконання.

При створенні, видалення або зміну об'єкта бази даних з Oracle Power Objects, специфіковані зміни автоматично перетворюються в оператори SQL, які потім передаються для виконання процесору бази даних. Безпосередньо Oracle Power Objects не виконує ніяких модифікацій об'єктів і їх даних.

Кожен тип операції має асоційований набір команд SQL: операції визначення даних використовують команди Мови Визначення Даних (DDL), в той час як операції маніпулювання даними використовують команди Мови Маніпулювання Даними (DML).

Типи операцій, які користувач може виконувати з об'єктом бази даних, визначаються привілеями, які він має по даному об'єкту. За замовчуванням, власник об'єкта (користувач, який створив об'єкт) має всі привілеї по об'єкту. Для інших користувачів, які бажають звернутися до об'єкта, власник повинен надати відповідні привілей.

Доступні типи об'єктних привілеїв для різних баз даних різні, що відображається у відповідному синтаксисі SQL для подання або скасування привілеїв. Бази даних Blaze не мають об'єктних привілеїв - всі користувачі бази даних Blaze мають привілеї для всіх об'єктів в базі даних.

Надання або скасування привілеїв виконується через оператори SQL. Інформація щодо надання та скасування привілеїв приводиться в документації по конкретній базі даних.

Імена об'єктів бази даних повинні відповідати правилам іменування об'єктів для бази даних, в якій вони збережені. Ці правила різні для різних баз даних.

Середовище розробки

Середовище розробки OPO зовні нагадує стала вже стандартною середу Visual Basic. Верхній рівень ієрархії об'єктів OPO - це об'єкт и File, зображених у вигляді іконок на основному вікні середовища розробки і яких може бути три типи:

Додатки (Application).

Об'єкти Бази Даних (Database session).

Бібліотеки (Library).

Кожна така іконка може бути розкрита в вікно, що містить об'єкти нижнього рівня ієрархії. Копіювання об'єктів між однотипними групами здійснюється простим перенесенням іконок.

При створенні і редагуванні об'єктів з'являється інструментальна лінійка і вікно редагування властивостей і методів.

У процесі розробки можна запускати на виконання як все застосування, так і окремі екрани (форми) і звіти. Велику допомогу при налагодженні може надати відладчик, функціонально аналогічний відладчику в Visual Basic.
Важливо відзначити можливість працювати з об'єктами Бази Даних (таблицями, уявленнями, індексами і т.д.) безпосередньо з середовища розробки OPO.
Разом з тим, уявлення об'єктів у вигляді іконок і розкривних вікон зручно тільки при дуже невеликому їх кількості. Коли число використовуваних об'єктів перевищує кілька десятків, ставати дуже складно орієнтуватися серед них і розбиратися серед безлічі розкритих і заважають один одному вікон. Реалізований у Forms 4.5 Навігатор Об'єктів [3] помітно більш наочний і зручний. Велика кількість іконок у вікні, а число об'єктів (таблиць, уявлень, індексів і послідовностей) в навіть невеликий БД перевищує кілька сотень, в Windows 3.1/3.11 викликає виснаження системних ресурсів і призводить до її краху.

Структура програми

Додаток можна розділити на чотири структурні частини:

Application і RecordSet представляють звернену до користувача частина додатку (Front End), Session і Database є частиною виконується на сервері додатка (Back End). У залежності від завдань, вимог до мережного трафіку і характеристик апаратури необхідно розподіляти логіку роботу програми між цими частинами. Обробку транзакцій і підтримку цілісності даних можна здійснювати у всіх структурних частинах програми.
Основною частиною (і видимої користувачеві) частиною програми є форма або екран (Form). При створення екранів можна застосовувати всі стандартні елементи Windows додатків - поля і мітки, різного роду кнопки, списки і т.д. Екрани можуть містити вкладені екрани.
Зручним є механізм запиту за формою (Query By Form). Для відображуваного в момент екрану можна викликати екран для введення запиту, що представляє собою копію першого екрану, у поля якого можна ввести умови і критерії вибірки. У результаті на першому екрані буде інформація у відповідності з заданими умовами. При цьому екран запиту теж залишається видимим.

Обробка транзакцій

Будь-яка транзакція повинна пройти через кілька рівнів, кожен з яких відіграє свою роль в управлінні обробкою транзакцій.

  1. Контейнери. Контейнер - елемент інтерфейсу, через який користувач ініціює запити та зміни набору записів. Після додавання, видалення або зміни запису користувач перед закриттям контейнера повинен фіксувати чи анулювати транзакцію (зазвичай, натиснувши на кнопку, призначену для цієї мети - частіше за все, це кнопки ОК і Відміна (Cancel)). Крім того, тут визначають встановлюються на рівні клієнта бізнес-правила, що обмежують транзакції, які може ініціювати користувач. Якщо система повинна повідомити користувачеві щодо результатів розпочатої транзакції, інформація з'являється тут же, в інтерфейсі користувача.

  2. Набори записів. Перш, ніж користувач зможе провести зміни в наборі записів, додаток виконує перевірку посилальної та об'єктної цілісності даних. Крім того, додаток регулює обсяг інформаційного навантаження мережі, при необхідності вибірково виконуючи запит рядків бази даних, щоб заповнити набір записів.

  3. Розмови. Після проходження рівнів програми і набору записів транзакція повинна потім пройти через сеанс. Щоб фіксувати або анулювати транзакції, асоційовані з цим сеансом, для об'єкта-сеансу можуть викликатися кілька методів.

  4. Бази даних. У кінцевому рахунку, ініційована користувачем транзакція досягає безпосередньо бази даних, де процесор бази даних перевіряє, завершена чи транзакція. Процесор бази даних може встановити на сервері бізнес-правила, контролюючи, чи не порушує передана транзакція правила захисту, і виконувати інші важливі функції управління транзакціями. Якщо транзакція - запит, процесор бази даних після цього передає необхідну інформацію клієнту.

Отже, при управлінні транзакціями усередині додатку клієнт / сервер Oracle Power Objects надає можливості встановлення бізнес-правил, регулювання інформаційного навантаження мережі і підтримки цілісності даних. Наприклад, окремий бізнес-правило може встановлюватися як обмеження бази даних або як частина програми-клієнта.

Підхід до розробки, що реалізовується в Oracle Power Objects

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

Залежно від виду розробляється і використовуваного інструментарію, розробка починається з сервера бази даних або з зовнішнього інтерфейсу. Засоби розробки Oracle Power Objects дозволяють спочатку розробити інтерфейс користувача, побудувавши форми, звіти та інші компоненти програми-клієнта. Після того, як інтерфейс користувача завершено, при необхідності, можна сформувати під нього об'єкти бази даних і потім з'єднати компоненти інтерфейсу з їх пов'язаними таблицями і уявленнями, Зазвичай, якщо проектувальник працює з додатком, в якому для з'єднання компонентів зовнішнього інтерфейсу з сервером бази даних потрібно значний обсяг програмування, він відкладає написання цих процедур, поки не буде вдоволений інтерфейсом користувача і поки не будуть визначені всі об'єкти бази даних. В іншому випадку, при перевизначенні об'єктів бази даних та компонентів інтерфейсу йому доведеться витрачати багато часу на редагування і переробки коду програми.

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

У реальному житті, розробники часто переключаються між сервером бази даних і зовнішнім інтерфейсом, замість виняткового проектування першого того чи іншого, (Проте, зазвичай, все одно один розділ програми бази даних спочатку отримує акцент, навіть якщо згодом йому не приділяється виняткова увага). Якщо проектувальник має ясну сукупну картину необхідних об'єктів та їх відносин, Oracle Power Objects допомагає істотно спростити цей вид інкрементний розробки.

Якщо почати з клієнта

Зазвичай, з розробки зовнішнього інтерфейсу починають, коли ...

  • Необхідно застосувати в додатку інтерфейсу клієнта будь-які виробничі стандарти, наприклад, для фінансових розрахунків.

  • Необхідно зосередити зусилля на забезпеченні правильного виконання додатком послідовності дій деякого процесу.

  • Використовуються вже наявні об'єкти бази даних, для яких необхідно просто сформувати інтерфейс. Однак, при цьому, все ж таки, необхідно перевірити, чи не потрібні чи у зв'язку з цим у базі даних деякі невеликі модифікації. Наприклад, може бути прийнято рішення про те, що ініціювання окремого бізнес-правила можна перенести з сервера на клієнт, усуваючи тим самим потребу в збереженій процедурі сервера, розробленої для цього завдання.

  • Додаток не призначено для інтенсивного доступу до бази даних, так що можна приділити більше часу інтерфейсу користувача.

У цих випадках Oracle Power Objects дозволяє окремо проектувати і тестувати різні форми та звіти, які складають інтерфейс користувача. Отже, розробка програми, яка починається з зовнішнього інтерфейсу, може виконуватися покроково чи фронтом: розробник може або проектувати компоненти програми послідовно або працювати з декількома компонентами одночасно. На цьому етапі, модифікації об'єктів не становлять проблем і виконуються відносно просто, так як доступ до бази даних ще не повністю реалізований. Після створення форм, звітів, класів та інших об'єктів програми вирішуються питання навігації між ними і додається програмний код, в якому встановлюються бізнес-правила і виконуються завдання обробки даних (обчислення).

Об'єкти інтерфейсу та їх пов'язані таблиці або подання можна також розробляти паралельно, так як таблиці та подання структурно часто дублюють форми та звіти, в яких виводяться їх запису.

Якщо спочатку розробляється зовнішній інтерфейс, слід відповісти на наступні питання:

  • Якими будуть головні форми, які користувач побачить на екрані? Вони будуть, ймовірно першими об'єктами, які повинні бути спроектовані, поряд з їх пов'язаними таблицями або уявленнями.

  • Яка модель послідовності дій буде закладена в програму? Іншими словами, слід ретельно продумати, як легко користувач зможе вводити дані, здійснювати навігацію між формами і виконувати інші операції у програмі. Крім того, необхідно оцінити, як додаток організовує роботу користувача і задає воно розумний темп при вирішенні завдань.

  • Які об'єкти повинні бути визначені поза програми Oracle Power Objects і потім імпортовані? Наприклад, якщо планується додавати растрові образи або інші OLE-об'єкти, можливо, спочатку доведеться розробити деякі з цих ресурсів програми.

  • Де краще і як краще встановити обмеження? Наприклад, якщо потрібно гарантувати, щоб транзакція, введена в додатку реєстрації замовлень, не містила значень, що перевищують певний об'єм, можливо, буде краще встановити це обмеження на клієнті через код Oracle Basic, а не на сервері через тригер. Для цього буде потрібно додати необхідний код Oracle Basic, який буде переривати транзакцію до її фіксації, якщо вона перевищує встановлений обсяг замовлення.

  • Як краще представити документ? У даному випадку, «документ» - окремий об'єкт, такий як замовлення на придбання, який заполгяеься у додатку. Можна помістити кожне поле, яке буде містити дані, які стосуються замовлення, на одній формі. Однак, для зручності читання, можливо, краще буде розбити «мега-форму» на кілька менших форм.

  • Які компоненти інтерфейсу будуть повторюватися в додатку? Якщо є об'єкти, неодноразово з'являються в додатку, ймовірно, їх слід проектувати як для користувача класи, збережені або в додатку або бібліотеці, Примірники користувальницьких класів паперовий додавати до форм і звітів, замість того, щоб багато разів генерувати одні й ті самі об'єкти. Наприклад, якщо проектується для користувача набір засобів управління для перегляду бази даних, слід створити їх як клас, щоб екземпляри одного класу легко могли успадковувати зміни у вихідному класі.

Головний недолік первісної розробки зовнішнього інтерфейсу полягає в тому, що проектування бази даних - зазвичай, одна з найбільш важливих завдань при розробці програмного забезпечення, але в даному випадку до інтерфейсу користувача прикута основна увага розробника. Те, що добре виглядає в екранній формі, може бути важко виразність за допомогою таблиці або подання або навіть декількох пов'язаних таблиць.

Основні функції Oracle Power Objects, які дозволяють почати розробку з зовнішнього інтерфейсу, включають:

  • Інструментальні засоби GUI (графічний користувальницький інтерфейс) для швидкого створення нових об'єктів зовнішнього інтерфейсу.

  • Об'єкти додатків багаторазового використання, створені як користувальницькі класи чи об'єкти бібліотек.

  • Можливість всебічно тестувати окремі компоненти інтерфейсу користувача, такі як головна форма програми, до переходу до створення інших об'єктів програми.

  • Відладчик періоду виконання, який може запитувати властивості, тестувати код методів і виконувати інші важливі перевірки.

Якщо починати з серверу бази даних

При цьому підході, перш, ніж приступити до формування інтерфейсу, проектувальник починає з розробки моделі даних (розробка всіх таблиць і уявлень). Необхідність почати з об'єктів бази даних може бути зумовлена ​​кількома причинами:

  • Додаток буде використовувати велику кількість таблиць і уявлень складної структури. Проектувальники, які працюють з реляційними базами даних, знають, як важливо мати чітке уявлення щодо об'єктів бази даних і їх відносин. Цим надалі запобігають проблеми, викликані скільки-небудь значними коректуваннями цих об'єктів. Якщо в одній з таблиць відносини один-до-багатьох змінюється тип даного для ключового значення, це може зруйнувати відношення між головною і підлеглими таблицями.

  • На сервері буде встановлюватися багато обмежень. У таких випадках, до розробки інтерфейсу користувача можна буде визначити об'єкти бази даних, а також тригери і процедури, які з захищають. Потім вже можна переходити до проектування клієнта, де ці обмеження будуть використовуватися. Прикладом використання обмежень може бути генерування на сервері кодів помилок і передача їх в читабельному вигляді користувачеві.

  • Інтерфейс користувача - лише вікно в базу даних. У випадках, коли поля форми - просте відображення таблиць і уявлень сервера, проектування інтерфейсу можна приділити менше часу.

  • Захист сервера - пріоритетне завдання.

  • Для підвищення продуктивності потрібно спочатку провести на компонентах сервера спеціальні процедури (наприклад, індексування або нормалізацію таблиць).

  • Одні й ті ж таблиці та подання використовуються декількома різними зовнішніми інтерфейсами.

  • Програма використовує складні відносини один-до-багатьох або обчислювані значення. У таких випадках потрібно ретельно спроектувати таблиці та подання, щоб відносини один-до-багатьох могли бути легко представлені у програмі. Крім того, правильно побудована модель даних заощадить час при роботі програми за рахунок зменшення складності рівнянь, що оперують даними.

Якщо проектування починається з сервера, є можливість сформувати ефективну модель даних, яка відображатиме інформацію з реального життя. Об'єктом реальному житті може бути будь-який об'єкт (наприклад, дані службовця, транзакція бухгалтерської книги, позиція інвентарній відомості і т.д.), який потрібно описати в одній або більше таблиць.

Починаючи проектування з сервера бази даних, необхідно відповісти на наступні питання:

  • Які потрібні об'єкти бази даних? Іншими словами, що буде представляти собою модель даних?

  • Як слід оптимізувати структуру даних з точки зору підвищення продуктивності їх обробки?

  • Які таблиці або представлення будуть основними? Майже в кожній моделі даних деякі таблиці більш важливі, ніж інші. Отже, необхідно розглянути дуже ймовірне подія, коли в мережі клієнт / сервер до цієї таблиці спробує звернутися багато користувачів. Крім того, необхідно передбачити заходи захисту важливих даних від руйнівних змін (наприклад, модифікацій ключових значень у відношенні один-до-багатьох), а також від несанкціонованого доступу. Для реалізації цих заходів є широкий діапазон засобів - від визначення користувача логічних структур, що обмежують доступ до об'єктів бази даних, до написання тригерів, які за деяких умов запобігають проведення змін в базі даних.

  • Які бізнес-правила доцільно встановити на сервері? Тут необхідно балансувати між нежелательностью перевантаження сервера роботою з обслуговування кожного бізнес-правила і необхідністю установки на сервері важливих обмежень, які повинні гарантувати цілісність і узгодженість даних додатків всіх клієнтів.

Як проектувати користувальницькі класи і бібліотеки

Перш, ніж приступати до розробки програми, необхідно розглянути можливість неодноразового використання в ході розробки деяких об'єктів або наборів об'єктів. Ось деякі приклади таких об'єктів:

  • Емблема компанії, яка присутня на багатьох формах і звітах.

  • Набір засобів управління, що використовуються для навігації по записах.

  • Набір елементів управління, що використовуються для фільтрування та сортування записів.

  • Група перемикачів, що використовуються для забезпечення стандартного набору опцій в декількох формах

  • Ряд текстових полів, що виводять в декількох формах інформацію замовника, продавця або компанії.

Створюючи ці об'єкти як користувальницькі класи, збережені в додатку або в бібліотеці, розробник отримує такі переваги:

  • Після того, як об'єкти створені, додавання їх до форми може виконуватися простою операцією drag-and-drop.

  • У Oracle Power Objects екземпляри користувальницького класу або об'єкти бібліотеки успадковують властивості і методи визначення вихідного класу. Точно також примірники успадковують зміни, що проводяться в цих визначеннях. Отже, зміна часто використовуваних об'єктів докладання виконується набагато швидше, якщо вони створюються як екземпляри. При цьому, щоб провести зміну по всіх екземплярів, потрібно змінити лише визначення користувальницького класу або об'єкта бібліотеки.

Рішення щодо створення об'єкта докладання багаторазового використання як користувальницького класу приймається за результатами відповіді на питання: цей об'єкт буде використовуватися один раз тільки в цьому додатку, або, можливо, він знадобиться у кількох програмах або кілька разів в одному додатку?

  • Якщо передбачається використовувати об'єкт у кількох програмах, доцільно створити його як об'єкт бібліотеки (чи як об'єкт-бібліотеку). Коли буде потрібно змінити об'єкт, він виділяється у власну бібліотеку, подібну бібліотеці динамічної компонуванні (DLL) в середовищі Windows.

  • Якщо планується використовувати об'єкт тільки в одному додатку, можна створити його як користувальницький клас, При зберіганні користувальницького класу в додатку зменшується кількість підтримуваних об'єктів-файлів.

  • Oracle Power Objects дозволяє створювати як об'єкти бібліотеки для користувача класи і растрові малюнки. Користувальницькі класи - найбільш застосовуваний тип об'єктів бібліотеки, так як вони забезпечують всі функціональні можливості як контейнерів, так і елементів управління.


Висновок

Підсумовуючи вищевикладене:

  • База даних містить об'єкти, призначені для зберігання та організації інформації.

  • Сеанс забезпечує доступ до бази даних, а також до колекції об'єктів бази даних, визначених логічною структурою (схемою) користувача бази даних.

  • Програми зовнішнього інтерфейсу виконують запити бази даних, заповнюючи інформацією набори записів.

Набори записів зазвичай пов'язуються з об'єктами-контейнерами, які безпосередньо надають користувачеві доступ до даних, збереженим в базі даних.

Незважаючи на те, що Oracle Power Objects забезпечує великий набір засобів для розробки будь-яких видів додатків, цей інструмент орієнтований і призначений, в першу чергу, для формування додатків бази даних у середовищі клієнт / сервер. Використовуючи один і той самий зовнішній інтерфейс в системі клієнта, можна вибрати будь-яку систему управління базами даних за критеріями захисту, ефективності, масштабованості та іншим важливих функцій. Крім того, Oracle Power Objects дозволяє встановлювати і підтримувати специфічні вимоги до даних засобами як програми-клієнта, так і сервера бази даних.

OPO - новий продукт на ринку засобів розробки додатків клієнт / сервер. У нього немає за спиною багатої історії розвитку і як чисто інструментальної мови (Visual Basic, Delphi) і як інструменту створення додатків для системи клієнт / сервер (Forms). Першу версію скоріше можна сприймати як заявку на місце на ринку, як демонстрацію нових ідей. Якщо буде поліпшений користувальницький інтерфейс Середовища розробки, введена повна підтримка OLE і особливо OLE Automation, будуть створені драйвери для інших джерел даних, при розробці можна буде використовувати репозитарій програми, то OPO дійсно може стати дуже цікавим продуктом.


Список літератури

  1. Г. Анзер: «Oracle Power Objects», Мосва, АБФ, 1997

  2. www.oraclub.trecom.tomsk.su/articles/mir-ora/program/23.htm

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Реферат
119.5кб. | скачати


Схожі роботи:
Поняття про Component Objects ModelПоняття про Component Objects Model
Power Point 2000
Робота з Power Point 1998
Робота з текстом таблицями і графіками в програмі Power Point
Використання пакету Web - Oracle-Web WOW
Система підготовки презентацій Power Point та її використання в економічній практиці
Робота з windows comander total comander word excel power point
© Усі права захищені
написати до нас