D2 8 Enhydra Shark


Published on

Published in: Business, Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

D2 8 Enhydra Shark

  1. 1. Enhydra Shark Version 2.0 Architecture and features WfMC Forum Poland 2007
  2. 2. Introduction <ul><li>The enhydra.org family </li></ul><ul><ul><li>EAF </li></ul></ul><ul><ul><li>XMLC </li></ul></ul><ul><ul><li>DODS </li></ul></ul><ul><ul><li>Octopus </li></ul></ul><ul><ul><li>Demos </li></ul></ul><ul><ul><li>Kelp etc. </li></ul></ul>WfMC Forum Poland 2007
  3. 3. Enhydra Workflow Projects <ul><li>Enhydra JaWE </li></ul><ul><ul><li>Java Workflow Editor </li></ul></ul><ul><li>Enhydra Shark </li></ul><ul><ul><li>Workflow Engine </li></ul></ul>WfMC Forum Poland 2007
  4. 4. Enhydra JaWE - TWE WfMC Forum Poland 2007
  5. 5. Enhydra JaWE <ul><ul><li>WfMC compliance </li></ul></ul><ul><ul><li>Graphical application for XPDL process definition modelling </li></ul></ul><ul><ul><li>Makes creating and changing XPDL easy </li></ul></ul><ul><ul><li>Uses swim lanes to represent participants of the process </li></ul></ul><ul><ul><li>Every XPDL element has property panel for editing its properties </li></ul></ul><ul><ul><li>Final output of modelling process is a XML file based on XPDL schema </li></ul></ul><ul><ul><li>XPDL files created by JaWE can be interpreted by any XPDL workflow engine. </li></ul></ul><ul><ul><li>Accomplished three main goals: </li></ul></ul><ul><ul><li>Graphical representation of process definition </li></ul></ul><ul><ul><li>Export of process definition to XPDL </li></ul></ul><ul><ul><li>Import of any valid XPDL and its graphical representation </li></ul></ul>WfMC Forum Poland 2007
  6. 6. Enhydra JaWE WfMC Forum Poland 2007
  7. 7. Enhydra Shark - TWS WfMC Forum Poland 2007
  8. 8. Workflow Reference Model - Components & Interfaces Interface 1 Interface 2 Interface 3 Interface 4 Interface 5 WfMC Forum Poland 2007 Ja WE Shark Server Process Definition Tool Workflow Enactment Service Workflow Client Applications Invoked Applications Other Workflow Enactment Service Administration & Monitoring tools Admin and WH Clients Shark Tool Agents
  9. 9. Enhydra Shark <ul><li>Short description </li></ul><ul><ul><li>Workflow engine that executes processes based on XPDL definition </li></ul></ul><ul><ul><li>library implemented in Java </li></ul></ul><ul><ul><li>embedded into CLI/GUI/WEB/EJB applications </li></ul></ul><ul><ul><li>deployed as CORBA/WEB/RMI/JEE service/application </li></ul></ul>WfMC Forum Poland 2007
  10. 10. Features <ul><li>Supports automated, manual and mixed workflow processes </li></ul><ul><li>Extensible work item allocation algorithms </li></ul><ul><li>Activities are automated through extensible system of Tool Agents </li></ul><ul><li>Human interactions are managed through work items </li></ul><ul><li>Work-list API allows client app to manage work items </li></ul><ul><li>Can be used in cluster scenario </li></ul><ul><li>Requires relational database </li></ul><ul><li>Supports many DB vendors  </li></ul><ul><li>... </li></ul>WfMC Forum Poland 2007
  11. 11. Three main layers WfMC Forum Poland 2007
  12. 12. Client application API <ul><li>Client application have several APIs to communicate with Shark </li></ul><ul><ul><li>OMG </li></ul></ul><ul><ul><li>WfMC Interface 2 </li></ul></ul><ul><ul><li>XPDL Package Administration </li></ul></ul><ul><ul><li>XPDL Browser </li></ul></ul><ul><ul><li>Execution Administration </li></ul></ul><ul><ul><li>Filter Builder and Miscellaneous </li></ul></ul>WfMC Forum Poland 2007
  13. 13. Internal organization <ul><li>components and “framework” </li></ul><ul><li>Mandatory and optional components </li></ul><ul><li>Additional (3rd party) requirements </li></ul>WfMC Forum Poland 2007
  14. 14. Components and “framework” <ul><li>Each component has an API defined and at least one/default implementation </li></ul><ul><li>Configuration is plain property file, where component implementation may expect additional property values </li></ul><ul><li>Shark kernel is itself a component, and follows the same rules </li></ul><ul><li>Default kernel neither expects, nor processes XPDL extended attributes </li></ul>WfMC Forum Poland 2007
  15. 15. Mandatory components <ul><li>Kernel </li></ul><ul><li>Instance persistence </li></ul><ul><li>Repository persistence </li></ul><ul><li>Script API </li></ul>WfMC Forum Poland 2007
  16. 16. Optional components <ul><li>Event Audits </li></ul><ul><li>Assignment </li></ul><ul><li>Logging </li></ul><ul><li>Caching </li></ul><ul><li>Security </li></ul><ul><li>Tool Agent </li></ul><ul><li>Application mapping </li></ul><ul><li>Participant mapping </li></ul><ul><li>User Group </li></ul>WfMC Forum Poland 2007
  17. 17. Shark Kernel <ul><li>Shark kernel part is also an implementation of special core kernel API, which is the main internal component API. </li></ul><ul><li>It is a glue that bounds client API implementations and internal component implementations based on provided configuration. </li></ul><ul><li>Kernel handles the client requests by parsing XPDL definition, communicating with internal components and implementing its own logic to achieve the goal. </li></ul>WfMC Forum Poland 2007
  18. 18. Internal interaction WfMC Forum Poland 2007
  19. 19. Internal interaction (simplified) WfMC Forum Poland 2007
  20. 20. Assignment Manager <ul><li>Assignment manager job is to return a list of user Ids which should be assigned to particular activity instance. </li></ul><ul><li>AssignmentManager interface has only 4 methods </li></ul><ul><li>There are several assignment manager implementations coming with Shark: </li></ul><ul><ul><li>StandardAssignmentManager: tries to generate list of users based on ParticipantMapping and UserGroup information </li></ul></ul><ul><ul><li>HistoryRelatedAssignmentManager: reads several ext. attributes. where one can specify if activity should be assigned to the user that previously executed such activity (in the case of loops) or to the user that previously executed some other activity. If no ext. attributes. specified behaves like Standard implementation </li></ul></ul><ul><ul><li>XPDLStraightParticipantMappingAssignmentManager: returns only one user Id which is the same to the Id of the XPDL Participant </li></ul></ul>WfMC Forum Poland 2007
  21. 21. Tool Agents WfMC Forum Poland 2007
  22. 22. Tool Agents <ul><li>when tool activity is about to execute its tool, shark kernel gets the current value of variables specified as actual parameters (in the case actual parameter is an expression, it evaluates expression using current values of all process variables), and provides these values to a DefaultToolAgent </li></ul><ul><li>DefaultToolAgent reads an ext. attrib. ToolAgentClass (from Application definition) and delegates a call to appropriate tool agent specified by this attribute, which is in this sample BshToolAgent </li></ul><ul><li>BshToolAgent reads additional extended attribute Script, and evaluates this script using variables provided by kernel, and updates their value. </li></ul><ul><li>At the end, kernel reads-back the variables which type is OUT or INOUT and updates process instance variables. </li></ul>WfMC Forum Poland 2007
  23. 23. Standards <ul><li>WfMC + OMG </li></ul><ul><li>JTA support </li></ul><ul><li>XForms </li></ul><ul><ul><li>XPIL – XML Process Instance Language </li></ul></ul>WfMC Forum Poland 2007
  24. 24. Demo applications <ul><li>Console </li></ul><ul><ul><li>command line </li></ul></ul><ul><li>Visual - swing </li></ul><ul><ul><li>graphical user interface </li></ul></ul><ul><li>http/web </li></ul><ul><ul><li>HTML + XForms + CSS </li></ul></ul>WfMC Forum Poland 2007
  25. 25. Swing (GUI) Administration WfMC Forum Poland 2007
  26. 26. Shark Web Client WfMC Forum Poland 2007
  27. 27. Summary <ul><li>Summary </li></ul><ul><li>Roadmap </li></ul><ul><ul><li>XPDL 2.0 </li></ul></ul><ul><ul><li>XForms </li></ul></ul><ul><ul><li>EJB 3 </li></ul></ul>WfMC Forum Poland 2007