Meer info
     

03/07/2014 MB vervoer en verwerking van meststoffen
Ministerieel besluit van 3 juli 2014 betreffende het vervoer en de verwerking van meststoffen

Bijlage 2 Procedure voor de implementatie van het AGR-GPS-systeem als vermeld in artikel 20


Procedure voor de implementatie van het AGR-GPS-systeem
Figuur 1 geeft een overzicht van het AGR-GPS-systeem op functioneel niveau.

1 Procesbeschrijving van de gegevensoverdracht

1.1 Globaal processchema
Zoals de bovenstaande figuur laat zien, zijn er drie pijlen van toepassing voor de gegevensleverancier.
(GPS-dienstverlener).
Twee ingaande stromen (namelijk één stroom vanuit “koppelvlak berichtdefinitie” en één stroom vanuit “opstellen bevestiging”) en één uitgaande stroom (namelijk naar “ontvangen en verwerken”). In de volgende paragrafen zal er een beschrijving worden gegeven van die processen, die in relatie staan tot de gegevensleverancier.

1.2 Opstellen berichtdefinitie en koppelvlak
Het koppelvlak heeft als doel om de structuur van de aanleverende partij en de vragende partij op elkaar te kunnen laten aansluiten zonder dat er bij een van beide partijen de structuur van de ander moet worden geïmplementeerd. Dat koppelvlak heeft ook als doel bij wijzigingen zo min mogelijk acties bij de gegevensaanleverende partij te leggen.
De berichtdefinitie is de basis van de elektronische gegevensuitwisseling. De individuele berichtdefinities worden opgenomen in een XML-schema en de koppeling tussen dat schema en de gegevensberichten en berichtsoorten worden daar gelegd.

1.3 Ontvangen, verwerken en controleren
server 1: de centrale server die beheerd wordt door de GPS-dienstverlener
server 2: de centrale server bij de Mestbank
AGR-gegevens worden opgeslagen in een AGR-GPS-apparaat op het transportmiddel en worden met GPRS doorgestuurd naar de centrale server van de GPS-dienstverlener. Van daaruit worden de gegevens doorgestuurd door middel van een webservice naar de centrale server bij de Mestbank (zie figuur 3). Daarvoor wordt gebruikgemaakt van een XML-bericht.
Een door een GPS-dienstverlener verstuurd bericht wordt ontvangen op een daarvoor bestemde HTTPS-server bij de Mestbank. De relevante gegevens worden doorgegeven aan het volgende proces (veld “controle opbouw, volledigheid, formaat” als vermeld in figuur 2).
Als de webservice op de centrale server van de Mestbank geen antwoord heeft, wordt een HTTP-errorcode gegeven aan de centrale server van de GPS-dienstverlener.
Nadat server 2 de gegevens heeft ontvangen, controleert server 2 het bericht en geeft een succes- of errorcode terug (XML-bericht) aan server 1 (zie “answer webservice” als vermeld in figuur 3). Het controleren van het XML-bericht houdt de controle in van de opbouw, de volledigheid en het formaat van het bericht, zoals gespecificeerd volgens het XML-schema.

2 Specificatie van de interface
De interface tussen de software van de gegevensleverancier (GPS-dienstverlener) en de software van de Mestbank bestaat uit drie delen:
het bestand met daarin de gegevens van het databericht. Dat is het “koppelvlak”. Het koppelvlak is van het type Extended Markup Language (XML). De definitie van het bericht in XML wordt in paragraaf 2.1 gegeven;
een proces waarmee de gegevens worden verstuurd;
de bevestiging, zoals vermeld in figuur 2.

2.1 Specificatie van het koppelvlak
Het koppelvlak (XML) moet worden aangemaakt en ingevuld door het informatiesysteem van de GPS-dienstverlener.
In het bestand worden de gegevens opgenomen van één databericht. Alle gegevens in het XML-bericht moeten opgenomen worden volgens de hierna bepaalde volgorde. Alle velden worden omsloten door XML-tags.
De definitie van het XML-bericht, verstuurd door de GPS-dienstverlener naar de centrale server van de Mestbank, wordt gegeven in de onderstaande tabel:
Begin <?XML version=”1.0”encoding= “ISO-8859-1”?>
<Opgave>
<IdentificerendDeel>
<webserviceversion>XXX</ webserviceversion>
<gegevensaanleveraarCode>XXX</gegevensaanleveraarCode>
<gegevensaanleveraarWachtwoord>XXX</gegevensaanleveraarWachtwoord>
</IdentificerendDeel>
Begin data <AgrGegevens>
Header <DataTestbericht>XXX</DataTestbericht>
Apparatuur <AgrIdentificatie>XXX</AgrIdentificatie>
<Storingsindicatie>XXX</Storingsindicatie>
Formulier <MadNummer>XXX</ MadNummer>
<EvoaNummer>XXX</ EvoaNummer>
<DataCompleet>XXX</DataCompleet>
<LaadruimteIdentificatie>XXX</ LaadruimteIdentificatie>
Transport Laden<LadenInlezenFormulierGPSLocatie>XXX</LadenInlezenFormulierGPSLocatie>
<LadenInlezenFormulierGPSDatum>XXX</LadenInlezenFormulierGPSDatum>
<LadenInlezenFormulierGPSTijd>XXX</LadenInlezenFormulierGPSTijd>
Tussen <TussenGPSLocatie>XXX</TussenGPSLocatie>
<TussenGPSDatum>XXX</TussenGPSDatum>
<TussenGPSTijd>XXX</TussenGPSTijd>
Lossen <LossenGPSLocatie>XXX</LossenGPSLocatie>
<LossenGPSDatum>XXX</LossenGPSDatum>
<LossenGPSTijd>XXX</LossenGPSTijd>
Einde data </AgrGegevens>
Einde </Opgave>
De definitie van het XML-bericht verstuurd naar de GPS-dienstverlener als bevestiging zoals vermeld in figuur 2:
<?XML version=”1.0”encoding= “ISO-8859-1”?>
<Terugmelding>
<statusCode>XXX</statusCode>
</Terugmelding>

2.2 Definitie van AGR-gegevens

2.2.1 Procedure voor het verzamelen, opslaan en versturen van transportgegevens
Een mesttransport wordt begeleid door een vervoerdocument, waarbij elk document is voorzien van een uniek identificatienummer (veld: MadNummer, EvoaNummer). Het veld MadNummer wordt ingevuld met het nummer dat vermeld staat op het desbetreffende mestafzetdocument. Het veld EvoaNummer wordt ingevuld met het EVOA-nummer en het volgnummer, zoals vermeld op het EVOA-document, gescheiden door een spatie.
Onder EVOA-document wordt verstaan het vervoersdocument, vermeld in bijlage I, B, bij Verordening nr. 1013/2006.
Tijdens elke mesttransportcyclus worden er databerichten verstuurd. Elk databericht bevat altijd een code'DataCompleet', die aanduidt of de cyclus al dan niet afgelopen is. De letter “N” wordt ingevuld als de cyclus nog loopt, de letter “J” als de cyclus afgelopen is.
Tijdens het verzenden en ontvangen van databerichten kunnen er problemen optreden, waardoor berichten verminkt kunnen overkomen of helemaal niet overkomen. Uit de inhoud van de bevestiging is af te leiden of een verzonden databericht in goede staat is ontvangen. Als de bevestiging in haar geheel uitblijft, moet ervan worden uitgegaan dat het bericht niet is overgekomen. Als dat soort communicatieproblemen optreden, moet naargelang het geval waarin de problemen zich voordoen, het AGR-GPS-apparaat of de GPS-dienstverlener proberen de transportgegevens opnieuw te versturen.

2.2.2 Verklaring van de transportgegevens
Sectie Begin (verplicht bij ieder databericht)
Deze sectie bestaat uit een identificerend gedeelte waarin het identificatienummer en het wachtwoord van de GPS-dienstverlener worden meegegeven (gegevens aanleveraar code, gegevens aanleveraar wachtwoord). De GPS-dienstverlener ontvangt van de Mestbank bij registratie een identificatienummer en een wachtwoord. Om een transparant versiebeheer toe te laten, wordt het versienummer van de gebruikte webservice (webserviceversion) in het bericht vermeld.
Sectie Header (verplicht bij ieder databericht)
Er is een mogelijkheid tot het versturen van een testbericht, waarbij het veld “DataTestbericht” moet worden ingevuld met keuze uit “J” of “N”.
Sectie Apparatuur (verplicht bij ieder databericht)
Het AGR-GPS-apparaat heeft een uniek AGR-nummer, dat bekend is bij de Mestbank. Dat AGR-nummer moet ingevuld worden in het veld Agridentificatie.
Als er een storing (belemmering waardoor de GPS-ontvanger geen GPS-signaal ontvangt) is geweest op het moment van het versturen van het databericht vanuit het AGR-GPS-apparaat naar de GPS-dienstverlener, wordt dat in het veld “Storingsindicatie” met “J” aangegeven.
Sectie Formulier (verplicht bij ieder databericht)
Voor iedere mesttransportcyclus kan slechts één vervoerdocument nummer “MadNummer of EvoaNummer” ingevuld worden. Dat nummer wordt ingevoerd in het AGR-GPS-apparaat.
Het veld “Datacompleet” (“J” of “N”) geeft aan of de mesttransportcyclus al dan niet beëindigd is. In het veld “DataCompleet” kan alleen “J” worden ingevuld als het een databericht betreft over het lossen van meststoffen.
Als de laadruimte waarin de meststoffen zich bevinden, is voorzien van een sensor, moet de GPS-dienstverlener zorgen dat als inhoud voor het veld “LaadruimteIdentificatie” het chassisnummer van de laadruimte ingevuld is.
Sectie Transport
Sectie Laden en Lossen en Tussen (bij ieder databericht minstens een laad-, tussen- of losplaatspositie)
Tijdens de mesttransportcyclus worden er databerichten verstuurd over het laden van meststoffen, over het lossen van meststoffen en over de tussentijdse positie van het transportmiddel.
Bij het laden van meststoffen moet de erkende mestvoerder het nummer van het vervoerdocument invoeren.
Sectie onderdelen positie bepalingen
Bij elk databericht moeten de laatst gemeten GPS-gegevens doorgegeven worden.
Voor het doorgeven van de GPS-positiegegevens moet de volgende methode worden gebruikt:
Latitude/Longitude, WGS84.
Het formaat bestaat uit een aanduiding in graden (D) en minuten (M), aangevuld met een aanduiding in N(orth)/S(outh) voor latitude, en een aanduiding in E(ast)/W(est) voor longitude.
De minuten zijn hierbij in decimale getallen, met een fractie achter de punt.
Formaat: DDMM.MM,[N/S],DDDMM.MM,[E/W]
Voorbeeld: 5050.04,N,00421.12,E
Een positiebepaling bestaat uit het vastleggen van de volgende gegevens:
GPSlocatie: GPS-coördinaten die worden gelezen uit de ontvangen GPS-gegevens (latitude/longitude,WGS84);
GPSdatum: datum waarop de coördinaten zijn vastgelegd, die rechtstreeks wordt overgenomen uit de ontvangen GPS-gegevens. De datum moet worden verstuurd in het formaat ddmmyyyy. De datum moet worden weergegeven volgens UTC (Coordinated Universal Time);
GPStijd: tijdstip waarop de coördinaten zijn vastgelegd, die rechtstreeks wordt overgenomen uit de ontvangen GPS-gegevens. De tijd moet worden verstuurd in het formaat uumm. De tijd moet worden weergegeven volgens UTC (Coordinated Universal Time).
Momenten van positiebepaling
Van iedere mesttransportcyclus moeten de volgende GPS-gegevens worden geregistreerd:
LadenInlezenFormulierGPSLocatie: positiebepaling net voor het laden van meststoffen;
LadenInlezenFormulierGPSDatum (zie GPSDatum);
LadenInlezenFormulierGPSTijd (zie GPSTijd);
LossenGPSLocatie: positiebepaling net voor het lossen van meststoffen;
LossenGPSdatum (zie GPSDatum);
LossenGPSTijd (zie GPSTijd);
TussenGPSLocatie: tussentijdse plaatsbepalingen (om de 15 km);
TussenGPSDatum (zie GPSDatum);
TussenGPSTijd (zie GPSTijd).

2.3 Specificatie versturen databericht
Het versturen van de AGR-gegevens gaat via een “HTTPS-request”, waarbij de gegevens (XML-bericht) worden overgedragen via een webservice. Doordat wordt gebruikgemaakt van HTTPS in plaats van HTTP (de “S” staat voor “secure”), worden de data in versleutelde vorm overgedragen. Er wordt op http-protocolniveau niet gecontroleerd op “identificatienummer” en “wachtwoord”. De controle daarop vindt plaats nadat het databericht op HTTP-protocolniveau correct is overgedragen. De authenticatie kan gebeuren op het toegekende “identificatienummer” en “wachtwoord”.

2.4 Specificatie bevestiging
Bevestigingen vinden plaats op twee manieren:
bevestiging via de “http-errorcode”;
bevestiging via tekstuele melding (XML-bericht).

2.4.1 Bevestiging via “HTTP-errorcode”
Bevestigingen via de “HTTP-errorcode” hebben uitsluitend betrekking op de afhandeling van de communicatie op HTTP-protocolniveau. Zie voor een beschrijving de officiële HTTP-protocoldocumentatie.
Opmerking: een bevestiging “succes” op http-protocolniveau (zichtbaar via HTTP “error” code 200) betekent nog niet automatisch dat de databerichten correct zijn verstuurd. Zie hiervoor punt 2.4.2 Bevestiging via tekstuele melding (XML-bericht).

2.4.2 Bevestiging via tekstuele melding (XML-bericht)
Zodra het databericht via het HTTP-protocol correct is overgedragen aan de Mestbank, wordt altijd een antwoord gegeven waarbij een code aangeeft in hoeverre de doorgestuurde data correct ontvangen en verwerkt zijn. Dat antwoord wordt ook gegeven door middel van een code in een XML-bericht. Daarbij wordt onder andere gecontroleerd of het bericht voldoet aan het XML-schema en gevalideerd kan worden. Er wordt ook gecontroleerd of de gegevensaanleveraarCode en het gegevensaanleveraarWachtwoord overeenstemmen met deze gekend bij de Mestbank. De inhoud van de gegevens, zoals het AGR-nummer van het AGR-GPS-apparaat op het transportmiddel
(AgrIdentificatie) wordt achteraf gecheckt in de backoffice.
De code met omschrijving wordt volgens classificatie ingedeeld (code 0 tot en met 4)
klasse
omschrijving
Status code
terugmelding
omschrijving
0
goed
0
gegevens, geaccepteerd voor verdere verwerking
Het bericht is goed ontvangen
1
authenticatie
1
De gegevensaanleveraarcode en het wachtwoord zijn niet correct.
Het identificatienummer en het wachtwoord zijn niet in overeenstemming met de gegevens die bekend zijn bij de Mestbank.
2
Unexpected Lay-out
2
Het document is niet goed gevormd en beantwoordt niet aan het XML-schema
Het bericht is niet volgens de standaarden van het XML-schema gevormd.
3
Unexpected content-type
3
De inhoud van de velden in het bericht is foutief.
De inhoud van de velden in het bericht is niet in het juiste formaat.
4
Service not available
4
De service is niet beschikbaar.
Het informatiesysteem van de Mestbank is tijdelijk niet beschikbaar.