Weitere ähnliche Inhalte
Ähnlich wie 9 soa infrastructuur
Ähnlich wie 9 soa infrastructuur (20)
Mehr von Dan Kamminga (20)
9 soa infrastructuur
- 2. Service Oriented Architecture
Overzicht
Deel 5: De SOA infrastructuur
1. Basisconcepten
2. SOA vanuit organisatorisch perspectief
3. Procesbesturing
4. SOA vanuit technisch perspectief
5. De SOA infrastructuur
– Enterprise Servicebus (ESB)
– Portaal
– Orkestratie engine
6. SOA in het ontwerpproces
© Twynstra Gudde 12-9-2009 2
- 3. Service Oriented Architecture
Enterprise servicebus
Afnemers
(presentatie)
Procesdiensten
Servicebus
Samengestelde diensten
Basisdiensten
Backends Bestaand
Database systeem
Domein Domein
© Twynstra Gudde 12-9-2009 3
- 4. Service Oriented Architecture
Middleware / Enterprise Servicebus
– Middleware = Generieke software die de koppelingen tussen applicaties
ondersteunt – “software glue”
– (Enterprise) Servicebus = specifieke vorm van middleware in een service
georiënteerde architectuur
A1 A1 A2 A3 A4 beveiliging
A2 autorisatie
logging / monitoring
A3 Middleware / Servicebus technische conversie
A4 bericht transformatie
controles
– Overbrugt technische verschillen tussen applicaties
– Biedt mogelijkheid tot standaardisatie
– Biedt aanvullende diensten voor beveiliging, monitoring, controles,
transformaties etc.
© Twynstra Gudde 12-9-2009 4
- 5. Service Oriented Architecture
Functie van middleware / Enterprise
Servicebus
– Reductie van complexiteit van koppelingen door
– centraal ontkoppelpunt van applicaties
– centraal beheer van koppelingen mogelijk
– technische standaardisering middels ‘stekkers’
– stimuleert generieke services en berichten, en maakt daardoor hergebruik mogelijk
– Eénmalig generiek in de middleware ipv in elke applicatie
opnieuw
– technische conversies
– beveiliging en autorisatie
– monitoring en logging
– controles, gegevensmapping, transformaties
© Twynstra Gudde 12-9-2009 5
- 6. Service Oriented Architecture
Web services en een servicebus
Twee manieren van routering
– Rechtstreeks – Via ESB
– Service register wordt – Service wordt niet rechtstreeks
geraadpleegd voor locatie van aangeroepen
de service – ESB routeert vraag en
– Service wordt rechtstreeks antwoord
aangeroepen – Bericht- en technische
conversie is mogelijk
© Twynstra Gudde 12-9-2009 6
- 7. Service Oriented Architecture
Events en een servicebus
Event manager met adapters
event
publicatie
A Event
manager
adapter
event
B C
– ESB (Event manager) is intermediair
– Ontkoppeling via subscriptions, waardoor A niet bekend is
met B of C
– Adapters zorgen voor technische en logische conversies
© Twynstra Gudde 12-9-2009 7
- 8. Service Oriented Architecture
Enterprise Servicebus = de SOA infrastructuur
– Stelt afnemers in staat beschikbare service aan te roepen
– Realiseert vooral ook interoperabiliteit
– Samengevat zijn de taken van de ESB
– Connectiviteit realiseren tussen aanbieder en afnemer
– Data transformatie
– Intelligente routering (bijv. content based routing)
– Beveiliging
– Garanderen van betrouwbaarheid
– Service management (de administratie van services)
– Monitoring en logging (ook Business Activity Monitoring)
– Ook de ESB kan heterogeen zijn (je kunt er dus meer dan één hebben)
© Twynstra Gudde 12-9-2009 8
- 9. Service Oriented Architecture
Data mapping in een ESB
Applicatie A Applicatie B
Applicatiespecifiek Applicatiespecifiek
informatiemodel informatiemodel
(application view) (application view)
Standaard informatiemodel
Mapping Mapping
(common view)
application view -> common view ->
common view Enterprise Service Bus application view
© Twynstra Gudde 12-9-2009 9
- 10. Service Oriented Architecture
Applicatie 1 Applicatie 2 Applicatie ...
application view application view application view
application view
application view
Specifiek Generiek Specifiek Generiek Specifiek Generiek
deel deel deel deel deel deel
Mapping Mapping Mapping
Standaard informatiemodel
(common view)
Enterprise Service Bus
= gebaseerd op berichtschema standaard informatiemodel
= gebaseerd op berichtschema specifiek informatiemodel
© Twynstra Gudde 12-9-2009 10
- 11. Service Oriented Architecture
Portaal
Portaal
Afnemers
(presentatie)
Procesdiensten
Samengestelde diensten
Basisdiensten
Backends Bestaand
Database systeem
Domein Domein
© Twynstra Gudde 12-9-2009 11
- 12. Service Oriented Architecture
Portals
– Intranet (portal)
– Interne nieuwsvoorziening
– Soms ook interne samenwerkingsomgeving (collaboration)
– Web portal
– Informatie uit verschillende bronnen op een uniforme manier
presenteren / toegankelijk maken (iGoogle, Startpagina etc.)
– Enterprise portal
– Digitale werkplek (Single point of entry)
– Integratie van functies en data uit verschillende systemen
– Federatie – integratie van informatie uit verschillende andere portalen
– Personalisatie
– Autorisatie, vaak rolgebaseerd
© Twynstra Gudde 12-9-2009 12
- 13. Service Oriented Architecture
Enterprise portaal
Functionaliteit op hoofdlijnen
– De functionaliteit van een enterprise portaal
– Ontsluiting van informatie (á la intranet)
– Platform voor samenwerking en kennisdeling
– Ondersteuning van werkprocessen (toegang tot functionaliteit / gegevens)
– Toekomstbeeld
– De digitale werkplek
– Gebruikers krijgen afhankelijk van hun rol toegang tot alle relevante informatie én
functionaliteit die nodig is voor hun werk
– Kenmerken
– Web-gebaseerd
– Beveiliging / authenticatie
– éénmalige rolgebaseerde autorisatie
– Gepersonaliseerd
– Werkproces georiënteerd
© Twynstra Gudde 12-9-2009 13
- 14. Service Oriented Architecture
Enterprise portaal
Ondersteuning van werkprocessen
– In een service georiënteerde architectuur met orkestratie
– Het uitvoeren van een taak = aanroepen van een service
– Dit kan
– een ‘nieuwe’ service zijn (bijvoorbeeld een basisdienst, maar ook procesdienst)
– een stap in een lopend proces zijn (bijv. op een takenlijst)
– User interface bij een service is een scherm of (liever nog) een portlet of web
part
– Andere manieren
– Integreren van een complete web-applicatie in het portaal
– Bestaande schermen ‘ophangen’ in nieuwe navigatiestructuur
– Op basis van stylesheets uniformeren van de vormgeving
– Combineren van user-interface componenten van applicaties die beschikbaar
zijn als portlet of web part
– Single sign-on voor web-applicaties en user-interface componenten
© Twynstra Gudde 12-9-2009 14
- 15. Service Oriented Architecture
Orkestratie engine
Afnemers
(presentatie)
Orchestration
Procesdiensten
engine
Samengestelde diensten
Basisdiensten
Backends Bestaand
Database systeem
Domein Domein
© Twynstra Gudde 12-9-2009 15
- 16. Service Oriented Architecture
Orkestratie engine UML Activity Diagram
is ook een mogelijkheid
zie voorbeeld
p. 93 (fig 7-8)
SOA in Practice
– Orkestratie engine
– Ondersteunt zowel ontwerpen
als executeren van processen
– Een proces = een service
– BPEL is veelgebruikte
standaard
– Business Process Execution
Language
– Gebaseerd op XML
– BPMN voor ‘echt’ modelleren
– Business Process Modeling
Notation
– Grafische notatie
– Vertaalbaar naar BPEL
© Twynstra Gudde 12-9-2009 16
- 18. Service Oriented Architecture
De BPEL taal
Service collaborators
(service die in het proces zijn betrokken
Variabelen die de toestand van het
proces bevatten - stateful
Wacht op een bericht van een partner webservice
Roep een partner webservice aan
Allerlei logica die de prosesflow beïnvloed
© Twynstra Gudde 12-9-2009 18
- 19. Service Oriented Architecture 1 <process name="ticketOrder">
2 <partners>
3 <partner name="customer"
4 serviceLinkType="agentLink"
BPEL voorbeeld 5
6
myRole="agentService"/>
<partner name="airline"
7 serviceLinkType="buyerLink"
8 myRole="ticketRequester"
9 partnerRole="ticketService"/>
10 </partners>
11 <containers>
12 <container name="itinerary" messageType="itineraryMessage"/>
13 <container name="tickets" messageType="ticketsMessage"/>
14 </containers>
15 <flow>
16 <links>
17 <link name="order-to-airline"/>
18 <link name="airline-to-agent"/>
19 </links>
20 <receive partner="customer"
21 portType="itineraryPT"
22 operation="sendItinerary"
23 container="itinerary"
24 <source linkName"order-to-airline"/>
25 </receive>
26 <invoke partner="airline"
27 portType="ticketOrderPT"
28 operation="requestTickets"
29 inputContainer="itinerary"
30 <target linkName"order-to-airline"/>
31 <source linkName"airline-to-agent"/>
32 </invoke>
33 <receive partner="airline"
34 portType="itineraryPT"
35 operation="sendTickets"
36 container="tickets"
37 <target linkName"airline-to-agent"/>
38 </receive>
39 </flow>
© Twynstra Gudde 12-9-2009 40 </process> 19
- 20. Service Oriented Architecture
De SOA infrastructuur
Portaal
Afnemers
(presentatie)
Orchestration
Procesdiensten
engine
Servicebus
Samengestelde diensten
Basisdiensten
Backends Bestaand
Database systeem
Domein Domein
© Twynstra Gudde 12-9-2009 20
- 21. Service Oriented Architecture
Portaal J2EE Portlets
.NET Web parts
Presentatie J2EE JSP / Java Beans) HTML, XML, XSL
.NET ASP / ActiveX)
Orkestratie engine
BPEL
Procesdiensten
Samengestelde diensten
J2EE (EJB etc.)
.NET (C# etc.)
Basisdiensten
Servicebus XML, SOAP
WSDL, UDDI
Backends ODBC, JDBC
© Twynstra Gudde 12-9-2009 21
- 22. Service Oriented Architecture
Bas Kruiswijk
bkr@tg.nl
www.twynstragudde.nl
Alle intellectuele eigendomsrechten met betrekking tot
deze presentatie berusten bij Twynstra Gudde. Niets uit
deze presentatie mag worden verveelvoudigd of openbaar
gemaakt zonder schriftelijke toestemming van Twynstra
Gudde.
© Twynstra Gudde 12-9-2009 22