Hypermedia en informatie architectuur
berry.groenendijk 06 Apr 2009
De actie GET op de resource http://mijnbedrijf.nl/medewerkers/
toont een lijst van alle medewerkers. Iedere medewerker in de lijst
heeft een hyperlink waarmee we detailinformatie van de medewerker
kunnen opvragen. Met de actie POST op dezelfde resource voegen we een
nieuwe medewerker toe.
De actie GET op de resource http://mijnbedrijf.nl/medewerkers/janjansen/
toont de detailinformatie van de medewerker Jan Jansen. Bijv. een
telefoonnummer, een geboortedatum, een foto, etc. Maar, bijv. ook
hyperlink naar de afdeling waar de medewerker werkt (bijvoorbeeld: http://mijnbedrijf.nl/afdelingen/inkoop/).
Met de actie PUT kunnen we detailgegevens van deze medewerker wijzigen.
Met de actie DELETE verwijderen we de medewerker uit het systeem. Stel
dat Piet Pietersen helemaal geen medewerker is van MijnBedrijf, dan
levert de actie GET op de resource http://mijnbedrijf.nl/medewerkers/pietpietersen/
simpelweg een foutmelding op. De foutmelding geeft aan dat deze
resource niet bestaat en dat deze medewerker dus onbekend is binnen
MijnBedrijf.
De actie GET op de resource http://mijnbedrijf.nl/afdelingen/
toont alle afdelingen binnen een bedrijf. De lijst bevat ook hyperlinks
naar iedere individuele afdeling. Met de actie POST kan een nieuwe
afdeling aangemaakt worden.
De actie GET op de resource http://mijnbedrijf.nl/afdelingen/inkoop/
toont de detailinformatie van de afdeling inkoop, zoals een hyperlink
naar de manager van de afdeling inkoop. Met de actie PUT kunnen we
detailinformatie van de afdeling wijzigen, zoals bijv. de naam van de
afdeling. Met de actie DELETE kunnen we afdeling in zijn geheel
verwijderen.
De actie GET op de resource http://mijnbedrijf.nl/afdelingen/inkoop/medewerkers/ toont een lijst van hyperlinks naar alle medewerkers van de afdeling inkoop. Voorbeeld van een hyperlink die in de lijst getoond wordt: http://mijnbedrijf.nl/medewerkers/janjansen/.
Het internet, het bekendste voorbeeld van een hypermedium, heeft
tot een enorme groei van electronisch beschikbare informatie geleid.
Met behulp van hyperlinks worden verschillende informatieblokken aan
elkaar gekoppeld waardoor een web van informatie ontstaat. Op het
internet worden al deze hyperlinks gemaakt zónder dat er bijvoorbeeld
een centrale faciliteit is die garandeert dat alle hyperlinks ook
geldig zijn. Er niets dat garandeert dat een hyperlink ook
daadwerkelijk aankomt. Dit lijkt een enorme tekortkoming, maar het
heeft er in werkelijkheid mede toe geleid dat internet pagina's (HTML
documenten) zeer gemakkelijk te maken, te publiceren en te
(her)gebruiken zijn. Het publiceren van informatie op internet is
dusdanig laag drempelig geworden dat bijna letterlijk iedereen
informatie kan delen met letterlijk de hele wereld.
Bovenstaande roept bij mij als informatie architect
de volgende vragen op. Zijn deze uitgangspunten van het internet ook
toe te passen op bedrijfsapplicaties? Welke voor- of nadelen levert dit
op voor bedrijven en met name voor medewerkers binnen een bedrijf? En
wat betekent dit voor het werk van de informatie architect?
Een architectuurstijl die aan populariteit wint is
ReST (Representation State Transfer). ReST neemt de eigenschappen het
hypermedium internet als uitgangspunt. Roy T. Fielding heeft deze
architectuurstijl beschreven in zijn dissertatie.
In een softwaresysteem gebouwd volgens ReST uitgangspunten vormt
de locatie, een URL, van een informatie-eenheid (een "resource") het
uitgangspunt. Voor het manipuleren van alle informatie-eenheden staan
slechts 4 (Engelstalige) acties ter beschikking: get, post, put en
delete. Met behulp van hyperlinks worden alle informatie-eenheden aan
elkaar gekoppeld. En ook nu geldt dat niets of niemand garandeert dat
een hyperlink ook daadwerkelijk aankomt.
Laten we als voorbeeld alle medewerkers van het bedrijf MijnBedrijf in een ReST softwaresysteem zetten:
De actie GET op de resource http://mijnbedrijf.nl/afdelingen/inkoop/medewerkers/ toont een lijst van hyperlinks naar alle medewerkers van de afdeling inkoop. Voorbeeld van een hyperlink die in de lijst getoond wordt: http://mijnbedrijf.nl/medewerkers/janjansen/.
De voordelen van een systeem gebouwd volgens ReST
uitgangspunten is dat het resources kent die heel dicht liggen tegen
het informatiemodel van het bedrijf. De urls van de resources zullen
voor de medewerkers van het bedrijf dan ook heel natuurlijk overkomen.
De beperkte set van acties zorgt er voor dat je gemakkelijk tegen een
ReST systeem aan kan automatiseren. Hierbij helpt ook dat ReST
verschillende representaties (bijvoorbeeld HTML, XML, JSON, etc.)
toestaat van één en dezelfde resource. Een ReST systeem kan dus
tegelijkertijd gebruikt worden door mensen maar ook gebruikt worden om
bijvoorbeeld integraties met andere bedrijfssystemen te realiseren.
De nadelen van een softwaresysteem gebaseerd op
ReST uitgangspunten is de nu nog relatieve onbekendheid. Zeker bij
bedrijfsapplicaties. Steeds meer cloud computing diensten op internet,
zoals aangeboden door bijv. Amazon en Google, prefereren het aanbieden
van een ReST interface op hun diensten in plaats van een interface
gebaseerd op een service geörienteerde webservice (SOA). Mede hierdoor
zal ook steeds vaker in (standaard) producten ReST interfaces te vinden
zijn.
Voor de informatie architect betekent ReST een
nieuwe cq. een andere manier om een informatiemodel uit te werken in
een werkend software systeem. ReST legt de focus op het definiëren van
informatie-eenheden en op het onderkennen van relaties tussen deze
informatie-eenheden. ReST sluit daarmee, naar mijn mening, nauw aan op
de kracht van een informatie architect: het maken van een blauwdruk van
informatie binnen een kennisdomein.
Berry Groenendijk is informatie architect bij Caerleon.
















