vrijdag 10 juni 2011

Koppelen (10 juni 2011)

Er zijn een aantal ontwikkelingen:
1. De vraag om een Gegevenslaag binnen de Belastingdienst
2. De enorm snelle ontwikkelingen op het gebied van (Linked) Open Data, RDF, SPARQL, etc. op het net (Twitter, etc.)
3. Het gedachtengoed van Pieter Wisse
Deze ontwikkelingen nodigen mij uit om dit stukje te schrijven.

Dit stukje gaat over koppelen. Er werd vanuit webservices al vaak nagedacht over 'loosely coupled' systemen. Maar in de uitvoering waren dit toch vaak weer keiharde koppelingen. Wat is gekoppeld? Hoe kun je koppelen? Wanneer gebruik je welke koppeling?

Wat is gekoppeld?
Gerrit deed wat mij betreft hier een gouden uitspraak over: "het hergebruiken van kennis die is ontstaan in een andere context". Dit geeft namelijk heel mooi het doel van koppelen weer: we koppelen om bestaande informatie te kunnen aanwenden voor een nieuwe toepassing. En je kunt hiermee ook het succes meten van een koppeling: ben ik in  staat om in de nieuwe situatie, het verlangde gedrag uit te voeren?

Hoe kun je koppelen?

  1. Het meest bekende niveau is de mens die koppelt: iemand verneemt wat en doet iets met wat hij heeft vernomen. Dit kennen we uit het onderwijs maar ook in het dagelijks leven: je vraagt iemand de weg of iemand vertelt je hoe het met iemand anders gaat.
  2. Je kunt ook fysiek koppelen: twee tabellen worden met elkaar verbonden via een sleutel. Als gevolg van die sleutel kun je vanuit de ene tabel informatie vinden in de andere tabel.
  3. Je zet er wat software tussen die op basis van één of meer algoritmes vaststelt of 2 waarden waarschijnlijk hetzelfde zijn. Met dit type koppelen leiden bijvoorbeeld spelfouten of verschillende schrijfwijzen niet meteen tot een volledige ontkoppeling.
    • Ik moet hierbij ook denken aan de drop-downlijst waarbij het niet uitmaakt welk gedeelte van de string je intypt. Deze hele iteratieve manier van het vinden van een naam of een andere waarde, heeft me altijd bekoord om haar effectiviteit.
  4. Je legt aan een mens uit hoe de koppeling in elkaar zit. Je beschrijft de wereld van de ene tabel en je beschrijft de wereld van de andere tabel. Eventueel geef je ook nog aan waar de verschillen zitten. Op basis van deze beschrijving kan een mens de koppeling van type 2 of type 3 opnieuw maken  / onderhouden.

Geen opmerkingen:

Een reactie posten