Soa workflow
-
Upload
thanigaivelan-murugan -
Category
Technology
-
view
123 -
download
0
Transcript of Soa workflow
![Page 1: Soa workflow](https://reader035.fdocument.pub/reader035/viewer/2022081420/58ed88811a28ab013c8b45f3/html5/thumbnails/1.jpg)
SOA Workflow API
• Component Diagram (Cloud version)• Implementation overview• Database Components• API’s List• Use case diagram (to be included)• Error handler mechanism
![Page 2: Soa workflow](https://reader035.fdocument.pub/reader035/viewer/2022081420/58ed88811a28ab013c8b45f3/html5/thumbnails/2.jpg)
Component Diagram (with SAAS option)
![Page 3: Soa workflow](https://reader035.fdocument.pub/reader035/viewer/2022081420/58ed88811a28ab013c8b45f3/html5/thumbnails/3.jpg)
ImplementationOverview
• All workflow API’s exposed to clients over the network• Workflow can be initiated by client• SOA first create the task using Human task service
then create entries in custom DB tables• All task related histories can be retrieved from DB
tables itself through API’s• In case of exceptions SOA will not allow any actions to
the errored task further till the issue resolved through error handler mechanism
![Page 4: Soa workflow](https://reader035.fdocument.pub/reader035/viewer/2022081420/58ed88811a28ab013c8b45f3/html5/thumbnails/4.jpg)
ImplementationOverview (Contd..)
• Process versions can be maintained, and decision can be taken on whether to terminate older version tasks or not
• Email notifications and look and feel can be changed through API itself w.r.t client’s branding
• API’s are ready for mobile app development with REST/SOAP variants
• New process can be added dynamically through API for supporting workflow for it (with additional pricing)
![Page 5: Soa workflow](https://reader035.fdocument.pub/reader035/viewer/2022081420/58ed88811a28ab013c8b45f3/html5/thumbnails/5.jpg)
ImplementationOverview (Contd..)
• Process creation involves following stepsCreate process entryCreate Approval matrixCreate email template
• Similarly new users can be added through API on demand• User repository can be a custom table or any other user
repositories (AD, OID etc)• Currently email notification is supported but in future SMS
service also possible through SMS gateway • All workflow related attachments are uploaded into
SharePoint and accessed through secured links
![Page 6: Soa workflow](https://reader035.fdocument.pub/reader035/viewer/2022081420/58ed88811a28ab013c8b45f3/html5/thumbnails/6.jpg)
API’s list• Below are the few of the API’s that can be used by client application
createProcess (Admin API) createProcessInstance manageUser (create/update/delete) (Admin API) manageEmailTemplate (Admin API) manageApprovalMatrix (Admin API) initiateTask getTaskList getTaskHistory updateOutcome updateVacation reAssignTask Request/Submit Info viewTaskReports (Admin API) etc
![Page 7: Soa workflow](https://reader035.fdocument.pub/reader035/viewer/2022081420/58ed88811a28ab013c8b45f3/html5/thumbnails/7.jpg)
Database Components(Tables)
• Process– To store process metadata like, process id, name, error assignee etc
• ProcessInstance– To store each process transaction data like, creator, approval type, status
etc.• Map_ProcessAndApprovers
– To manage approval matrix like approver list, approval type, approval sequence, SLA etc
• USERS_MASTER– To store user list with their email, mobile etc. This can be a User repository
like OID, AD as well.• EmailCategoryTags
– To store email notification template
![Page 8: Soa workflow](https://reader035.fdocument.pub/reader035/viewer/2022081420/58ed88811a28ab013c8b45f3/html5/thumbnails/8.jpg)
Database Components(Tables) contd..
• DashBoardTable– This table is used to retrieve requested users
(logged in) task list, Submitted Tasks (In Progress, Approved, Rejected,
Cancelled) Pending Tasks
• WorklistTable– This table will have the history of all approvers
interactions/action with each tasks.
![Page 9: Soa workflow](https://reader035.fdocument.pub/reader035/viewer/2022081420/58ed88811a28ab013c8b45f3/html5/thumbnails/9.jpg)
Database Components(PL/SQL)
• GetDashBoardData– This SP will be called when ‘getTaskList’ API is invoked
Tables involved: DashBoardTable (for submitted/pending task list) WorklistTable (for brief approver icons)
• GetApproverHistory– This SP will be called when ‘getTaskHistory’ API is
invokedTables involved:
WorklistTable (for complete task history like, each approvers and their status etc)
![Page 10: Soa workflow](https://reader035.fdocument.pub/reader035/viewer/2022081420/58ed88811a28ab013c8b45f3/html5/thumbnails/10.jpg)
Database Components(PL/SQL) contd..
• GetEmailNotitifyHdr– This SP will be called for to get email template for sending
notificationTables involved:
EmailCategoryTags (to get Approver/ Submitter email template)
• InsertUpdateWFAction– This SP will be called when following API’s invoked
updateOutcome requestMoreInfo submitInfoTables involved:
WorklistTable (to update action against actioned approver) DashBoardTable (to disable the view from dash board for actioned user) ProcessInstance (update task status in case of overall task outcome concluded)
![Page 11: Soa workflow](https://reader035.fdocument.pub/reader035/viewer/2022081420/58ed88811a28ab013c8b45f3/html5/thumbnails/11.jpg)
SOA Human Task Components
![Page 12: Soa workflow](https://reader035.fdocument.pub/reader035/viewer/2022081420/58ed88811a28ab013c8b45f3/html5/thumbnails/12.jpg)
Human Task API
![Page 13: Soa workflow](https://reader035.fdocument.pub/reader035/viewer/2022081420/58ed88811a28ab013c8b45f3/html5/thumbnails/13.jpg)
Sample Application
![Page 14: Soa workflow](https://reader035.fdocument.pub/reader035/viewer/2022081420/58ed88811a28ab013c8b45f3/html5/thumbnails/14.jpg)
Workflow Events
![Page 15: Soa workflow](https://reader035.fdocument.pub/reader035/viewer/2022081420/58ed88811a28ab013c8b45f3/html5/thumbnails/15.jpg)
Dot Net client
![Page 16: Soa workflow](https://reader035.fdocument.pub/reader035/viewer/2022081420/58ed88811a28ab013c8b45f3/html5/thumbnails/16.jpg)
Task History
![Page 17: Soa workflow](https://reader035.fdocument.pub/reader035/viewer/2022081420/58ed88811a28ab013c8b45f3/html5/thumbnails/17.jpg)
Pending Tasks
![Page 18: Soa workflow](https://reader035.fdocument.pub/reader035/viewer/2022081420/58ed88811a28ab013c8b45f3/html5/thumbnails/18.jpg)
JSON Payload
![Page 19: Soa workflow](https://reader035.fdocument.pub/reader035/viewer/2022081420/58ed88811a28ab013c8b45f3/html5/thumbnails/19.jpg)
JSON Payload
![Page 20: Soa workflow](https://reader035.fdocument.pub/reader035/viewer/2022081420/58ed88811a28ab013c8b45f3/html5/thumbnails/20.jpg)
JSON Payload
![Page 21: Soa workflow](https://reader035.fdocument.pub/reader035/viewer/2022081420/58ed88811a28ab013c8b45f3/html5/thumbnails/21.jpg)
Email Notification
![Page 22: Soa workflow](https://reader035.fdocument.pub/reader035/viewer/2022081420/58ed88811a28ab013c8b45f3/html5/thumbnails/22.jpg)
Approver Email
![Page 23: Soa workflow](https://reader035.fdocument.pub/reader035/viewer/2022081420/58ed88811a28ab013c8b45f3/html5/thumbnails/23.jpg)
Tasks with attachment from SharePoint
![Page 24: Soa workflow](https://reader035.fdocument.pub/reader035/viewer/2022081420/58ed88811a28ab013c8b45f3/html5/thumbnails/24.jpg)
Email Approval Validation
![Page 25: Soa workflow](https://reader035.fdocument.pub/reader035/viewer/2022081420/58ed88811a28ab013c8b45f3/html5/thumbnails/25.jpg)
Approver Email