Skip to content

DBPMMS Operate API for BPM/Workflow Engine Management

This library provides services for managing BPM/Workflow Engine operations through a decoupled REST API interface.

Installation

npm install @dnext-angular/dbpmms-op

Setup

Import Required Modules

import { NgModule } from '@angular/core';
import { HttpClientModule } from '@angular/common/http';
import { 
  BatchJobManagementService,
  BatchProcessInstanceManagementAsyncService,
  MigrationProcessService,
  ProcessInstanceService,
  ProcessInstanceActivityService,
  ProcessInstanceIncidentsService,
  ProcessInstanceLifecycleExecutionManagementService,
  ProcessInstanceVariablesService
} from '@dnext-angular/dbpmms-op';
import { AuthorizationService, HttpHelperService } from '@dnext-angular/http';

@NgModule({
  imports: [
    HttpClientModule
  ],
  providers: [
    BatchJobManagementService,
    BatchProcessInstanceManagementAsyncService,
    MigrationProcessService,
    ProcessInstanceService,
    ProcessInstanceActivityService,
    ProcessInstanceIncidentsService,
    ProcessInstanceLifecycleExecutionManagementService,
    ProcessInstanceVariablesService,
    AuthorizationService,
    HttpHelperService
  ]
})
export class AppModule { }

Service Documentation

BatchJobManagementService

Manages batch job operations.

// Delete a batch
deleteBatch(params: DeleteBatchParams): Observable<any>

// Get batch details
getBatchJobById(params: GetBatchJobByIdParams): Observable<BatchDto>

// List batches
getBatches(params: GetBatchesParams): Observable<Array<BatchDto>>

// Update batch state
updateBatchState(params: UpdateBatchStateParams): Observable<any>

BatchProcessInstanceManagementAsyncService

Handles asynchronous batch process operations.

// Delete process instances in batch
batchProcessDelete(params: BatchProcessDeleteParams): Observable<BatchDto>

// Migrate process instances in batch
batchProcessMigration(params: BatchProcessMigrationParmas): Observable<BatchDto>

// Modify process instances in batch
batchProcessModification(params: BatchProcessModificationParams): Observable<BatchDto>

// Send correlation messages in batch
batchProcessSendCorrelateMessage(params: BatchProcessSendCorrelateMessageParams): Observable<BatchDto>

// Set process instance states in batch
batchProcessStateSet(params: BatchProcessStateSetParams): Observable<BatchDto>

// Set variables in batch
batchProcessVariableSet(params: BatchProcessVariableSetParams): Observable<BatchDto>

MigrationProcessService

Manages process migration operations.

// Generate migration plan
generateMigrationPlan(params: GenerateMigrationPlanParams): Observable<MigrationPlanDto>

// Execute process instance migration
migrateProcessInstance(params: MigrateProcessInstanceParams): Observable<any>

// Validate migration plan
validateMigrationPlan(params: ValidateMigrationPlanParams): Observable<MigrationPlanReportDto>

ProcessInstanceService

Handles process instance operations.

// Get historic process instance
getHistoricProcessInstance(params: GetHistoricProcessInstanceParams): Observable<HistoricProcessInstanceDto>

// Get process instance details
getProcessInstance(params: GetProcessInstanceParams): Observable<ProcessInstanceDto>

// Get process definition BPMN XML
getProcessInstanceBpmn20Xml(params: GetProcessInstanceBpmn20XmlParams): Observable<ProcessDefinitionDiagramDto>

// Query process instances
queryProcessInstances(params: QueryProcessInstancesParams): Observable<Array<ProcessInstanceDto>>

ProcessInstanceActivityService

Manages process instance activities.

// Get activity instance
getProcessActivityInstance(params: GetProcessActivityInstanceParams): Observable<ActivityInstanceDto>

// Get activity instance history
getProcessActivityInstanceHistory(params: GetProcessActivityInstanceHistoryParams): Observable<Array<HistoricActivityInstanceDto>>

// Get called process instances
getProcessCalledProcessInstance(params: GetProcessCalledProcessInstanceParams): Observable<Array<ProcessInstanceDto>>

ProcessInstanceIncidentsService

Handles process incident management.

// Get process incidents
getProcessIncident(params: GetProcessIncidentParams): Observable<Array<IncidentDto>>

// Get incident history
getProcessIncidentHistory(params: GetProcessIncidentHistoryParams): Observable<Array<HistoricIncidentDto>>

ProcessInstanceVariablesService

Manages process instance variables.

// Delete process variable
deleteProcessInstanceVariableByName(params: DeleteProcessInstanceVariableByNameParams): Observable<any>

// Get process variables
getProcessInstanceVariables(params: GetProcessInstanceVariablesParams): Observable<{ [key: string]: VariableValueDto }>

// Modify process variables
modifyProcessInstanceVariables(params: ModifyProcessInstanceVariablesParams): Observable<any>

Error Handling

All services implement comprehensive error handling: - Parameter validation - HTTP error responses - Type checking - Required field validation

HTTP Headers

The services automatically manage the following headers: - Content-Type: application/json - Accept: application/json - transactionId (when provided) - site - company - channel - application - sessionId - businessInteractionId - businessInteractionType

Dependencies

  • @angular/core: ^18.0.0
  • @angular/common: ^18.0.0
  • @dnext-angular/common
  • @dnext-angular/http
  • rxjs: ^7.0.0

DBPMMS Operate API Models

This directory contains TypeScript interfaces for the DBPMMS Operate API, which provides BPM/Workflow Engine Management functionality.

Model Interfaces

  • ActivityInstanceDto - Represents an activity instance tree
  • ActivityInstanceIncidentDto - Contains incident information within an activity instance
  • TransitionInstanceDto - Represents a transition instance
  • ProcessDefinitionDto - Process definition details
  • ProcessDefinitionDiagramDto - Process definition diagram information
  • ProcessInstanceDto - Process instance information
  • ProcessInstanceWithVariablesDto - Process instance with its variables
  • ProcessInstanceQueryDto - Query parameters for process instances
  • ProcessInstanceQueryDtoSorting - Sorting options for process instance queries

Historic Data

  • HistoricActivityInstanceDto - Historical activity instance data
  • HistoricExternalTaskLogDto - Historical external task log entries
  • HistoricIncidentDto - Historical incident information
  • HistoricProcessInstanceDto - Historical process instance data
  • HistoricProcessInstanceQueryDto - Query parameters for historical process instances
  • HistoricVariableInstanceDto - Historical variable instance data
  • MigrationExecutionDto - Migration execution configuration
  • MigrationInstructionDto - Migration instruction details
  • MigrationPlanDto - Migration plan configuration
  • MigrationPlanGenerationDto - Migration plan generation parameters
  • MigrationPlanReportDto - Migration plan execution report

Message Correlation

  • CorrelationMessageDto - Message correlation parameters
  • CorrelationMessageAsyncDto - Asynchronous message correlation
  • MessageCorrelationResultWithVariableDto - Message correlation results
  • ProcessInstanceCorrelationMessageDto - Process instance message correlation

Variables and Modifications

  • VariableValueDto - Variable value information
  • VariableQueryParameterDto - Query parameters for variables
  • PatchVariablesDto - Variable modification parameters
  • SetVariablesAsyncDto - Asynchronous variable updates
  • ProcessInstanceModificationDto - Process instance modification parameters
  • ProcessInstanceModificationInstructionDto - Modification instruction details

External Tasks

  • ExternalTaskDto - External task information
  • BatchDto - Batch operation details

Common Types

  • AnyValue - Generic value type
  • AtomLink - HATEOAS link representation
  • LinkableDto - Base interface for resources with links
  • ModelError - Error information structure
  • SuspensionStateDto - Suspension state configuration

Usage

These models are auto-generated from the OpenAPI specification and should not be modified manually. They are used to provide type safety when interacting with the DBPMMS Operate API.

Example usage:

import { ProcessInstanceDto, VariableValueDto } from './model';

// Create a new process instance with variables
const processInstance: ProcessInstanceDto = {
    id: "process-123",
    definitionId: "definition-abc",
    businessKey: "order-456",
    variables: {
        orderId: {
            value: "456",
            type: "String"
        } as VariableValueDto
    }
};

Notes

  • All interfaces are generated from OpenAPI spec version 1.0.0
  • The API is designed to decouple DNext Platform from BPM platform specific REST APIs
  • Most properties are optional (marked with ?) to accommodate partial data scenarios

License

DNext PiAGroup