- •Урок 5 Архитектура Global
- •Введение Содержание урока
- •Краткая аннотация платформы Global Framework
- •Арихитекура Global Framework for Oracle Основные сведения Основы архитектуры
- •Общие сведения о понятиях
- •Принципы модульности
- •Архитектура ядровых сервисов
- •Начало работы Создание пользователя
- •Главная форма приложения Конфигуратор
- •Создание нового модуля
- •Проектирование классов Общие сведения о классах
- •Окружение класса
- •Дерево классов
- •Процесс создания и настройки классов
- •Пример создания и настройки класса Создание класса
- •Настройка свойств класса
- •Создание атрибутов класса
- •Компиляция
- •Открытие объектов класса на редактирование
- •Изменение структуры хранения класса
- •Серверные методы класса Общие сведения
- •Наследование типов
- •Основные методы, формирующиеся автоматически при компиляции
- •Переопределение методов в api
- •Пересчет заголовка и мнемокода в репозитории при изменении фунций их вычисления
- •Общий обзор подсистем, входящих в Global Framework
- •Сервис управления данными о структуре объектов и способами отображения объектов.
- •Сервис управления безопасностью и пользователями
- •Сервис оповещений
- •Сервис напоминаний
- •Подсистема построения отчетов
- •Подсистема планирования задач и поддержки пользователей
- •Сервис выпуска обновлений
- •Подсистема интеграции
- •Подсистема репликации данных
Арихитекура Global Framework for Oracle Основные сведения Основы архитектуры
Система GlobalFrameWork имеет в своей основе архитектуру клиент-сервер с тонким клиентом. В качестве сервера используется Oracle9i/10g. Вся бизнес-логика, метаданные уровня представления данных на клиенте (т.е. описание пользовательских интерфейсов и диалогов) хранятся на уровне сервера.
Основными составляющими системы являются:
Данные классов, структурированные по модулям, и обладающие возможностью наследования
Метаданные, описывающие бизнес-логику и пользовательский интерфейс приложений
Система администрирования и управления доступа к данным
Система репликации, позволяющая обмениваться данными с другими серверами с установленной системой Global
Интегратор, позволяющий производить двухсторонний обмен данными с любыми OLE DB источниками данных
Система распространения или Deployment’а, позволяющая создавать скрипты установки и обновлений системы
.
Общие сведения о понятиях
Понятия являются базовыми составляющими системы. На их основе производится многоязыковое именование классов, атрибутов, выборок, операций, типов и других сущностей метамодели. Все интерфейсные элементы приложений, имеющие текстовые наименования задаются при помощи понятий. На уровне понятий так же задается набор свойств, которые затем передаются объекту, определяемому при помощи данного понятия. Понятие также определяет тип данных значимого атрибута.
Понятие представляет собой набор текстовых описаний некоторой сущности или общности. Например, текстовыми представлениями понятия «Валюта» являются «Валюта», «Валюты», «Введите валюту», «Национальная валюта», «Валюта документа» и т.д. Критерий объединения представлений понятия в одно общее, целое понятие является вопросом, не имеющим четкого ответа. Оно осуществляется на основе общности смыслового представления, удобства при поиске и наличия единого типа данных. Одно из текстовых представлений понятия считается базовым и именно оно выводится в общем списке понятий.
Принципы модульности
Модуль представляет собой некоторую совокупность функциональности системы, сгруппированную по принципу логической общности. Каждый объект, зарегистрированный в системе, принадлежит какому-либо модулю. Основными составляющими модуля являются классы, выборки и серверные методы, сгруппированные в типы и пакеты.
Модуль может использовать или требовать наличия некоторого набора других модулей. Это требование выражается в том, что объекты, или функциональность, заложенная в модуль, не будут работать в случае отсутствия в системе другого, требуемого модуля. Этот принцип позволяет разнести модули на верхнеуровневые и низкоуровневые – по градации их использования. Самым низкоуровневым является модуль ядра (BTK), он не требует для своей работы наличия других модулей и требуется для функционирования любого другого модуля, являясь платформой системы. Особняком стоит модуль BTKRuntime, не являющийся серверным модулем, но зарегистрированный в системе для фиксации версий смарт-клиента (клиентского приложения системы). К низкоуровневым модулям относятся общеиспользуемые модули, реализующие функциональность, востребованную во многих подсистемах, это модули BS (базовые справочники), TAX (налоги), CUR (валюты), KER (ядровые справочники) и т.п. К низкоуровневым модулям относятся также системные модули – AC (администратор), RPT (отчеты), INT (интегратор).
Высокоуровневые модули – это модули, которые реализуют определенную бизнес-логику и являются основой работы подсистем. Например, подсистема Global Stock функционирует на основе высокоуровневого модуля STK, а подсистема Global Payment функционирует на основе двух высокоуровневых модулей – STM и PM. Высокоуровневые модули по возможности изолированы друг от друга и не требуют наличия других высокоуровневых модулей для своей работы. Этот принцип является основой масштабируемости системы. В этом подходе бывают исключения, обусловленные исключительно логической взаимосвязью модулей, например, модуль SLR (зарплата) использует модуль HRM (персонал).
Примеры зарегистрированных модулей
-
Системное имя
Наименование
Описание
AC
Администратор
Содержит классы, выборки отвечающие за систему управления пользователями и безопасностью
BS
Базовые справочники
Общеиспользуемые справочники
BTK
Ядро системы
Обеспечивает работу других модулей, является платформой для их создания и хранилищем метаданных системы
RPT
Отчеты
Модуль настройки отчетов, печатных форм и профилей печати
…
…
…
