De keten uitgedaagd Technische inrichting SBR Webservices, koppelvlakken en meer…
College 7 van 11 door Bart Hendriksen & Victor den Bak
ir. Bart Hendriksen • Werkzaam bij Thauris • Sinds 2011 actief met SBR • Bijdrage geleverd aan het boek ‘De keten uitgedaagd’ •
[email protected]
ir. Victor den Bak • Werkzaam bij EBPI • Sinds 2012 actief met SBR • Bijdrage geleverd aan het boek ‘De keten uitgedaagd’ •
[email protected]
Hier kwamen we vandaan
Schets van de oplossing - 2006
NT 7.0
NT 8.0
Agenda 1. Technische inrichting Digipoort 2. Koppelvlakken 3. Procesinfrastructuur 4. Praktijkvoorbeelden
Technische inrichting SBR
Keuze technische inrichting SBR A Traditioneel/heterogene procesinfrastructuren
• Eigen koppelvlakken • Eigen procesinfrastructuur (voor uitvragende partijen)
• • C Concern-procesinfrastructuur • • D Gedeelde dienstverlener • • B Eigen procesinfrastructuur
Gestandaardiseerde koppelvlakken Eigen procesinfrastructuur Gestandaardiseerde koppelvlakken Gestandaardiseerde procesinfrastructuur Gestandaardiseerde koppelvlakken Generieke procesinfrastructuur
Eisen aan de techniek vanuit de opgave • Gebruik van open standaarden: oplossingen moeten herbruikbaar zijn • Platform onafhankelijkheid: informatie-uitwisseling ongeacht de specifieke eigenschappen van de technische omgeving. • Ontkoppeling (‘loose coupling’): bestendig tegen dynamiek (belangen, wet- en regelgeving, dienstenaanbod in de markt, etc.), doordat delen onafhankelijk van elkaar zijn. • Flexibel procesverloop: verschillende berichten moeten grotendeels op dezelfde, maar deels op een andere manier worden afgehandeld.
Technische inrichting SBR Bedrijf
Scenario D Gedeelde dienstverlener: • gestandaardiseerde koppelvlakken (K) • generieke procesinfrastructuur
Gedeelde procesinfrastructuur
Uitvragende partijen
Bedrijfsprocessen
Bericht
K
Procesinfrastructuur
Bedrijfsprocessen
Bedrijfsprocessen
Oplossing: Digipoort
Koppelvlakken verbinden de schakels
NT 7.0
NT 8.0
Procesinfrastructuur verzorgt verwerking
NT 7.0
NT 8.0
Koppelvlakken
Koppelvlakken, wat is het? • • • •
Een system-to-system verbinding Eenduidige afspraken en standaarden Digipoort: gestandaardiseerde toegang tot een webservice Aanvullende afspraken over het gebruik van de webservice in relatie tot het i-proces waar het toegang tot geeft.
Eisen aan de techniek vanuit de opgave • Gebruik van open standaarden: oplossingen moeten herbruikbaar zijn • Platform onafhankelijkheid: informatie-uitwisseling ongeacht de specifieke eigenschappen van de technische omgeving. • Ontkoppeling (‘loose coupling’): bestendig tegen dynamiek (belangen, wet- en regelgeving, dienstenaanbod in de markt, etc.), doordat delen onafhankelijk van elkaar zijn. • Flexibel procesverloop: verschillende berichten moeten grotendeels op dezelfde, maar deels op een andere manier worden afgehandeld.
Koppelvlakken, waar bestaan ze uit? De uitwisseling van gegevens tussen systemen kan in drie lagen worden opgedeeld: 1. Inhoud: deze laag omvat de afspraken die organisaties maken over de inhoud van het uit te wisselen bericht, dus de structuur, semantiek, bereik van waarden etc. 2. Sessie (logistiek): deze tussenlaag is op te delen in twee sublagen: 1. Communicatie: refererend naar de transportprotocollen (HTTP, SMTP etc.); 2. Toepassing: refererend naar standaarden omtrent messaging (zoals de op SOAP gebaseerde ebMS en WUS), beveiliging (authenticatie en encryptie) en betrouwbaarheid. 3. Transport: deze laag verzorgt het uiteindelijke overdracht van berichten (TCP/IP).
Koppelvlakken, de componenten Inhoud
ebXML familie
XBRL familie
EDIFACT familie
ebMS
WUS- familie
EDIINT- familie
SOAP
SOAP+
Toepassing
Toepassing specifiek
Toepassing specifiek
ASX
Logistiek Communicatie Transport
HTTP
FTP
TCP/IP
SMTP
x.400
x.25
Koppelvlakken, voor wie? De koppelvlakken kennen twee generieke doelgroepen: 1. Gebruikers (bedrijven) 2. Afnemers (overheid) Dit resulteert in de volgende drie geïmplementeerde koppelvlakken: • SOAP2008 • WUS 2.0 (Digikoppeling standaard) voor bedrijven • ebMS 2.0 (Digikoppeling standaard)
Koppelvlakbeschrijving • Digikoppeling WUS2.0 • Algemene standaard voor koppelen met de overheid
• WUS2.0 voor bedrijven v1.2 • Nadere specificatie van WUS2.0 voor bedrijven
• Servicebeschrijvingen • Functionele beschrijving van specifieke service
Koppelvlakken en webservices
Webservices WSDL
Web Service Definition Language • Beschrijft het gedrag d.m.v.:
<portType> Ondersteunde operaties
Type berichten per operatie <message> Definities van de berichten Specificaties van de berichten <policy> WS-Security eisen
WSDL
<definitions> <wsdl:portType name="AanleverService_V1_2"> <wsdl:operation name="aanleveren"> <wsdl:input name="aanleverenRequest" message="tns:aanleverMessageRequest"/> <wsdl:binding name="AanleverServiceSoapBinding_V1_2" type="tns:AanleverService_V1_2"> <soap11:binding style="document" transport="..."/> <wsdl:operation name="aanleveren"> <soap11:operation soapAction="..."/> <wsdl:input name="aanleverenRequest"> <soap11:body use="literal"/> <wsdl:message name="aanleverMessageRequest"> <wsdl:part name="aanleverRequest" element="kv:aanleverRequest"/> <wsdl:types> <xsd:schema> <xsd:import schemaLocation="1.2.xsd"/> <wsp:Policy>
SOAP • Simple Object Acces Protocol • Communicatie …in xml …tussen componenten …over HTTP(S)
SOAP bericht Een SOAPbericht bestaat uit: • De transportprotocol header; • De SOAP envelope met daarbinnen: • de SOAP header; • de SOAP body.
Transportprotocol Header SOAP envelope
SOAP Header WS-Security WS-Addressing ……
SOAP Body kenmerk berichtsoort aanleverkenmerk eerderAanleverkenmerk identiteitBelanghebbende identiteitOntvanger rolOntvanger berichtInhoud berichtBijlagen autorisatieAdres ……
Voorbeeld – WUS 2.0 voor bedrijven v1.2 Opzetten verbinding Inhoud SOAP Request Aanleveren SOAP Response Interpretatie
Gebruiker
XBRLi
SOAP
Digipoort
SSL/TLS + HTTP
SOAP
XBRLi
Opzetten verbinding Inhoud SOAP Request Aanleveren SOAP Response Interpretatie
SOAP
Opzetten verbinding Inhoud SOAP Request Aanleveren SOAP Response Interpretatie
Opzetten verbinding Inhoud SOAP Request Aanleveren SOAP Response Interpretatie
SOAP
Opzetten verbinding Inhoud SOAP Request Aanleveren SOAP Response Interpretatie
Opzetten verbinding Inhoud SOAP Request Aanleveren SOAP Response Interpretatie
3. Procesinfrastructuur
Koppelvlakken verbinden de schakels
NT 7.0
NT 8.0
Procesinfrastructuur verzorgt verwerking
NT 7.0
NT 8.0
Eisen aan de techniek vanuit de opgave • Gebruik van open standaarden: oplossingen moeten herbruikbaar zijn • Platform onafhankelijkheid: informatie-uitwisseling ongeacht de specifieke eigenschappen van de technische omgeving. • Ontkoppeling (‘loose coupling’): bestendig tegen dynamiek (belangen, wet- en regelgeving, dienstenaanbod in de markt, etc.), doordat delen onafhankelijk van elkaar zijn. • Flexibel procesverloop: verschillende berichten moeten grotendeels op dezelfde, maar deels op een andere manier worden afgehandeld.
Services
Lessen uit de jaren 90 Stand-alone systemen raken verbonden • Veel IT-systemen zijn nooit ontworpen om gegevens uit te wisselen • Er ontstaan nieuwe ketens, afhankelijkheden en governance problemen Monolitische IT-systemen zijn niet bestand tegen dynamiek • Wijzigingsfrequentie varieert sterk per onderdeel • Organisaties waar bedrijfsprocessen leidend zijn presteren beter Het Internet biedt enorm veel potentieel • Alle systemen verbonden op eenduidige wijze • Veel nieuwe technieken beschikbaar (SOAP, XML, etc)
Bouwblokken
Flexibel, robuust, multi-inzetbaar
Opbouw van een service Leveren standaard input, conform specificatie. Inputcontrole o.b.v. contract, QoS, autorisatie.
Toepassen van applicatie, per verzoek. • Gespecificeerde interface • Onafhankelijk van implementatie en platform • Ontsluiten van legacy
Terugkoppelen resultaat, conform specificatie
Webservices “A Webservice is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine processable format (specifically WSDL). Other systems interact with the Webservice in a manner prescribed by its description using SOAP-messages, typically conveyed using HTTP with an XML serialization in conjunction with other Webrelated standards” Bron: W3C
Zoekt
Service gebruiker
Service register (UDDI)
SOAP/XML
Registreert
Service aanbieder
Wisselt uit
Webservice = koppelvlak + service
Webservices: 1e en 2e generatie Overal ter wereld worden webservice technieken gebruikt… …maar vrijwel nergens conform oorspronkelijke opzet. Flexibel is mooi, controle is beter: de “cloud” als voorbeeld.
Eisen vanuit SBR: • PvE GEIN: Flexibiliteit, hergebruik van functionaliteiten, “loose coupling” • Overheidsproces: consistent, herleidbaar, vertrouwelijk
Orkestratie
Service Oriented Architecture Kernconcepten: • Architectuurstijl, geen techniek • Bedrijfsprocessen zijn leidend • “Alignment” van business en IT • Nadruk op compositie van services • Nadruk op hergebruik services • Nadenken over granulariteit • Platformonafhankelijk • Combinatie legacy en nieuwbouw
Digipoort opgebouwd
• Het BPMN-process is uitgedacht • Benodigde services zijn los beschikbaar • Berichtverwerking is nog niet mogelijk
Digipoort opgebouwd
• De servicebus maakt eenduigige communicatie mogelijk • De servicebus heeft geen idee hoe de blokken onderling te combineren
Digipoort opgebouwd
• De procesengine weet hoe alle processen stap voor stap verlopen • Berichten aanleveren nog niet mogelijk.
Digipoort opgebouwd
• De koppelvlakken faciliteren het aan- en afleveren van berichten • We kunnen berichten en processen nog niet koppelen.
Digipoort opgebouwd
• Aan- en afleverservices verbinden berichtuitwisseling met berichtverwerking • Figuur voldoet nog niet aan alle juridische eisen
Digipoort opgebouwd
• Statusinformatie wordt vastgelegd en is opvraagbaar • Statussen worden geüpdatet door uitvragende partijen
Van BPMN-plaat tot i-proces
Van BPMN-plaat tot i-proces BPMN-plaat Detailuitwerking BPEL-proces Configuratie Operationeel
Van BPMN-plaat tot i-proces BPMN-plaat Detailuitwerking BPEL-proces Configuratie Operationeel
Van BPMN-plaat tot i-proces BPMN-plaat Detailuitwerking BPEL-proces Configuratie Operationeel
Business Process Execution Language • Vertaalt BPMN naar instructies voor process engine • Volgordelijk aanroepen van services o.b.v. keuzemomenten • Aanvullende input meegeven
Van BPMN-plaat tot i-proces BPMN-plaat Detailuitwerking BPEL-proces Configuratie Operationeel
Configuratie per berichtsoort: • Configuratie-items • Entrypointconfiguratie • Aanvullende controles
Van BPMN-plaat tot i-proces BPMN-plaat Detailuitwerking BPEL-proces Configuratie Operationeel
College 7 van 11
4. Praktijkvoorbeelden
Voorbeeld 1: Toeslagen Stelt intermediairs in staat toeslagen aan te vragen via SBR. • Proces grotendeels gelijk aan bestaand “standaardproces”. • Entrypoints zijn al in NT 8.0 opgenomen. Voordelen van bouwblokken • Snelle realisatie, alle bouwblokken lagen al “op de plank”. • Generieke opzet ondersteunt licht afwijkende configuratie. • Marginale kosten en tijdsinspanning t.o.v. nieuwe procesinfrastructuur.
Voorbeeld 1: Toeslagen Technisch eenvoudig ≠ eenvoudig voor de keten
Randvoorwaarden moeten ingevuld zijn: • Afstemming ketenpartijen • Juridische toets • Capaciteitsplanning platform • Ketentest • Releasekalender • Aansluitondersteuning • Toepassingsondersteuning
Voorbeeld 2: SBR Assurance Context Bijlagen Validatie Handtekening Operationeel
> 600.000 jaarverslagen voor kleine rechtspersoon Digipoort +/- 13.000 jaarverslagen met accountantsverklaring PDF/papier Kenmerken SBR Assurance • Juridisch strikt gescheiden verantwoordelijkheden • Set van documenten onlosmakelijk verbonden • Ondertekenen verplicht, waarmerken wenselijk • Uniek in de wereld • Rekening houden met aanverwante stromen • Zeer complexe keten voordat bij Digipoort wordt aangeleverd
Voorbeeld 2: SBR Assurance Context Bijlagen Validatie Handtekening Operationeel
SBR werkt zaaksgewijs, zaak bestaat nu uit 3 documenten. Consequenties koppelvlakken: • WUS aan voorzijde, ebMS aan achterzijde • Controle op aantal bijlagen
Nieuwe service voor controle consistentie bijlagen: • Bijlagen herkennen • Controle op verplichte aanwezigheid bijlagen • Controle op onderlinge consistentie
Voorbeeld 2: SBR Assurance Context Bijlagen Validatie Handtekening Operationeel
XBRL-validatie voor Jaarverslag en Accountantsverklaring XML-validatie voor Handtekening Document
Gegevensstandaard
Jaarverslag
Nederlandse Taxonomie
Accountantsverklaring
NBA taxonomie
Handtekening
XAdES standaard
Kleine aanpassing validators nodig: • Valideren meerdere bijlagen • Passende terugkoppeling geven
Voorbeeld 2: SBR Assurance Context Bijlagen Validatie Handtekening Operationeel
Aanleveren bij Digipoort met organisatiegebonden PKIo certificaat. Ondertekenen/waarmerken met beroepscertificaat: • Moet voldoen aan Wet op de Elektronische handtekening • XAdES als Europese standaard • “detached signature” i.v.m. leesbaarheid XBRL-instances Nieuwe services nodig: • Handtekeningcontroleservice • Certificaatcontroleservice
Voorbeeld 2: SBR Assurance Context Bijlagen Validatie Handtekening Operationeel
Experimentfase: • Planmatig testen met ketenpartners of oplossing ‘past’ • Ruimte voor quick fixes en voortschrijdend inzicht • Aansluitondersteuning beschikbaar
College 7 van 11
Terug- en vooruitblik
De techniek van Digipoort samengevat • Gedeelde dienstverlener: gestandaardiseerde koppelvlakken (K), generieke procesinfrastructuur
• Koppelvlakken geven op gestandaardiseerde wijze toegang tot de verschillende iprocessen. • Sterke interactie techniek met gegevens, processen en afsprakenstelsel. • Services en orkestratie dragen gezamenlijk bij aan flexibiliteit én robuustheid.
De keten uitgedaagd Informatiebeveiliging in ketens Juridische kaders, authenticatie, machtigingen en meer…
26 augustus 2014