Download presentation
Presentation is loading. Please wait.
1
FP-dag 20091 Pimp my workflow system A tool preview of iTasks 2.0 Bas Lijnse
2
FP-dag 20092 Some context iTasks is a workflow management system –Web based –Based on functional combinators –Heavily type driven (generic programming) History –Initiated by Rinus Plasmeijer in 2005 –Improved by Pieter Koopman, Peter Achten, Jan Martin Jansen, John van Groningen, Thomas van Noort and Bas Lijnse
3
FP-dag 20093 What is this talk about? Share what is going on with our iTasks research Show a nice demo Invite you all to comment on the new developments
4
FP-dag 20094 Status Quo Combinator language has stabilized –Can express all common workflow patterns Framework capable of supporting many workflow scenarios –Task execution on the client (SAPL) –Support for editor plugins (iEditors) Well defined semantics of combinators
5
FP-dag 20095 iTasks architecture
6
FP-dag 20096 Single source specification Developer only specifies workflows by means of combinator expressions Everything else is either available or generated –User interface –Data communication –Identity/user management
7
FP-dag 20097 Example task expressions enterNameAndAge :: Task (String,Int) enterNameAndAge = [Text “Enter your name and age”] ?>> editTask “Done” createDefault doubleCheckedTask :: (Task a) -> Task (Bool,a) doubleCheckedTask t = t =>> \result -> [Text “Are you sure?”] ?>> verdictTask =>> \verdict -> return_V (verdict,result) where verdictTask :: Task Bool verdictTask = (buttonTask “Yes” #>> return_V True) -||- (buttonTask “No” #>> return_V False)
8
FP-dag 20098 User experience impression
9
FP-dag 20099 However… User interface has been neglected –Focus on developing combinators instead of user experience Framework has collected cruft –Features have been added, nothing removed –Many parts have become intertwined
10
FP-dag 200910 Enter stage left: itasks 2.0
11
FP-dag 200911 Goals Separation between workflow calculation and UI Create a better user experience Standardize communication Clean up the codebase
12
FP-dag 200912 Challenges User interface and workflow heavily intertwined Changes needed almost everywhere in the framework Not always clear which parts will be redundant in the new architecture
13
FP-dag 200913 Concrete changes Separation between workflow and UI –Client is primary driver –Only data structures are communicated ExtJS javascript Ajax GUI –But we maintain generic user interface generation for tasks Communication standardized on JSON format New user management framework
14
FP-dag 200914 Time for action Demo of a simple workflow Which is… –Multi-user –Part sequential, part parallel Aimed to demonstrate the improvements, not complex workflow
15
FP-dag 200915 Informal “bidding” workflow A description of a product to be purchased is made A number of potential suppliers is selected from a pool of suppliers Each supplier is asked to quote a price for the requested product The cheapest supplier is automatically suggested This suggestion is either accepted or another suppliers is selected manually A confirmation is sent to the chosen supplier
16
FP-dag 200916 iTasks “bidding” workflow purchaseTask :: Task Void purchaseTask = definePurchase =>> \purchase -> selectSuppliers =>> \suppliers -> collectBids purchase suppliers =>> \bids -> selectBid bids =>> \bid -> confirmBid purchase bid collectBids :: String [(Int,String)] -> Task [((Int,String),Real)] collectBids purchase suppliers = andTasks [("Bid for " +++ purchase +++ " from " +++ name, uid @: ("Bid request regarding " +++ purchase, collectBid purchase supplier)) \\ supplier =: (uid,name) <- suppliers] where collectBid :: String (Int,String) -> Task ((Int,String),Real) collectBid purchase bid = [ Text "Please make a bid to supply ",ITag [] [Text purchase], HrTag [] ] ?>> editTask "Ok" createDefault =>> \price -> return_V (bid, price)
17
FP-dag 200917 What is next? Tie up the loose ends in the GUI –Support for concurrent workflows –Integration of the SAPL interpreter Interaction with the (SOA) world –Publishing workflows as webservices and embedding external services in workflows Do more with workflow meta and management information
18
FP-dag 200918 What is next? Use in course on Business Rules and Business Process Management –Information science students –Practical exercises Investigate how the system can be applied in crisis management and military planning
19
FP-dag 200919
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.