...
- when a user clicks on a row, highlight the selected row and enable the Monitor button.
- Once the Monitor button is clicked, go to the Service Instance Rendering and Deail widget, passing key fields such as service instance id, which will be mapped into the process instance id to find a matched process instance id in Camunda database in the Service Instnce Rendering and Detail widget.
- Design
- Query for service list data for a given search criteria.
- Count the total number per status (Finished, Processing, Error)
- Status Total / total number
- Query for service list data for a given search criteria.
...
- 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
- invoke getInfraRequest(...) to collect service list data based on search criteria.
- Design
- Write REST APIs
- getServiceList(...) invokes new getInfraRequest(...)
- getProcessInstanceId(String serviceInstanceId);
- getprocessDiagram(String processInstanceId); getProcessDiagram(String serviceInstanceId);
- getprocessInstanceDetail(String processInstanceId); getProcessInstanceDetail(String serviceInstanceId);
- getProcessInstanceActivity(String processInstanceId); getProcessInstanceActivity(String serviceInstanceId);
- getProcessTaskDetail(String taskId);
- getProcessTaskType(String taskid);
- Write REST APIs
- Capabilities
- Custom History Event ProducerProducer (strech goal)
- Populate additional data in history with extensibility
- It is an optional component. We plan to use it when the default Camunda process and history data is not sufficient.
...
- Estimates
- Note:
- It is a rough estimate - to be refined
- Estimate includes development and unit testing time
- As mentioned above section, the components can be built in parallel.
- 5 hours / day
- Note:
Priority | Component | Development Estimate | Comments | |||
---|---|---|---|---|---|---|
1 | REST APIs for providing data to UIs | 80 hours / | UIJava developer |
| Statistic Dashboard | 40
|
2 | SO Service List widget | 80 hours / UI developer | Displays statistic for the selected service scope
| |||
3 | Service Instance Rendering and Detail Panel | 120 hours / UI developer |
| |||
Rest APIs for supplying data | 80 hours / Java developer |
| ||||
4 | Statistic Dashboard (stretch goal) | 40 hours / UI developer |
| |||
5 | Custom History Producer (stretch goal) | 40 hours / Java developer |
|
...