RFC: Beter hanteerbare XSD-gegevensdefinities t.b.v. vrije 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.

9 reacties / 0 nieuw
André van den N...
RFC: Beter hanteerbare XSD-gegevensdefinities t.b.v. vrije berichten

Dit verzoek is ingediend door gemeente Den Haag  en gemeente Amsterdam.

Gevraagde wijziging: Beter hanteerbare XSD-gegevensdefinities t.b.v. vrije berichten

Toelichting: Op dit moment zijn StUF schema’s een integraal geheel en moeilijk  te gebruiken in de vorm zoals ze worden beschikbaar gesteld. Bijvoorbeeld, de compliancy tool van WS-I kan de StUF schema’s niet aan, waarschijnlijk puur door de omvang.

Maarten van den...

Zouden jullie wat specifieker kunnen aangeven wat de problemen zijn die optreden en in welke richting jullie denken dat de oplossing gezocht moet worden.

Han Welmer

De vraag is erg onduidelijk. Maar als de complexiteit van de hierarchische XSD bestanden een probleem is, dan is wellicht de King XSD resolver een mogelijke oplossing. Tip: neem contact op met de voorzitter van de King Expert groep.

Frank Terpstra

Wat Andre volgens mij bedoelt is dat hij behoefte heeft aan een door KING gepubliceerde verise van StUF-BG die in meerdere kleinere XSDs is opgesplitst. Dit om de hanteerbaarheid te vergroten. Dit is een release die zou kunnen bestaan naast de al bestaande normatieve release. Op zich lijkt mij dit niet verkeerd als Gemeente Den Haag en anderen hier in hun dagelijkse praktijk mee geholpen zijn. We gaan de komende tijd kijken naar ons release proces en indien dit makkelijk via een script of aanpassing op de resolver tool automatisch te genereren is dan zie ik geen problemen in het aanbieden van een dergelijke extra niet normatieve release.

Bastiaan Verhoef

Op dit moment krijg je bij het gebruik van de standaard StUF webservices heel veel XSD bestanden mee (Soms wel meer dan vijftig). Die ook nog eens heel veel types bevatten en veel onderlinge relaties bevatten. Dit maakt de implementatie erg ingewikkeld. Zeker wanneer voor vrije berichten maar een klein deel van de types worden gebruikt, willen we graag een structuur waarin we alleen simpele types kunnen gebruiken van StUF, zonder dan alle complexe typen en al de daarbij behorende restricties.

Om een voorbeeld te geven, ik heb patch14 van StUF bg0310 gedownload. Deze bevat 57 wsdl’s en xsd’s. Vervolgens heb ik geprobeerd om voor de synchrone vraag en antwoord code te genereren. Bij zowel Java als .NET lukte dit niet. Ook de WS-I-tooling kon niet omgaan met deze grote set aan bestanden.

Ook als je op basis hiervan een vrije berichten webservice maakt, zit je met het probleem van het groot aantal bestanden met complexe onderlinge relaties. Ik zou het erg waarderen als de XSD resolver, waar op het forum vaak over gesproken wordt, ter download wordt aangeboden op de website. Dan kan iedereen deze downloaden.

Mooier nog zou ik vinden als KING zelf een simpele versie (gegeneerd door de XSD resolver) van de wsdl’s en xsd’s op de website zou zetten, zodat de gemiddelde ontwikkelaar die met StUF te maken krijgt direct aan de slag kan. Dit moet sowieso kunnen voor de niet-vrije berichten.

Als dat niet kan voor de vrije berichten, is het verstandig om de XSD resolver duidelijk op de website te positioneren, zodat ontwikkelaars die nieuw zijn weten dat ze dit moeten gebruiken wanneer ze met StUF gaan werken.

Anoniem

De StUF bg0310 die je van de site kan downloaden bevat de set van alle beschikbare definities. Wij zien binnen de gemeente dat de verwachting nu is dat deze set voor elke toepassing direct te gebruiken is. Als voorbeeld krijgen we voor gebruik van alleen de vraag/antwoord webservice de hele set aangeboden. xsd bestanden met definities voor vraag/antwoord bevatten dan ook definities van andere webservices. Als je bij vrije berichten een bepaald element uit een xsd nodig hebt krijg je veel andere elementen er gratis bij die je niet gebruikt.

Het opknippen van de definities zoals door Frank en Bastiaan aangegeven maakt het overzichtelijker en makkelijker te splitsen. De bestanden worden kleiner en tooling kan er beter mee omgaan.  Ik ben het met Bastiaan eens dat op de site duidelijk moet worden dat de StUF bg0310 set niet af is, de XSD resolver nodig is om niet gebruikte elementen te schonen en deze tool zou dan ook te downloaden moeten zijn.

Robert Melskens

De XSD Resolver doet verschillende dingen:

  • Het aantal schema's in de set van schema's beperken door per namespace alle schema's bij elkaar in 1 schema te plaatsen;
  • Restriction constructies resolven naar complexTypes zonder restrictions;
  • Alle niet gebruikte componenten uit de schema's verwijderen.

Wellicht kunnen we de XSD Resolver zelfs nog verder optimaliseren zodat de schema's nog makkelijker gebruikt kunnen worden. Mocht je daar ideeen over hebben dan horen we dat natuurlijk graag.

We zullen in ieder geval gaan kijken of we de XSD Resolver aan gaan bieden of juist de met de XSD Resolver gegenereerde schema's.

Robert Melskens

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

Robert Melskens

 Tijdens de StUF Expertgroep van 20-5-2015 is besloten dit RFC af te voeren.