Sign inSign up

wearefrank/zaakbrug

By wearefrank

•Updated 8 days ago

An integration solution for translating ZDS to and from ZGW, based on Frank!Framework with Ladybug

Image
1

100K+

wearefrank/zaakbrug repository overview

zaakbrug-banner-small.png

Successor of Open-ZaakBrug⁠, an app for Dutch municipalities that supports the transition from "zaak- en documentatieservices" (zds) to "zaakgericht werken" (zgw).

Dutch municipalities provide services that are delivered many times. An example of such a service is to provide passports. This service is delivered many times because each citizen needs a passport or an ID card. An instance of a service that is provided multiple times is referred by the Dutch word "zaak" (case).

There is a new specification named "zaakgericht werken" (zgw) for case register systems. Zgw is part of the Common Ground specification⁠ for software used by Dutch municipalities. Zgw will replace an old specification called "zaak- en documentatieservices" (zds). The municipality of Súdwest Fryslân wants to migrate to the zgw standard without having to invest in zds interfaces. To this end, the municipality has built the system Open-ZaakBrug (brug means bridge). It acts as an interface between a zgw case register system on the one hand and zds systems connecting to the case register system on the other hand. The Open-ZaakBrug source code is hosted on GitHub Sudwest-Fryslan/OpenZaakBrug⁠. For a comparison of zgw and zds see API-standaarden voor Zaakgericht Werken vergeleken met de Zaak- en Documentservices⁠.

This project, ZaakBrug, is meant to be a successor of Open-ZaakBrug. It leverages the Frank!Framework⁠ and its debugger Ladybug. The debugger shows for each incoming request which steps are executed to process the message. If there are errors, this information can be used for easy debugging. ZaakBrug does not only connect zds systems with case register system OpenZaak⁠, but with any case register system that implements zgw.

⁠Starting ZaakBrug

⁠Running with Docker

In a production environment it is recommended to run ZaakBrug with Docker. Ensure that Docker is installed on your computer and proceed as follows:

  1. Clone GitHub project https://github.com/ibissource/zaakbrug⁠ if you have not done so yet.

  2. Open a command prompt and change directory to the checkout directory.

  3. Build your Docker image from the source code using a command like the following: docker build -t zaakbrug:test ..

  4. Run ZaakBrug using a command like the following: docker run -p 8080:8080 -e dtap.stage=LOC --name=zaakbrug zaakbrug:test.

  5. To see the user interface of ZaakBrug, open a webbrowser and visit http://localhost:8080⁠.

  6. ZaakBrug provides an automated health check. You can run it with the following command: docker inspect --format='{{json .State.Health.Status}}' zaakbrug.

    Warning: In a DOS command window under Windows, the string after --format= has to be enclosed between "". You have docker inspect --format="{{json .State.Health.Status}}" zaakbrug.

    Info: If you know the Frank!Framework, the following information may be helpful. If the health check produces the value healthy, it is guarenteed that all adapters in the Frank configuration have booted without errors.

⁠Configuration

⁠Zaak- and Documentidentificatie

The properties zaakbrug.zgw.zaak-identificatie-template and zaakbrug.zgw.document-identificatie-template can be configured to specify how the zaak- and documentidentificatie should be generated and formatted. The syntax for variable substitution is as follows {[variable-name][:formatting-string]}

VariableDescription
idAuto-incrementing identifier with 'D' as formatting option, indicating the amount of digits.
Example: {id:D5} with id-123 will result in '00123'.
datetimeThe current date and time with '[Y]' as formatting option, according to XSLT datetime formatting⁠.
Examples:
  • {datetime:[Y]} with datetime=14-03-2023 produces '2023'
  • {datetime:[Y0001]} with datetime=14-03-2023 produces '2023'
  • {datetime:[Y][M][D]} with datetime=14-03-2023 produces '2023314'
  • {datetime:[Y0001][M01][D01]} with datetime=14-03-2023 produces '20230314'
  • {datetime:[Y][M01][D]} with datetime=14-03-2023 produces '20230314'

Tag summary

Content type

Image

Digest

sha256:4c90dddac…

Size

462.8 MB

Last updated

8 days ago

docker pull wearefrank/zaakbrug