Beskrivning
Idag används ProcessEngine i samband med projekt Parkeringstillstånd, så arkitektur är specifik för det projektet för tillfället.
Camunda BPM är en processmotor och en viktig del i Sundsvalls kommuns strategi för att bygga en generell ärendehantering.
Det finns ett Rest-api för att prata med Camunda, men det kräver genomgripande kunskap av hur processmotorn fungerar.
Därför finns ProcessEngine -api:et för att göra det enklare att prata med processmotorn. Främst används det för att köra affärsregler med hjälp av anrop mot andra API:er.
https://github.com/Sundsvallskommun/process-engine-parking-permit
Livscykelstatus
Test
Lösningsbeskrivning
API:et är ett Spring Boot-projekt som försöker efterlikna övriga API:er inom Sundsvalls kommuns utvecklingsfabrik. Därför används dept-44-dependecies för till exempel Webclient och Test.
Gliffy |
---|
imageAttachmentId | att1131872313 |
---|
macroId | 6acf7462-c59a-4606-adf7-2a07f337d504 |
---|
baseUrl | https://sundsvall.atlassian.net/wiki |
---|
name | ProcessEngine |
---|
diagramAttachmentId | att1132134446 |
---|
containerId | 957677591 |
---|
timestamp | 1670340984790 |
---|
|
Hantering av personuppgifter
Inga personuppgifter hanteras, endast ärendenummer skickas in och sparas i processmotorns historik. För tillfället finns ingen databas eller liknande kopplad till API:et.
API specifikation
<API specifikation i Swagger-UI (använd plug-in).openapi: 3.0.1
info:
title: Process Engine
contact: {}
license:
name: MIT License
url: 'https://opensource.org/licenses/MIT'
version: '1.0'
servers:
- url: 'https://url | https://camunda-test.sundsvall.se/process-engine-api |
---|
|
/'
description: Generated server url
security:
- default: []
paths:
/process/update-process:
post:
tags:
- camunda-endpoints
description: Update a process instance with the given process instance ID
operationId: updateParkingPermitProcess
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CaseObject'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ParkingPermitResponse'
security:
- default: []
x-auth-type: Application & Application User
x-throttling-tier: Unlimited
x-wso2-application-security:
security-types:
- oauth2
optional: false
/process/start-process:
post:
tags:
- camunda-endpoints
description: Start a new process instance with the given process name
operationId: startParkingPermitProcess
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CaseObject'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ParkingPermitResponse'
security:
- default: []
x-auth-type: Application & Application User
x-throttling-tier: Unlimited
x-wso2-application-security:
security-types:
- oauth2
optional: false
:
get:
tags:
- API
summary: OpenAPI
operationId: getApiDocs
responses:
'200':
description: OK
content:
application/yaml:
schema:
type: string
security:
- default: []
x-auth-type: None
x-throttling-tier: Unlimited
x-wso2-mutual-ssl: Optional
x-wso2-application-security:
security-types:
- oauth2
optional: false
components:
schemas:
CaseObject:
type: object
properties:
processName:
type: string
caseNumber:
type: string
processInstanceId:
type: string
ParkingPermitResponse:
type: object
properties:
processId:
type: string
example: bfc9d438-db4e-11ec-bb5b-0242ac110003
securitySchemes:
default:
type: oauth2
flows:
implicit:
authorizationUrl: 'https://test.com'
scopes: {}
x-wso2-cors:
corsConfigurationEnabled: false
accessControlAllowOrigins:
- '*'
accessControlAllowCredentials: false
accessControlAllowHeaders:
- authorization
- Access-Control-Allow-Origin
- Content-Type
- SOAPAction
- apikey
- testKey
accessControlAllowMethods:
- GET
- PUT
- POST
- DELETE
- PATCH
- OPTIONS
x-wso2-production-endpoints:
urls:
- 'https://camunda-test.sundsvall.se/process-engine-api/'
type: http
x-wso2-basePath: /process-engine/1.0
x-wso2-transports:
- https
x-wso2-response-cache:
enabled: false
cacheTimeoutInSeconds: 300