Versions Compared

Key

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

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
imageAttachmentIdatt1131872313
macroId6acf7462-c59a-4606-adf7-2a07f337d504
baseUrlhttps://sundsvall.atlassian.net/wiki
nameProcessEngine
diagramAttachmentIdatt1132134446
containerId957677591
timestamp1670340984790

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).

Swagger ui

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://

urlhttps://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 /

api-docs

: 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

Publicera även en API-Key mot Sandbox som gör att man kan testköra API:et.

API-specifikationen skall såklart reflektera att API-design följts fullt ut.>

Säkerhetsklassning

Säkerhetsklass ?

Autentiseringsmetod: API KeyOauth 2

(Ref: Säkerhetsklassning av APIer )

API-ägare

<Kontaktuppgifter till den verksamhet som äger APIets livscykel>

Teknisk ägare

<Kontaktuppgifter till utvecklare/teknisk förvaltare>

Teknisk ägare

https://sundsvall.atlassian.net/wiki/spaces/API

Ansvarigt team: Team Unmasked

För tekniska frågor: teammasked@sundsvall.se

Källkod

https://github.com/Sundsvallskommun/process-engine-parking-permit