15 Глава 5 Испытания и анализ - umotnas.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Название работы Кол-во страниц Размер
Глава Агротехника выращивания салатного лука Глава Исследование Методика... 1 192.46kb.
3 Глава 1: Теоретические аспекты операций по слиянию и поглощению... 3 591.68kb.
Экономический факультет 8 3922.9kb.
1. Основные понятия тв 2 449.67kb.
Экономический факультет 10 3899.79kb.
Глава Истоки религиозности Глава Религия человечества Глава Вера... 1 198.11kb.
Программа вступительного испытания по дисциплине «Обществознание» 1 211.86kb.
Книга первая глава 1 о том, что знание есть незнание глава 2 предварительный... 6 1983.33kb.
3 Глава I история вопроса 4 Глава II организация исследований аудитории... 1 134.87kb.
О пользе и вреде от телесных подвигов глава 36 о ревности душевной... 4 1598.2kb.
Глава Янъу – первое реформаторское движение глава Предпосылки новой... 1 146.48kb.
Карточка заказчик: Интернет-магазин «Хит Комфорт» 1 28.97kb.
Викторина для любознательных: «Занимательная биология» 1 9.92kb.

15 Глава 5 Испытания и анализ - страница №1/1


Управление процессами





15

Глава 5

Испытания и анализ



5.1. Сравнение с существующими системами
5.1.1. OpеnWFE
Описание
Из Open-Source продуктов мы решили начать обзор с JAVA ориентированной системы OpenWFE (www.openwfe.org). Для ее развертывания не нужно J2EE, серверов приложения или ORB брокеров. Кроме того она предоставляет библиотеку доступа для .NET.
В обзоре OpenWFE упомянута по нескольким причинам: во-первых – это единственная система которая учла замечания [18] и реализовала полный набор workflow примитивов. В следующих версиях планируется реализация импорта/экспорта XPDL. Во-вторых она довольно проста и понятна и может служить начальным пособием по системам подобного типа.
Подсистема описание процессов
В качестве набора примитивов используются 20 примитивов, описание которых можно найти на сайте http://www.workflowpatterns.com.

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




Степень соответсвия примитивам из workflow patterns

Все

Модульность форматов

Планируется

Поддрежка XPDL

Нет

Поддерджка различных систем хранения

Да (XML, MySQL, PostresSQL)


Интерфейс прикладного программирования
При проектировани API, авторы системы не ориентировались ни на один стандарт описанный WfMC. Единственным требование были простота, наглядность и очевидность. В OpenWFE нет возможности взаимодействия с другими системами посредством общепринятых стандартов.

Система поддерживает внутренний тектовый протокол REST.




Поддерджка базовых примитивов

Да

Поддержка нтерфеса 2/3

Нет

Степень открытости

Поддердивает модули (reactors)


Подсистема хранения сообщений
В качестве системы хранения может использоваться MySQL, PostgresSQL и обычные XML файлы. Самой стабильной подсистемой хранения является XML Storage.

Что касается структуры сообщений (объектов, которые передаются от активности к активности), то здесь могут выступать любые объекты сконструированные из такого набора аттрибутов, как основные скалярные типы, хэштаблицы, списки, файлы.



Дополнительные возможности
Существуют две библиотеки внешнего доступа: это Python и .NET библиотеки. В качестве дополнительных средств, в этом продукте уделено внимание модулям-агентам, которые взаимодействуют с сервером в автоматическом режиме (reactors). Эти модели можно разрабатывать на .NET или Python.
Подсистема защиты
Подсистема защиты представляет собой упрощенную систему пользовтелей – прав. Нету поддержки групп.


Клиентские компоненты
В качестве клиентов в поставку взодит несколько утилит:


  • Полнофункциональный веб клиент,

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

  • Администратор, где выставляются права и политики для пользователей.

Рис. 1.1. Редактирование сообщения (слева) вместе с историей (на правом плане).




Рис. 1.2. Список задач.


Рис. 1.3. Администратор системы.


Рис. 1.4. Проектирование процесса.


Заключение
В целом соблюдение стандарта WfMC при разработке этого продукта было не главной целью. Разработчики в основном ориентировались на интуитивно-понятную систему классов, а при разработки формата хранения описания процесса использовались последние достижения в этой области.
Уделено должное внимание подсистеме защиты.
API достаточно простое. Есть библиотека доступа для .NET с примерами.
Система распространяется в открытых исходных текстах, доступных на www.openwfe.org.
Интерфейсы 4 и 5 не поддерживаются и не планируются.
Данний проект носит учебный ознакомительный характер с достаточно мощной функциональностью для начала реализации более функциональной системы.
5.1.2. Skelta
Описание
Про коммерческий продукт Skelta можно узнать на форуме http://www.workflow-research.de/Forums, который указан в качестве источника получения допонительной информации на www.wfmc.org.
Как отмечено в [20] существует два подхода к разработке workflow систем state based systems и executional business processes. WfMC описывает state ориентированный подход к описанию систем. Skelta же использует принципиально другую методологию проектирования, поэтому обзор этой системы в контексте соответсвия стандарту WfMC не совсем корректен. Здесь мы постараемся сначала выделить общие части и провести анализ функциональной целостности предметной области workflow систем, а именно передачи сообщений от активностям к активностям, процессы, цепочки прохождения документа. С внешней точки зрения как state based системы так и executional businness системы выглядят одинаково. Поэтому для skelta обзор будет вестись в другом ключе.
Skelta - это web-базированая система, ориентированная на интеграцию с другими ASP .NET системами.

Кроме библиотеки управления workflow, в состав продукта входит набор web-control'ов, которые позволяют:




  • просмотривать список задач, назначеных пользоаптелю,

  • ввести данные по указаной задаче,

  • создавать новые workflow и управлять существующими.

Все манипуляции осуществляются через окно internet-browser'а.

Так же skelta предоставляет функциональность, для уведомления пользователя через различные средства общения: e-mail, messanger, и д.р.
Skelta ориентирована на Executional Process модель. Это означает, что экземпляры workflow (workflow instance или Process) являются програмными процессами, которые составлены из Actions и выполняются на машине, где установлена skelta (XXX не запутался ли я? там есть Action и Activity...).
Action - элемент программной логики, который исполняются в предоставляемом окружении и реализующий необходимый программный интерфейс (Workflow.NET.Engine.Interfaces.IActionRun).

Skelta прозволяет писать action на языках .NET или VBScript .NET/JScript .NET.


Сервисы, предоставляемые Skelta:


  • в качестве сервиса WebService, с некоторыми функциями управления workflow (Execute, Abort, Pause, Resume, AlertEngine) но фикакой функциональности для получения информации о существующих Workflow или

  • в качестве библиотеки расширенную функциональность.

  • для UI Web-контролы и классы, которые рисуют workflow-диаграммы (могут быть использованы в GUI)

  • дополнительно средства взаимодействия с e-mail

  • набор базовых Actions: Notification, Rule, Seek Approval, E-Mail Notification.


Ограничения
Следует отметить, что skelta ориентирована исключительно на использование в Web. Очень плохая документация.
Action'ы зыпускаются на стороне сервера, о этому, в рамках распредеоенной системы потребуется дополнительное построение механизмов взаимодействия с Action. При этом, в процессе взаимодействия на все время работы Activity будут заняты серверные ресурсы, что может быть критично.

Оличный полигон, для дмонстрации интеграционных способностей .NET инфраструктуры: даже такую лажу



можно заинтегрировать к чему угодно, если хорошенько пописать на C#!
Подсистема определения процессов
Система классов, которые предоставляют доступ к примитивам, с помощью которых конструируется бизнесс-процесс строится с использованием Web клиента. Нету документации на формат сохраненного процесса. Персистентные (сохранненые) процессы хранятся прямо в реляционном формате, который тоже не докумнтирован.


Степень соответсвия примитивам из workflow patterns

Нет

Модульность форматов

Нет

Поддрежка XPDL

Нет

Поддерджка различных систем хранения

Да (Access, MS SQL)


Интерфейс прикладного программирования
Точки входа в обработчики Action-ов задаются как ссылки на соотв. Assemblies прямо в XML файлах. Сама система классов довольно громоздкая и неинтуитивная. Изучение изучение системы может занять довольно значительное время.
Значительная часть классов системы ориентированная на разработку в ASP.NET среде для Web.


Поддерджка базовых примитивов

Нет

Поддержка нтерфеса 2/3

Нет

Степень открытости

Низкая, ничего не документировано


Подсистема хранения сообщений
В качестве системы хранения поддерживаются только Microsoft Access (Jet DB) и MS SQL.
Клиентские компоненты
В качестве клиентов в поставку взодит набор ASPX страниц. Для будущих приложений предоставляется библиотека, которая является довольно низкоуровневым слоем.
Дополнительные возможности
В качестве дополнительных понктов можно отметить различного рода уведомления (E-Mail уведомления, уведомления Action-ов). Кроме того можно писать свои обработчики бизнес-правил на С# компилируя их в библиотеки и подключая непосредственно в описания процессов, которые в терминологии Skelta называются конфигурационными файлами.
Заключение
Подводя итоги лдя столь неоднозначного продукта отметим следующее. Предназначение этой системы разработка Web порталов с использованием ASP.NET технологии. Сама Skelta предоставляем собой начала системы уведомлений типа таки как есть в целом классе Rule Based систем (ECA). Но сбработчики событий не имеют возможности персистентного хранения как в классических ECA системах.
Кроме того сама библиотека предоставляет собой довольно низкий уровень workflow engine. Таким образом для создание системы на базе Skelta придется разрабатывать дополнительные интерфейсы и форматы хранения данных, не говоря уже о средставах клиентского доступа.
Не смотря на значительный объем системы классов в качестве универсального средства обработки последовательностей документов – Skelta неудачный выбор, поскольку ориентирован на работу в окружении набора ASPX страниц, упрощая взаимодействия между ними.
Если же такие особенности системы, как ориентированность на обработчики событий и ассоциации с Action-ами, действительно нужны системному интегратору Workflow системы, то мы рекомендуем рассмотреть классические Rule Based системы Workflow. Кроме того рекомендуем обраттся к базовой теории по ECA системам.
5.1.3. Shark
Описание
Shark – еще один представитель Open-Source продуктов. Написан с использованием JAVA. Project Web Page (http://shark.objectweb.org/). В Shark обявлена поддержка основных интерфесов WfMC. Есть поддержка в полном объеме XPDL (Interface 1) и AWSP (Interface 4) а также WfMC API. В составе системе поставляется CORBA Server. Управление рабочими группами осуществляется через LDAP.
Архитектура
Клиентские:


  • CORBA Swing Admin/WorkList

  • POJO Client

Публичные:




  • CORBA API

  • WfMC Instance API

  • Admin

Компоненты ядра:




  • Event and Audit API

  • Authentication API

  • Transaction API

  • Process Locking

  • Logging API

  • Caching API

  • Security API

  • Integration API (Wf-XML 2.0)


Подсистема определения процессов
В качестве базового используется XPDL формат описания бизнес-процессов. Модульность форматов не поддерживается.


Степень соответсвия примитивам из workflow patterns

Нет

Модульность форматов

Нет

Поддрежка XPDL

Да

Поддерджка различных систем хранения

Да

Интерфейс прикладного программирования
Авторы системы подшли дальше стандартов WfMC. В составе интерфеса программирования присутсвует различная поддержка уведомлений, и т.д. За снову брасля стандарт OMG Описанный в [23]. Основные классы для работы клиента выглядят следующим образом:


WfActivityIterator

WfAssignment

WfAssignmentEventAudit

WfAssignmentIterator

WfCreateProcessEventAudit

WfDataEventAudit

WfEventAudit

WfEventAuditIterator

WfExecutionObject

WfProcess

WfProcessIterator

WfProcessMgr

WfRequester

WfResource

WfStateEventAudit

Интерфейсы, ядра:




CallbackUtilities

ObjectFactory

PersistenceInterface

ToolAgentManager

WfActivityInternal

WfAssignmentEventAuditInternal

WfAssignmentInternal

WfCreateProcessEventAuditInternal

WfDataEventAuditInternal

WfEventAuditInternal

WfExecutionObjectInternal

WfProcessInternal

WfProcessMgrInternal

WfRequesterInternal

WfResourceInternal

WfStateEventAuditInternal

Таким образом, можно отметить, что поддержка интерфейса 2/3 формально не соблюдена но в целом API достаточно похоже. С учетом поддержки интерфейсов 1 и 4 можно сказать, что в целом авторы старались максимально соответсвовать требованиям WfMC. Вопросы формальной соответсвия стандартам остаются открытыми.


Резюмируя, по критериям, отметим:


Поддерджка базовых примитивов

Да

Поддержка нтерфеса 2/3

Нет, частично

Степень открытости

Высокая


Подсистема хранения сообщений
В качестве системы хранения могут использоваться такие хранилища:


  • DB/2

  • HypersonicSQL

  • Informix

  • MS SQL

  • MySQL

  • Oracle

  • PostgreSQL

  • Sybase


Клиентские компоненты
В качестве клиентов в поставку взодит Java Swing приложение для работы с WorkList-ом.
Для работы с XPDL предполается использование внешнего графического редатора XPDL файлов JaWE (jawe.objectweb.org) входящего с состав семейста Enhydra.
Рис. 3.1.Создание процесса


Рис. 3.2. Swing CORBA Client/Admin


Рис. 3.3. Worklist Web Client


Заключение
Несомненно, главной целью при разработке, Shark было соблюдение стандартов WfMC. Более того ниша этого продукта – это распределенные гетерогенные системы где используються CORBA сервисы. Для больших предприятий, где уже есть специалисты по разворачиванию приложений использующих CORBA приложения, которые хотят попробовать довольно большую, мощную систему в исходных кодах – Shark удачный выбор. Кроме WfMC роководители проекта ориентируются также на стандарты других организаций, таких как OMG (Object Management Group – www.omg.org).
Shark входит в состав более широкой системы Enhydra (www.enhydra.org) которую разработчики сравнивают с Apache, но с учетом бизнес требований для электронного бизнеса.

Также следует посмотреть (www.objectweb.org) – здесь находится консорциум который курирует этот проект. Список решений (solutions) в состав которых входит workflow engine Shark представлена на странице solutions.objectweb.org.


Тамким образом, в целом Shrak входит в состав довольно крупного проекта, который имеет солидных спонсоров, идеи заложенные в проект могут служить хорошим примером, как реализации так архитектуры системы.
В системе поддерживаются все основные интерфейсы WfMC включая Wf-XML 2.0 (Interface 4).
5.1.4. K2.NET 2003
Описание
К2 – единственный представитель на сегодняшний день state based workflow систем написанных на .NET. Его API польностью совместимо с WfMC, за исключением разве, что переименованых классов Transition -> Line. API очень доступное, наглядное, это несмотря на очень хорошую документацию. Мы полагаем что пользоваться API будет довольно удобно. С помощью этой системы можно строить не только примитивные процессы, но и основные примитивы использующие синхронизацию и т.д.
Основным методом для доступа к egine являются .NET библиотеки. В качестве объектов передаваемых как сообщения по переходам являются Xml-объекты, т.е. универсальные объекты.
Для каждой активности вы можете написать свой С# код, который исполнится при инициации активости.
Система поставляется с полным спектром компонентов: Server, DB, MMC Snap-in, Web Access, Process Designer Studio, который компилирует процессы в .NET Assemblies.
Подсистема определения процессов
В качестве формата описания процесса используется в некоторой степени видоизмененная версия XPDL. Но гораздо более функциональная. Так как в самом формате можно держать код написанный на С#, что обеспечит целостность описания процесса.


An extent of conformance to the primitives from workflow patterns

Yes


Modularity of formats

No


XPDL support

Not quite

Support of various storage systems

MS SQL


Интерфейс прикладного программирования
API разделяется на две части, одна представляет собой средства доступа в Run Time to Worklist and its items, другая предоставляет собой Сore классы из которых построена система, эти классы используются в основном для проектирования процессов.


Support of the basic primitives

Yes


Support of the Interface 2/3

Yes

Extent of an openness

Enough Powerful


Подсистема хранения сообщений
Все данные хранятся в MS SQL сервере. Кроме того значительное внимание уделено системе отчетности, что требуется интерфейсом 5 WfMC стандарта.
Дополнительные возможности
Заявлена интеграция с такими продуктами Microsoft:


  • Microsoft Excahnge Server (в качестве системы нотификации)

  • Microsoft Office

  • Microsoft SharePoint Portal Server

  • Microsoft Content Management Server

  • Microsoft BizTalk Server


Защита
Секюрити на должном уровне.
Заключение
Выводы вполне опеделенные, система красивая, функциональная удобная, соответсвует классическому взгляду на state based системы, удовлетворяет основным требованиям NovaLIS Cadastral Office. Остается открытым вопрос цены.
Как возможный ресурс для инвестирования (в качестве оправдания возможно завышеной цены) можно отметить широкий спектр интеграционных возможностей с продуктами Microsoft.
Большое внимание уделено системе статистики. А также пользовательским утилитам. Продукт в целом достаточно завершенный, с которым немедленно можно приступать к работе с минимальными затратами на адаптацию к конкретным поставленным задачам.
5.1.5. x-Tier
Описание
xTier – еще один представитель Executional Business Process Oriented Workflow систем. С этой точки зрения программная модель более всего напомниает Skelta. При создании разработчкиками была выбрана SOA (Service Oriented Architecture).
Подсистема описания процессов
Сам процесс выполенния представляет собой цепочки выполняющихся правил, которые задаются в XML файле. Каждое правило вызывает cоотв. сбоку (approriate .NET assembly). Набором таких правил в XML конфигурируетсяч процесс.


An extent of conformance to the primitives from workflow patterns

No


Modularity of formats

No


XPDL support

Not

Support of various storage systems

Oracle


Интерфейс прикладного программирования
Кроме API касающегося Workflow сервиса в полной поставке продукта существует еще набор сервисов:
Cluster, Metadata, Workflow, Configuration, Cache, Email, JNDI, JMX, Logging, Jobs, Internationalization, License, Object Pool, Transaction


Support of the basic primitives

No


Support of the Interface 2/3

No

Extent of an openness

Yes, can run .Net assemblies


Подсистема хранения сообщение
Благодаря к абстрагированию от данных которые скрываются за реализациями правил на C# исчезает необходимость использовать единую систему хранения которая идет в поставке xTier – Object Pool.
Дополнительные возможности
Кроме Workflow сервиса в поставке идут также дополнительные сервисы в соотвествии с идеологией SOA: транзакции, работы, сообщения, пул объектов, доставка почты, интернационализация, кэширование.
Защита
Систему секурити пользователь должен разрабатывать сам.
Заключение
Система xTier построена в виде микроядера на базе которого вы будете строить свои системы. Сам модуль, который отвечает за Workflow, представляет собой довольно простой механизм вызова правил находящихся в прекомпилированых сборках. Инфраструктуры развитой security нет. Для некоторых компонентов может понадобится установка сервера бизнес приложений JBoss (JAVA). Сам xTier портирован с Java на .NET.


5.1.6. Другие системы
Open Business Engine
Open Business Engine (http://www.openbusinessengine.org)

В стадии разработке, авторы ориентируются на WfMC. Продукт доступен с www.sourceforge.net только c помощью cvs.


NxBRE
NxBRE (http://nxbre.sf.net) мы приводим как пример системы не относящийся к state based системам. Это классическая Rule Based .NET система портированная с JAVA, которая преализует RuleML, кроме того поддерживает свой внутренний язык напоминающий Prolog. Эту систему можно отнести к первым интеллектуальных системам принятия решений на основе правил, где транспортом могут служить документы, что определяет класс этот системы – Rule Based Workflow Systems. Другие известные системы в этой области это Mandarax (метод резолюций), и Drools (реализующая алгоритм Rete для поиска знаний).
jBpm
jBpm, как и Enhydra Shark входит в состав более широкой системы и призвана работать в среде JBoss, JAVA операционного окружения для электронной коммерции.
OfBiz
Open For Business Engine (www.ofbiz.org). E-Commerce ориентирован на работу с клиентами. Авторы ориентируются на ERP, CRM модели. Кроме того это rule based система поддердивающая логический вывод, т.е. метод резолюций (см. «дискретная математика»).