Технология CP2000. Система хранения документов (d-server)
Данные, хранимые и обрабатываемые системой, не всегда носят определенный заранее структурированный вид.
То есть, не все данные сопровождающие, например, "экспертное заключение" можно обработать и сохранить в рамках реляционной базы данных.
Для обеспечения хранения и обработки сопутствующих документов в рамках данного проекта (CP2000) существует система хранения документов.
Данная система обеспечивает идентификацию, хранение и обработку всех "внешних" документов. Документы называются внешними, т.к. их создание и редактирование обеспечивается дополнительным программным обеспечением, например текстовым процессором MS-Word, редактором графических изображений CorelDraw и т.д.
Идентификация документа осуществляется уникальным "кодом документа", этот код при необходимости сохраняется в базе данных (как один из атрибутов) для обеспечения связи между базой данных и "внешними документами".
Схематично "Система хранения документов" выглядит следующим образом"
d-server Сервер документов - обеспечивает хранение документа в архивированном (сжатом) виде, каждый документ снабжается следующими атрибутами:
код - уникальный идентификатор документа в системе;
владелец - пользователь создавший этот документ и обладающий полными правами доступа к данному документу;
версия - номер версии данного документа, система обеспечивает при необходимости хранение нескольких версий документа;
комментарий - краткий комментарий к данному документу;
группа-Чтение - группа, членство в которой обеспечивает пользователю возможность чтения этого документа;
группа-Редактирование - группа, членство в которой обеспечивает возможность редактирования этого документа;
Доступ к документам осуществляется только после идентификации пользователя и его прав доступа. С помощью системы разделения прав доступа в системе могут храниться документы с различным уровнем "секретности".
Система хранения документов также обеспечивает контроль блокировки документов на момент их редактирования. Т.е., если пользователь, обладающий правом на внесение изменений в данный документ начал его редактирование, то все остальные пользователи системы имеют возможность получить текущую версию документа только для просмотра.
Принципы реализации
d-server базируется на ОС Linux, стабильно работает на RedHat 9/7.1/7.3/6.2). Представляет собой процесс "подымаемый" из под inetd (xinetd). Обеспечивает идентификацию пользователей (login) и выполнение всех необходимых операций с документами. Работа полностью по tcp/ip. База данных документов на InterBase 6.x (openSource). Тело документа хранится в виде файла в упакованном виде (gzip,zip).
Протоколирование доступа к документам, блокировок, разделение - на основе БД (таблицы + тригеры).
d-client обеспечивает полнофункциональный доступ к "Серверу" и сервисные функции (обмен сообщениями, администрирование :). Реализация интерфейса на Borland C++ Builder.