Aanpassing waardebereik attribuut stuf:functie

Vergelijkbare documenten
Onderwerp Ontwerpkeuzen voor het relateren van entiteiten in StUF-ZKN 3.20 Vergaderstuk ter Bespreking Datum Bijlagen

Een volwassen REST-voorbeeld toegepast op StUF

elementformdefault: qualified of unqualified

StUF testplatform rapportage test uitvoering

Inhoudelijke reactie EGEM op adviesrapport Telematica Instituut: 'Over het service-georiënteerde gehalte van StUF 3.0.'

StUF: inperking en uitbreiding op SQL

Onderwerp Vertaling van de rollen van een betrokkene in een zaak naar StUF-ZKN 3.20 Vergaderstuk ter Besluitvorming Datum Bijlagen

StUF in een notendop. Opsteller: Henri Korver Datum: 21 september 2005 Versie: 0.1 CONCEPT

StUF testplatform rapportage test uitvoering

Onderwerp Vertaling van de rollen van een betrokkene in een zaak naar StUF-ZKN 3.20 Vergaderstuk ter Besluitvorming Datum Bijlagen

orrectie van de historie door het tussenvoegen van een relatie

Ontwerpregels en best practices voor StUF-berichten

Schema s en services Koppelvlakversie 2.1

1 Inleiding. 2 Van informatiemodel naar berichtenmodel. 2.1 Van objecttypen naar (bericht)entiteiten

Adhoc Testrapportage. Testrapportnummer: Leverancier: PerfectView B.V. Datum: :54:30 CET

Voorstel voor wijziging Informatiemodel ZTC

Adhoc Testrapportage. Testrapportnummer: Leverancier: PerfectView B.V. Datum: :37:32 CET

Ontwerpregels en best practices voor StUF-berichten

Visievorming op StUF-onderlaag. Henri Korver StUF Expertgroep 16 maart 2016 La Vie, Utrecht

Wijziging Informatiemodel ZTC

0.1 LVBAG Bevragen Productbeschrijving. versie 1.0. Datum. 10 augustus Document versie. 1.0 ConceptICT Services Keten RZDirectie IT

StUF Introductie Cursus

StUF: Waar gaat het heen? M. van den Broek

VERA 3.0. Bijlage D.4 - Keuzen verstuffing. Versie: 3.0 Datum: Status: Definitief

Compliancy Testrapportage

BRP-BZM Use Case Realisations Guidelines

StUF ondersteunt historie op attribuuten groepsniveau!

Het werken met het attribute StUF:sleutelSynchronisatie

0.1 Verdieping BAG Bevragen. versie 0.1. Datum. 1 juli Document versie. 0.1 ConceptICT Services Keten RZDirectie IT

Ontwerpkeuzen bij het verstuffen van het RGBZ 2.0. Datum Status Ter goedkeuring Versie 0.3

Compliancy Testrapportage

DATAMODELLERING CRUD MATRIX

Datum: Pagina: 1. Standaard Uitwisseling Formaat StUF 03.01: In Gebruik (versie 17) Standaard Uitwisseling Formaat. StUF 03.

Deel I Hoofdstuk 4: Modelleren van Toestand

Standaard Uitwisseling Formaat. StUF 03.02: In Ontwikkeling. Datum: Pagina: 1

Detail Ontwerp 4317 Nieuwe StUF release Omgevingsloket online release 2.9

Datum: Pagina: 1. Standaard Uitwisseling Formaat StUF 03.01: In Gebruik (versie 17) Standaard Uitwisseling Formaat. StUF 03.

Cursus StUF Maarten van den Broek messagedesign

Ontwerpkeuzen bij het verstuffen van het RGBZ 2.0. Datum Status In ontwikkeling Versie 0.1

Dat we scherpe en compacte schema s kunnen maken voor berichten in koppelvlakken, en die ook kunnen beheren. Dat we op een consistente manier

1 Inleiding. 2 De standaard representatie van historie. Bijlage: Representatie materiële en formele historie

Standaard Uitwisseling Formaat. StUF 03.02: In Ontwikkeling. Datum: Pagina: 1

Instructie Abonnementsgebied in Bravo

ONDERLINGE POSITIONERING INFORMATIE- EN BERICHTMODELLEN

Mogelijk onvolledige datum

StUF testplatform rapportage test uitvoering

1 Inleiding. 1.1 Doel. 1.2 Gerelateerde documenten. 1.3 Documenten historie

Instructie Abonnementsgebied in Bravo

Adhoc Testrapportage. Testrapportnummer: Leverancier: Conclusion ICT Projects Datum: :49:44 CET

Mogelijkheden RSS content in MailPlus

Compliancy Testrapportage

Ontwerpkeuzen bij het verstuffen van het RGBZ. Datum Status In gebruik Versie 1.13

Standaard Uitwisseling Formaat. StUF 03.02: In Gebruik. Datum: Pagina: 1

Ontwerpkeuzen bij het verstuffen van het RGBZ. Datum Status In gebruik Versie 1.15

Standaard-URI's naar Jurisprudentie met behulp van de European Case Law Identifier (ECLI)

Keteininformatiemodellering op basis van UML

Verslag StUF Expertgroep 18 maart 2015.docx KING. Aanwezig:

DATAMODELLERING RACI MATRIX

StUF testplatform rapportage test uitvoering

Reporting System CPA 2006

VERA. Best practice Bulk Data. Datum: Status: Definitief. Stichting VERA Veenendaal

DATAMODELLERING DATA MAPPING MODEL

Werkgroep URI Strategie. Bijeenkomst

Hieronder staat een voorstel voor het kennismodel voor de vernieuwde EAR wiki.

Verslag StUF Expertgroep 16 december 2015.docx KING. Aanwezig:

Koppelvlakspecificatie BAG - WOZ

Compliancy Testrapportage

Verslag StUF Expertgroep 17 juni 2015.docx KING. Aanwezig:

Canonieke Data Modellering op basis van ArchiMate. Canonieke Data Modellering op basis van Archimate Bert Dingemans

Datum: Pagina: 1. Standaard Uitwisseling Formaat StUF 03.01: In Gebruik (versie 27) Standaard Uitwisseling Formaat. StUF 03.

Verslag StUF Expertgroep 19 jan 2011 versie 0 3.odt KING. Deelnemers StUF Expertgroep. 9:30 12:30 Utrecht (Hoog Brabant)

Bijeenkomst Zaak- en Documentservices Documentcreatie services 1.0. Michiel Verhoef en Jan Brinkkemper

3. Structuren in de taal

Examen Datastructuren en Algoritmen II

Document verstuffing RSGB 3 wordt goedgekeurd

ONDERLINGE POSITIONERING INFORMATIE- EN BERICHTMODELLEN

Request For Comments Table linkbase (TLB) en Generic Preferred Label (GPL)

Koppelvlak BAG Koppelvlak BAG. Documentversie: 1.01 Datum: Versie van standaard: 3.10

Extern FD-register t.b.v. vergunningcontrole

HANDREIKINGEN VANUIT WISKUNDIG- DIDACTISCH ONDERZOEK: LOGARITMEN EN HET INPRODUCT TOM COENEN EN MARK TIMMER

Compliancy Testrapportage

het bank voorbeeld ISO Datamodelleren modelleren met het E-R R model een database ontwerpen verzamelingen van relaties (verbanden)

Roadmap StUF-BG 3.20 & StUF-ZKN Henri Korver StUF Regiegroep 2 april La Vie, Utrecht

Schema s en services versie 2.0

NHibernate als ORM oplossing

Voortgang en tussenresultaten Vernieuwde gegevens- en berichtstandaarden. Utrecht, 7 december 2016 Regiegroep Gegevens en Berichtenstandaarden

WOZ Waarden Rapportage

Combinatorische Algoritmen: Binary Decision Diagrams, Deel III

Schema s en services. Webservices en berichten: v op basis van IMBAG mei ConceptICT Services Keten RZDirectie IT

HOE TEKEN IK EEN OMGEVINGSMODEL

ISO Datamodelleren. Prof. dr. Paul De Bra. Gebaseerd op: Database System Concepts, 5th Ed. Silberschatz, Korth and Sudarshan

Uitdagende Sudoku Variaties, Beschrijving Educatieve Sudoku Variaties

Functionele specificaties Omgevingsloket online. Gecombineerde aanvraag. Februari 2018 Versie

Handreiking aanmaken GML-bestand

Compliancy Testrapportage

Les F-02 UML. 2013, David Lans

AFSPRAKEN StUF StUF bg OVERZICHT. Datum: 23 september 2017

FINK - Business Rules

Transcriptie:

Aanpassing waardebereik attribuut stuf:functie Auteur: Henri Korver Inhoud Inleiding... 1 Gerelateerde entiteiten... 3 Impliciete relaties... 4 Onderdelen van entiteiten... 5 Eigenschappen... 6 Groepen... 6 Containers... 7 Inleiding In StUF 3.01 kan het attribuut "StUF:functie" de volgende waarden bevatten: 1 entiteit update selectie antwoord zaakinfo Deze waarden worden gebruikt om aan te geven welke functie een element in een StUF-bericht vervuld. Bijvoorbeeld in het onderstaande vrije StUF-bericht zien we twee elementen die allebei verwijzen naar het entiteittype Persoon maar een andere functie vervullen, resp. entiteit en update. <ns:vrij-stufbericht...> <ns:stuurgegevens>...</ns:stuurgegevens> <ns:parameters> </ns:parameters> <ns:ambtenaar stuf:entiteittype="persoon" stuf:functie="entiteit">...</ns:ambtenaar> <ns:wijziggeslachtsnaam stuf:entiteittype="persoon" stuf:functie="update"> <ns:parameters> <stuf:mutatiesoort>w</stuf:mutatiesoort> </ns:parameters> <ns:object stuf:entiteittype="persoon" stuf:verwerkingssoort="w">...</ns:object> 1 Zie sectie 7. 2 in het document stuf0301.pdf. 1

<ns:object stuf:entiteittype="persoon" stuf:verwerkingssoort="w">...</ns:object> </ns:wijziggeslachtsnaam > </ns:vrij-stufbericht> Dit is een fictief voorbeeld van een vrij bericht met daarin een naamswijziging en de ambtenaar die de wijziging heeft doorgevoerd. Het element <ns:ambtenaar > representeert de entiteit Persoon. Het element <ns:wijzigachternaam > is zelf geen entiteit maar representeert de update functie die wordt uitgevoerd op de entiteit Persoon. Binnen dit element is de body van een wijzigingskennisgeving opgenomen om de update nader te specificeren. Op deze manier kan voorgedefinieerde functionaliteit (kennisgevingen en vraagantwoord) worden hergebruikt in vrije berichten. 2

Voor efficiënte notatie mag het attribuut stuf:functie worden weggelaten als het element een entiteit is: <ns:vrij-stufbericht...> <ns:stuurgegevens>...</ns:stuurgegevens> <ns:parameters> </ns:parameters> <ns:ambtenaar stuf:entiteittype="persoon">...</ns:ambtenaar> <ns:wijzigachternaam stuf:entiteittype="persoon" stuf:functie="update">> <ns:parameters> <stuf:mutatiesoort>w</stuf:mutatiesoort> </ns:parameters> <ns:object stuf:entiteittype="persoon" stuf:verwerkingssoort="w">...</ns:object> <ns:object stuf:entiteittype="persoon" stuf:verwerkingssoort="w">...</ns:object> </ns: wijzigachternaam > </ns:vrij-stufbericht> Deze verkorte notatie is bijvoorbeeld handig voor het sectormodel StUF-BRP waar alleen de functie entiteit gebruikt wordt. Het eerste voorstel is om de waarde zaakinfo te verwijderen uit het waardebereik van het attribuut stuf:functie. Immers zaakgegevens kunnen als één of meer entiteiten uit het sectormodel StUF-ZKN in het vrije bericht worden opgenomen. Het tweede voorstel is om het attribuut "StUF:functie" uit te breiden met de volgende waarden (op alfabetische volgorde): complex container gerelateerde groep onderdeel relatie simpel Deze nieuwe waarden zijn opgenomen in het schema stuf0302.xsd dat nog in ontwikkeling is. Deze waarden maken het mogelijk om de gegevensstructuren in het content model van StUF beter te beschrijven. Hieronder zal dit worden toegelicht door middel van een aantal voorbeelden. Gerelateerde entiteiten In StUF 3.01 wordt op de volgende manier een relatie vanuit de entiteit Persoon naar de entiteit adres Adres gelegd. <ns:woontop stuf:entiteittype="persoonadres"> <ns:gerelateerde stuf:entiteittype="adres"> 3

<adresidentificatie>1</adresidentificatie> </ns:gerelateerde> <aanvangverblijf>20011203</aanvangverblijf> </ns:woontop> De relatie wordt gelegd door middel van de relatie-entiteit PersoonAdres. De entiteit Adres is hier de gerelateerde entiteit. Het nadeel van deze notatie is dat het door StUF gereserveerde element <ns:gerelateerde> niet de namespace van StUF heeft maar van het sectormodel, dus de prefix ns in plaats van stuf. In onderstaand voorbeeld wordt dit probleem opgelost door de gerelateerde entiteit te specificeren middels het attribuut stuf:functie met als waarde gerelateerde. Het attribuut stuf:functie is wel netjes in de namespace van StUF gedefinieerd. <ns:woontop stuf:entiteittype="persoonadres" stuf:functie="relatie"> <adres stuf:entiteittype="adres" stuf:functie="gerelateerde"> <adresidentificatie>1</adresidentificatie> </adres> <aanvangverblijf>20011203</aanvangverblijf> </ns:woontop> Dit is veel netter omdat we nu het begrip gerelateerde binnen de namespace van StUF definiëren in plaats van in de namespace (in dit geval ns ) van een willekeurig sectormodel. De volgende verkorte notatie waarin het attribuut stuf:functie op een aantal plekken is weggelaten is ook toegestaan: <ns:persoon stuf:entiteittype="persoon"> <ns:woontop stuf:entiteittype="persoonadres" stuf:functie="relatie"> <adres stuf:entiteittype="adres"> <adresidentificatie>1</adresidentificatie> </adres> <aanvangverblijf>20011203</aanvangverblijf> </ns:woontop> De parser kan vrij eenvoudig afleiden dat het eerste element een entiteit is en dat het vierde element een gerelateerde is. Impliciete relaties Het onderstaande voorbeeld is een mogelijke variant om entiteiten te relateren waarbij de relatie impliciet is en geen eigenschappen heeft. <ns:persoon stuf:entiteittype="prs" stuf:functie="entiteit"> 4

<adres stuf:entiteittype="adr" stuf:functie="gerelateerde"> <adresidentificatie>1</adresidentificatie> </adres> Ook hier moet nog worden onderzocht wat de gevolgen zijn voor CRUD. De volgende verkorte notatie waarin het attribuut stuf:functie is weggelaten is ook toegestaan: <ns:persoon stuf:entiteittype="prs"> <adres stuf:entiteittype="adr"> <adresidentificatie>1</adresidentificatie> </adres> Dus als er binnen een element met het attribuut stuf:entiteittype een ander element voorkomt met hetzelfde attribuut dan is de afspraak dat het altijd een gerelateerde entiteit is. Onderdelen van entiteiten In onderstaand voorbeeld wordt aangeven dat een entiteit onderdeel is van een andere entiteit. <ns:persoon stuf:entiteittype="tafel" stuf:functie="entiteit"> <ns:tafel_id>1</ns:tafel_id> <ns:poot stuf:entiteittype="poot" stuf:functie="onderdeel"> <ns:poot_id>1</ns:poot_id> </ns:poot> <ns:poot stuf:entiteittype="poot" stuf:functie="onderdeel"> <ns:poot_id>2</ns:poot_id> </ns:poot> <ns:poot stuf:entiteittype="poot" stuf:functie="onderdeel"> <ns:poot_id>3</ns:poot_id> </ns:poot> <ns:poot stuf:entiteittype="poot" stuf:functie="onderdeel"> <ns:poot_id>4</ns:poot_id> </ns:poot> De identifiers van de onderdelen zijn lokaal en zijn pas uniek op globaal niveau als ze gecombineerd worden met de indentifier van de hoofdentiteit. Dit biedt de mogelijkheid om de zogenaamde zwakke entiteiten (entiteiten die afhankelijk zijn van andere entiteiten) expliciet te benoemen. Er moet nog worden onderzocht wat de gevolgen zijn van dit nieuwe concept op de bestaande CRUD-functionaliteit van StUF. Alleen in de (hoofd)entiteit Tafel mag het attribuut stuf:functie worden weggelaten. In de zwakke entiteit Poot mag dat niet omdat het anders verward kan worden met een gerelateerde entiteit van een impliciete relatie zoals beschreven in de vorige sectie. 5

Eigenschappen In onderstaand voorbeeld wordt expliciet aangegeven of een eigenschap van een entiteit wel of niet simpele of complexe inhoud heeft (bijv. een getal versus GML). <ns:pand stuf:entiteittype="pand" stuf:functie="entiteit"> <ns:identificatie stuf:functie="simpel">123456789</ns:identificatie> <ns:geometrie stuf:functie="complex"> <gml:polygon gid="p1"> <gml:exterior> <gml:linearring> <gml:poslist dimension="3">1. 2. 3.</gml:posList> </gml:linearring> </gml:exterior> </gml:polygon> </ns:geometrie> </ns:pand> De volgende verkorte notatie is toegestaan: <ns:pand stuf:entiteittype="pand"> <ns:identificatie>123456789</ns:identificatie> <ns:geometrie stuf:functie="complex"> <gml:polygon gid="p1"> <gml:exterior> <gml:linearring> <gml:poslist dimension="3">1. 2. 3.</gml:posList> </gml:linearring> </gml:exterior> </gml:polygon> </ns:geometrie> </ns:pand> Let op: als een eigenschap complexe inhoud bevat is het attribuut stuf:functie= complex altijd verplicht! Dit is nodig om complexe eigenschappen te onderscheiden van groepen in de volgende sectie. Groepen In onderstand voorbeeld wordt expliciet aangeven dat een element een groep is. <ns:geboorte stuf:functie="groep"> <geboorteland>nl</geboorteland> <geboorteplaats>rotterdam</geboorteplaats> <geboortedatum>20011203</geboortedatum> </ns:geboorte> In de huidige StUF-standaard kunnen er geen CRUD-operaties op groepen worden uitgevoerd. Bij de mgba is daar mogelijk wel behoefte aan. Dit moet nog verder worden onderzocht. De volgende verkorte notatie waarin het attribuut stuf:functie is weggelaten is ook toegestaan: 6

<ns:persoon stuf:entiteittype="persoon"> <ns:geboorte> <ns:geboorteland>nl</ns:geboorteland> <ns:geboorteplaats>rotterdam</ns:geboorteplaats> <ns:geboortedatum>20011203</ns:geboortedatum> </ns:geboorte> Het kan als volgt worden afgeleid dat het element <ns:geboorte > een groep voorstelt: het element is geen entiteit omdat het attribuut stuf:entiteittype ontbreekt het element is geen simpele eigenschap omdat het geneste elementen bevat het is geen complexe eigenschap omdat het attribuut stuf:functie= complex ontbreekt (zie vorige sectie) Dus de enige mogelijkheid die overblijft is dat het element een groep moet zijn. Containers Onderstaand voorbeeld geeft aan hoe een (betekenisloos) strikje kan worden gelegd om entiteiten te groeperen. <ns:personen stuf:functie="container"> <ns:geboorte stuf:functie="groep"> <geboorteland>nl</geboorteland> <geboorteplaats>rotterdam</geboorteplaats> <geboortedatum>20011203</geboortedatum> </ns:geboorte> <ns:bsn>223456789</ns:bsn> <ns:bsn>323456789</ns:bsn> </ns:personen> Een container is vooralsnog anders dan een groep. Containers worden gebruikt om entiteiten te clusteren en groepen worden gebruikt om eigenschappen en relaties van entiteiten te groeperen. Het is wellicht ook mogelijk om het concept groep in StUF te verruimen zodat je met een groep ook entiteiten kunt groeperen. Echter dit vraagt om aanpassing van een bestaand concept. De volgende verkorte notatie waarin het attribuut stuf:functie is weggelaten is ook toegestaan in de nieuwe StUF 3.02 syntax: <ns:personen> <ns:persoon stuf:entiteittype="persoon"> 7

<ns:geboorte> <geboorteland>nl</geboorteland> <geboorteplaats>rotterdam</geboorteplaats> <geboortedatum>20011203</geboortedatum> </ns:geboorte> <ns:persoon stuf:entiteittype="persoon"> <ns:bsn>223456789</ns:bsn> <ns:persoon stuf:entiteittype="persoon"> <ns:bsn>323456789</ns:bsn> </ns:personen> Als een element zelf geen entiteit is, maar wel een child-element bevat dat wel entiteit is, dan is het parent-element een container. 8