OR3 WorkFlow
Constructor
Конструктор процессов
Значения любых переменных, изменения, произведенные в данных БД в результате выполнения процесса, «видны» только внутри протекающего процесса, т.е. определенного объекта класса WorkFlow. Новые данные, рожденные в результате выполнения процесса, становятся общим достоянием системы только после завершения его выполнения. Поэтому процесс является функциональным своеобразным квантом приложения, разрабатывая который, Вы можете быть уверенными, что его проектирование и последующая работа не будут зависеть от других процессов, разрабатываемых другими разработчиками, или уже готовых и работающих в приложении.
Применение WorkFlow в технологии проектирования OR3, где разработчик может создавать многоэтапные процессы, обеспечивает следующие привлекательные качества приложений:
• Конфиденциальность и ужесточение контроля доступа к данным и функциям;
• Контроль над производительностью выполнения задач;
• Повышение оперативности работы пользователя;
• Одноразовый ввод информации;
• Упрощение доступа к исполнению управляющих процедур;
• Визуализацию всех функций, которые должен выполнить исполнитель;
• Предоставление пользователю полного контекста выполняемой им функции;
• Гибкость в работе и высокая степень комфорта;
• Предоставление полной информации аналитикам о загрузке исполнителей для принятия решений по усовершенствованию функций и их адаптации к изменяющимся условиям функционирования;
• Моделирование управленческих процедур с любой точностью и степенью детализации;
• Обеспечение целостности и непротиворечивости данных и т.д.
Технология OR3 предоставляя возможность разработчику информационной системы проведения декомпозиции ее функционального наполнения только в «квантах» WorkFlow, инкапсулирует в WorkFlow методы обработки данных, интерфейсы, фильтры. Поэтому процесс проектирования конкретного WorkFlow не зависит от процессов проектирования других потоков WorkFlow. Это делает возможным коллективную работу по настройке информационных приложений в OR3.
Система проектирования полномочий доступа к процессам WorkFlow позволяет неограниченно наращивать функционал системы, скрывая из зоны видимости процессы с несвойственным для использования в конкретной организации или конкретным пользователем функционалом. Это позволяет использовать среду разработки OR3 как своеобразный «аккумулятор» для неограниченного накопления разработчиками различных технологий с целью их будущего предложения организациям и пользователям.
OR3 User
Constructor
Конструктор пользователей
OR3 Data Model
Constructor
Конструктор логической модели данных
Конструктор логической модели данных – инструмент построения логической модели данных, состоящей из классов, атрибутов и методов. Несмотря на то, что физическая модель данных реализована на таблицах реляционной базы данных, модель данных любого проекта в OR3 основывается на логической объектно-ориентированной базе данных. Такую трансформацию из реляционной в объектно-ориентированную модель обеспечивает сервер приложений OR3.
OR3 Report
Constructor
Конструктор отчетов
Конструктор отчетов – инструмент визуального проектирования форм отчетов с элементами управления OR3, использующий в качестве шаблонов документы Word и Excel. Таким образом, отчеты могут быть разработаны любой сложности.
OR3 GUI
Constructor
Конструктор интерфейсов
Конструктор интерфейсов – инструмент визуального проектирования форм, с обширным арсеналом графических компонентов и возможностей настройки их поведения и расположения. С помощью большого количества интерфейсных элементов разработчику предоставляется разработать интерфейсы любой сложности. Внешний вид проектируемого интерфейса зависит от вкуса и опыта его разработчика.
Интерфейсы – это «лицо» проектируемого Вами информационного приложения. То, насколько Вам удастся спроектировать удобные для пользователя интерфейсы, можно сказать, зависит судьба всего приложения. Технология OR3 предоставляет богатейшие возможности настройки элегантных интерфейсов, как по внешнему виду, так и по «интеллектуальному» поведению. Интерфейсы OR3 подсвечивают ошибки ввода, автоматически находят ошибочные окна ввода из спецификации ошибок, легко, «на лету» меняют языки общения и языки данных, автоматически подстраиваются под размер экрана монитора и размер окна изображения, автоматически выравнивают элементы при неизбежном изменении их размера в момент смены языка общения, мгновенно реагируют на действия пользователя, не позволяя ввести противоречивые данные и вообще обеспечивают массу других удобств и ухищрений, которые целиком зависят от Вашей фантазии и степени проникновения в содержательный материал проектируемого приложения.
OR3
Language
Внутренний язык проектирования
Наличие языка внутреннего проектирования OR3 Language, не противоречит, объявленному свойству неизменности исполняемого кода OR3. Исполняемая система OR3 интерпретирует исполнение инструкций, записанных на OR3 Language в нужном месте, в нужное время. Это решение основано на том, что OR3 никогда не потребует от разработчика написания объемной обработки на OR3 Language в несколько тысяч строк кода. Такая уверенность основана на том, что OR3 имеет механизм конструирования и применения фильтров. Сложные обращения за данными в БД, разработчик проектирует при помощи конструктора фильтров. Фильтр строится в виде дерева и скрывает всю сложность SQL выражения. Как правило, при помощи OR3 Language решаются сравнительно простые вопросы манипулирования свойствами интерфейсных компонентов, объектами классов, их атрибутами и пр.
Реализация интерпретатора языка OR3 Language выполнена на основе общедоступной технологии JavaCC. При разработке OR3 Language за основу был взят синтаксис Velocity. Удобство OR3 Lan-guage заключаются в том, что в случаях сложных обработок, разрабатывается Java-класс, затем в виде plug-in он подключается к проекту и проектировщик приложений в OR3 получает мощный ме-ханизм обработки, «скрывающий» всю сложность своей реализации. Можно так же писать код, напрямую, используя операторы Java. Это обеспечивает язык OR3 Language всей гибкостью и мощью Java.
Классы Java, реализующие объектно-ориентированную технологию языковой обработки OR3 следующие:
- Objects – класс, реализующий методы манипулирования объектами БД;
- Strings – класс, реализующий методы обработки строк;
- Date – класс, реализующий методы обработки дат;
- Interface – класс, реализующий методы доступа к данным, выведенным в интерфейсы;
- Xml – класс, реализующий методы манипулирования Xml-структурами.
Столь скупой набор классов, реализующих проектную настройку информационного при-ложения, красноречиво говорит о степени «сокрытия» сложности реализации технологии проекти-рования OR3.
При написании фрагментов кода на OR3 Language используются системные переменные, существование которых связано как со свойствами самого продукта OR3, так и со свойствами той виртуальной реальности, какой является информационный проект в самом общем смысле. Это следующие переменные:
- $RETURN – переменная, в которую помещается значение, возвращаемое фрагментом ко-да;
- $XML – переменная, в которую процессом помещается текущая XML-структура;
- $OBJS – переменная сервера, в которую процессом помещается массив параметров, пе-редаваемый в вызываемую во фрагменте кода функцию;
- $SELOBJ – переменная сервера, в которую процессом помещается объект, выбранный пользователем фокусом ввода на интерфейсе типа «Выбор»;
- $SELOBJS – переменная на клиенте, в которую помещается массив объектов, выбранных фокусом ввода пользователем на интерфейсе;
- $INTERFACE – переменная сервера, в которую помещается результат проверки ошибок ввода данных интерфейса; если ошибок нет, $INTERFACE содержит true; если ошибки есть, $INTERFACE содержит false; если проверки ошибок не производилось, $INTERFACE содержит null. Переменная используется при проектировании бизнес-процессов;
- $ERRMSG – переменная, в которую помещается текст сообщения об ошибке интерфейса, выводящийся, в последующем, в стандартном окне ошибок интерфейса OR3;
- $SERVER – переменная, служащая для присвоения значения текущей переменной USER. Используется для случаев передачи серверу исполнения текущего шага процесса.
- $BASE – переменная, в которую процессом помещается объектный код текущей БД, с ко-торой работает процесс;
- $USER – переменная, в которую процессом помещается, объектный код пользователя, ис-полняющего текущий шаг процесса;
- true – литеральная строка, служащая для обозначения состояния «истина»;
- false – литеральная строка, служащая для обозначения состояния «ложь».
OR3 DB Hierarchy
Constructor
Конструктор иерархии баз данных
Иерархии являются прекрасным средством улучшения эргономичности интерфейсов пользователя. Атрибутика иерархии довольно проста. Каждый объект иерархической структуры привлекает в атрибуте «значение» объект определенного справочника, ставит ему в соответствие один родительский объект иерархической структуры и произвольное количество дочерних объектов иерархической структуры. Построение древовидной структуры баз данных совсем не означает, что на сервере БД проектируемого информационного приложения будут реально созданы локальные БД. Древовидная структура БД необходима системе OR3 для правильной организации обмена данными между локальными БД. Очевидно, что в реальности эти БД могут находиться в различных физически разделенных точках.
OR3 Task Scheduler
Constructor
Конструктор заданий сервера приложений
Без автоматической работы сервера, совершающейся в соответствии с определенным планом действий, невозможно себе представить работу современных информационных приложений. Для решения проблемы автоматического запуска заданий на сервере, в соответствии с определенным графиком, в OR3 Developer’s Toolkit предусмотрен OR3 Task Sheduler Constructor – конструктор заданий сервера приложений.
В целом конструктор OR3 Task Sheduler Constructor содержит:
таблицу древовидной структуры множества стартуемых по графику заданий с панелью инструментов управления заданиями. OR3 Task Sheduler Constructor предоставляет широкие возможности для создания различных временных графиков.
OR3 External System
Interface Constructor
Конструктор обмена данными с внешними информационными системами
Конструктор обмена с внешними системами – инструмент настройки пунктов обмена со смежными системами, позволяет выбирать тип транспортной системы и задавать специфические параметры среды обмена.
OR3 использует простой и надежный механизм обмена данными между различными информационными приложениями – XML-документ. Благодаря своей простоте и универсальности XML применяется везде, где требуется интеграция или взаимодействие различных приложений. В этом отношении OR3 не является исключением и в полной мере использует XML-технологию для решения проблем интеграции приложений.
Современные требования к разработке информационных систем таковы, что вряд ли удастся разработать информационный проект без решения задачи его взаимодействия со сторонними БД и информационными системами. OR3, обладая встроенным языком проектирования OR-Lang и технологией WorkFlow, является мощным средством интегрирования работы различных информационных приложений. Более того, OR3 с успехом может быть использован в качестве интеграционной платформы работы всех приложений организации, объединяя их работу в едином информационном пространстве.
Сложность реализации подготовки и чтения XML-сообщений, самого XML-обмена «скрывается» технологией OR3 настолько, что Вам, при проектировании информационного взаимодействия на этом уровне, не надо даже иметь представления о том, что такое XML. Достаточно знать: какой объект БД, в какой пункт обмена должен быть помещен, и реализовать необходимые настройки соответствующего бизнес-процесса на ORLang.
При настройке обмена используются два конструктора OR3 Developer’s Toolkit: OR3 DB Ierarhy Constructor – конструктор иерархии баз данных и OR3 External System Interface Constructor – кон-структор обмена данными с внешними информационными системами.
OR3 Replication
Constructorr
Конструктор репликации
Системная репликация метаданных, производится разработчиками информационных приложений OR3 из старшей системной БД в локальные низовые БД. Сервер системной репликации, находящийся в составе исполняемой системы OR3, обеспечивает пересылку получаемых из системной БД репликационных файлов в подчиненные локальные БД. Необходимые для системной репликации метаданных ресурсы определяются и устанавливаются при инсталляции приложения OR3 в соответствии с инструкцией по установке OR3.
Работа приложений OR3 в распределенной среде поддерживается двумя механизмами:
1) Обменом данными в XML-формате.
2) Системной репликацией метаданных, которая так же производится в XML-формате.
Обмен данными в XML-формате поддерживает актуальность данных в локальных БД различных уровней иерархической подчиненности, а системная репликация метаданных поддерживает актуальность методов обработки данных. Таким образом, в рамках по сути единой технологии обмена, реализуется поразительное свойство приложений OR3 – они не требуют переинсталляции исполняемых файлов при любых изменениях методов обработки данных!
Обмен данными в распределенной среде локальных БД, настраивается в рамках технологии WorkFlow. Это говорит о том, что при проектировании работы приложений OR3, разработчику необходимо ясно представлять себе цели такого обмена. Например, если Заказчик требует, чтобы у него была полная картина о кадровом составе всех его территориальных подразделений, то Вы должны обеспечить настройку соответствующих бизнес-процессов в территориальных подразделениях на пересылку необходимых данных при их изменении. А при настройке работы объединенной бухгалтерии, нет смысла пересылать в «старшую» БД подробные данные о всех бухгалтерских операциях, совершающихся в низовых территориально разобщенных подразделениях. Достаточно спроектировать поступление данных с определенной периодичностью в разрезе плана счетов по расходам и доходам. При этом целесообразно спроектировать запрос в подчиненную БД на получение подробной информации в старшей БД о бухгалтерских операциях подчиненного подразделения за определенный период или определенного вида таких операций. Таким образом, Ваш проект не будет переполнять старшую БД ненужной информацией, при полном контроле над бухгалтерскими операциями подчиненного подразделения. Из приведенных примеров видно, что обмен данными при работе приложений OR3 в распределенной среде локальных БД – это важная грань информационного проекта, которая должна быть обеспечена хорошо продуманными решениями.
OR3 Filter
Constructor
Конструктор фильтров
Конструктор фильтров – инструмент формирования запросов к реляционной БД в древовидной форме, скрывающей сложность SQL-запросов к БД. Такое представление запросов позволяет быстрейшей разработке, по сравнению с текстовым аналогом.
Фильтры – мощный инструмент формирования запросов к БД. Изначальная идея «сокрытия» сложности внутренней реализации информационного проектирования OR3 получила в этом инструменте наибольшее воплощение. Фильтр снимает необходимость знания проектировщиком информационных систем языка запросов SQL. Древовидная структура фильтра, скрывающая сложность стоящего за ней SQL-запроса, является сравнительно простым инструментом, который с легкостью могут применять неискушенные в программировании специалисты.
Основное место применения фильтров OR3 – это интерфейсы и отчеты. Есть так же возможность вызова фильтров в различных фрагментах кода, как правило, это необходимо при настройке бизнес-процессов.
В соответствии с объектно-ориентированной парадигмой, фильтр является объектом класса фильтров, хранящимся в БД наряду с другой объектной информацией. Текст SQL-выражения, реализующего фильтр, хранится в БД в виде значения атрибута наряду со значениями других атрибутов фильтра. Как и другие объекты, он может быть передан при репликации данных в другую БД, и использоваться по своему назначению.
OR3 Menu
Constructor
Конструктор меню
Конструктор пользовательского меню – инструмент проектирования наборов функций персонально для каждого пользователя или группы пользователей.
Меню приложения в OR3, обладает определенным своеобразием, вызванным наличием доступа к данным БД в технологии WorkFlow. Принципы проектирования интерфейса с данными БД, заложенные в технологии OR3, в части касающейся меню, очень гибки. Вы можете настроить доступ к функциям изменения данных БД как угодно, как в режиме WorkFlow, так и в режиме прямого доступа к БД. При этом Вы должны знать, что если Вы не будете использовать технологию Work-Flow, Вы будете использовать меньше половины мощи OR3.