Page tree
Skip to end of metadata
Go to start of metadata

Om de geschetste functionaliteit op hoofdlijnen te realiseren is een concept WVP solutionsarchitectuur vormgegeven.


 


Het WVP volgt in z'n opzet het Waterkwaliteitsportaal (WKP). Voor de technische architectuur betekent dat ze een n-tier ontwerppatroon volgt met een scheiding in de eenheden 'Client', 'Presentation', 'Business logic', 'Data integration' en 'Data sources'. Voor de bevordering van de herbruikbaarheid van code is naast deze horizontale 'tiers' gekozen voor een ontwerppatroon met een verticale 'Cross cutting concerns' laag. In de modulaire opbouw van het systeem staan deze cross cutting concerns min-of-meer los van de business-logica en 'regelen' ze een aantal aspecten die voor het hele systeem gelden.

Technische componenten (overview)

Het WVP is onderverdeeld in verschillende layers gebaseerd op een N-tier architectuur, waarbij elke layer/tier zijn eigen verantwoordelijkheden heeft. Ook binnen een layer/tier is een scheiding te maken in meerdere services gebaseerd op hun verantwoordelijkheden. De backend als geheel wordt getriggerd door events/commands en is daarom ook Event Driven.

  • De Presentation layer is verantwoordelijk voor de presentatie logica. In deze laag mag men geen business logica terugvinden. Zoals in bovenstaande schema te zien is, is dit de layer waar de website, webservice, workflow, backend, kaart-services, etc. worden geïmplementeerd.
  • De Business layer is verantwoordelijk voor business logica en bevat allerlei acties en componenten die het hart van het systeem vormen.
  • De Data Intergration layer is verantwoordelijk voor de koppeling met de fysieke data layer en de business layer. Hierin vinden de queries naar de database plaats en worden de entiteiten omgevormd naar business objecten.
  • De Data Sources layer is de laag voor de fysieke opslagGewijzigd van data.

De diverse modules of deelsystemen kunnen via services events/commands versturen via de Core naar het juiste endpoint. Deze endpoint handelt het event/command af en verstuurt indien wenselijk een nieuw event/command.
In WKP wordt hiervoor NServiceBus gebruikt die de services in een MSMQ-queue geplaatst.

Laag/Tier ComponentFunctie

Client layer

 

Guest user

Heeft toegang tot het publieke deel van het WVP met beperkte functionaliteit.

Registered user

Krijgt op basis van zijn rol toegang tot functies binnen het WVP

Presentation UI

 

Login

Geregistreerde gebruikers krijgen via identificatie/authenticatie toegang tot het WVP

Kaartview

Een aantal beschikbare data-objecten worden als interactieve kaartlaag gepresenteerd. Voor geregistreerde users is de kaart-functionaliteit uitgebreider.

Dashboard

Een aantal beschikbare data-objecten worden voor geregistreerde gebruikers in een interactief Dashboard gepresenteerd,

Reports

Een aantal beschikbare data-objecten zijn voor geregistreerde gebruikers als report te downloaden

Workflow

De user-interface visualiseert en ondersteunt de'Intuitief' is verwijderd, te subjectief in § 1.1 geschetste workflow

Presentation UI Proces

 

Upload

De user-interface ondersteunt het in § 1.1 geschetste workflow proces

Meldingen

Voor de gebruiker relevante systeem-meldingen of workflow ondersteunende meldingen worden naar de website (presentation UI) gedistribueerd en getoond

Kaartselectie

Daar waar nodig is wordt de kaartview uitgebreid met eenvoudige client-side GIS-functionaliteit, bijv. filtering, geometrie-selecties

Business Logica

 

Workflow

De workflow module omvat een aantal service-componenten die het workflow proces ondersteunen. Hieronder vallen:

  • Upload-services; services die nodig zijn voor het upload proces. Hier valt te denken aan het per registred user data-sets
  • Validatie services; zie AP39
  • Versioning services; zie § 7.4.2
  • Herleidbaarheid services; zie CP38
  • Assemblage services; ter ondersteuning van het maken een Landelijk Veiligheids Beeld

Core

De core module omvat een aantal service-componenten die het WVP als systeem aansturen en die het beheer van het systeem ondersteunen. Hieronder vallen Proces services, Beoordeling services, Data beheer, Integratie, User beheer. Een aantal van deze services moeten ook een User-interface hebben (niet genoemd) voor een super-user/systeembeheerder. Te denken valt aan User beheer,

Reporting

Server side componenten voor het verzamelen en visualiseren van data voor rapportages, grafieken en tabellen

Mapping

Server side componenten voor het editen en visualiseren van spatial data en het genereren van kaartlagen

Data Integration

 

Data Access

Verzorgt de toegang tussen de services-componenten in de Business Logica laag en de data in de Data Sources laag (CRUD)

Service Agents

Verzorgt de toegang tussen de services-componenten in de Business Logica laag en services buiten het WVP

Data Sources

 

Private data-store

Data store met toegang voor twee gebruikers: registred users en WVP

RDBMS

Relationele database met verschillende schema's en data voor de service-componenten in de Business Logica laag

Cross cutting concerns

 

Transaction processing

Zie AP36

Logging

Zie § 7.4.2

Communication (meldingen/terugmeldingen)

Zie § AP14

Security (Authorisatie/autenticatie)

Zie § 9.6

Verder naar Netwerkarchitectuur koppelvlakken/interfaces

  • No labels