RFC: Consistentie op toplevel berichten

Dit is een statische kopie van het eerdere discussie.kinggemeenten.nl.
Nieuwe discussies kunnen in de GitHub repository 'StUF standaarden' als issue worden opgevoerd.

7 reacties / 0 nieuw
Robert Melskens
RFC: Consistentie op toplevel berichten

De toplevel structuur van de berichten is in de huidige versie van StUF (3.01) niet consistent. Niet alleen over de verschillende berichten heen gekeken maar ook binnen berichten zelf. In het path naar de fundamentele entiteit komt vaak het element 'object'voor maar niet altijd. Soms wordt de functie van het bericht genoemd maar vaak ook niet. Zie de tabel hieronder voor een overzicht van de smaken:

                     

Berichttype

 

Structuur

 

Vraagbericht xxLv0x/gelijk
          /vanaf
          /totEnMet
          /scope/object
          /start/object
Antwoordbericht xxLa0x/antwoord/object
Kennisgevingbericht xxLk0x/object
Synchronisatiebericht xxSa0x/actueel/object
xxSh0x/actueel/actueel/object
           /historie/oudste/object
                        /wijziging/object
Synchronisatieverzoekbericht xxSa0x/object
xxSh0x/object
Vrije berichten Di0x/nnnnnn

Di0x/nnnnnn/gelijk
                    /vanaf
                    /totEnMet
                    /scope
                    /start
Du0x/nnnnnn

Ik stel voor om hier meer lijn in aan te brengen.

  1. Als eerste stel ik voor om in het Antwoordbericht het element 'antwoord' te verwijderen;
  2. Als tweede stel ik voor om de fundamentele entiteit overal in een 'object' element te plaatsen. Alleen als er binnen een bericht meerdere 'object' elementen kunnen voorkomen en deze verschillende functies hebben wordt het 'object' element voorafgegaan door een of meer elementen waarmee de functie wordt aangeduid.

Dit leidt tot de volgende structuren:

Berichttype

 

Structuur

 

Vraagbericht

xxLv0x/gelijk/object
          /vanaf/object
          /totEnMet/object
          /scope/object
          /start/object

Antwoordbericht xxLa0x/object
Kennisgevingbericht xxLk0x/huidig/object
          /oud/object
Synchronisatiebericht xxSa0x/actueel/object*
xxSh0x/actueel/object
           /historie/oudste/object
                        /wijziging/object
Synchronisatieverzoekbericht xxSa0x/gelijk/object
xxSh0x/gelijk/object
Vrije berichten Dxxx/entiteit/object**
Dxxx/selectie/gelijk
                    /vanaf/object
                    /totEnMet/object
                    /scope/object
                    /start/object
Dxxx/antwoord/object
Dxxx/update/object

* Onderzocht moet worden of dit mogelijk is aangezien beide actueel elementen op dit moment eigen stuurgegevens hebben.
** Indien RFC0438 wordt goedgekeurd zou je hier 2 'entiteit' elementen achter elkaar krijgen. Wellicht te overwegen om een van die elementen dan weg te laten.

Minder mooi aan dit voorstel is dat het antwoordbericht nu als enige afwijkt en dus nog steeds inconsistent is. Je zou kunnen overwegen daar 'xxLa0x/resultaat/object' te gebruiken.

Wat de nieuwe structuur van de vrije berichten betreft, hierin is het attribuut ‘functie’ natuurlijk helemaal niet meer nodig.

M.b.t. het 'object' element verwijs ik nog even naar RFC0438, waarin wordt voorgesteld om dat element te hernoemen naar 'entiteit'.

Robert Melskens

Dit RFC is opgevoerd in de onderhoudsverzoeken als RFC0439.
De lijst met onderhoudsverzoeken vind je op: 
gemmaonline.nl/index.php/StUF-Expertgroep#Documenten

Ruud Kathmann

Ook bij dit voorstel zien wij geen voordelen (welk probleem lossen we op?) maar wel het nadeel dat iedere wijziging de overstap naar een nieuwe versie complexer maakt.

De voorgestelde structuur van vrije berichten lijkt ons in ieder geval onwenselijk, omdat vrije berichten ook echt een andere structuur kunnen hebben dan de hier beschreven structuur gekoppeld aan een Object. In dit voorstel lijkt het erop dat een vrij bericht altijd een soort "aangepaste vraag" is. De vrije berichten die wij hebben kunnen ook heel andere inhoud en dus heel andere structuur hebben.

Wij stellen voor dit voorstel snel weer af te voeren.

Robert Melskens

Ruud, ik weet dat vrije berichten ook een geheel andere structuur kunnen hebben. Het betreft dan echter alleen een Du02 bericht. Ik ben daarover misschien niet duidelijk maar ik heb niet de intentie om de structuur van een Du02 bericht aan te passen. De Di01, Du01 en Di02 berichten zijn wel onderhevig aan een vastgestelde structuur. Zie daarvoor paragraaf 7.2 van de StUF standaard. In mijn voorstel geef ik daarnaast ook voorbeelden van vrije berichten die geen 'aangepaste vraag' betreffen ('Dxxx/entiteit/object', 'Dxxx/antwoord/object' en 'Dxxx/update/object').

Robert Melskens

Tijdens de StUF Expertgroep van 15 juni 2016 lopen de reacties uiteen van het helemaal afgevoerd willen zien van deze RFC tot het voorstellen om tot een nog betere structuur te komen.

Annemiek Droogh geeft aan het RFC graag helemaal afgekeurd te zien. Voor Mark Paanakker en Henri Korver hoeft het deel van het voorstel dat gaat over de kennisgevingsberichten niet doorgevoerd te worden. Sid Brouwer ziet op dat punt juist graag de elementstructuur 'oud/object' samengevoegd in 1 element 'oudobject' en 'huidg/object' samengevoegd in het element 'nieuwobject'. Dat laatste betekent overigens wel dat daar waar in de StUF standaard wordt gesproken over 'huidig' i.r.t. de objecten in een kennisgeving dit moet worden vervangen door 'nieuw'. Robert en Sid zijn van mening dat het feit dat de berichten meer zelfbeschrijvend worden een duidelijke verbetering is.

Uiteindelijk is besloten de discussie te voorzien van de voorgestelde aanpassingen en daarna pas te beslissen wat we met het RFC gaan doen.

Robert Melskens

Bij deze zoals beloofd in de StUF Expertgroep van 15 juni 2016 het aangepaste voorstel waarin ik nu alle wijzigingen t.o.v. de huidige situatie vet heb gemaakt:

Berichttype

 

Structuur

 

Vraagbericht

xxLv0x/gelijk/object
           /vanaf/object
           /totEnMet/object
           /scope/object
           /start/object

Antwoordbericht xxLa0x/object
Kennisgevingbericht xxLk0x/huidigObject
           /oudObject
Synchronisatiebericht xxSa0x/actueel/object
xxSh0x/actueel/object
            /historie/oudste/object
                        /wijziging/object
Synchronisatieverzoekbericht xxSa0x/gelijk/object
xxSh0x/gelijk/object
Vrije berichten* Dxxx/entiteit/object
Dxxx/selectie/gelijk
                     /vanaf/object
                     /totEnMet/object
                     /scope/object
                     /start/object
Dxxx/antwoord/object
Dxxx/update/object

* Uitgezonderd het Du02 bericht.

 

Robert Melskens

Tijdens de StUF Expertgroep van 21 september 2016 bleek dat de meeste leden niet achter deze wijziging staan. Er is daarom besloten het RFC af te voeren.