Soa workflow
-
Author
thanigaivelan-murugan -
Category
Technology
-
view
120 -
download
0
Embed Size (px)
Transcript of Soa workflow
MAF SOA Workflow Design
SOA Workflow APIComponent Diagram (Cloud version)Implementation overviewDatabase ComponentsAPIs ListUse case diagram (to be included)Error handler mechanism
Component Diagram (with SAAS option)
ImplementationOverviewAll workflow APIs exposed to clients over the networkWorkflow can be initiated by clientSOA first create the task using Human task service then create entries in custom DB tablesAll task related histories can be retrieved from DB tables itself through APIsIn case of exceptions SOA will not allow any actions to the errored task further till the issue resolved through error handler mechanism
ImplementationOverview (Contd..)Process versions can be maintained, and decision can be taken on whether to terminate older version tasks or notEmail notifications and look and feel can be changed through API itself w.r.t clients brandingAPIs are ready for mobile app development with REST/SOAP variantsNew process can be added dynamically through API for supporting workflow for it (with additional pricing)
ImplementationOverview (Contd..)Process creation involves following stepsCreate process entryCreate Approval matrixCreate email templateSimilarly new users can be added through API on demandUser 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
APIs listBelow are the few of the APIs that can be used by client applicationcreateProcess (Admin API)createProcessInstance manageUser (create/update/delete) (Admin API)manageEmailTemplate (Admin API)manageApprovalMatrix (Admin API)initiateTaskgetTaskListgetTaskHistoryupdateOutcomeupdateVacationreAssignTaskRequest/Submit InfoviewTaskReports (Admin API)etc
Database Components(Tables)ProcessTo store process metadata like, process id, name, error assignee etcProcessInstanceTo store each process transaction data like, creator, approval type, status etc.Map_ProcessAndApproversTo manage approval matrix like approver list, approval type, approval sequence, SLA etcUSERS_MASTERTo store user list with their email, mobile etc. This can be a User repository like OID, AD as well.EmailCategoryTagsTo store email notification template
Database Components(Tables) contd..DashBoardTableThis table is used to retrieve requested users (logged in) task list, Submitted Tasks (In Progress, Approved, Rejected, Cancelled)Pending Tasks WorklistTableThis table will have the history of all approvers interactions/action with each tasks.
Database Components(PL/SQL)GetDashBoardDataThis SP will be called when getTaskList API is invokedTables involved:DashBoardTable (for submitted/pending task list)WorklistTable (for brief approver icons)GetApproverHistoryThis SP will be called when getTaskHistory API is invokedTables involved:WorklistTable (for complete task history like, each approvers and their status etc)
Database Components(PL/SQL) contd..GetEmailNotitifyHdrThis SP will be called for to get email template for sending notificationTables involved:EmailCategoryTags (to get Approver/ Submitter email template)InsertUpdateWFActionThis SP will be called when following APIs invokedupdateOutcomerequestMoreInfosubmitInfoTables 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)
SOA Human Task Components
Human Task API
Sample Application
Workflow Events
Dot Net client
Task History
Pending Tasks
JSON Payload
JSON Payload
JSON Payload
Email Notification
Approver Email
Tasks with attachment from SharePoint
Email Approval Validation
Approver Email