在工作流开源项目汇总中介绍了一些开源的工作流项目,其中第(13)个就是Enhydra Shark,该项目是由Teamlösungen EDV-Dienstleistungen GmbH. 开发的,它们将其商业解决方案的基本功能开放源码,形成了开放源码的工作流解决方案。其商业化的工作流解决方案由Together Workflow Server 和 Together Workflow Editor Workshop 组成,开放源码的工作流解决方案则由Enhydra JaWE 和 Enhydra Shark 组成。
其解决方案的介绍ppt可以由Shark工作流解决方案英文版.ppt下载阅读,我在这里简单介绍一下。
该ppt里主要介绍了三个主题:
1、工作流技术的基本介绍
1) What is Work Flow technology
2) What is Workflow
3) What is Workflow Management System
4) WFM systems – support in three functional areas:
-the Build-time functions
-the Run-time control functions
-the Run-time interactions with human users and IT application tools
5) What is Workflow Enactment Service
6) What is Workflow Engine
通常工作流产品结构
Shark工作流解决方案结构
2、Enhydra JaWE / Together Workflow Editor 的基本介绍
1) Graphical application for XPDL Process Definition Modeling.
2) Makes creating and editing XPDL easy.
3) Uses swim lines to represent participants of the process.
4) Every XPDL element has property panel for editing element properties.
5) Final output of modeling process is a XML file based on XPDL schema
6) XPDL created by TWE can be interpreted by any XPDL workflow engine
7) Accomplished three main goals:
- Graphical representation of process definition
- Export of process definitions to XPDL
- Import of any valid XPDL and its graphic representation
Workflow Process Definition
Activity
Together Workflow Editor GUI
3、Enhydra Shark / Together Workflow Server 的基本介绍
1) Workflow engine that executes processes based on XPDL definition.
2) Completely based on standards defined by WfMC and OMG
3) A library that can be embedded in WEB/Swing/Console application, or it can be deployed as CORBA service, WEB service, EJB service, RMI service, …
4) Supports automated, manual and mixed workflow processes
5) Extensible work item allocation algorithms.
6) Activities are automated through an extensible system of Tool Agents
7) Human interactions are managed through work items
8) Through a worklist API shark clients are able to manage work items.
9) Fully transactional behavior with JTA support
10) Can be used in a cluster scenario
11) Easy change of DB used for persistence via DODS. It includes scripts for creating tables for DB2, HSQL, MSQL, MySQL, Oracle, PostgreSQL,
12) A lot of possibilities to configure engine thanks to its nice architecture
13) Each shark component has an API, and default implementation(s)
14) Standard implementation simply replacable by the custom ones
15) Even the kernel itself can be tuned-up.
16) Default kernel does not use proprietary extensions of XPDL (extended attributes)
17) Supports ToolAgent concept defined by WfMC.
18) Comes with several useful tool agents already defined
19) Supports deadline handling and XPDL exception transitions
20) Possible callback to shark from its components
21) Can use custom Java classes as variables
22) Appearing of deadlocks is minimized thanks to the DODS buffer transaction.
23) Supports XPDL definition update