• Like

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Apps thatworkandflow

  • 131 views
Uploaded on

 

More in: Technology , Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
131
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
3
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Apps that “Work” and “Flow” Kenneth Geerts Koen Handekyn
  • 2. Positioning of the d’Ox platform Solution Development Hosting Partner d’Ox Platform Blueprint UP-IO Blueprint eContract Blueprint UP-Archive Virtual Machine Object Store Database Process Workflow Store
  • 3. Overview ‣ d’Ox-Process Batch and Realtime Document and Message Processing ‣ d’Ox-Tasks High Volume Searchable Human Task Workflow ‣ d’Ox-Store Scalable Enterprise Content Management foundation for the Cloud (CMIS) ‣ d’Ox-Apps Reusable application components and HTML5 app framework Open API’s facilitate deep integration within existing applications and solutions: CMIS, REST,WS Missing some functionality?You can easily extend the platform with your own functionality.
  • 4. ‣ OpenWFE was a Java open source workflow engine. Later it was rewritten in Ruby and renamed Ruote. ‣ Other popular engines are • JBPM • Activiti • Enhydra Shark • ...
  • 5. Why a WFE ? Uncoupling / Flexibility / Versioning (Process Definition + State) Business Process Administration / Monitoring (List, Find, Cancel, Replay) Why Route? Expressive DSL
  • 6. “Related” (confused) Standards ‣ (WS-)BPEL • short for Web Services Business Process Execution Language (WS-BPEL) is an OASIS[1] standard executable language for specifying actions within business processes with web services. Processes in BPEL export and import information by using web service interfaces exclusively. [ this is an ‘orchestration’ language ] ‣ BPMN • A standard Business Process Model and Notation (BPMN) will provide businesses with the capability of understanding their internal business procedures in a graphical notation and will give organizations the ability to communicate these procedures in a standard manner.
  • 7. BPMN example
  • 8. What is a Workflow engine? A Workflow Engine is NOT a State Machine
  • 9. What is a Workflow engine? A Workflow Engine is an execution system for business processes
  • 10. What is a Workflow engine? A “workflow” can be translated into a state machine however each relevant workflow would correspond to very complex state model due to combinatorial explosion
  • 11. What is a Workflow engine? A Workflow Engine Understands and Executes a Workflow Language that describes a “flow” of “tasks”
  • 12. What is aTask? ATask represents a piece of work that is typically executed by a Human person but some tasks might be handled by a piece of software In “Ruote” this is called a “participant” HUMAN | AUTOMATED
  • 13. What is aTask? id + participant + type + meta-data Key Actions (verbs) reserve delegate update proceed cancel
  • 14. Patterns
  • 15. Sequence sequence do   participant :ref => 'alpha', :activity => 'write'   participant :ref => 'bravo', :activity => 'fix typos' end sequence do alpha :activity => 'write'   bravo :activity => 'fix typos' end
  • 16. Concurrence concurrence do iron watch_tv end
  • 17. Structured Discrimantor sequence do concurrence count: 1 do    kiss hug end smile end
  • 18. Choice sequence do   participant 'alpha', :activity => 'request further info', :if => '${f:decision} == accepted'   participant 'alpha', :activity => 'send refusal note', :if => '${f:decision} == refused' end
  • 19. Multi Choice concurrence do   regular_service :if => '${f:price} < 50'   premium_service :if => '${f:price} > 40'   extra_service :if => '${f:extra_ordered}' end
  • 20. Cursor cursor do   participant 'a'   participant 'b'   participant 'c'   jump :to => 'b', :if => '${f:back_to_b}'   participant 'd'   jump :to => 'c', :if => '${f:back_to_c}'   participant 'e' end ‘skip’, ‘back’, ‘jump’, ‘rewind’, ‘continue’, ‘reset’ and ‘break’
  • 21. Break if cursor :break_if => '${f:rejected}' do employee line_manager ceo, :if ‘${f:amount}>1000’ end
  • 22. :) Let’s go Live :)
  • 23. Merci