ORDINA BLOGT

Open data: loosely coupled interoperabiliteit

In onze verappte hyperconnectieve wereld vindt gegevensuitwisseling plaats op grotere schaal en met minder ruimte voor wederzijdse afstemming dan vroeger. Daar hebben we meer loose coupling voor nodig dan wat de komst van SOA ons bracht.

  • 28 januari 2014

In mijn vorige blog noemde ik REST en Linked Data als nieuwe best practices voor gegevensuitwisseling voor open data. Welke specifieke voordelen bieden deze t.o.v. andere, al langer gebezigde praktijken zoals SOAP webservicesCDM modellen en ETL processen? En in welke gevallen wil je de ene wel gebruiken en de andere niet?

Voor het antwoord op die vragen bespreek ik hieronder 4 typeringen van gestructureerde gegevensuitwisseling, uitgezet langs de volgende twee assen:

  • organisatorische cohesie (betreft het gegevensuitwisseling binnen één (IT-)organisatie of tussen meerdere)
  • procesmatige cohesie (betreft het gegevensuitwisseling binnen één integraal bedrijfsproces of tussen ontkoppelde processen)

In elk kwadrant bekijken we vervolgens de gebruikte technieken en standaarden die daar één of meer aspecten van interoperabiliteit waarborgen:

  • technische interoperabiliteit (compatibiliteit van de syntax van de uitgewisselde gegevens)
  • semantische interoperabiliteit (gedeelde interpretatie van de betekenis van de uitgewisselde gegevens)
  • proces interoperabiliteit (op elkaar aansluiten van client- en serverprocessen)
  • unieke identificatiecodes (gedeelde referenties naar specifieke records / instances)

    interoperabiliteit uitgezet tegen organisatorische en procesmatige cohesie

    In het kwadrant “bedrijfssystemen” vindt gegevensuitwisseling plaats binnen één systeem of tussen meerdere applicaties van één gebruikersorganisatie (ondersteund door één IT-organisatie). Er is sprake van integrale bedrijfsprocessen. Interoperabiliteit is geborgd door de elementaire IT-processen. In dit kwadrant zijn daarom geen specifieke technieken of standaarden benoemd.

    Ketenintegratie

    In het kwadrant “ketenintegratie” gaat het om gegevensuitwisseling tussen verschillende organisaties, maar binnen een geïntegreerd proces. Het uitwisselen van de gegevens gebeurt in hetzelfde proces als het vastleggen en het gebruik ervan. Dit proces heeft meestal een duidelijk begin en eind in de tijd. Buiten dat proces worden de vastgelegde gegevens niet uitgewisseld.

    Technische en semantische interoperabiliteit wordt geborgd door het gebruik van een standaard datamodel voor de betreffende branche. Proces interoperabiliteit door afspraken over interactieprotocollen. Zowel op technisch nivo (interactiepatronen zoals request/reply, call-back of publish/subscribe) alsook op functioneel nivo (volgorde en afhankelijkheden van b.v. customer orders, confirmations, delivery documenten, invoices). EDIFACT berichten en SOAP webservices zijn voorbeelden van dit soort afspraken.

    Unieke identificatiecodes worden door 1 centrale applicatie uitgegeven en buiten de context van het betreffende proces niet (her)gebruikt. Daarom is dit interoperabiliteitsaspect hier verder geen aandachtspunt.

    Als tussenvorm tussen de kwadranten bedrijfssystemen en ketenintegratie kun je misschien Enterprise Application Integration (EAI) noemen. Gegevensuitwisseling vindt hierbij plaats tussen onderdelen van een organisatie - en (ook weer) binnen integrale bedrijfsprocessen. Interoperabiliteit wordt geborgd - parallel aan ketenintegratie - door een Common Data Model (CDM) en interactieprotocollen gebaseerd op RPC of op messaging via SOA en/of EDA architecturen met (web)services en/of ESB koppelingen.

    OLAP

    OLAP is on-line analytical processing. Vaak gerealiseerd "op" een datawarehouse (DWH). Het is de basis voor managementrapportages, BI en BA. Operationele applicaties of gegevensbestanden worden hiervoor aan een centraal DWH gekoppeld. Gegevens die in de operatonele processen worden vastgelegd, worden vanuit die bronsystemen of -bestanden ook in het DWH geladen (meestal via een ETL proces). Op een onbepaald later moment worden deze gegevens in het DWH "hergebruikt" voor rapportages en analyses in management- en beleidsprocessen. Kortom, de gegevensuitwisseling in dit kwadrant kent een lage procesmatige cohesie.

    Het kan bij de gegevensoverdracht naar het DWH voorkomen dat dezelfde personen, producten, aanvragen, dossiers etc. in verschillende bronsystemen/bestanden andere identificatiecodes hebben. Ook kan het voorkomen dat de betreffende gegevensstructuren in de verschillende bronsystemen/bestanden van elkaar afwijken.

    Deze interoperabiliteitsdrempels worden genomen in het ETL proces. Brongegevens worden daar getransformeerd naar de uniforme structuur (single view schema) van het DWH. Bij een ontdubbelingsslag worden surrogate keys toegekend. Eén van de uitdagingen in dit kwadrant is de moeite die het kost om syntactische en semantische wijzigingen of uitbreidingen van de brongegevens telkens over te nemen in de ETL en DWH structuur.

    Hergebruik open data

    Open data zijn gestructureerde gegevens die op internet gepubliceerd worden. Traditionele webpagina’s bevatten (behalve opmaak) alleen tekst; bij open data is aan elk gegevenselement ook metadata gekoppeld, zodat het door de afnemer gemakkelijk in een database gestopt kan worden (machine-readable). Belemmeringen voor hergebruik worden tot een minimum beperkt, op allerlei gebied.

    • formaat (non-proprietary open standaarden en zoveel mogelijk zelfbeschrijvend; minimaal benodigde kennis van achterliggende datamodellen of protocollen)
    • rechten (open licenties: geen beperking o.b.v. auteurswet, databankenwet of geheimhouding)
    • kosten (toegankelijk voor niet meer dan een redelijke kostprijs)

    Open data gegevens zijn vastgelegd in een bedrijfsproces dat volledig los kan staan van de publicatie en het hergebruik ervan door de (voor de producent in principe onbekende) afnemers. En meestal zijn de betreffende gegevensbestanden (open datasets) nooit ontworpen voor het betreffende hergebruik.

    Het zal duidelijk zijn dat de gegevensuitwisseling in dit kwadrant gekarakteriseerd wordt door zowel lage organisatorische als lage procesmatige cohesie. Voor de interoperabiliteit is het van belang dat de ontsluiting van open datasets maximaal loosely coupled is. Dus eenvoudige en maximaal gestandaardiseerde koppelvlakken. Met als resultaat: schaalbaarheid van aantallen afnemers, en omgekeerd: van aantallen te koppelen datasets. En transparantie van de koppelvlakken voor wijzigingen in de structuur van de datasets.

    Er zijn 3 verschillende manieren waarop open data wordt uitgewisseld (= gepubliceerd en ontsloten).

    • embedded (in een traditionele webpagina waarin dan annotations (metadata toevoegingen) zijn opgenomen)
    • filetransfer (vergelijkbaar met EDIFACT berichten, het downloaden van bestanden of attachments in email)
    • API (een vraag-en-antwoord software-laag, meestal via webservices, waardoor afnemers specifieke subsets van de open data kunnen selecteren)

    De hierbij gewenste losse koppeling wordt geboden door REST principes en Linked Data technieken. Met REST kun je schaalbare en flexibele API’s realiseren door het gebruik van standaard HTTP functies en het HATEOAS principe. Linked Data technieken faciliteren ook de andere genoemde manieren van publicatie en ontsluiting. Met de RDF standaard en door publicatie van vocabulaires wordt op een flexibele manier syntactische en semantische compatibiliteit geborgd.

    Daarnaast gebruiken zowel REST en Linked Data URI’s als unieke identificatiecodes voor personen, producten, aanvragen, dossiers etc. Via het globale DNS mechanisme is zo op een doeltreffende manier het eenduidige wereldwijde auteursrecht belegd voor het toekennen van deze unieke codes (n.l. bij de eigenaar van het betreffende internetdomein).

    In mijn volgende blog zal ik toelichten hoe deze unique selling points van REST en Linked Data bijdragen aan de gewenste schaalbaarheid en flexibiliteit van hyperconnected gegevensuitwisseling.

    Toekomst

    Inmiddels is REST niet meer weg te denken in de webdevelopment wereld en de aandacht voor Linked Data bij innovators als BBC en NXP gaat volgens mij dit jaar brede navolging vinden bij mainstream adopters. Ook bij de overheid lijkt dat nu in een stroomversnelling te komen. Onder het motto "eenmalig registreren, meervoudig gebruiken" wordt op diverse terreinen m.b.v. van Linked Data technieken hard gewerkt aan het openstellen van economisch en bestuurlijk interessante datasets - zoals b.v. bij het stelsel van basisregistraties.

    De voordelen van van deze best practices op het gebied van schaalbaarheid en flexibiliteit zullen ook buiten het open data domein nuttig gebruikt kunnen worden. Zodra kennis en ervaring m.b.t. REST en Linked Data gemeengoed worden binnen de IT, zullen ook toepassingsgebieden zoals ketenintintegratie en OLAP profiteren van de nieuwe verworvenheden.

    Het duurt misschien nog even, maar straks linkt je smartphone net zo makkelijk met je koffiezetapparaat als met je bedrijfsinformatie - en die van je business partners.

    REST Linked Data innovation

     < vorige blog    volgende blog >