Versions Compared

Key

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

...

    • Task Drill-Down/Drill-Up and Detail View
      • Capabilities
        • Support Task (CAll Activity) drill-down/drill-up capabilties.
        • When a call activity task is selected, the Drill-Down button will be enabled.
        • Provide detail views for the selected Task.
        • When a task is selected including the call activity, the Detail view panel will display details for the selected task.
      • Design
        • When a selected/clicked task activity type is the Call Activity, the Drill-Down button is enabled.
          • if (activityType.equals('CallActivity') {enableDrillDown();}

        • If the current process instance has its parent process instance (from the activity tree), the Drill-Up button is enabled.
          • if (parentActivityInstanceId != null) {enableDrillUp();}


    • Sub-Service Instance Rendering and Detail View
      • Capabilities
        • Get a sub process defintion XML through the Service Id and Process Instance association.
        • Use Camunda REST API, get/process-definition/{sub-id}/xml
        • Get the state of a sub-process instance from the activity-instances.
        • Use Camunda REST API, get/process-instance/{sub-id}/activity-instances
        • Render the BPMN XML with bpmn.io and places markers on top of it, and provides service instance detail views.
        • This widget uses the same code of the Service Instance Rendering and Detail View with the sub-process instance id. 
        • The Drill-Up button will be enabled.
      • Design
        • This widget code is the same as the Service Instance Rendering and Detail. 
        • The difference is the passed process id; the child process instance id will be passed.


  • 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 multpile Camunda calls 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
  • Custom History Event Producer
    • Populate additional data in history with extensibility


  • Estimates
    • Note: 
      • It is a rough estimate - to be refined
      • Estimate includes development and unit testing time
ComponentDevelopment EstimateComments
SO Service List widget80 hours / UI developer
    • populate serach filter criteria
    • Displays a service list panel
    • control action buttons
Statistic Dashboard40 hours / UI developer
    • Displays statistic for the selected service scope

Service Instance Rendering

and Detail Panel

120 hours / UI developer
    • Renders service instance workflow graphically
    • provides the service instance details and selected task details
    • Provides drill-down and drill-up capabilities
Rest APIs for supplying data80 hours / Java developer
    • REST facade for
      • collecting and conslidating various Camunda process instance and history data to simplify GUI data collection interaction.
      • collecting SO Request DB data
Custom History Producer40 hours / Java developer
    • Produce history with additional data population
    • This is an option, and is used only if the Camunda history data is not sufficient.

...