Описания клиентских приложений и их модулей хранятся в схеме ядра в следующих таблицах:
•CLIENT_APPS – клиентские приложения;
•CLIENT_MODULES – модули приложений;
•CLIENT_APP_MODULES – взаимосвязи модулей и клиентских приложений;
•CLIENT_ASSEMBLIES – сборки модулей.
Модель данных выглядит следующим образом:
В таблице CLIENT_APPS хранится перечень клиентских приложений. Например, может быть приложение для настольного ПК, приложение для ПК с сенсорным экраном или для мобильного устройства:
•NAME – название приложения;
•DESCRIPTION – описание приложения.
В таблице CLIENT_MODULES хранится перечень модулей клиентских приложений:
•NAME – название модуля;
•DESCRIPTION – описание модуля;
•IS_COMMON – флаг, указывающий на необходимость выдавать права на доступ к модулю. Если он установлен в значение true, для запуска модуля пользователь не должен обладать специальными правами.
В таблице CLIENT_APP_MODULES хранятся взаимосвязи модулей и клиентских приложений. Каждому клиентскому приложению может соответствовать несколько модулей, как и каждому модулю может соответствовать несколько приложений:
•APP_OBJ_ID (FK) – модуль, связанный с клиентским приложением;
•MODULE_OBJ_ID (FK) – приложение, с которым связан модуль.
С точки зрения реализации каждый модуль представляет собой одну и более библиотеку. Совокупность этих библиотек называется сборкой модуля и описывается в таблице CLIENT_ASSEMBLIES:
•FILE_NAME – название файла библиотеки, входящего в сборку;
•FILE_DATA – файл библиотеки;
•FILE_SIZE – размер файла библиотеки в байтах;
•FILE_HASH – хэш файла;
•MODULE_OBJ_ID (FK) – модуль, с которым связана библиотека.