Склад системи комплексної автоматизації "Оберон"

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

Інструментальні засоби, призначені для створення та модифікації метаданих та підготовки їх до використання в процесі експлуатації, зібрані в два АРМи: АРМ Технолога и АРМ Адміністратора.

Інструментальні засоби, призначені для інтерпретації метаданих та експлуатації прикладної системи зведені в універсальний АРМ Користувача прикладної системи, що забезпечується при необхідності змінними Підкладками та Блоками розширення бізнес-логіки ("плагінами").

АРМ Технолога

АРМ Технолога, знаний також як "дизайнер сутностей", це набір інструментальних засобів системи, за допомогою яких описуються сутності прикладної системи з їхніми полями, формами, ключами, лукапами та грідами (про значення цих, а також деяких інших термінів - див. розділ "Термінологія"), а також: перерахування, діалоги користувачів, активні звіти, ієрархії сутностей та повноваження користувачів. Для дизайну екранних форм сутностей, діалогів користувача та активних звітів передбачені спеціальні графічні редактори. Реалізовано також деякі сервісні функції для перевірки загального набору бізнес-сутностей прикладної системи на внутрішню несуперечність.

Усі об'єкти, якими маніпулює АРМ Технолога, зберігаються у файлах формату XML, причому кожного разу, коли здійснюється збереження метаданих, в окремій директорії зберігається попередня версія кожного із змінених файлів, а також створюється файл з ім'ям MetaData.nnn, де nnn – послідовний номер версії метаданих, у якому зберігається повний зріз метаданих, зібраних у єдиний файл.

АРМ Технолога надає також можливість порівняння версій метаданих (використовуються попередньо збережені файли з іменами MetaData.nnn), а також можливість побудувати SQL-скрипт для створення бази даних або (з режиму порівняння версія метаданих) для коректного перетворення бази даних, однієї версії метаданих - до виду, що відповідає іншій версії, не обов'язково наступної, не обов'язково з більшим номером версії.

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

АРМ Адміністратора

АРМ Адміністратора, або "дизайнер меню", включає в собі інструментарій для опису системи меню прикладної автоматизованої системи.

Дизайнер побудований за принципом каскаду вікон. Головне вікно АРМа містить список прикладних АРМів створюваної системи. Наступні вікна містять основні меню екранних вікон системи представлені у вигляді "дерева". При цьому у правій частині вікна відображаються параметри вибраного пункту меню, а при подвійному клацанні по елементу "дерева", що відповідає деякому пункту меню, відкривається наступне вікно АРМа Адміністратора, містить меню екранного вікна системи, меню, що відкривається при виборі цього пункту.

В АРМі Адміністратора, так само як і в АРМі Технолога, є окремий редактор словника, який служить для перекладу інтерфейсного блоку прикладної системи однією або кількома мовами. У редакторі словника передбачено режим додавання до словника слів та словосполучень, що з'явилися у прикладних меню системи і ще включених у словник.

АРМ Користувача

Універсальний АРМ Користувача являє собою, за фактом, великий інтерпретатор метаданих, створених за допомогою АРМа Технолога та АРМа Користувача, поєднаний з базою даних та інтерпретатором бізнес-логіки, реалізованою на інтерпретованих ("скриптових") мовах.

АРМ Користувача виконує аутентифікацію користувача засобами СУБД, після чого виконує сценарій діалогу з урахуванням повноважень, делегованих Адміністратором системи.

Структурно АРМ Користувача складається з Ядра, Інтерфейсу, Підкладки, Інтерпретаторів скриптових мов та Плагінів.

Основне ядро системи є власне інтерпретатор метаданих та головний модуль керування. До нього надходять усі запити на виконання системних дій від інших елементів АРМу Користувача, а воно, в свою чергу, майже всі ці запити переадресовує іншим елементам.

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

Інтерпретатори скриптових мов насправді не є складовою частиною АРМу Користувача СКА "Оберон". Як правило, вони поставляються з операційною системою чи її компонентами. Однак, Основне ядро системи взаємодіє з зовнішніми, по відношенню до системи, модулями таким чином, що всередині цих модулів стають доступними об'єкти, надані Основним ядром. Дещо докладніше про це розказано в розділі, адресованому Прикладному програмісту.

Трохи окремо у реалізації стоять Підкладка та Плагіни.

Підкладка

Підкладка призначена для організації взаємодії АРМу Користувача (насправді, Основного ядра) з базою даних. Як правило, скомпонована в динамічну бібліотеку (DLL), що зв'язується з Основним ядром при старті АРМ Користувача.

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

В даний час реалізовані та активно використовуються Підкладки для взаємодії з СУБД MS SQL (2000 – xxx ), Oracle (8i – 10g) та SQLite з 3.2. Реалізовані але не використовуються в промислово експлуатованих системах. взаємодії з СУБД PostGreSQL, а також Підкладка, що працює через IP-канал, для організації роботи у триланковій архітектурі за принципом "товстого" клієнта.

Блок розширення бізнес-логіки (плагін)

Блоки розширення бізнес-логіки (інакше - Плагіни) використовуються там, де з будь-яких причин неможливо або не доцільно використовувати макрозавдання інтерпретованими ("скриптових") мовами.

Усі плагіни, поміщені до спеціально відведеної директорії, завантажуються та ініціюються при старті АРМу Користувача. Їхній перелік можна побачити з екрана, що відкривається під час виконання пункту "Різне" -> "Про програму" головного меню.

До наших планів не входить докладно зупинятися на механізмі плагінів у даному контексті. Лише докладніше про них розказано в розділі "Концепція".

© СКА -=Оберон=-