Your SlideShare is downloading. ×
Apps thatworkandflow
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Apps thatworkandflow

157
views

Published on

Published in: Technology, Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
157
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
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

×