Soa workflow

of 25 /25
SOA Workflow API • Component Diagram (Cloud version) • Implementation overview • Database Components • API’s List • Use case diagram (to be included) • Error handler mechanism

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