De BKN-applicatie is, zoals de meeste nieuwe generatie GIS-
toepassingen op internet (Google map is de bekendste), geba
seerd op AJAX (Asynchronous Javascript and XML). De belang
rijkste en meest innovatieve functionaliteit uit de applicatie
is de geavanceerde methode om geometrie te wijzigen. Hier
mee is het voor gebruikers mogelijk 0111 grote objecten (met
meer dan 40.000 vertices) aan te passen. Het wijzigen van
geometrie is het soort functionaliteit dat voornamelijk is
voorbehouden aan desktop-toepassingen. Door de vele moge
lijkheden en de bewerkingssnelheid leek dit voor webappli
caties een onhaalbare kaart. Met AJAX is het gat tussen web
applicaties en desktop-toepassingen kleiner gemaakt.
AJAX is een manier om interactieve webapplicaties te ont
wikkelen door een combinatie van de volgende technieken
te gebruiken (bron: Wikipedia):
XHTML en CSS voor de presentatie volgens de standaar
den van het W3C;
het Document Object Model voor het dynamisch tonen
van informatie en voor interactie;
XML en XSLT voor de opslag, aanpassing en transport van
gegevens. In sommige gevallen wordt dit vervangen door
JSON (JavaScript Object Notation);
Het XMLHttpRequest object voor asynchrone communi
catie;
JavaScript om alles aan ellcaar te binden.
In klassieke webtoepassingen sturen de meeste gebruikers
acties een http-request naar een webserver. Deze maakt
een HTML-pagina en verzendt die terug naar de cliënt. Het
probleem met dit model is dat de gebruiker, tijdens de ver
werking van het request door de server, moet wachten. Het
AJAX-model introduceert een AJAX-engine tussen de gebrui
ker en de server (fig. 4). Deze engine is verantwoordelijk
voor zowel het teruggeven van de interface die de gebruiker
ziet, als de communicatie met de server. De gebruiker krijgt
dus nooit een leeg browservenster en de bekende zandloper,
wachtend tot de server iets doet.
Voor de bouw van de BKN-applicatie is gebruikt gemaakt
van de RedSpider Enterprise ontwikkelomgeving van IONIC.
Deze bevat een reeks AJAX-componenten, zogenoemde PAJC
(Portable Ajax-based Ionic Components) dat GIS-functiona-
liteit aan de cliënt brengt en daarmee responsieve webap
plicaties mogelijk maakt.
Het vervolg: Kerngis Nat
Met de implementatie van de BKN-applicatie ontwikkelt
RWS verder op het bestaande Geoservices framework. Door
ontwikkeling op basis van standaarden en het hergebruik
van softwarecomponenten en -services wordt het imple
menteren van webapplicaties zoals de BKN eenvoudiger. De
WFS-T standaard blijkt een waardevolle standaard te zijn,
zowel qua performance als qua implementatie.
De ontwikkeling van een beheerapplicatie in een webom
geving op een centrale database is een goede eerste stap. De
gebruikers van de BKN en de beheerders van de natte objec
ten hebben te kennen gegeven dat zij meer informatie zou
den willen vastleggen dan op dit moment mogelijk is. Om
optimaal te kunnen beschikken over beheersgegevens moet
er een verdiepingslag gemaakt worden op de BKN. Daarvoor
Fig. 3. BKN applica
tie-architectuur.
Fig. 4. Vergelij
king van klassieke
webapplicaties en
op AJAX gebaseerde
applicaties.
is binnen RWS gestart met het pro
ject Kerngis Nat. I11 dit systeem kan er
straks meer detailinformatie opgesla
gen worden over de te beheren objec
ten. De Kerngis Nat kan net als de BKN
door heel RWS worden geraadpleegd.
De huidige applicatie biedt een goede
basis voor ontwikkeling van Kerngis
Nat.
Literatuur
Demo van de BKN applicatie
www. rij kswaterstaat. nl/appsj
geoservices/bkn-demo.
Eijnden, B. van den, OpenGIS in de
praktijkde realiteit van standaarden,
in: Geo-Info 3 (6), 2006, p. 260-264.
Thewessen, Theo en Thijs
Brentjens, Are you being served?,
in: Geo-Info 2 (6), 2005, p. 280-287.
Asperen, Paul van, Marian de Vries
en Alain Kabamba, Data Modelling
for Water Management, UML for better
Communication among Stakeholders, in:
GIM international, 2006-1, p. 1-23.
dient
4 t
I f
Beheerkaart Na! Web Appücattin
WFS
RodSpldcr Web j
Behee-fcaou Nat
User interface
Http request
Html CSS data
Web server
Backencl.proc essing.
legacy systems
Datastore
Browser client
User interface
JavaScript call
J, Htrnl CSS data
Ajax engine
XMLHttprequest
(Asynchronously)
XmlfJSON data
Web server
GIS Web services
(WFS.WMS)
GIS Database
Classic
web application model
Ajax
web application model
GEO-INFO 2007-5