Vous êtes sur la page 1sur 18

http://www.openwfe.

org

OpenWFEmeansOpensourceWorkflowEngine itisthoughmorethanaworkflowengine, itisabusinessprocessmanagementsuite

Theengineinterpretsandruns BusinessProcessDefinitions

Engine

Itcanrunmanyinstancesofeach ofthosedefinitions

ABusinessProcessDefinition describesthetransitionofWorkitems betweenparticipants AParticipantisusuallymappedtoarole inanorganization.Theroleis'performed' byahuman(auser)orbyanautomated participant. AWorkitem,dependingontheflow,could representatask,asetoffiles,arequest,...

interpretsandrunsprocessdefinitions Engine

storesworkitemsforusers Worklist hostsautomaticparticipants Apre

webaccesstotheWorklist Webclient TheOpenWFEsuiteconsistsof4components

ParticipantMap

Engine

SocketListener

Theenginereliesmainlyon2services: TheParticipantMap AListener(usuallyasocketlistener) TheMapcontainsinformationabouthowtodispatchworkitemstothe participants. TheListener'listens'forworkitemscomingbackfromparticipants.

ParticipantMap

Engine

Apre Worklist

TheParticipantMapisusedbyalotofcomponents. Thesecomponentsareregisteredinthemap,sothateveryoneofthem canaskthemaphowtodispatchaworkitemtoanyother. TheParticipantMapisbydefaultanXMLfile,butitcaneasilybe implementedasanLDAPdirectory.

Worklist Engine Apre


SocketDispatcher SocketListener SocketDispatcher SocketListener

Listenersliveaslongasthecomponenttheyserve. Dispatchersareinstantiatedjustforthetimeofadispatch

Worklist

WorkitemStore SocketListener SocketListener

AWorklistisasetofWorkitemStores. Thereisusuallyonestoreperparticipant(perrole). Thereiscurrently2implementationsofaStore,onethatkeepsitems infilesandonethatstoretheminarelationaldatabasesystem. (MySQLandPostgreSQLforinstance,oranySQL92compliantDB)

RMIworksession

Webclient
RESTworksession

Worklist

TheWorklistcomponentexposesaWorksessioninterfacethatenables itsclientstomanipulatetheworkitemsinitsstores. Thisworksessionalsocontainsmethodsforlaunchingprocesses(creating runningworkflowinstancesfromworkflowdefinitions). Thereis2implementationsofthisinterface,aRMIoneandaRESTone. ASOAPworksessioninterfacewillperhapsbeimplementedsomeday.

policyservice

Worklist

TheWorklistgrantsworksessionstousers. Usersarenotdirectlyparticipants,usersaregivenaccesstostores andflowsthattheymaylaunch. Accessinformationforusersisgatheredina'policyservice':a directoryofusers,passwordsandsetofpermissions(onstoresand flows). Thedefaultimplementationofthepolicyservicestoresthisinfoina filenamedpasswd.xml.Otherimplementationsareofcoursepossible.

QueryWorkitemStore

Forsomeorganizations/setofprocesses,it'sbettertousea QueryWorkitemStore. It'sastorewhereeachuserisassignedaquery,givingthema'view' onthestore. Thosequeriesselectworkitemsbasedontheirfields'content. AsingleQueryWorkitemStorecouldreplacetheclassicalsetof 'onestoreperparticipant/role'.

Webclient

TheWebclientinteractswiththeworklistforahumanenduser. TheWebclientshippingwithOpenWFEasreleasedisageneric webclient,youmightconsiderimplementingyourowntohide allthedetailstoyourendusersandprovidingthemaninterface 'todojustwhattheyhavetodo'.

Apre

Agent SocketListener SocketListener

TheAprecomponenthostsagents. ApremeansAutomaticParticipantsRuntimeEnvironment Thoseagentsare'automaticparticipants',theytakeasinputincoming workitems,takeactionsbasedoninformationinthem,eventuallymodify themandthenfeedthembacktotheApre,whichsendsitbackto theEnginefortheflowtoresume.

Agent

ThestandardReactorisajavacomponentthatcanhostjavaorjythonagents. (jythonisanimplementationofpythoninjava,itallowstorapidlydevelop/ prototypeagents). ThereisalsoaPyyaApre,anaprefullyimplementedinpython,which opensthewealthofpythontoOpenWFE. Exampleofagents: agentsthatsumitemslistedinthefieldofaworkitemand storeanewfieldnamed'sum' agentsthatinsertvaluesoftheworkitemintoadatabase agentsthatprintdocumentsreferencedintheworkitem ...

owfepyyaclient owfedotnetclient

RMIworksession RESTworksession

Worklist

PyyaisapythonlibraryforaccessingtheWorklistthroughaREST worksession. YoucanthusinteractwiththeOpenWFEsuitefromyourpython applicationveryeasily:simplysetupapyyaWorkSessioninstance pointingatthehostandportrunningtheRESTworksession. OpenWFEdotnetprovidesthesamebutiswritteninC#andcanbe compiledasaDLL,forinterfacingyour.NETapplicationswith theOpenWFEsuite.

OpenWFEisOpenSourceSoftware ItisdistributedunderaBSDrevisedlicense. Thislicensemeansthatyoucanuseitforfree,youcanmodifyit forfree,youcansellproductsembeddingitwithnorestriction.

Features

ImplementedinJava Veryopenandflexible Bydefault,storeseverythinginthefilesystem MaypersistinMySQLorPostgreSQL(SQL92) WorklistprovidesaRESTinterface (lightweightwebserviceinterface) Robustandfailureresilient

Vous aimerez peut-être aussi