290 likes | 448 Views
Building a Job Reclassification Application using Workflow Engine, MVC Architecture, uPortal and OpenLDAP. Ying Kussmann Administrative Computing Services University of California, Irvine. Presentation Contents. FastClass Overview – the job reclassification application
E N D
Building a Job Reclassification Application using Workflow Engine, MVC Architecture, uPortal and OpenLDAP Ying Kussmann Administrative Computing Services University of California, Irvine JASIG, December 2003
Presentation Contents • FastClass Overview – the job reclassification application • Components used to build FastClass and the reasons they are chosen • Architecture of application – how the various components are put together • Desired state • Lessons learned • Demo • Questions JASIG, December 2003
FastClass Overview JASIG, December 2003
FastClass Overview • Conducted a process review • Identify client needs and satisfaction • Feedback from the Campus that the paper-based process was... • Confusing • Applied differently across the campus • Viewed as a “Black Hole” • Difficult to understand • Measure current process performance • Brainstorm solutions with the campus • Identify how technology can help JASIG, December 2003
FastClass Overview • Goals achieved with FastClass • Web-based, paperless submittal process • Simplify and standardize the process resulting in… • Reduced review time • Improved information sharing • Enhanced communication • Built-in business rules for routing so users don’t have to remember where the reclassification package goes next • Tracking of requests from submittal to approval • Integrated with UC Irvine’s Data Warehouse and other online tools for easy information lookup JASIG, December 2003
FastClass Overview Process Flow Chart JASIG, December 2003
FastClass Overview • Build FastClass as a workflow application • What is workflow • The automation of a business process, in whole or part, during which documents, information or tasks are passed from one participant to another for action, according to a set of procedural rules. • Business Needs • Tracking of start/end time and duration of task and workflow • Analysis Report to track bottleneck of process • Assign tasks to a single user or a group of designated users JASIG, December 2003
FastClass Overview • Use a third party workflow engine instead of building a custom application to handle workflow • Custom applications developed to handle workflows are inadequate: • Expensive to develop a custom application for each process • May not be robust and reliable enough at runtime • Have to be modified as business processes change • Use an off- the-shelf solution for workflow management • Abstracting the business process definition and separating it from the intelligence that executes it. • Simplify and standardize integration with other applications • Flexible as opposed to hard-coded business rules JASIG, December 2003
FastClass Components • Expresso Framework • Integrates with Struts which is a MVC light weight framework emphasizing presentation and application configuration • Capabilities for security • Robust object-relational mapping • Logging integration • Database connection pooling • Caching • Configuration management • Automatic database maintenance JASIG, December 2003
FastClass Components • Drala Workflow Product Suite from DralaSoft • 100% Java component for business process automation, pluggable database • Embeddable, small footprint • Powerful visual design tools • High-performance • Advanced features including caching, thread-pooling, persistence, fail-over, load balancing, and notification • XML, RMI, and some SOAP support • Cost effective • No J2EE server required JASIG, December 2003
FastClass Components • Drala Workflow Product Suite • Workflow Engine – Runtime platform for process orchestration • Workflow Studio – Visual design and workflow modeling tool • Drag and drop predefined tasks • Install custom tasks • Launch and test workflows • Workflow Manager – Workflow monitoring tool • Gather and analyze statistics • Reporting JASIG, December 2003
FastClass Components • OpenLDAP • Used as data source for users in Expresso framework and staff portal • Plan to use as Drala Resource/Role repository • uPortal • Displays workflow task list to campus users via “My Workflow Tasks” channel JASIG, December 2003
Architecture JASIG, December 2003
Architecture • Business process is modeled as workflow. Business rules (how the process flows and which resource/role gets assigned to which task) are designed into the workflow template and executed by the workflow engine at runtime. • The application tells the workflow engine to set certain tasks to “done” and defines certain workflow/task attributes. The workflow engine uses these attributes to determine the flow as well as resource/role assignment. • The application queries the workflow engine for task start, end time and other workflow related information to present to user. JASIG, December 2003
Architecture • The FastClass workflow template JASIG, December 2003
Architecture • The FastClass workflow template Asynchronous Task Tasks requiring manual or human activity to complete. Engine initiates task but does not wait for the task to complete. Engine has to be notified explicitly when task is complete Synchronous Task Appropriate for automated functions. Engine activates task and calls a callback method which performs work associated with the task. Branch Task Branches can be used to decide which path to take moving forward in a workflow. Loop Task Could be used to repeat tasks for a fixed number of times. A loop task is complete when no more iterations are deemed necessary. JASIG, December 2003
Architecture Generic Workflow Product Structure (Workflow Management Coalition The Workflow Reference Model http://www.wfmc.org/standards/docs/tc003v11.pdf) JASIG, December 2003
Architecture • Workflow Relevant Data and Application Data • Workflow relevant, or ‘case’ data, is the only type of application data accessible to workflow engine. Process navigation decisions or other control operations within the workflow engine are based on data generated /updated by workflow application programs. • Workflow application data is manipulated directly & only by workflow applications. Workflow engines may be responsible for transferring such data between applications – different applications are invoked at different activity points within workflow process. (Workflow Management Coalition The Workflow Reference Model http://www.wfmc.org/standards/docs/tc003v11.pdf) JASIG, December 2003
Architecture • Worklist • Workflow engine places items on to worklists for attention when user interactions are necessary within the process execution. JASIG, December 2003
Architecture • FastClass and Worklist • Discrete list – User being presented single item or a subset of the worklist • Log on to FastClass and navigate to appropriate area for tasks related to that area or click on link in notification emails to go directly to a certain task • Comprehensive list – User select individual items of work from a comprehensive/complete worklist • Log on to staff portal and navigate to “My Workflow Tasks” channel where the user can view the entire list JASIG, December 2003
Architecture JASIG, December 2003
Architecture JASIG, December 2003
Architecture • Talking to the Drala workflow engine • Retrieving from the workflow engine JASIG, December 2003
Desired State • Multiple workflow applications that display their tasks in the workflow channel of the staff portal • Migrate from using Drala’s internal resource/role management to using LDAP for workflow resource/role management • Migrate from using RMI to SOAP, so that other applications on campus built with technologies other than JAVA can use Drala workflow engine and have task list display within workflow channel in the portal JASIG, December 2003
Desired State JASIG, December 2003
Lessons Learned • Understand in detail the business process and the workflow application being built before designing the technical implementation • Focus on designing a flexible workflow template and allow for changes in the process • Link the workflow engine with existing resource/role repository if possible JASIG, December 2003
Lessons Learned • Mix and match static and dynamic workflow capabilities – define most of the workflow statically, and a portion of it at runtime – could be based on earlier user input in the workflow • Expect delays between task execution. Design template to accommodate this • Know what constitutes application data and what constitutes workflow data JASIG, December 2003
Demo • FastClass Demo JASIG, December 2003
References Q & A • www.dralasoft.com • www.jcorporate.com • http://www.wfmc.org/standards/docs/tc003v11.pdf JASIG, December 2003