CS:Metadata Aanbieden: verschil tussen versies

Uit Kennisnet Developers Documentatie
Ga naar: navigatie, zoeken
(uitzondering mogelijkheid niet adverteren)
(Aanleveren catalogusinformatie op basis van de ECK DT standaard: bondiger)
Regel 2: Regel 2:
  
 
== Aanleveren catalogusinformatie op basis van de ECK DT standaard ==
 
== Aanleveren catalogusinformatie op basis van de ECK DT standaard ==
 +
In dit aansluittype sluiten ons Koppelpunt aan op de ECK DT Catalogusservice webservice van de aanbieder, en harvesten wij de aangeboden records.
 +
* Wij ondersteunen 2 versies van de standaard, [[CS:Versies|Lees meer]].
 +
* Onze harvester kan alleen maar data harvesten die valide is conform de geleverde XSD's; [[Standaarden:ECK-DT#Documentatie|Lees meer]].
  
=== Aansluitingsproces ===
+
=== SOAP endpoint ===
=== Ondersteunde versies van de standaard ===
+
Via een SOAP endpoint worden alle catalogusinformatie aangeboden volgens de specificaties van de ECK DT standaard; [[Standaarden:ECK-DT#SOAP|Lees meer]].
[[CS:Versies|Lees meer]] over welke ECK-DC standaardversie we ondersteunen. <br/>
 
Momenteel kunnen wij ECK-DT CatalogService versies 2.1.1 en 2.2 harvesten. We gaan binnenkort ondersteuning bieden voor versies 2.2 en 2.3.  
 
  
=== Harvester ===
+
Wij harvesten door middel van een publieke WSDL definitie. Er hoeft slechts één WSDL te worden gemaakt voor alle records.
Wij harvesten door middel van een WSDL definitie. <br/>
 
Er hoeft slechts één WSDL te worden gemaakt voor alle records.  
 
  
We hebben een template, waarbij alleen de <nowiki>{{SERVICE_ENDPOINT_URI}}</nowiki> vervangen moet worden met de eigen SOAP endpoint locatie:
+
We hebben een template voor de WSDL, waarbij alleen de <nowiki>{{SERVICE_ENDPOINT_URI}}</nowiki> vervangen moet worden met de eigen SOAP endpoint locatie:
 
<syntaxhighlight lang="xml">
 
<syntaxhighlight lang="xml">
 
<soap:address location="{{SERVICE_ENDPOINT_URI}}"/>
 
<soap:address location="{{SERVICE_ENDPOINT_URI}}"/>
 
</syntaxhighlight>
 
</syntaxhighlight>
Voor elke versie van de standaard moet een afzonderlijk eindpunt worden gemaakt.
+
Voor elke versie van de standaard moet een afzonderlijk WSDL en webservice endpoint worden gemaakt.
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Regel 30: Regel 29:
 
|}
 
|}
  
=== SOAP endpoint ===
+
=== Harvesting ===
Via een SOAP endpoint worden alle records aangeboden volgens de specificaties van de standaard.
+
De ECK-DT standaard en Catalogus Service Harvester ondersteunen '''incrementele harvesting''' via het ReadCatalog ''Since'' argument. De implementatie hiervan door de server is niet verplicht maar vanuit ons als harvestende partij wel aanbevolen.
Lees meer [[Standaarden:ECK-DT#SOAP]]
 
=== Metadata ===
 
In versie 2.3 van de ECK-DT standaard zijn de velden ''PriceVATHigh'' en ''PriceVATLow'' vervangen door de container '''''Prices''''' waarin meerdere bedragen opgenomen kunnen worden. <br/>
 
Elke ''Prices'' container moet één ''Currency'' element en ten minste één ''Price'' container bevatten indien ''IsCatalogItem'' veld de waarde “TRUE” heeft. <br/>
 
Het kan optioneel een ''Consumerprice'' element bevatten.<br/>
 
 
 
Elke '''''Price''''' container moet de volgende elementen bevatten:
 
*''Amount'': De prijs in centen ( excl. BTW) en
 
*''VAT'': Het BTW percentage . <br/>
 
Op deze manier kunnen ook belastingvrije producten worden toegevoegd. <br/>
 
Lees meer [[Standaarden:ECK-DT/CatalogService#Entry]]
 
  
=== Transport ===
+
Via incrementele harvesting kunnen '''nieuwe records''' worden aangeboden maar ook '''updates''' op reeds gestuurde records. Onze harvester zal deze dan '''periodiek''' bij de bron endpoint ophalen. In geval van een update dient de '''volledige''' laatste versie een record entry te worden aangeboden.
 
De ECK-DT standaard en Catalogus Service Harvester ondersteunen '''incrementele harvesting''' via het ReadCatalog ''Since'' '''Vetgedrukte tekst'''argument.<br/>
 
De implementatie hiervan door de server is niet verplicht maar vanuit ons als harvestende partij wel aanbevolen. <br/>
 
Via incrementele harvesting kunnen '''nieuwe records''' worden aangeboden maar ook '''updates''' op reeds gestuurde records. Alle nieuwe records of wijzigingen worden doorgevoerd omdat Catalogus Service Harvester zal ze '''periodiek''' bij de bron endpoint ophalen.
 
In geval van een update dient de '''volledige''' laatste versie een record te worden gestuurd. <br/>
 
Wij zullen, met behulp van de ''firstEntry'' en ''Amount'' velden, entries gepagineerd bij de bron endpoint opvragen.
 
[[Standaarden:ECK-DT/CatalogService#Transport]]
 
=== Validatie ===
 
Catalogus Service Harvester kunt alleen maar data harvesten die valide is conform de geleverde XSD's. [[Standaarden:ECK-DT#Documentatie]]<br/>
 
Een gratis software https://www.soapui.org/ kan worden gebruikt om het WSDL / SOAP-eindpunt te valideren. [[Standaarden:SOAP]]<br/>
 
Valideer de uitvoer voordat het harvestverzoek ingediend wordt.
 
  
=== Harvestverzoek ===
+
Wij zullen, met behulp van de ''firstEntry'' en ''Amount'' velden, entries gepagineerd bij de bron endpoint opvragen; [[Standaarden:ECK-DT/CatalogService#Transport|Lees meer]].
  
Een harvestverzoek kan worden ingediend via onze {{servicedesk}}.<br/>
+
=== Proces ===
Er moet een openbare WSDL-locatie worden meegedeeld.<br/>
+
Een nieuw of versievervangend aansluitproces kan worden gestart via onze {{servicedesk}}. Let daarbij op de volgende punten.
Optioneel kunnen zowel een ''OrganisationId'' als een ''wachtwoord'' worden gegeven. [[Standaarden:ECK-DT#Request]]<<br/>
+
* Er moet een openbare WSDL-locatie worden meegedeeld.
We zullen alle records die we op die locatie harvesten via de WSDL valideren tegen het xsd-schema. <br/>
+
* Optioneel kunnen zowel een ''OrganisationId'' als een ''wachtwoord'' worden gegeven. [[Standaarden:ECK-DT#Request]]<<br/>
Als alle gegevens correct zijn, regelen we de aansluiting met Catalogus Service Harvester.
+
* Indien het een nieuwe koppeling betreft (ipv nieuwe gegevensversie), expliciet de relevante contactgegevens van de inhoudelijk/technisch verantwoordelijke meegeven.
 +
* We zullen alle records die we op die locatie harvesten via de WSDL en valideren tegen het xsd-schema.
 +
** We raden aan dit harvest en validatieproces eerst zelf uit te voeren met bijv [https://www.soapui.org/ SoapUI].
 +
* Als de gegevens valide zijn, sluiten we collectie eerst aan op onze publiek staging omgeving en bevestigen we de correctheid van de aansluiting met de aanbieder voordat we overgaan op de productiekoppeling.
  
 
== Aanleveren catalogusinformatie op basis van een CSV ==
 
== Aanleveren catalogusinformatie op basis van een CSV ==

Versie van 27 mrt 2020 om 11:11

Een partij kan standaard metadata aanbieden volgens de ECK-DT standaard.

Aanleveren catalogusinformatie op basis van de ECK DT standaard

In dit aansluittype sluiten ons Koppelpunt aan op de ECK DT Catalogusservice webservice van de aanbieder, en harvesten wij de aangeboden records.

  • Wij ondersteunen 2 versies van de standaard, Lees meer.
  • Onze harvester kan alleen maar data harvesten die valide is conform de geleverde XSD's; Lees meer.

SOAP endpoint

Via een SOAP endpoint worden alle catalogusinformatie aangeboden volgens de specificaties van de ECK DT standaard; Lees meer.

Wij harvesten door middel van een publieke WSDL definitie. Er hoeft slechts één WSDL te worden gemaakt voor alle records.

We hebben een template voor de WSDL, waarbij alleen de {{SERVICE_ENDPOINT_URI}} vervangen moet worden met de eigen SOAP endpoint locatie:

<soap:address location="{{SERVICE_ENDPOINT_URI}}"/>

Voor elke versie van de standaard moet een afzonderlijk WSDL en webservice endpoint worden gemaakt.

template
Versie 2.2 https://wsdl.kennisnet.nl/eck/ECK-DT2-CatalogService-v2.2.wsdl
Versie 2.3 https://wsdl.kennisnet.nl/eck/ECK-DT2-CatalogService-v2.3.wsdl

Harvesting

De ECK-DT standaard en Catalogus Service Harvester ondersteunen incrementele harvesting via het ReadCatalog Since argument. De implementatie hiervan door de server is niet verplicht maar vanuit ons als harvestende partij wel aanbevolen.

Via incrementele harvesting kunnen nieuwe records worden aangeboden maar ook updates op reeds gestuurde records. Onze harvester zal deze dan periodiek bij de bron endpoint ophalen. In geval van een update dient de volledige laatste versie een record entry te worden aangeboden.

Wij zullen, met behulp van de firstEntry en Amount velden, entries gepagineerd bij de bron endpoint opvragen; Lees meer.

Proces

Een nieuw of versievervangend aansluitproces kan worden gestart via onze servicedesk. Let daarbij op de volgende punten.

  • Er moet een openbare WSDL-locatie worden meegedeeld.
  • Optioneel kunnen zowel een OrganisationId als een wachtwoord worden gegeven. Standaarden:ECK-DT#Request<
  • Indien het een nieuwe koppeling betreft (ipv nieuwe gegevensversie), expliciet de relevante contactgegevens van de inhoudelijk/technisch verantwoordelijke meegeven.
  • We zullen alle records die we op die locatie harvesten via de WSDL en valideren tegen het xsd-schema.
    • We raden aan dit harvest en validatieproces eerst zelf uit te voeren met bijv SoapUI.
  • Als de gegevens valide zijn, sluiten we collectie eerst aan op onze publiek staging omgeving en bevestigen we de correctheid van de aansluiting met de aanbieder voordat we overgaan op de productiekoppeling.

Aanleveren catalogusinformatie op basis van een CSV

We hebben het voor de gespecialiseerde uitgevers mogelijk gemaakt om op basis van CSV relatief eenvoudig catalogusinformatie in te dienen.

  • Het gaat in principe om een relatief klein aantal records die lange tijd ongewijzigd blijven.
  • Of een uitgever in aanmerking komt voor een dergelijke uitzondering, moet worden besproken met onze relatiemanagers.

Conversie

Een gespecialiseerde uitgever hoeft geen ECK-DT Catalogusservice webservice te bouwen, maar genereert een statische versie 2.2 XML uitvoer op basis van een CSV export van de catalogusinformatie. Voor dit proces hebben we een conversie applicatie gebouwd waarmee aanbieders dit zelf kunnen doen.

Proces

Voordat het gegenereerde XML ECK-DT Catalogusservice bestand beschikbaar is in ons Koppelpunt, moet deze eerst door ons worden gekoppeld. Het proces hiervoor werkt als volgt:

  • Een verzoek kan worden ingediend via onze servicedesk, waarbij het gemaakte XML bestand wordt toegevoegd.
  • Indien het een nieuwe koppeling betreft (ipv nieuwe gegevensversie), expliciet de relevante contactgegevens van de inhoudelijk/technisch verantwoordelijke meegeven.
  • Als alle gegevens correct zijn, regelen we de aansluiting met het Koppelpunt via onze harvester.