




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1Enhydra Shark / Together Workflow Server and Enhydra JaWE / Together Workflow Editor Workshop 2Basic Introduction to Workflow Technology3Basic Introduction to Workflow TechnologyWhat is Work Flow technologyWhat is WorkflowWhat is Workflow Management SystemWFM systems support in three functional are
2、as:the Build-time functionsthe Run-time control functions the Run-time interactions with human users and IT application toolsWhat is Workflow Enactment ServiceWhat is Workflow Engine4Generic Workflow Product Structure5WfMC and Workflow Reference ModelProcess Defition ToolWorkflow Enactment ServiceWo
3、rkflow Client ApplicationsInvoked ApplicationsOther Workflow Enactment ServiceAdministration & Monitoring toolsAdmin and WH ClientsShark Tool AgentsTWEShark ServerInterface 1Interface 2Interface 3Interface 4Interface 56Enhydra JaWE / Together Workflow Editor7TWE IntroductionGraphical application for
4、 XPDL Process Definition Modeling. Makes creating and editing XPDL easy. Uses swim lines to represent participants of the process. Every XPDL element has property panel for editing element properties.Final output of modeling process is a XML file based on XPDL schemaXPDL created by TWE can be interp
5、reted by any XPDL workflow engineAccomplished three main goals:Graphical representation of process definitionExport of process definitions to XPDLImport of any valid XPDL and its graphic representation8XPDL and TWEPackage the top element of XPDL schemaExternal package conceptHow does TWE support ext
6、ernal package conceptHow to create new XPDL and to define package properties in TWE9XPDL and TWEWorkflow Process DefinitionGraph and property panel representation of workflow process definition in TWE Start/End markers10XPDL and TWETypeDeclarationStandard XPDL data typesCustom data typesPackage scop
7、eProblems with a scope - external packages and application definitionsShark solution to scope problemHow to use it when defining variablesHow to define in TWEParticipant representation of users/roles/systemExternal package/Package/Workflow process scopeWhere to define - best practiceHow to define in
8、 TWETWEs Special “Arbitrary expression participant”TWEs LDAP support11XPDL and TWEApplication representation of applications to be executed at runtimeExternal package/Package/Workflow process scopeWhere to define - best practiceHow to define in TWEHow to use it from Activitys ToolFormal parameters l
9、ike a Java method parameter definitionDataField Synonymous (workflow relevant data, variable)Usage within workflow (conditions, actual parameters, ) Data types standard/customScopeHow to define in TWEHow to use it in conditions, actual parameters, deadline expressions,12XPDL and TWEActivity represen
10、ts the unit of workgenerally associated with their performers and application assignments. 13XPDL and TWEDifferent activity typesManual activityTool activityRoute activitySub-Flow activityBlock activityHow to define in TWETransitionLink between two activitiesCan describe the condition to get from th
11、e source to the target activityDifferent transition typesConditional/unconditional transitionOtherwise transitionException transitionDefault exception transitionHow to define in TWEHow does TWE validate graphical transition insertion14XPDL and TWEActivitySet Group of activities and transitions insid
12、e processExecuted by block activities When to use itHow to define in TWEExtended attributesNecessity for vendor specific attributesPrimary method to support vendor specific extensions. Defined by the user or vendor to express any additional entity characteristics How to define in TWEsimple part of E
13、xtended Attributecomplex part of Extended AttributeCan be defined for every main main XPDL entitity15TWE GUISplit into several parts: Main menu, main toolbar and info bar. 4 areas with componentsEasy to layout components differently16TWE GUIComponents: Graphdisplays the selected process or activity
14、set Graph toolbarParticipant manipulationActivity and transition manipulationStandard editor functions: inserting, moving, selecting and deletingDouble click, right click functionalityXPDL ViewText view of the selected elementHighlighting Search function(Graph) Overview overview of the whole process
15、 graph easy way to navigate17TWE GUIExternal package relationsRelations amongst main package and its externally referenced packagesTransient package pool Shows packages opened in Transient mode Add/remove Transient packagesCopy from transient packagesNavigator Hierarchical view of package and its ma
16、in sub-elementsPackage tree hierarchical view of the whole package/XPDLProperties main details of selected elementSearchDisplays references to the selected object or search result Results in hierarchical view18TWE GUIProblems Displays information about problems in XPDLPossibility to easily navigate
17、to the problematic elementWfXML Communication with workflow engine based on WfMC If4Uploading/downloading/updating XPDL) Menu & Toolbar:File (new, open, reopen, close, save, recent files,)Edit (cut, copy, paste, undo, redo,.)Package (validation, insert process, properties, )Process (properties, )Ext
18、ernal packagesSettings (Language, Configuration)Help19TWE ConfigurationBasic configuration fileOne property file per componentConfiguring TWE behaviorConfiguring graphical propertiesPossibility to switch between different configuration/modes at runtimeShark engine configurationWfMOpen engine configu
19、ration20Possible TWE customizationsHelping XPDL developers to concentrate on business problemMaking XPDL modeling less error proneWorkflow engine dependent customizationspecial ext. attributes and their property panelsset of XPDL features it does not supportXPDL features interpreted in a special way
20、 Introduction of new activity types E.g. automated activities for sending e-mailscustomized property panel for entering all the informationSpecial XPDL template for creating new workflow processesTWE can be easily customized in order to support these requirements.21Modeling XPDLs for SharkPackages s
21、cript type elementTool activity with sys. participant performer and start mode restrictionNo activity and system participant restrictionType specifics allowed data typesApplication definition and ToolAgentClass extended attributeDeadlines usage of additional (system) variables in expressionsPROCESS_
22、STARTED_TIMEACTIVITY_ACTIVATED_TIMEACTIVITY_ACCEPTED_TIMEType Declarations and External packages issue22Application definitions and tool agentsTool agent interfacedefined by WfMC Engine access to external system in a standard manner XPDL Application definition representation of real applicationlike
23、declaring a function in programming language this function is called by Tool activities defined in the process flow. Tool activitiesProvide information about the parameters to pass to the applicationMany different XPDL application can be mapped to tool agent represented by the same Java classThose a
24、pplication definitions can even They can define different formal parameters.23Deadlines, exception handling, transition conditionsDeadlinesDefined for Activities A time until activity should be finishedWorkflow system periodically tests the deadline condition If deadline condition is satisfied, proc
25、ess will follow the “exception” transition as defined in XPDL.ExceptionsSpecial transition types to model itModeling what happens in the case of deadlineModeling what happens in the case of exception in tool agent execution.Transition conditions Expressions made by the usage of variablesExpressions
26、evaluated at run-timeExpression must evaluate in boolean value Used to determine if the transition should be triggered or not24Enhydra Shark/TWSEnhydra Shark / Together Workflow Server25Introduction to SharkWorkflow engine that executes processes based on XPDL definition.Completely based on standard
27、s defined by WfMC and OMGA library that can be embedded in WEB/Swing/Console application, or it can be deployed as CORBA service, WEB service, EJB service, RMI service, Supports automated, manual and mixed workflow processesExtensible work item allocation algorithms. Activities are automated through
28、 an extensible system of Tool AgentsHuman interactions are managed through work itemsThrough a worklist API shark clients are able to manage work items.Fully transactional behavior with JTA supportCan be used in a cluster scenarioEasy change of DB used for persistence via DODS. It includes scripts f
29、or creating tables for DB2, HSQL, MSQL, MySQL, Oracle, PostgreSQL, 26Introduction to SharkA lot of possibilities to configure engine thanks to its nice architectureEach shark component has an API, and default implementation(s) Standard implementation simply replacable by the custom ones Even the ker
30、nel itself can be tuned-up.Default kernel does not use proprietary extensions of XPDL (extended attributes)Supports ToolAgent concept defined by WfMC. Comes with several useful tool agents already definedSupports deadline handling and XPDL exception transitionsPossible callback to shark from its com
31、ponentsCan use custom Java classes as variablesAppearing of deadlocks is minimized thanks to the DODS buffer transaction.Supports XPDL definition update27XPDL and Shark28XPDL and SharkProcess definitionFor each XPDL definition there is a factory that creates process instancesEvery process instance h
32、as unique instance IdActivity definition Created during process enactment, and based on the flow and rules defined in XPDLevery activity instance has unique instance IdVariable definitionCreated during process enactment based on XPDL definitionThe same Id as in XPDL Assigned to process/activity cont
33、ext Value is changing in runtime through shark API or during tool agent executionEngine executes processes based on XPDL definitionEngine interacts with the user that can update process/activity variables, and complete activity; Based on user input, variable values, engine determines which activity
34、will be executed next 29Shark architectureThe architecture is divided into three main API components:shark client API, shark kernel and shark plug-in APIs30Shark client APIs - possibilitiesAPI for handling XPDLsGetting the list of uploaded XPDLs (and their versions), upload, update, delete, retrieva
35、l of XPDLs for the monitoring purpose (possible usage from the client side to graphically show the process flow)API for obtaining the list of uploaded processs definitionsAPI for obtaining various runtime and XPDL informationCore API (OMG API and WAPI)Instantiating processes, aborting processes/acti
36、vities, retrieving/changing process/activity variables, completing activity, API for deleting processes, checking deadlines and limits, cache handlingFilter builder API:Filters and OMGs “WfXXXIterators”Filters and WfMCs WAPIWhy to use filter builders?31Core client API (OMG API)32Shark kernelImplemen
37、tation of special core kernel APIA glue that bounds client API implementations and internal component implementations based on provided configuration.Handles the client requests by parsing XPDL definition, communicating with internal components and implementing its own logic to achieve the goal.The
38、benefit of having kernel API33Kernel processing34Kernel processing (simplified)35Shark plug-in APIsMandatory plug-in components and their purpose: Repository persistence componentInstance persistence componentScripting componentOptional plug-in components and their purpose: Assignment componentUserG
39、roup componentParticipantMapping componentToolAgent componentApplicationMapping componentEventAudit componentLogging componentCaching componentSecurity component36TWS - shark extensionsTWS is shark extension that:Implements advanced APIs Extends shark kernel to interpret extended attributesBrings mo
40、re useful implementations of plug-in APIsBrings more useful tool agent implementationsMost important additional functionality:Possibility to use variables not defined in XPDLPossibility to have transient processes and variables (even the ones not defined in XPDL by the usage of special naming conven
41、tion)Possibility to specify that all activities should not have special context, but to use the one of the process (for performance reasons)Possibility to specify a process or activity behavior per definition. API to “find out the future and the past”, and to navigate through process based on its XP
42、DL definition37Swing Admin process monitoring38WEB Client worklist handling39Worklist handlerApplication that enables a human workflow participant to manage the work items which have been assigned to them Shark provides graphical Worklist Handlers: graphical swing worklist handle, WEB based worklist
43、 handler applicationWorklist handlers able to access shark through:POJOEJBWebService40Assignment managerWhats the purpose of Assignment managerAssignmentManager 4 method interface:Method to configure managerMethod to obtain UserGroup API implementationMethod to obtain ParticipantMapping API implemen
44、tationMethod to actually retrieve assignments for the activitySeveral assignment manager implementations coming with Shark:StandardAssignmentManagerHistoryRelatedAssignmentManagerXPDLStraightParticipantMappingAssignmentManagerHow to handle XPDL, Participant mapping and UserGroup informationHow to wr
45、ite your own assignment manager41Tool agents XPDL Application definition42Tool agents definition of activity ToolThe actual values for the application parameters will be determined at run-timeWe can consider such Activity execution as a call to the function43Tool agents how it worksShark kernel is p
46、assing workflow relevant data to tool agent and expecting tool agent to update some variables as the result of its call.When XPDL is deployed into shark engine, and when tool activity is about to execute shark kernel:gets the current value of variables specified as actual parameters in the case actu
47、al parameter is an expression, it evaluates expression using current values of all process variables and specified expression interpreterprovides these values to a DefaultToolAgent (if we do not use Application mapping)DefaultToolAgent reads an ext. attrib. ToolAgentClass (from Application definition) delegates a call to appropriate tool agent specified by this attributeActual tool age
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電力安全質量管理課件
- 游泳救生員應急處理能力評估試題及答案
- 提升信心 2024年體育經紀人試題及答案
- 模具設計中的協同創新研究試題及答案
- 四年級數學(上)計算題專項練習及答案匯編
- 助你通過2024年游泳救生員考試的試題及答案
- 創新型2024年農業植保員考試試題及答案探討
- 2024年種子繁育員的實踐案例與經歷試題及答案
- 燃氣管網附屬設施改造項目可行性研究報告
- 年產200萬套汽車內飾項目可行性研究報告(模板)
- 2025至2030中國射頻芯片市場趨勢展望及需求前景研究報告
- 應急急救知識課件
- 慢性病管理與護理方法試題及答案
- 定向培養協議書模板
- 文綜中考試卷及答案解析
- 基于CRISPR-Cas9技術探索敲除RAB7A增強肺癌對吉西他濱敏感性的機制研究
- 社區文化活動服務行業跨境出海戰略研究報告
- 汽車背戶協議合同
- 碳中和目標下的公路建設策略-全面剖析
- 2025年山東省東營市廣饒縣一中中考一模英語試題(原卷版+解析版)
- 中華傳統美德在幼兒園語言領域的滲透路徑探索
評論
0/150
提交評論