- •1.1. Введение
- •1.2. Понятие и назначение сэд
- •Основные понятия электронного документооборота
- •1.3. Основные принципы электронного документооборота
- •1.4. Классификация сэд
- •1.5. Необходимость внедрения электронного документооборота
- •1.6. Функции современных сэд
- •1.7. Требования к основным процессам работы с документами в сэд
- •1.8. Количественные измерения требований к сэд
- •1.9. Критерии выбора поставщика сэд
- •2.1. Клиент-серверная архитектура системы электронного документооборота
- •2.2. Общая схема работы электронного документооборота
- •3.1. Сравнительная характеристика российского и западного подходов к реализации систем электронного документооборота.
- •3.2. Система автоматизации делопроизводства и электронного документооборота дело (зао «Электронные офисные системы»)
- •3.3. Босс-Референт (компания АйТи)
- •3.4. Optima Workflow (компания Оптима)
- •3.5. Landocs (компания Ланит)
- •3.6. 1С: Документооборот 8
- •3.7. Евфрат
- •3.8. Сравнительная характеристика систем электронного документооборота, присутствующих на российском рынке программного обеспечения
- •4.1. Принципы, методы и средства создания электронной системы управления документооборотом
- •4.2. Документы в системах электронного документооборота
- •4.2.1. Состав организационно-распорядительных документов (орд)
- •4.2.2. Реквизиты организационно-распорядительных документов
- •4.2.3. Структура типового документа
- •4.2.4. Содержание процедуры получения и передачи потоков документов
- •4.2.5. Состав и содержание процедуры контроля исполнения документов
- •4.3. Обзор программных технологий для создании систем электронного документооборота
- •4.3.1. Многокомпонентная модель объектов (com)
- •4.3.1.1. Общая характеристика com
- •4.3.1.2. Элементы com-приложения
- •4.3.1.4. Интерфейс
- •4.3.1.5. Порядок вызова сервера клиентским приложением
- •4.3.2.4. ActiveX и автоматизация (Automation) в виде ole-automation
- •4.3.3. Технологии обмена данными между процессами
- •4.3.3.1. Буфер обмена
- •4.3.3.2. Динамический обмен данными
- •Приложение
- •Пример проектирования системы электронного документооборота
- •Проектирование системы электронного документооборота для гимназии
- •Содержание
- •1. Исследование предметной области
- •1.1 Описание предметной области
- •1.2 Характеристики информационных потоков
- •2. Разработка концептуальной модели системы управления документооборотом
- •3. Разработка логической модели управления документооборотом
- •4. Разработка модели предметного воплощения системы управления документооборотом
- •4.1 Физическая модель, структура Базы Данных
- •4.2 Архитектурная функциональность
- •4.3 Функциональная целостность
- •4.4 Технические требования
- •4.5 Проектирование лвс гимназии
- •5. Программирование отдельного блока или подсистемы системы управления документооборотом
- •5.1 Создание бд
- •5.2 Программирование отдельной подсистемы управления документооборотом
- •6. Анализ выполненной работы: достоинства и недостатки разработанных моделей и программы, возможность совершенствования разработанного проекта
- •Приложения
4.3.1.2. Элементы com-приложения
Разработчик стандартного COM-приложения в любом случае столкнется с двумя его элементами:
- сервер COM
- клиент COM.
Сервер COM представляет собой отдельный модуль, реализованный в виде самостоятельного исполняемого EXE-файла или файла динамической библиотеки DLL.
Моделью COM предусмотрены две разновидности сервера: внутренний и внешний.
Внутренний сервер COM трудится в том же адресном пространстве, что и клиентское приложение. Для этого сервер реализуется в динамически подключаемых библиотеках и вызывается клиентом COM в нужный момент.
В отличие от внутреннего сервера, внешний COM-сервер выполняется в своем собственном адресном пространстве. Допускается, чтобы внешний сервер порождался процессом, выполняющимся на другом компьютере. В этом случае вернее говорить не просто о COM, а о распределенной COM (Distributed COM, DCOM). При этом передача вызовов между двумя машинами осуществляется с помощью механизма удаленного вызова процедур RPC (Remote Procedure Call).
Рассмотрим классы VCL, поставленные на службу технологии COM.
В состав COM-сервера как минимум входят:
1. Один - единственный экземпляр класса TcomServer, инкапсулирующий сам COM-сервер. Доступ к этому объекту обеспечивает создаваемая при запуске сервера глобальная переменная ComServer.
2. Описание COM-объекта (или нескольких объектов), прототипом которого служит класс TComObject.
3. Фабрика класса (по одной на каждый тип COM-объекта). Основой фабрики класса служит класс TComObjectFactory. Единственная задача фабрики класса заключается в создании других объектов – экземпляров класса TComObject.
С выходом очередной версии библиотеки не надо обновлять все свое программное обеспечение.
В COM-модели процессом создания нового объекта ведает не среда программирования и даже не сам объект, а третья (в какой-то степени нейтральная) сторона – фабрика класса (class factories). Именно фабрика целиком и полностью отвечает за распределение памяти для будущего COM-объекта, и при этом, как бы это нам не показалось парадоксальным, о подробностях построения этого объекта не имеет ни малейшего представления.
Для каждого отдельного COM-класса предназначена отдельная фабрика.
Для создания нового экземпляра класса фабрика пользуется шаблоном класса, или фабричным образцом (factory pattern).
Фабричный образец - это особый класс, применяемый для создания экземпляра другого класса.
Благодаря «фабричному» подходу процесс создания нового объекта отделяется от особенностей его реализации.
Обслуживанием фабрик ведает менеджер фабрик - объект класса TComClass - Manager. Экземпляр менеджера создается автоматически и доступен в приложении COM - сервера благодаря глобальной переменной ComClassManager.
Клиент COM пользуется услугами сервера, но не имеет ни малейшего понятия об особенностях его реализации. Доступ клиента к службам внедренного в сервер COM-объекта осуществляется только через интерфейсы этого объекта; это ключевая особенность всей COM-модели. Получив указатель на интерфейс, клиентское приложение приобретает право вызова методов объекта.
4.3.1.3. COM – объект
В основе многокомпонентной модели лежит понятие COM-объекта.
Физически COM-объект представляет собой совокупность данных и методов, управляющих этими данными. Структура COM-объекта существенно отличается от кнопок и строк ввода, привычных нам по библиотеке VCL. Ключевое отличие COM от знакомого нам объекта Delphi в том, каким образом COM-объект предоставляет доступ к своим данным.
Структура COM-объекта материализует идею сказки о Кощее Бессмертном. Помните: смерть в игле, игла в яйце, яйцо в утке, утка в зайце, заяц в сундуке, сундук на дубе... Неизвестно, читали в Microsoft русские народные сказки или нет, но проектируя COM-объект, программисты корпорации уверенно пошли по проторенному Кощеем пути - прямого доступа к данным COM- объекта извне в принципе не существует. Каждое поле объекта скрыто в его недрах и может обслуживаться только методами COM-объекта. Методы объекта также особой коммуникабельностью не отличаются; они упакованы так глубоко, что доступны лишь через свои указатели.
Рис. 6. Модель COM-объекта
И это еще не все. В свою очередь указатели на методы хранятся в специальных таблицах адресов функций - в так называемых виртуальных таблицах объекта (virtual tables). Описание каждой из таких таблиц называют интерфейсом (interface). Методы интерфейса можно вызывать аналогично методам любого объекта Delphi.
Сколько у объекта таблиц, столько у него интерфейсов. В свете вышесказанного не стоит удивляться, что непосредственно к интерфейсу (указателю на виртуальную таблицу адресов методов) обратиться нельзя - вместо этого можно работать лишь с указателем на интерфейс; это единственное, что доступно извне COM-объекта. На рис. 6 представлена модель COM-объекта.
Получив доступ к обязательно присутствующему интерфейсу IUnknown, программа или любой другой объект сразу может обратиться к функции QueryInterface() и узнать обо всех остальных имеющихся у этого объекта интерфейсах. На схемах интерфейс IUnknown изображается в верхней части объекта (рис. 7).
Рис. 7. Представление COM-объекта в виде схемы
В среде программирования Delphi в основу COM-объекта положен класс TCOMObject. Его интерфейсная часть создается на базе опорного для всех интерфейсных классов IInterface.