Workflow-Service
Context:
This document covers below point:
- Workflow In general
- What is egov workflow-V1.1
- What is the diff b/w egov workflow-V1 and workflow-V1.1
Versions:
V1 (Jan-2017 To Dec-2018)
- V1.1(Nov-2018 To Jan 2019)
- V1.2 (Apr-2019 To May-2019)
- V2 (Jun-2019 To Sept-2019)
Audience:
- Product Managers
- Developers
- Testers
- Co-creation partners
- Implementation Team
- Third Party(TP) integrators
What is workflow?
Workflows are a series of steps that moves a process from one state to another state by actions performed by different kind of Actors - Humans, Machines, Time based events etc. to achieve a goal like onboarding an employee, or approve an application or grant a resource etc.
Why do we need Workflow ?:
User View:
- Manage worklist for user.
- Make people accountable.
- Control action task based on roles.
Development View:
- No need for recompiling.
- Rules kept as data.
- Easier rule editing.
Type of Workflow:
- Role based
- Department based
- Assignment Based
- Jurisdiction based
- Role + Jurisdiction based*
Objective V1.1:
- Role based workflow.
- Easy way of writing rule.
- File movement within workflow roles.
Key Features:
Below are the feature list.
- Always allow anyone with a role in the workflow state machine to view the workflow instances and comment on it
- On the creation of workflow it will appear in the inbox of all employees that have roles that can perform any state transitioning actions in this state.
- Once an instance is marked to an individual employee it will appear only in that employees inbox although point 1 will still hold true and all others participating in the workflow can still search it and act if they have necessary action available to them
- If the instance is marked to a person who cannot perform any state transitioning action, they can still comment/upload and mark to anyone else.
- Overall SLA
- State level SLA
What is new in V1.1
S.No | WorkFlow-V1 | Workflow-V1.1 |
---|---|---|
1. | Position based. | Role based |
2. | Difficult to write rules. Only developer can write the rules. | Easy to write rules. |
3. | Rules are not api based | Rules are API based. |
4. | Horizontal assignment is not possible. | Horizontal assignment can be done. |
5. | File movement is not possible | File movement is possible |
6. | Don’t have SLA | Support Overall SLA and state-transaction level SLA |
Interaction Diagram:
Feature list of V1.2:
- Jurisdiction based
- Role + Jurisdiction based*
- Auto escalation.
- Machine actor.
- Simplify Integration for Service and Client(UI)
- Common inbox for all module.(Finance, Water)
- Generic Notification for wf
- Uploader for Rules & Config
Feature list of V2:
- New Version of wf API which will integrate with the Services so any module will no need to integrate with WF all will be take care by WF engine :)
How it works:
Workflow mainly depends on below section:
- Business Service
- State
- Action
- Role-Action
Business Service: Business service identifies each workflow configurations uniquely based Business(Module) and BusinessService(Business flow) .
Eg: In trade license module Business:”TL” and “BusinessService: NewTLApplication“
State: State is sequence of steps in a workflow.
Eg: In Trade license Initiated,Applied,Paid,Canceled,Rejected,Approved are the states.
Action: State transition is depends on actions, based on action WF engine will decide the next possible State of task.
Eg: A action Apply can move a Trade license application from Initiated state to Applied state.
Role-Actions: Based on role action mapping in Workflow configuration Workflow engine will take the decision on acceptance of state-transition is possible or not
How to configure:
Workflow-V1.1 is highly configurable service, this section covers all the configuration.
Case 1: Simple three step workflow.
TenantId | Current State Id | Action | Next State | Actors |
---|---|---|---|---|
pb.amritsar | Initiate | Initiated | TL_CEMP | |
pb.amritsar | Initiated | Apply | Applied | TL_CEMP |
pb.amritsar | Applied | Pay | Paid | TL_CEMP |
pb.amritsar | FieldInspection | Forward | PendingApproval | FIELD_INSPECTOR |
pb.amritsar | PendingApproval | Approve | Approved | TL_APPROVER |
pb.amritsar | PendingApproval | Reject | FieldInspection | TL_APPROVER |
Questions, Clarification & Suggestions:
- If multiple clerks,
- Once application initiated, does it go to particular clerk’s inbox or it goes to everyone with role ‘clerk’?
[Ghanshyam]: it will appear in all clerks inbox - Is there any provision to hold the application (in case of missing information) which sends notification to citizen?
- If no, can we make such arrangement?
[Ghanshyam]: As of now NO. - If there are multiple Jr. Engineers with same role
- Can clerk mark it to particular Jr. engineer ?
[Ghanshyam]: Yes, if that role is configured for the WF - If yes, can other Jr. Engineers will be able to see the application and act on it?
[Ghanshyam]: NO, other can’t see this, but whoever has marked JE that role employee can still see this and act on it. - If yes, Can we restrict other jr. engineers to take action on it or view it?
[Ghanshyam]: Done in B point, Enjoy :) - Can Jr. Engineer send back application to clerk for clarification?
[Ghanshyam]: Yes - Can sending application back to clerk, changes status of application?
[Ghanshyam]: Yes - Can Jr. Engineer refer application for comments to the other person in the office?
- If yes, to who all he can send the application for comments?
- All those who are part of ULB
- Those who are only registered in particular module
- Anything other this?
[Ghanshyam]: They can mark any employee whose role is configured for WF
- Do others (to whom application is referred to) need to mark it back to Jr. Engineer or they can mark anyone else?
[Ghanshyam]: Yes- Can JE takes action on application if it is being refer to others for comments?
[Ghanshyam]: Yes
- Can JE takes action on application if it is being refer to others for comments?
- Can Clerk skip Jr. Engineer and send application to SDO directly and get it approve?
[Ghanshyam]: Yes and No depends on configuration. - Can SDO pull application directly and mark it approve without being approved by clerk or Jr. Engineer?
[Ghanshyam]: Yes and No depends on configuration. - What is reject application, does it terminate application temporary or permanent?
[Ghanshyam]: Depends on configuration - Application once rejected, can citizen re-apply with same application or he has to start new (fresh) application?
[Ghanshyam]: Depends on configuration