DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

45
DHO Technische Architectuur Ricky Nuyens – EDS-Telindus

Transcript of DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

Page 1: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

DHO Technische Architectuur

Ricky Nuyens – EDS-Telindus

Page 2: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 2

AHOVOS

p.2

AgendaAgenda

• DHO Concept en Objectieven

• Technische Architectuur

• Structuur van de berichten

• Gegarandeerde aflevering

• CRUD Patronen

• Proof of Concept – bevindingen

• Volgende stappen

Page 3: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

DHO Concept en ObjectievenDHO Concept en Objectieven

Page 4: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 4

AHOVOS

DHO ConceptDHO Concept

• Lees web services worden synchroon opgeroepen

• Aanmaak, wijzig en verwijder web services worden uitgesteld synchroon opgeroepen

• Instelling beheert data, O&V leest data

Biedt Webservice aanRoept Webservice op

Unix Mainframe

Instellingen

Q

WS

internet

Onderwijs & Vorming

PEP

B

3270

Page 5: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 5

AHOVOS

DHO ObjectievenDHO Objectieven

• Maximale Gegevenskwaliteit :

– De gegevens die O&V aggregeert van alle instellingen zijn correct, volledig en actueel.

• Gegarandeerde Confidentialiteit :

– De confidentialiteit van de gegevensuitwisseling tussen de instellingen en het beleidsdomein O&V moet gegarandeerd worden

• Authenticiteit, integriteit en niet weerlegbaarheid :

– De oplossing garandeert dat de data aangereikt vanuit de instelling niet kan gewijzigd worden. Verder moet er op een onweerlegbare manier kunnen aangetoond worden dat data aangeleverd door een instelling, enkel van die instelling afkomstig kan zijn.

• Losse koppeling :

– De dagdagelijkse werking van de instelling mag niet verhinderd worden door de oplossing. Er wordt gestreefd naar een zo los mogelijke koppeling tussen de systemen van de instelling en die van O&V

• Interoperabiliteit :

– De oplossing is (zoveel mogelijk) gebaseerd op industrie standaarden om een maximale interoperabiliteit met de instellingen te kunnen garanderen.

Page 6: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

Technische ArchitectuurTechnische Architectuur

Page 7: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 7

AHOVOS

Technische ArchitectuurTechnische Architectuur

Biedt Webservice aanRoept Webservice op

Instellingen Onderwijs & Vorming

Unix Mainframe

Q

WS

internet

SSL

Certificaat voor digitale

handtekening

CertCert

PEP

Cert

SSL client certificaat

Web serviceConsumer

SSL server certificaat

External Web service Provider met WS Security

Internal Web service Consumer

Internal Web service Provider

HTTPS

SOAP

3270

JavaProxy

Web ServiceImplementatie

Toepassing

Two-factorauthentication

Page 8: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 8

AHOVOS

Sterke Authenticatie binnen Toepassing InstellingSterke Authenticatie binnen Toepassing Instelling

• Web service Consumer zit ingebed in een toepassing binnen de instelling

• Gebruik van web services moet beperkt blijven tot geautoriseerde medewerkers omdat het privacy gevoelige gegevens betreft two-factor authentication

• Elk bericht dat de instelling verstuurt bevat de correcte identificatie (RRN of Bis of …) van de betrokken eindgebruiker

Instellingen Onderwijs & Vorming

Unix Mainframe

Q

WS

internet

PEP

Web serviceConsumer

3270

Toepassing

BevatRRN of Bis

Two-factorauthentication

Page 9: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 9

AHOVOS

Connectie AuthenticatieConnectie Authenticatie

• Publieke web services maar enkel instellingen mogen deze aanroepen

• Implementatie op basis van X.509 SSL client-certificate authenticatie

• 1 SSL certificaat per instelling (of per ICT provider)

Instellingen Onderwijs & Vorming

Unix Mainframe

Q

WS

internet

SSLCert

Cert

PEP

SSL client certificaat

SSL server certificaat

3270

Page 10: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 10

AHOVOS

Digitale HandtekeningDigitale Handtekening

• Elke instelling mag enkel toegang hebben tot eigen gegevens

• Implementatie op basis van X.509 Certificaat voor digitale handtekening

• 1 X.509 certificaat per toepassing binnen instelling

• Elk bericht bevat het instellingsnummer, een identificatie van de toepassing

• Elk bericht wordt voorzien van een digitale handtekening

Instellingen Onderwijs & Vorming

Unix Mainframe

Q

WS

internet

SSLCert

Cert

PEP

Cert

3270

Bevat instellingsnummer en

toepassingsidentificatie

Certificaat voor digitale

handtekening

Toepassing

Bevat digitalehandtekening

Page 11: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 11

AHOVOS

Policy Enforcement Point (PEP)Policy Enforcement Point (PEP)

• Interne web services worden beschikbaar gemaakt via een beveiligde toegangspoort die de toegangscontrole beheert : PEP

• Authenticatie en autorisatie stappen :

– SSL Client Certificate

– Digitale handtekening : instellingsnummer EN toepassingsidentificatie

Instellingen Onderwijs & Vorming

Unix Mainframe

Q

WS

internet

SSLCert

Cert

PEP

Cert

External Web service Provider met WS Security

Internal Web service Provider

HTTPS

SOAP

3270

JavaProxy

Web ServiceImplementatie

Internal Web service Consumer

Page 12: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 12

AHOVOS

BerichtenBerichten

• Robuust– Het veranderen van een web service vergt heel wat inspanning. Daarom wordt

verwacht dat de berichten minstens even robuust zullen zijn als de EDISON record layouts

• Instelling agnostisch– Er worden geen berichten gespecificeerd per instelling of voor een bepaalde set

van instellingen. Alle web services kunnen door alle instellingen aangeroepen worden

• Toepassing agnostisch– In de berichten wordt niet aangegeven voor welke toepassing ze bestemd zijn.

• Gestandaardiseerd– SOAP 1.1

– Uniforme structuur

Instellingen Onderwijs & Vorming

Unix Mainframe

Q

WS

internet

SSLCert

Cert

PEP

Cert

SOAP

3270

Repliek

Verzoek

Page 13: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 13

AHOVOS

Gebeurtenis georiënteerd, atomair en bulkGebeurtenis georiënteerd, atomair en bulk

• Web services hebben zowel ondersteunende (lees) functie als “data vergarende” functie.

• Bij doorgeven van veel gegevens is bulk efficiënter (digitale handtekening, netwerk, …) structurele oplossing in structuur van de berichten

• Bulk is niet hetzelfde als “’s nachts in batch”

• Correcte, volledige en actuele data aangereikt door de instellingen is noodzakelijk voor een correcte stand van het leerkrediet

• Gebeurtenis georiënteerd is DÉ manier

Instellingen Onderwijs & Vorming

Unix Mainframe

Q

WS

internet

SSLCert

Cert

PEP

Cert

SOAP

3270

Verzoek

Vraag 1

Vraag 2

Repliek

Antwoord 1

Antwoord 2

Page 14: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

Structuur van de berichtenStructuur van de berichten

Page 15: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 15

AHOVOS

SOAP 1.1 StructuurSOAP 1.1 Structuur

Instellingen Onderwijs & Vorming

Unix Mainframe

Q

WS

internet

SSLCert

Cert

PEP

Cert

SOAP

3270

SOAP Envelope

SOAP Header• Digitale Handtekening (verzoek)

SOAP Body•Instellingsnummer•Identificatie van de toepassing •Gebruikers identificatie•Bericht referte •Vraag/Antwoord referte

Any

Page 16: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 16

AHOVOS

SOAP HeaderSOAP Header

• WS-Security 1.0

• Boodschap-encryptie is niet noodzakelijk wegens connectie-encryptie (SSL)

• De digitale handtekening omvat de hele SOAP body.

• Het certificaat gebruikt om de tekenen wordt meegegeven in elke boodschap, met formaat “oasis-200401-wss-x509-token-profile-1.0#X509v3”

• De canonicalization method die gebruikt moet worden is Exclusive Canonicalization “http://www.w3.org/2001/10/xml-exc-c14n#”.

– Dit is de standaard methode binnen WS-Security. De originele methode zonder “exclusive” bleek validatieproblemen te veroorzaken in situaties waarbij gehandtekende XML documenten bijgesloten werden in andere XML documenten.

• De digest en handtekening protocols zijn SHA1 en RSA

Page 17: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 17

AHOVOS

SOAP Body : Verzoek of Repliek / SOAP Body : Verzoek of Repliek / OperatieMetaDataOperatieMetaData

• Het OperatieMetaData element bevat de Versie en de Naam van de operatie

• De inhoud van deze elementen staat vast door de beschrijving van het XML Schema en kan NIET veranderd worden

• Zowel in Verzoek als Repliek

• Operationele Ondersteuning

Page 18: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 18

AHOVOS

SOAP Body : VerzoekSOAP Body : Verzoek

• Alle “verzoeken” volgen dezelfde structuur

– OperatieMetaData: Informatie over de operatie (dezelfde structuur voor alle operaties)

– Context: Informatie voor autorisatiedoeleinden (dezelfde structuur voor alle operaties)

– Vragen: Informatie over de invoer van de operatie (specifieke structuur voor iedere operatie)

Bevat de invoer van de operatie

Context informatie omtrent de operatie: Wie, waar, wanneer?

Informatie over de operatie: Versie & Naam

Page 19: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 19

AHOVOS

SOAP Body : Verzoek / Context (Afzender)SOAP Body : Verzoek / Context (Afzender)

Tijdstip waarop bericht werd aangemaakt

Unieke identificatie van het verzoek bericht

Instellingsnummer

Verplicht voor de instelling

Security op basis van rollen (Optioneel)

Naam van de gebruiker

Naam van de organisatie-eenheid

(Optioneel) INSZ-nummer van de gebruiker

Type van het verzoek bericht = VRAAG

Page 20: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 20

AHOVOS

SOAP Body : Verzoek / Context (Ontvanger)SOAP Body : Verzoek / Context (Ontvanger)

Optionele elementen voor

verzoek

Vb: dho.vlaanderen.be

Optioneel voor de instelling

Page 21: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 21

AHOVOS

SOAP Body : Verzoek / VragenSOAP Body : Verzoek / Vragen

• Referte is verplicht en uniek voor een instelling

• VraagInhoud is specifiek voor elke operatie

• Meerdere vragen binnen een verzoek mogelijk, maar gelimiteerd in aantal (1..99)

Page 22: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 22

AHOVOS

SOAP Body : RepliekSOAP Body : Repliek

• Alle “replieken” volgen dezelfde structuur– OperatieMetaData: Informatie over de operatie (dezelfde structuur voor alle

operaties)

– RepliekContext: Informatie omtrent de afzender van het verzoek en de ontvanger van het verzoek (= degene die het verzoek beantwoordt)

– Antwoorden: Informatie omtrent het antwoord op de gestelde vraag (specifieke structuur voor iedere operatie)

– Uitzonderingen: Voor fouten op bericht-niveau

Bevat de uitvoer van de operatie

Context informatie omtrent de operatie: Wie, waar, wanneer?

Informatie over de operatie: Versie & Naam

Boodschap tgv fouten op bericht niveau

Page 23: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 23

AHOVOS

SOAP Body : Repliek / Context (Afzender)SOAP Body : Repliek / Context (Afzender)

Tijdstip waarop bericht werd aangemaakt

Vb: dho.vlaanderen.be

Identificatie van de toepassing binnen een

DHO

Security op basis van rollen (optioneel)

Naam van de gebruiker

Naam van de organisatie-eenheid

(optioneel)

INSZ-nummer van de gebruiker (optioneel)

Unieke identificatie van het repliek bericht

Type van het repliek bericht = ANTWOORD

Page 24: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 24

AHOVOS

SOAP Body : Repliek / Context (Ontvanger)SOAP Body : Repliek / Context (Ontvanger)

De context informatie van de afzender van het verzoek bericht wordt hierin

gekopieerd (hierbij ook de referte van het verzoek bericht)

Page 25: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 25

AHOVOS

SOAP Body : Repliek / AntwoordenSOAP Body : Repliek / Antwoorden

• Referte komt overeen met de Referte van de overeenstemmende Vraag

• AntwoordInhoud is specifiek voor elke operatie

• Als er een fout wordt opgemerkt in de vraag, wordt er minstens 1 uitzondering teruggestuurd

Page 26: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 26

AHOVOS

SOAP Body : Repliek / UitzonderingenSOAP Body : Repliek / Uitzonderingen

• Identificatie: Unieke identificatie van de uitzondering

• Type: 3 uitzonderingstypes (Fout, Waarschuwing & Informatie)

• Tijdstip: wanneer de uitzondering zich heeft voorgedaan

• Diagnose: beschrijving van de uitzondering (boodschap)

• Omstandigheid: bijkomende informatie omtrent de uitzondering

Page 27: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 27

AHOVOS

SOAP FaultSOAP Fault

• Enkel wanneer het bericht niet “applicatief verwerkt” wordt– Foute XML structuur, niet conform het schema

– Foute Digitale Handtekening

– Encoding

– Version Mismatch

• Een SOAP fault bevat de elementen – faultcode voor het type fout,

– faultstring met een beschrijving van de fout,

– faultactor voor de bron van de fout

– detail met de detailuitleg van de foutmelding.

Unix Mainframe

Instellingen

Q

WS

internet

Onderwijs & Vorming

PEP

3270

SOAP Fault SOAP Fault

Uitzondering

Uitzondering

Page 28: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

Gegarandeerde AfleveringGegarandeerde Aflevering

Page 29: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 29

AHOVOS

Gegarandeerde AfleveringGegarandeerde Aflevering

• Referte : unieke identificatie van berichten, vragen en antwoorden

– Vraag / Antwoord : De afzender dient voor elke vraag een unieke referte te versturen. Deze wordt bij het antwoord terug gegeven opdat het mogelijk is vraag en antwoord te correleren.

• HTTP(S) is geen gegarandeerd protocol dus …

– Het bericht werd verwerkt, de gevraagde acties werden uitgevoerd, maar er loopt iets mis bij het versturen van het antwoord

– Het bericht is niet correct aangekomen bij de ontvanger en werd niet verwerkt

… voor de afzender is er geen zekerheid of de berichten werden verwerkt

– Vraagrefertes die bij de originele vragen werden gebruikt, MOETEN opnieuw als vraagreferte opgegeven worden

– Het is niet noodzakelijk om de vragen in een identiek bericht te sturen

Page 30: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 30

AHOVOS

Nie

t G

espl

itst

Gegarandeerde afleveringGegarandeerde aflevering

Verzoek V1Vraag a

Vraag bRepliek R1 op V1

Vraag a

Vraag b

Verzoek V1Vraag a

Vraag bRepliek R2 op V1

Vraag a

Vraag b

Verzoek V1Vraag a

Vraag bRepliek R1 op V1

Vraag a

Vraag b

Verzoek V2Vraag a

Repliek R2 op V2Vraag a

Verzoek V3Vraag b

Repliek R3 op V3Vraag b

Verzoek V1Vraag a

Vraag b

Verzoek V1Vraag a

Vraag bRepliek R2 op V1

Vraag a

Vraag b

Verzoek V2Vraag a

Repliek R2 op V2Vraag a

Verzoek V3Vraag b

Repliek R3 op V3Vraag b

Verzoek V1Vraag a

Vraag b

Ges

plits

t

Verwerkt Niet Verwerkt

Page 31: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

CRUD PatronenCRUD Patronen

Page 32: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 32

AHOVOS

CRUD TerminologieCRUD Terminologie

• Object: Een object bestaat steeds uit volgende elementen.

– ObjectID: Deze referentie is uniek voor elk object en wordt aangemaakt door DHO.

– Objectelementen: Dit zijn de elementen die een bepaald object beschrijven.

– Referenties: Referenties die naar andere objecten verwijzen

Page 33: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 33

AHOVOS

CRUD Patronen : AanmaakCRUD Patronen : Aanmaak

• Het aanmaken van een object bij DHO vereist steeds het versturen van het aan te maken object:

– Verplicht op te nemen: Objectelementen, Referenties

– Mag niet opgenomen worden: ObjectID

• Het antwoord bevat de referentie (ObjectID) die werd aangemaakt voor het object.

• De instelling dient deze referentie te bewaren zodat bij latere vragen in verband met dit object deze referentie kunnen gebruiken.

• Indien de aanmaak niet kon verwerkt worden, wordt dit aangegeven door een Uitzondering en zal er geen Inhoudelement zijn.

VRAAGReferte

Inhoud

Object

1

1

ANTWOORDReferte

Inhoud

ObjectID

1

0..1

Uitzonderingen0..1

Uitzondering1..*

1

1

Page 34: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 34

AHOVOS

CRUD Patronen : RaadpleegCRUD Patronen : Raadpleeg

VRAAGReferte

Inhoud

ObjectID

1

1

ANTWOORDReferte

Inhoud

Object

1

0..1

Uitzonderingen0..1

Uitzondering1..*

1

1

• Als een instelling een object, dat eerder werd aangemaakt, wil raadplegen, dient het de door DHO aangemaakte referentie (ObjectID) te versturen via het vraagelement.

• DHO stuurt de volledige inhoud van het object via het antwoord terug.

• Indien het object niet gevonden wordt, zal enkel een uitzondering worden meegegeven

Page 35: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 35

AHOVOS

CRUD Patronen : WijzigCRUD Patronen : Wijzig

VRAAGReferte

Inhoud

Object

1

1

ANTWOORD

Referte1

Uitzonderingen0..1

Uitzondering1..*

1

Inhoud

ObjectID

0..1

1

• Bijna identiek met Aanmaken, op ObjectID na

• Voor het wijzigen van een object dient men het object dat men wil wijzigen in zijn volledigheid te versturen: de ObjectID, alle objectelementen (zowel de gewijzigde als de niet gewijzigde) en alle referenties.

• In het antwoord staat het ObjectID, puur ter bevestiging van de succesvolle verwerking.

• Indien de wijziging niet kon verwerkt worden, wordt dit aangegeven door een Uitzondering en zal er geen Inhoudelement zijn.

Page 36: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 36

AHOVOS

CRUD Patronen : VerwijderCRUD Patronen : Verwijder

VRAAGReferte

Inhoud

ObjectID

1

1

ANTWOORDReferte1

Uitzonderingen0..1

Uitzondering1..*

1

Inhoud

ObjectID

0..1

1

• Voor het verwijderen dient enkel het ObjectID meegegeven te worden.

• Het antwoord bevat het ObjectID ter bevestiging van de verwerking terug.

• Ook hier zal bij een fout een uitzondering verstuurd worden in plaats van de inhoud.

Page 37: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

Proof of ConceptProof of Concept

Page 38: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 38

AHOVOS

POC 2 : CA Gen OplossingPOC 2 : CA Gen Oplossing

Biedt Webservice aanRoept Webservice op

Instellingen Onderwijs & Vorming

Unix Mainframe

Q

WS

internet

SSLCert

Cert

PEP

Cert

SSL server certificaat

External Web service Provider met WS Security

Internal Web service Consumer

Internal Web service Provider

HTTPS

SOAP

3270

JavaProxy

Web ServiceImplementatie

• 32K Limiet

• Codepage 37/500

Page 39: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 39

AHOVOS

CP 500CP 500

Page 40: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 40

AHOVOS

page 40

DHO ArchitectuurDHO Architectuur

Mainframe

Biedt Webservice aanRoept Webservice op

Instellingen

Q

WS

internet

Onderwijs & Vorming

CertCert

PEP

Cert Studie Toelagen

Unix

VIP

BB

BT

Business Web ServiceTechnische Web Service

T

T

Page 41: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 41

AHOVOS

page 41

DHO Architectuur - ToekomstDHO Architectuur - Toekomst

Mainframe

Instellingen

Q

WS

internet

Onderwijs & Vorming

CertCert

Cert Studie Toelagen

Unix

VIP

Java

CA

PS

Biedt Webservice aanRoept Webservice op

BT

Business Web ServiceTechnische Web Service

B

B

T

T

T

WSM

Page 42: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

Verdere stappenVerdere stappen

Page 43: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

p. 43

AHOVOS

Verdere stappenVerdere stappen

• O&V en ET zijn verantwoordelijk voor de WSDL’s

– O&V en ET zorgen voor eerste voorstel : 15 Januari 2007

– Instellingen geven opmerkingen op voorstel

– WSDL’s gefinaliseerd : einde Januari 2008

• Procedure “sterke authenticatie” uitwerken

• Procedure “aanvraag certificaat (SSL of Digitale Handtekening) uitwerken

• SLA beheer

Page 44: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

Vragen

Page 45: DHO Technische Architectuur Ricky Nuyens – EDS-Telindus.

DHO Technische Architectuur

Ricky Nuyens – EDS-Telindus