Overzicht
BelgIF-OpenAPI, een set libraries van gemeenschappelijke data types georganiseerd per domein, om een REST API te beschrijven en aldus te hergebruiken in OpenAPI (Swagger)-specificaties
Generieke IT-bouwblokken
SubdomeinSoftware factory - niet-veiligheidsgerelateerd
TypologieLibrary
Service ownersFOD Financiën, Smals, KSZ, eHealth, BOSA, RSZ
2019
Hergebruikmeer dan 30
Integration effortWaarvoor dient het?
Ontwikkel je een REST-service met identificatiegegevens van de sociale zekerheid (zoals INSZ, ondernemingsnummer...), gezondheidszorgen, datums, bedragen, landcodes, gewesten, gemeenten...? Verwijs dan eenvoudigweg naar de BelgIF OpenAPI-schemas in je OpenAPI-document.
Bovendien kan je testen of je OpenAPI-document voldoet aan de REST-guidelines, gepubliceerd op BelgIF, met behulp van de plug-in die je ter beschikking gesteld wordt op GitHub.
Functionele beschrijving
Een werkgroep, bestaande uit functionelen van FOD BOSA, eHealth, KSZ, FOD Financiën en Smals, heeft de meest gangbare bedrijfsontologieën (Person, Organization, Location, Temporal, Generic...) gestandaardiseerd.
Deze samenwerking resulteerde in
- enerzijds, de publicatie van een terminologielijst van klassen en eigenschappen, met hun URI's, die door de federale overheid als standaardterminologie wordt aanvaard (Belgif vocabularies). Deze terminologie is afkomstig uit drie bronnen: federale overheidsdiensten, Vlaanderen en EU-standaarden. Elk element van de lijst heeft een numerieke identificator (zonder betekenis), een naam (in het Engels, camelCase) en een definitie
- anderzijds, libraries van gemeenschappelijke data types (Belgif OpenAPI schemas) in overeenstemming met de Belgif vocabularies en de Belgif REST guidelines
BelgIF-OpenAPI definieert data types in de volgende domeinen:
- organization-identifier
- organization
- employment-identifier
- person-identifier
- person
- location
- healthcare
- time
- money
- problem
- common (common technical data types)
Er kan vanuit andere OpenAPI-documenten naar de data types worden verwezen:
“$ref”: “./belgif/person/identifier/v1/person-identifier-v1.yaml#/components/schemas/Ssin”
Er is ook plug-in beschikbaar op GitHub om je OpenAPI-document te valideren of deze voldoet aan de REST-guidelines gepubliceerd op BelgIF.
Technische beschrijving
Veelgebruikte OpenAPI-2.0 en 3.0-gegevenstypes worden onderhouden in de belgif openapi-* GitHub repositories, georganiseerd per domein. Typen met een bèta-status bevinden zich in de broncode, maar maken geen deel uit van de vrijgegeven artefacten. Apache Maven-gebruikers kunnen ze ook downloaden van Maven Central.
Doelpubliek
De libraries BelgIF-OpenAPI common data types kunnen gebruikt worden door iedereen die een REST API ontwikkelt, waarbij de interoperabiliteit tussen alle gebruikte API's wordt verbeterd.
Als u wenst bij te dragen door opmerkingen te formuleren over de standaarden, ze mee vorm te geven of er intern/extern over te communiceren, dan kan u een issue openen op het geschikte project (belgif-openapi, FedVoc, REST guide), of een mail sturen naar fsp@gcloud.belgium.be.
Integratievoorwaarden
De libraries BelgIF-OpenAPI common data types zijn als open source gepubliceerd onder de licentie 2.0 van Apache en gratis te downloaden op GitHub of als Maven-artifacts op Maven Central.
Documentatie
- Federal Service Platform - GCloud service
- Federal vocabulary standaarden
- REST Guidelines
- Bronnen van de REST Guidelines
- Herbruikbare OpenAPI-schema's
- Laat een issue (= opmerking, suggestie, vraag) op de geschikte GitHub belgif-openapi
- Presentatie Federal Data & REST Standardization (slides & video)
- Europese standaarden - Kernwoordenlijst
- Interfederale standaarden van het ICEG - review
- Interfederale standaarden van het ICEG - thematic
- Regionale standaarden
- belgif-rest-guide-validator Maven plugin
Contact
Contact: ReuseOperational@smals.be