Schematechnieken
OOAPI Model

Sequence
sequenceDiagram
actor Client
participant API@{"type": "boundary"} as OOAPI
participant Middleware@{"type": "control"}
participant DB@{"type": "database"} as PHOUNIX
Client->>API: Request
critical Authenticate JWT
API->>Middleware: Authenticate
option No Token or token expired
Middleware-->>Client: 401
option Invalid role
Middleware-->>Client: 403
end
critical Check parameters
API->>Middleware: Parameter
option Invalid parameter value
Middleware-->>Client: 400
end
API->>DB: Query Data
DB-->>API: Return data
API-->>Client: 200
Component
flowchart LR Client[Client / Applicatie] —> APIM[Azure API Management]
APIM --> Auth[OAuth2 / JWT Validatie]
Auth -->|Token geldig + juiste rol| Function[Azure Function OOAPI V6]
Auth -->|Geen/ongeldig token| Error401[401 Unauthorized]
Auth -->|Onvoldoende rechten| Error403[403 Forbidden]
Function --> Middleware[Middleware]
Middleware --> Validation[Parameter Validatie]
Validation --> Service[Service Layer]
Service --> Mapping[OOAPI V6 Mapping]
Mapping --> Database[(PHOUNIX Database)]
Database --> Mapping
Mapping --> Service
Service --> Function
Function --> APIM
APIM --> Client
Validation -->|Ongeldige parameter| Error400[400 Bad Request]
Dit componentdiagram laat zien hoe een request door de OOAPI V6 loopt. De client stuurt een request via Azure API Management. Daarna wordt het JWT-token gevalideerd op geldigheid en rol. Bij een geldig token wordt de Azure Function uitgevoerd. De middleware controleert de parameters, waarna de service layer de juiste data ophaalt uit de PHOUNIX database. De mappinglaag zet deze data om naar het OOAPI V6-formaat voordat de response teruggestuurd wordt naar de client.