SharePoint в качестве платформы документооборота. Работаем с workflow в WSS 3.0 и MOSS 2007::Журнал СА 5.2008
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6143
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6855
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4139
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 2978
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3781
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3789
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6282
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3134
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3433
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7246
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10616
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12336
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 13968
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9099
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7052
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5361
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4593
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3400
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3127
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3378
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 2999
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 SharePoint в качестве платформы документооборота. Работаем с workflow в WSS 3.0 и MOSS 2007

Архив номеров / 2008 / Выпуск №5 (66) / SharePoint в качестве платформы документооборота. Работаем с workflow в WSS 3.0 и MOSS 2007

Рубрика: Администрирование /  Администрирование

Нелли Садретдинова

SharePoint в качестве платформы документооборота

Работаем с workflow в WSS 3.0 и MOSS 2007

Одна из самых долгожданных возможностей Windows SharePoint Services 3.0 (WSS 3.0) и Microsoft Office SharePoint Server 2007 (MOSS 2007) – поддержка рабочих процессов (workflow). Что представляют из себя эти возможности и действительно ли новый функционал превращает SharePoint в полноценную платформу для документооборота?

Особенности рабочих процессов в SharePoint

Рабочие процессы в SharePoint привязаны к спискам или библиотекам документа. Запускаться они могут автоматически при создании или изменении элемента, или могут быть запущены пользователем вручную из контекстного меню элемента списка или документа библиотеки. Если написать собственный обработчик событий, то можно запускать процесс и по другим событиям.

Общие настройки рабочих процессов определяются на сайте центрального администрирования. Здесь можно указать, разрешено ли создание рабочих процессов для данного веб-приложения, разрешить ли отправку документов внешним пользователям, извещать ли пользователей, не имеющих доступа к узлу, о назначении им задач рабочего процесса. По умолчанию создание рабочих процессов разрешено.

Создание рабочих процессов

Какие инструменты предоставляет SharePoint для создания рабочих процессов?

Во-первых, в составе SharePoint уже имеются пять готовых шаблонов рабочих процессов, запустить и настроить которые можно посредством веб-интерфейса. Это:

  • сбор отзывов;
  • сбор подписей;
  • утверждение;
  • утверждение ликвидации;
  • три этапа.

Смысл первых четырех процессов очевиден из их названия. Поясню, что означает «три этапа». Для запуска такого процесса необходимо, чтобы у библиотеки документов или списка было свойство типа «Выбор» как минимум с тремя вариантами выбора, например, «Планируется», «Утверждается» и «Завершено». При запуске процесса значение свойства равно первому варианту, т.е. «Планируется». После завершения первой задачи процесса пользователем (например, завершения работы над документом) значение поля «Состояние» меняется на второй вариант – «Утверждается», после завершения второй задачи (например, утверждения документа руководителем) это поле получает последнее значение – «Завершено» и процесс завершается (см. рис. 1).

Рисунок 1. Настройка трехэтапного рабочего процесса

Рисунок 1. Настройка трехэтапного рабочего процесса

Создать стандартный рабочий процесс можно из раздела «Параметры -> Параметры рабочих процессов» списка или библиотеки документов (см. рис. 2).

Рисунок 2. Добавление рабочего процесса

Рисунок 2. Добавление рабочего процесса

Стандартные рабочие процессы предполагают создание задач для участвующих в процессе пользователей. При создании процесса можно выбрать список, в котором будут создаваться задачи, или указать, что будет создан новый список задач.

Каждый стандартный рабочий процесс предполагает собственные настройки. Процесс «Сбор отзывов» включает указанные на рис. 3.

Рисунок 3. Настройка рабочего процесса «Сбор отзывов»

Рисунок 3. Настройка рабочего процесса «Сбор отзывов»

Дополнительно можно указать адрес для отправки копий отзыва прочим пользователям и ряд параметров завершения рабочего процесса.

При запуске процесса может потребоваться заполнение дополнительных параметров. Например, форму как на рис. 4 нужно заполнить при запуске процесса «Сбор отзывов».

Рисунок 4. Запуск рабочего процесса «Сбор отзывов»

Рисунок 4. Запуск рабочего процесса «Сбор отзывов»

Не буду останавливаться на типовых процессах, работа с которыми интуитивно понятна. Расскажу подробнее о процессе сбора подписей, запустить который можно только из клиентских приложений Microsoft Office 2007.

Допустим, имеется библиотека документов, к которой добавлен стандартный процесс «Сбор подписей». Чтобы запустить процесс, необходимо открыть документ из библиотеки в MS Word 2007. На вкладке «Вставка» нужно выбрать «Строка подписи -> Строка подписи Microsoft Office».

Появится форма настройки подписи, которую необходимо заполнить (см. рис. 5).

Рисунок 5. Настройка подписи в MS Office

Рисунок 5. Настройка подписи в MS Office

Затем можно запустить процесс из общего меню Word (см. рис. 6).

Рисунок 6. Пункт меню «Рабочие процессы» в MS Word

Рисунок 6. Пункт меню «Рабочие процессы» в MS Word

После выбора процесса «Сбор подписей» появится форма, где нужно указать, кто должен подписать документ (см. рис. 7).

Рисунок 7. Запуск рабочего процесса «Сбор подписей» из MS Word

Рисунок 7. Запуск рабочего процесса «Сбор подписей» из MS Word

Чтобы подтвердить подставленное по умолчанию из предыдущей формы значение, нужно нажать кнопку с галочкой справа от поля. После этого станет активной кнопка «Начать».

В результате запуска рабочего процесса будет создана задача по сбору подписи в соответствующем списке задач (см. рис. 8).

Рисунок 8. Задачи рабочего процесса

Рисунок 8. Задачи рабочего процесса

Обратите внимание, что так как в настройках сервера запрещено создание задач для внешних участников, задача будет автоматически перенаправлена внутреннему пользователю.

Форма подробной информации о задаче включает возможности делегирования задачи другому пользователю или ее отмены (см. рис. 9).

Рисунок 9. Форма работы с задачей по сбору подписи

Рисунок 9. Форма работы с задачей по сбору подписи

Подписать документ можно, открыв документ в MS Word. При этом будет выдано предупреждение, что для проверки подлинности подписи другими лицами необходимо получить цифровое удостоверение от партнеров Microsoft. Если такой необходимости нет, можно создать свою цифровую подпись. Вот так будет выглядеть готовая подпись (см. рис. 10).

Рисунок 10. Готовая подпись в документе MS Word

Рисунок 10. Готовая подпись в документе MS Word

Создание рабочих процессов с помощью SharePoint Designer

Создавать простые рабочие процессы без написания кода можно с помощью редактора Microsoft Office SharePoint Designer [2]. Для этого необходимо открыть в редакторе узел SharePoint и выбрать пункт меню «Файл -> Создать -> Рабочий процесс».

Откроется мастер создания рабочих процессов. На первом шаге необходимо выбрать список или библиотеку, к которой будет привязан процесс, указать способы его запуска. Можно также задать список переменных (см. рис. 11).

Рисунок 11. Создание рабочего процесса в MS SharePoint Designer

Рисунок 11. Создание рабочего процесса в MS SharePoint Designer

После чего можно приступить кразработке процесса. Он может включать один или несколько шагов. На каждом шаге можно выполнять одно или несколько действий при каких-либо заданных условиях. Такими условиями могут быть:

  • проверка значения переменной;
  • проверка, находится ли дата изменения элемента в определенном промежутке времени;
  • проверка, находится ли дата создания элемента в определенном промежутке времени;
  • проверка, кем был изменен элемент;
  • проверка, кем был создан элемент.

По умолчанию в SharePoint Designer имеется 22 возможных действия: отправка сообщения по почте, назначение задачи, установка значения свойства текущего элемента, присвоение значения переменной и другие (см. рис. 12).

Рисунок 12. Создание шагов рабочего процесса в MS SharePoint Designer

Рисунок 12. Создание шагов рабочего процесса в MS SharePoint Designer

Обращаю отдельное внимание на полезное действие «Записать в журнал», которое позволяет хотя бы минимально отлаживать процессы, отслеживая значения переменных в журнале.

У процессов, созданных с помощью SharePoint Designer, есть ряд существенных недостатков:

  • процесс может работать только с тем списком (библиотекой), к которому он привязан;
  • нет функционала для реализации циклов/обработки коллекций значений;
  • процессы нельзя отлаживать (за исключением явной записи значений переменных в журнале);
  • нет интеграции с InfoPath/возможности разработки собственных форм.

Впрочем, можно расширить функциональность процессов, создаваемых в SharePoint Designer.

Для этого можно написать собственные действия (Custom Activity). В такое действие, например, можно поместить запрос к другому списку, и таким образом обойти одно из ограничений SharePoint Designer.

Создание Custom Activity

Создать собственное действие можно с помощью MS Visual Studio. Для работы с workflow в Visual Studio необходимо предварительно скачать и установить WWF Visual Studio Extensions [5].

Чтобы создать Custom Activity для SharePoint, нужно указать в списке ссылок (References) библиотеки Microsoft.Sharepoint.dll и Microsoft.Sharepoint.WorkflowActions.dll (находятся в папке «%PROGRAMFILES%\Common Files\Microsoft Shared\Web Server Extensions\12\ISAPI\»).

Примеры Custom Activity можно найти в Enterprise Content Management Starter Kit for 2007 Office System (ECM Starter Kit), который можно скачать на сайте Microsoft в составе MOSS SDK[1].

Для разработки собственных действий в Visual Studio необходимо создать проект типа Workflow Activity Library (библиотека действий), для каждого действия описать необходимые свойства (входные и выходные параметры) и, наконец, переопределить метод «Execute(ActivityExecution

Context executionContext)», в котором и выполняется действие.

Пример простейшего действия, которое получает электронный адрес пользователя по его логину:

using System;

using System.ComponentModel;

using System.ComponentModel.Design;

using System.Collections;

using System.Drawing;

using System.Workflow.ComponentModel;

using System.Workflow.ComponentModel.Design;

using System.Workflow.ComponentModel.Compiler;

using System.Workflow.ComponentModel.Serialization;

using System.Workflow.Runtime;

using System.Workflow.Activities;

using System.Workflow.Activities.Rules;

using Microsoft.SharePoint;

using Microsoft.SharePoint.WorkflowActions;

namespace MyActivities

{

    public partial class getEmail: SequenceActivity

    {

           public getEmail() {

                 InitializeComponent();

           }

        //Описываем свойство __Context, в нем хранится информация

        //о веб-приложении, из которого было вызвано действие

        public static DependencyProperty __ContextProperty = \

           System.Workflow.ComponentModel.DependencyProperty.Register("__Context", typeof(WorkflowContext), typeof(getEmail));

        [Description("Context")]

        [ValidationOption(ValidationOption.Required)]

        [Browsable(true)]

        [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]

        public WorkflowContext __Context {

            get {

                return ((WorkflowContext)(base.GetValue(getEmail.__ContextProperty)));

            }

            set {

                base.SetValue(getEmail.__ContextProperty, value);

            }

        }

        //Описываем свойство, в котором будет храниться логин пользователя

        public static DependencyProperty LoginProperty = \

           System.Workflow.ComponentModel.DependencyProperty.Register("Login", typeof(string), typeof(getEmail));

        [Description("Login")]

        [ValidationOption(ValidationOption.Required)]

        [Browsable(true)]

        [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]

        public string Login {

            get {

                return ((string)(base.GetValue(getEmail.LoginProperty)));

            }

            set {

                base.SetValue(getEmail.LoginProperty, value);

            }

        }

        //Описываем свойство, в котором будет храниться электронный адрес пользователя

        public static DependencyProperty EmailProperty = \

           System.Workflow.ComponentModel.DependencyProperty.Register("Email", typeof(string), typeof(getEmail));

        [Description("Email")]

        [Category("Email")]

        [Browsable(true)]

        [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]

        public string Email {

            get {

                return ((string)(base.GetValue(getEmail.EmailProperty)));

            }

            set {

                base.SetValue(getEmail.EmailProperty, value);

            }

        }

 

        //Переопределяем метод, в котором выполняется само действие

        protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext) {

            SPWeb web = this.__Context.Web;

            SPUser user;

            if (Login != "") {

                user = web.AllUsers[Login];

                if (user != null)  {

                    Email = user.Email;

                }

            }

            return base.Execute(executionContext);

        }

    }

}

Dll, содержащую библиотеку действий, необходимо подписать ключом strongnamekey (это также можно сделать с помощью Visual Studio, в меню «Свойства проекта», вкладка «Signing») и скопировать в Global Assembly Cache (GAC) (папка «%SYSTEMDRIVE%:/windows/assembly») на сервере SharePoint.

Новую библиотеку с действиями необходимо указать в файле web.config для того веб-приложения, где эти действия понадобятся. В секцию «<System.Workflow.ComponentModel.WorkflowCompiler>» нужно добавить следующую строку:

<authorizedType Assembly=" MyActivities, Version=1.0.0.0, Culture=neutral, PublicKeyToken= e5a54ffdbc212e2a " \

Namespace="MyActivities" TypeName="*" Authorized="True" />

Наконец, чтобы SharePoint Designer показывал описание действия и поля для ввода/вывода параметров, действие необходимо описать в специальном файле с расширением .ACTIONS, который нужно сохранить «%PROGRAMFILES%\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\[LCID]\Workflow», где [LCID] – языковой идентификатор, для русского языка это 1049, для английского – 1033.

Например, файл .ACTIONS для вышеприведенного действия будет выглядеть так:

<?xml version="1.0" encoding="utf-8" ?>

<WorkflowInfo>

  <Actions Sequential="then" Parallel="and">

      <Action Name="Получить email по логину пользователя"

      ClassName="MyActivities.getEmail"

      Assembly="MyActivities, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e5a54ffdbc212e2a"

      AppliesTo="all"

      Category="Custom Actions">

          <RuleDesigner Sentence="Получить по %1 его %2">

             <FieldBind Field="Login" ?

                  Text="логину сотрудника" Id="1" DesignerType="TextArea" />

             <FieldBind Field="Email" Text="email" Id="2" DesignerType="ParameterNames" />

             </RuleDesigner>

             <Parameters>

             <Parameter Name="__Context" Type="Microsoft.SharePoint.WorkflowActions.WorkflowContext" Direction="In" />

             <Parameter Name="Login" Type="System.String, mscorlib" Direction="In" />

             <Parameter Name="Email" Type="System.String, mscorlib" Direction="Out" />

             </Parameters>

      </Action>

  </Actions>

</WorkflowInfo>

DesignerType указывает редактору, как отображать поле для ввода/вывода параметра. Возможны следующие варианты значения поля DesignerType:

  •  ChooseDocLibItem
  •  ChooseListItem
  • CreateListItem
  • Date
  • Dropdown
  • Email
  • Integer
  • FieldNames
  • ListNames
  • Operator
  • ParameterNames
  • Person
  • SinglePerson
  • StringBuilder
  • Survey
  • TextArea
  • UpdateListItem
  • WritableFieldNames

После перезагрузки IIS действие будет доступно в редакторе процессов SharePoint Designer (см. рис. 13).

Рисунок 13. Готовое действие (Custom Activity) в MS SharePoint Designer

Рисунок 13. Готовое действие (Custom Activity) в MS SharePoint Designer

Создание рабочих процессов с помощью Visual Studio

Более сложные рабочие процессы, в том числе с обращением к внешним данным и системам, можно разработать с помощью Visual Studio. WSS 3.0 работает с .Net Framework 3.0 и поддерживает технологию Windows Workflow Foundation (WWF).

Процессы WWF бывают двух видов – последовательные (sequential) и типа «конечный автомат» (state machine). Пример последовательного процесса – рабочий процесс, созданный с помощью SharePoint Designer, когда шаги выполняются по очереди, пока последнее действие не завершится.

«Конечный автомат» представляет собой набор состояний, переходов и действий. В результате определенного события может происходить переход от одного состояния к другому, в процессе перехода выполняются некоторые действия. Переход в конечное состояние означает завершение процесса.

ECM Starter Kit включает шаблоны рабочих процессов, а также примеры готовых рабочих процессов – как последовательных, так и типа «конечный автомат».

В Visual Studio после установки WWF Visual Studio Extensions появляется специальная палитра компонентов для работы с Workflow. Общую схему процесса можно строить с помощью визуального редактора (см. рис. 14).

Рисунок 14. Работа с workflow в Visual Studio

Рисунок 14. Работа с workflow в Visual Studio

Но даже для разработки простого процесса WWF в Visual Studio потребуется написание кода и ряд действий по настройке, поэтому в рамках статьи я не буду рассматривать эту задачу подробно. Руководство для разработчика вы можете найти в MSDN [3] или в MOSS SDK [1].

В рабочих процессах можно использовать три вида форм:

  • для запуска процесса и установки первоначальных параметров;
  • для корректировки параметров и состояния, когда процесс уже работает;
  • для взаимодействия с пользователем, когда ему требуется выполнить задачу в рамках рабочего процесса.

Для разработки форм можно воспользоваться редактором Microsoft Office InfoPath, однако для интеграции workflow с формами InfoPath необходима корпоративная лицензия SharePoint (Enterprise Edition). Чтобы рабочий процесс мог получить информацию из формы, необходимо создать соответствующий класс с описанием данных. Это можно сделать следующим образом:

  • сохранить из InfoPath для этой формы файл со схемой .xsd;
  • с помощью утилиты xsd.exe, которая доступна из командной строки Visual Studio, автоматически сгенерировать соответствующий C#-класс;
  • включить этот класс в проект с рабочим процессом.

Опубликовать готовый рабочий процесс на сервере можно с помощью feature (возможность) – описать информацию о рабочем процессе в xml-файлах специального формата, которые необходимо разместить в директории «%PROGRAMFILES%\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\[Название feature]». После этого возможность установливается и активируется с помощью специальных команд утилиты stsadm. Подробное руководство по использованию возможностей можно найти в MSDN [4] или в MOSS SDK [1].

В отличие от процессов, разработанных с помощью SharePoint Designer, процессы WWF можно запускать из любой библиотеки документов или списка, точно так же, как и стандартные процессы.

С помощью Visual Studio можно также отлаживать рабочие процессы – устанавливать брейкпойнты, просматривать переменные. Для отладки рабочего процесса необходимо запустить Visual Studio на сервере, установить необходимые брейкпойнты и выбрать пункт меню «Attach to process…». Далее нужно установить галочки «Show processes from all users» и «Show processes in all sessions» и выбрать процесс «w3wp.exe» (если таких процессов несколько, то выбрать все). Если такого процесса в списке нет, откройте в браузере один из сайтов, который использует соответствующее приложение SharePoint, и обновите список процессов.

Отладку процессов не рекомендуется проводить на рабочем сервере, т.к. это может существенно отразиться на его быстродействии.

Мониторинг процессов

Просмотреть состояние рабочего процесса можно из списка (библиотеки документов), где процесс был создан. В представлении данных рядом с документом, к которому привязан процесс, появляется колонка с названием процесса, в которой отображается его состояние – «В ходе выполнения», «Завершен» или «Ошибка».

Если нажать на состояние процесса, можно просмотреть подробную информацию о его состоянии и журнал процесса (см. рис. 15, 16).

Рисунок 15. Состояние всех процессов, относящихся к документу

Рисунок 15. Состояние всех процессов, относящихся к документу

Рисунок 16. Подробная информация о текущем процессе «Три этапа»

Рисунок 16. Подробная информация о текущем процессе «Три этапа»

В свойствах списка/библиотеки, в разделе «Параметры рабочих процессов» доступны отчеты в формате xslx по рабочим процессам в данном списке/библиотеке: отчет о длительности работы и отчет об отменах и ошибках. Это отчеты представляют собой сводную таблицу на основе журнала процессов.

Платформы для работы с workflow, интегрируемые с SharePoint

И все-таки в качестве платформы для реализации сложных систем документооборота с множеством процессов SharePoint на данном этапе оставляет желать лучшего.

Во-первых, в SharePoint нет средств полноценного мониторинга запущенных процессов. Невозможно просмотреть в едином списке все запущенные на сервере процессы, невозможно просмотреть, на каком шаге находится текущий процесс (если только записывать явным образом в журнал информацию о завершении каждого действия), и тем более увидеть это на схеме процесса. Да и сами схемы процессов доступны только программистам, у которых установлен Visual Studio. Отсутствуют средства поиска процессов, информирования администратора об ошибках, построения сквозной отчетности по процессам из нескольких списков.

Во-вторых, инструменты разработки процессов все еще оставляют желать лучшего. Хотя WWF и предоставляет достаточно мощные возможности для разработки процессов, однако при этом требуется участие высококвалифицированных программистов, к чему готовы далеко не все организации. Простой инструмент – SharePoint Designer – предоставляет лишь весьма ограниченные возможности и не позволяет отобразить процесс графически.

Логичным представляется использование некоторой внешней платформы для поддержки workflow, которая хорошо интегрируется с SharePoint, используя все его преимущества.

Одним из таких вариантов может быть Microsoft Biztalk Server. Его внедряют в тех случаях, когда помимо human workflow (т.е. процессов с участием людей) требуется сложное межсистемное взаимодействие, например, в биллинговых системах.

Однако Biztalk Server – мощная и дорогая платформа, использование которой не всегда оправдано. Более подходящие и более экономичные решения можно найти у сторонних производителей или партнеров Microsoft. Например, российский программный продукт Docsvision (http://docsvision.com) включает как собственные средства разработки процессов, так и поддержку WWF, а дополнительный шлюз обеспечит взаимодействие с SharePoint. Свои решения для организации workflow, интегрированные с SharePoint, предлагают также многие западные разработчики, например: Captaris (http://www.captaris.com), Skelta (http://www.skelta.com), K2 (http://www.k2workflow.com), Nintex (http://www.nintex.com) и др.

Заключение

Стандартные процессы SharePoint могут покрыть лишь минимальные потребности документооборота в небольшой компании. Редактор SharePoint Designer, особенно при участии программиста для разработки Custom Activity, существенно расширяет возможности создания рабочих процессов, и с его помощью можно автоматизировать ряд типовых задач по работе с документами. Однако если требуются более сложные процессы, включающие взаимодействие с внешними системами, необходима разработка WWF с помощью Visual Studio и квалифицированных программистов.

Таким образом, если workflow используется в небольшом объеме и для построения несложных процессов, то возможностей самого SharePoint для поддержки рабочих процессов может оказаться достаточно.

Если же требуется построить сложную систему документооборота со многими рабочими процессами, то стоит задуматься, использовать ли SharePoint или предпочесть иную платформу. Причем если в организации для других целей SharePoint уже активно применяется, то имеет смысл использовать платформу с возможностью интеграции с SharePoint, благо производители предлагают неплохой выбор вариантов.

  1. Enterprise Content Management Starter Kit for 2007 Office System – доступен в составе SharePoint Server 2007 SDKhttp://www.microsoft.com/downloads/details.aspx?FamilyID=6d94e307-67d9-41ac-b2d6-0074d6286fa9&DisplayLang=en.
  2. Microsoft Office SharePoint Designer – http://office.microsoft.com/en-us/sharepointdesigner/default.aspx.
  3. MSDN Developer Introduction to Workflows for Windows SharePoint Services 3.0 and SharePoint Server 2007 – http://msdn2.microsoft.com/en-us/library/ms406057.aspx.
  4. MSDN. Working with features – http://msdn2.microsoft.com/en-us/library/ms460318.aspx.
  5. Visual Studio 2005 extensions for .NET Framework 3.0 (Windows Workflow Foundation) – http://www.microsoft.com/downloads/details.aspx?FamilyID=5d61409e-1fa3-48cf-8023-e8f38e709ba6&DisplayLang=en.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru