Оберон |
|
Состав системы комплексной автоматизации "Оберон"В соответствии с концепцией построения прикладных автоматизированных систем на базе Системы комплексной автоматизации "Оберон", разработка и эксплуатация прикладной системы происходят во многом в одно и то же время. При этом, по сути, процесс разработки заключается в создании и модификации метаданных прикладной системы, а процесс эксплуатации - в интерпретации метаданных и модификации в соответствии с ними данных, хранимых в базе данных узлов системы. Инструментальные средства, предназначенные для создания и модификации метаданных и подготовке их к использованию в процессе эксплуатации, собраны в два АРМа: АРМ Технолога и АРМ Администратора. Инструментальные средства, предназначенные для интерпретации метаданных и эксплуатации прикладной системы сведены в универсальный АРМ Пользователя прикладной системы, снабжаемый при необходимости сменными Подложками и Блоками расширения бизнес-логики ("плагинами"). АРМ ТехнологаВ АРМ Технолога, называемый также "дизайнером сущностей", собран набор инструментальных средств системы, при помощи которых описываются сущности прикладной системы с их полями, формами, ключами, лукапами и гридами (о значении этих, а также некоторых других терминов - см. раздел "Терминология"), а также: перечисления, пользовательские диалоги, активные отчеты, иерархии сущностей и полномочия пользователей. Для манипулирования экранными формами сущностей, пользовательскими диалогами и активными отчетами предусмотрены специальные графические редакторы. Реализованы также некоторые сервисные функции для проверки общего набора бизнес-сущностей прикладной системы на внутреннюю непротиворечивость. Все объекты, которыми манипулирует АРМ Технолога, хранятся в файлах формата XML, причем каждый раз, когда производится сохранение метаданных, в отдельной директории сохраняется предыдущая версия каждого из измененных файлов, а также создается файл с именем MetaData.nnn, где nnn - последовательный номер версии метаданных, в котором сохраняется полный срез метаданных, собранных в единый файл. АРМ Технолога предоставляет также возможность сравнения версий метаданных (используются предварительно сохраненные файлы с именами MetaData.nnn), а также возможность построить SQL-скрипт для создания базы данных или (из режима сравнения версия метаданных) для корректного преобразования базы данных, соответствующей одной версии метаданных - к виду, соответствующему другой версии, не обязательно следующей, не обязательно с бОльшим номером версии. Имеется отдельный редактор словаря, который служит для перевода интерфейсного блока прикладной системы на один или несколько языков. В редакторе словаря предусмотрен режим добавления в словарь слов и словосочетаний, появившихся в описательной части сущностей и еще не включенных в словарь. АРМ АдминистратораАРМ Администратора, или "дизайнер меню", включает в себя инструментарий для описания системы пользовательских меню прикладной автоматизированной системы. Построен по принципу каскада окон. Главное окно АРМа содержит список прикладных АРМов создаваемой системы. Последующие окна содержат главные меню экранных окон системы, представленные в виде "дерева". При этом в правой части окна отображаются параметры выбранного пункта меню, а при двойном щелчке по элементу "дерева", соответствующему некоторому пункту меню, открывается следующее окно АРМа Администратора, содержащее меню экранного окна системы, открывающегося при выборе этого пункта меню. В АРМе Администратора, так же как и в АРМе Технолога, имеется отдельный редактор словаря, который служит для перевода интерфейсного блока прикладной системы на один или несколько языков. В редакторе словаря предусмотрен режим добавления в словарь слов и словосочетаний, появившихся в прикладных меню системы и еще не включенных в словарь. АРМ ПользователяУниверсальный АРМ Пользователя представляет собой, по факту, большой интерпретатор метаданных, созданных с помощью АРМа Технолога и АРМа Администратора, совмещенный с базой данных и интерпретатором бизнес-логики, реализованной на интерпретируемых ("скриптовых") языках. АРМ Пользователя выполняет аутентификацию пользователя средствами СУБД, после чего выполняет сценарий пользовательского диалога с учетом полномочий, делегированных зарегистрированному пользователю. Структурно АРМ Пользователя состоит из Ядра, Интерфейса, Подложки, Интерпретаторов скриптовых языков и Плагинов. Исполняющее ядро системы представляет собой собственно интерпретатор метаданных и главный диспетчеризирующий модуль. В него поступают все запросы на выполнение системных действий от других элементов АРМа Пользователя, а оно, в свою очередь, почти все эти запросы переадресовывает остальным элементам. Интерфейсный блок предназначен для организации взаимодействия с пользователем. В настоящее время скомпонован в единый исполняемый модуль с Исполняющим ядром, однако, концептуально интерфейсный блок может быть сменным и внутри системы он четко отделен от остальных компонентов АРМа Пользователя. Интерпретаторы скриптовых языков на самом деле не являются составной частью АРМа Пользователя СКА "Оберон". Как правило, они поставляются с операционной системой или ее компонентами. Однако, Исполняющее ядро системы взаимодействует с этими внешними по отношению к системе модулями таким образом, что внутри этих модулей становятся доступными объекты, предоставленные Исполняющим ядром. Несколько подробнее об этом рассказано в разделе, адресованном Прикладному программисту. Несколько особняком в реализации стоят Подложка и Плагины. ПодложкаПодложка предназначена для организации взаимодействия АРМа Пользователя (на самом деле, Исполняющего ядра) с базой данных. Как правило, скомпонована в динамическую библиотеку (DLL), динамически связываемую Исполняющим ядром при старте АРМа Пользователя. Интерфейс Исполняющего ядра с Подложкой построен на уровне сущностей, их экземпляров и гридов, таким образом, что при смене Подложки остальной функционал прикладной системы начинает работать с базой данных под управлением другой СУБД без какого-либо изменения остальных компонентов. В настоящее время реализованы и активно используются Подложки для взаимодействия с СУБД MS SQL (2000 - 2008), Oracle (8i - 10g) и SQLite 3.2. Реализованы но не используются в промышленно эксплуатируемых системах Подложка для взаимодействия с СУБД PostGreSQL, а также Подложка, работающая через IP-канал, для организации работы в трехзвенной архитектуре по принципу "толстого" клиента. Блок расширения бизнес-логики (плагин)Блоки расширения бизнес-логики (иначе - плагины) используются там, где по каким-либо причинам невозможно или нецелесообразно использовать макрозадания на интерпретируемых ("скриптовых") языках. Все плагины, помещенные в специально отведенную директорию, загружаются и инициируются при старте АРМа Пользователя. Их перечень можно увидеть из экрана, открываемого при выполнении пункта "Разное" -> "О программе" главного меню. В наши планы не входит подробно останавливаться на механизме плагинов в данном контексте. Лишь чуть подробнее о них рассказано в разделе "Концепция". | ||||||||||||||||
© СКА -=Оберон=- |