download de presentatie

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
<binding> Type berichten per operatie
<message>
Definities van de berichten
<types>
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:operation>
</wsdl:portType>
<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:input>
</wsdl:operation>
</wsdl:binding>
<wsdl:message name="aanleverMessageRequest">
<wsdl:part name="aanleverRequest" element="kv:aanleverRequest"/>
</wsdl:message>
<wsdl:types>
<xsd:schema>
<xsd:import schemaLocation="1.2.xsd"/>
</xsd:schema>
</wsdl:types>
<wsp:Policy></wsp:Policy>
</definitions>
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