Слой пользовательского интерфейса предназначен для удовлетворения всех специфических для конкретной прикладной области запросов оператора, работающего с системой: оформление экрана, организация ввода запросов и получение ответов. Прикладной слой обеспечивает интерфейс с системой workflow и призван экранировать пользователя от конкретных деталей работы с данными, получаемыми от сервера: инициация рабочей сессии, запуск и удаление процессов, управление очередями заданий и т.п. Файловый интерфейс обеспечивает прозрачный доступ к данным со стороны прикладного интерфейса: выборка логических записей из базы данных, их конвертирование в специфическую для каждой конкретной СУБД форму, а также ряд других операций, призванных экранировать все вышележащие слои от конкретных особенностей используемых систем хранения данных.
Данная организация позволяет реализовать принцип естественного отбора: без нарушения работы всей системы электронного документооборота корпорации заказчика и существующей инфраструктуры проводить модернизацию аппаратного и программного обеспечения, выбирая оптимальные решения. Кроме независимости от сетевой, аппаратной, программной технологии, а также от типа СУБД, эта архитектура обеспечивает возможность постепенного масштабирования, начиная от индивидуальных рабочих мест, к рабочим группам и далее до масштабов отделений корпорации, разбросанных по всему миру.
Сам по себе пакет Staffware - это интегрированный набор инструментальных средств, не зависящих от конкретной прикладной области. Одна из главных целей, которую преследует архитектура Staffware - это гибкость при работе с самыми разнообразными приложениями. Как известно, не бывает двух полностью идентичных компаний, предприятий или государственных организаций - везде обязательно существуют свои нюансы организации делопроизводства. Поэтому средства описания конкретных бизнес-процессов предприятия заказчика занимают значительную часть в общей концепции Staffware.
Процесс описания включает спецификацию шагов процедуры, для каждого из которых задается его цель, исходные данные и порядок действий пользователя. На рисунке 11 представлена структура определения бизнес-процесса для системы Staffware.
Рисунок 11.
Структура определения бизнес-процесса.
Различаются два основных типа шагов: нормальный шаг, автоматический и событие.
Нормальные шаги предназначены для организации взаимодействия с конечными пользователями и ассоциируются с конкретными методами работы с ними: экранные формы Staffware, аппарат PowerSoft PowerBuilder, Informix New Era и др. Автоматический шаг применяется для автоматизации некоторых видов деятельности, связанных с определенным шагом, например, вызов внешнего приложения без участия пользователя: изменение базы данных, печать письма или вывод изображения.
Шаг типа "событие" применяется для управления ходом выполнения процедуры, ставя его в зависимость от специальных условий, возможно, внешних процедур. С помощью механизма напоминания и ожидания можно синхронизировать нормальные шаги в общей системе документооборота в соответствии с событиями, в той или иной степени оказывающими влияние на текущую процедуру: получение письма-запроса от поставщика продукции, соблюдение предусмотренного законодательством предельного срока работы над документом и т.п. Другим назначением шагов данного типа является создание крупных, разветвленных приложений, позволяющих в динамике учитывать многие нюансы делопроизводства, обычно возникающие в средних и крупных организациях различных видов собственности. На рисунке 12 приведена структурная схема выполнения шагов процедуры.
Рисунок 12.
Схема выполнения шагов процедуры.
По аналогии с языками программирования для управления ходом выполнения процедуры предусмотрены операторы ветвления по условию, циклы и средства распараллеливания.
Для работы с шагами процедуры можно использовать наборы данных, называемых "множество выбора", позволяющие упростить процесс заполнения полей экранных форм. Различаются четыре типа данных: скаляр (текст, числа, дата, время, валюта), переменная - текстовое поле, которым можно манипулировать как целым, приложение - имя файла, используемое в качестве дополнения к одной из выбранных пользователем альтернатив, композиция - таблица базы данных вместе с данными из других полей.
Средой выполнения процедур в Staffware служит Графический Конструктор (Построитель) Процедур (GWD), позволяющий анализировать и описывать сценарии реальных бизнес-процессов, отражающих различные виды деятельности. Данный инструмент предназначен прежде всего для специалиста в конкретной прикладной области и не требует глубоких знаний архитектуры и технических особенностей аппаратной и программной платформы.
В основу GWD положена метафора динамической пиктограммы, позволяющая наглядно отображать потоки выполнения бизнес-процедур. Все правила выполнения регламента запоминаются в виде программы, на языке программирования, которая может быть подвергнута любой модификации и отладке. Такая программа отличается динамичностью, она способна настраиваться на конкретные условия и перезагружать бизнес-процедуры.
На рисунке 13 приведен пример конкретного представления бизнес-процедуры, подготовленного с помощью конструктора GWD и отражающего точку зрения конечного пользователя.
Рисунок 13.
Пример представления процедуры средствами графического конструктора потоков.
Для определения экранных форм, используемых при работе с конечным пользователем применяется Конструктор Графических Форм (GFD). В полях формы пользователь может вводить запросы системе путем заполнения полей, ассоциированных с определенной процедурой. Данные в этих полях могут заполняться автоматически (текущая дата, номер шага процедуры, различного рода ссылки, информация, генерируемая при выполнении предыдущих процедур) либо вручную. Разумеется, для заполнения полей может быть организован доступ к любой информации, во внешних базах данных, текстовых процессорах или файлах, размещаемых на сервере.
Интересной особенностью GFD являются интеллектуальные формы, меняющие свой формат и наполнение в зависимости от контекста: регламента выполнения бизнес процедуры или типа данных, например:
IF <условие>
Только первое поле
- текстовый блок
ELSE
Все поля формы
- текстовые блоки
ENDIF
Кроме этого имеется возможность задавать порядок вывода информации в полях формы: обязательно по запросу, ввод по желанию, фиксированное содержание, вычисляемое значение, скрытое содержание поля.
Для расширения возможностей GFD, не предусмотренных при первоначальной настройке можно использовать специальное поле "Command", где указываются операторы вызова внешних программ или манипуляции с данными из полей формы. В разных местах определения процедуры можно указывать уравнения, используемые для вычисления данных по значениям полей. Такие выражения применяются для выполнения вспомогательных вычислений, проверки корректности данных, определения условий перехода в операторах ветвления и т.п. В выражениях можно использовать обычные арифметические и логические операции: сложить, вычесть, эквивалентность, неравенство, больше/меньше и присваивание.
Макрокоманды или сценарии представляют собой наборы операторов, которые можно поместить в любое место выполнения процедуры. Типичный пример использования макрокоманд - постоянно повторяющийся обмен данными между Staffware и приложениями Windows через аппарат DDE.
Язык описания сценариев является достаточно мощным средством программирования системного окружения, позволяя на базе Staffware разрабатывать различные приложения. Основные операторы языка - условные переходы IF <тело условия 1> ELSEIF <тело условия 2> ENDIF и циклы WHILE <тело условия> WEND.
Внутри программ описания сценариев обычно помещаются функции, которые могут вызываться и в любом другом месте Staffware. Сегодня имеется восемь типов функций:
· преобразования: (NUM-строка в число, STR-число в строку);
· системные функции работы с операционным окружением: (запрос информации о переменных окружения, работа с окнами и полями в файлах, управление выводом сообщений и т.п.);
· файловые операции: (переименование, удаление, копирование и т.п.);
· функции работы с временем и датой: (конструирование формата представления даты, расчеты по датам и времени, календарные функции и т.п.);
· функции работы с текстами: (поиск подстрок, преобразования, вычисления над строками и т.п.);
· работа с внешними программами: (вызов Unix программы, вызов программы в среде windows, подготовка документов в macintosh и т.п.);
· функции выделения: (VLDFILE: взять данные из файла и поместить в список, VLDQUERY: взять данные из базы данных);
· функции работы с DDE: (инициировать работу с сервером DDE, удалить сессию, послать команду, переслать данные и т.п.);
· вызов сценария: (CALL: вызов программы описания сценария).
Деятельность любой корпорации невозможна без взаимодействия с внешней средой - можно найти очень мало примеров, когда компания представляет только вещь в себе. Поэтому для построения полноценного документооборота в Staffware включены средства интеграции с другим информационными системами: базами и хранилищами данных, текстовыми процессорами и процессорами обработки изображений, системами автоматизации офиса, а также почтовыми системами.