# Adopteren vs bouwen

GZAC staat voor 'generiek zaakafhandelcomponent' - bruikbaar voor verschillende soorten processen, onafhankelijk van een specifiek domein. De afhandeling van zaken wordt gestuurd door processen gemodelleerd in [BPMN](https://www.bpmn.org/) 2.0.

#### Wanneer GZAC inzetten?

GZAC bevindt zich tussen de standaard 'commercial off the shelf' applicatie aan de ene kant en en de maatwerk applicatie aan de andere kant.

<figure><img src="/files/mhRcVFfD9nyEOXuDLmpf" alt=""><figcaption></figcaption></figure>

Het platform biedt drie mogelijkheden.

Het **adopteren** van basisprocessen levert snel resultaat. Door gebruik te maken van een zaakafhandelproces dat door andere gebruikers is gedeeld wordt snel resultaat behaald. Locale aanpassingen zijn altijd nodig: om te passen op de locale infrastructuur, de eigen rollen en gebruikers, huisstijl, ZGW datalaag en omliggende diensten. Het aantal [basisprocessen ](https://github.com/generiekzaakafhandelcomponent/Basisprocessen/tree/main/blueprints)is nog beperkt.

Het vrij **modelleren** van zaakafhandelprocessen in BPMN biedt grote vrijheid. Via configuratie in BPMN (proces), DMN (besluit), Formio (formulieren), JSON (objecten) en instellingen via de UI (plugins, zaaktypes) kunnen complexe processen worden gebouwd in een korte doorlooptijd. Dit wordt aangevuld met code in frontend en backend voor wensen die niet met configuratie in te vullen zijn, zoals unit testing, het koppelen van events in processen, systeemkoppelingen en wensen die niet met configuratie kunnen worden ingevuld. Er is een [CI/CD-pipeline](https://en.wikipedia.org/wiki/CI/CD) nodig.

Het platform kan tot slot ook worden ingezet voor het **bouwen** van domeinspecifieke oplossingen. Daar waar voorheen maatwerkapplicaties werden gebouwd, wordt nu een snelle start gemaakt door gebruik te maken van het GZAC fundament en de beschikbare plugins en bouwstenen.\
\
De overgang tussen adopteren, modelleren en bouwen verloopt gradueel. De keuze heeft invloed op de flexibiliteit, snelheid in oplevering, complexiteit van DevOps, beheer, implementatie- en onderhoudskosten.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.gzac.nl/kennisbank/adopteren-vs-bouwen.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
