Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • REST APIs for providing data to UIs
    • Capabilities
      • Provides REST services, by utilzing 1) Camunda REST APIs, such as BPMN XML string, process activity data, process variable, statistic, and 2) SO Request DB APIs for a service list.
      • Consolidate data responses from multple Camunda calls (both from process and history database) and feed them to UIs.
      • Use of HistoryService APIs, example, processEngine.getHistoryService().createHistoricProcessVariableQuery().xyz
      • Set a History level to ACTIVITY as a minimum; AUDIT (default) level for process variable tracing
      • Provides workflow tracing (between parent-child workflows, interaction with other services; service task in and out); example,
        • processEngine.getRuntimeService().createExecutionQuery().processVariableValueEquals("serviceInstanceId", serviceInstanceId).singleResult();
      • Custom Query
        • Custom Query against History ACT_HI_DETAIL database table, as needed
      • Create a REST API, getServiceList with search criteria
        • Enhance MsoRequestsDbAdapter and MsoRequestsDbAdapterImpl to implement getInfraRequest(...) with additional parameters
        • invoke getInfraRequest(...) to collect service list data based on search criteria.
    • Design
      • Write REST APIs in the new mso-api-handlers/mso-api-handler-monitoring
        1. getServiceList(Map searchCriteria...) invokes new getInfraRequest(Map searchCriteria...)
        2. getProcessInstanceId(String serviceInstanceId);
        3. getprocessDiagram(String processInstanceId); getProcessDiagram(String serviceInstanceId);
        4. getprocessInstanceDetail(String processInstanceId); getProcessInstanceDetail(String serviceInstanceId); 
        5. getProcessInstanceActivity(String processInstanceId); getProcessInstanceActivity(String serviceInstanceId); 
        6. getProcessTaskDetail(String processInstanceId, String taskId);
        7. getProcessTaskType(String processInstanceId, String taskid);
    • The following diagram depicts the API interaction.

...