9 soa infrastructuur
-
Upload
dan-kamminga -
Category
Documents
-
view
378 -
download
0
Transcript of 9 soa infrastructuur
Bas Kruiswijk
Amersfoort12 september 2009
Service Oriented Architecture
Deel 5 - SOA infrastructuur
2© Twynstra Gudde 12-9-2009
Service Oriented Architecture
OverzichtDeel 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
3© Twynstra Gudde 12-9-2009
Service Oriented Architecture
Enterprise servicebus
Ser
vice
bus
Database
Backends
Basisdiensten
Bestaandsysteem
Samengestelde diensten
Domein Domein
Procesdiensten
Afnemers(presentatie)
4© Twynstra Gudde 12-9-2009
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
– Overbrugt technische verschillen tussen applicaties
– Biedt mogelijkheid tot standaardisatie
– Biedt aanvullende diensten voor beveiliging, monitoring, controles, transformaties etc.
A1 A2
A3A4
A1 A2 A3 A4
Middleware / Servicebus
beveiligingautorisatielogging / monitoringtechnische conversiebericht transformatiecontroles
5© Twynstra Gudde 12-9-2009
Service Oriented Architecture
Functie van middleware / EnterpriseServicebus
– 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
6© Twynstra Gudde 12-9-2009
Service Oriented Architecture
Web services en een servicebusTwee manieren van routering
– Rechtstreeks
– Service register wordt geraadpleegd voor locatie van de service
– Service wordt rechtstreeks aangeroepen
– Via ESB
– Service wordt niet rechtstreeks aangeroepen
– ESB routeert vraag en antwoord
– Bericht- en technische conversie is mogelijk
7© Twynstra Gudde 12-9-2009
Service Oriented Architecture
Events en een servicebusEvent manager met adapters
– ESB (Event manager) is intermediair
– Ontkoppeling via subscriptions, waardoor A niet bekend is met B of C
– Adapters zorgen voor technische en logische conversies
A
B
Eventmanager
eventpublicatie
event
C
adapter
8© Twynstra Gudde 12-9-2009
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)
9© Twynstra Gudde 12-9-2009
Service Oriented Architecture
Applicatie A
Applicatiespecifiekinformatiemodel
(application view)
Enterprise Service Bus
Standaard informatiemodel(common view)
Applicatie B
Applicatiespecifiekinformatiemodel
(application view)
Mappingapplication view ->
common view
Mappingcommon view ->application view
Data mapping in een ESB
10© Twynstra Gudde 12-9-2009
Service Oriented Architecture
application viewapplication view
Applicatie 2Applicatie 1
Enterprise Service Bus
Standaard informatiemodel(common view)
Mapping
Applicatie ...
MappingMapping
application view
Specifiekdeel
Generiekdeel
application view
Specifiekdeel
Generiekdeel
application view
Specifiekdeel
Generiekdeel
= gebaseerd op berichtschema standaard informatiemodel
= gebaseerd op berichtschema specifiek informatiemodel
11© Twynstra Gudde 12-9-2009
Service Oriented Architecture
Portaal
Database
Backends
Basisdiensten
Bestaandsysteem
Afnemers(presentatie)
Samengestelde diensten
Domein Domein
Procesdiensten
Portaal
12© Twynstra Gudde 12-9-2009
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
13© Twynstra Gudde 12-9-2009
Service Oriented Architecture
Enterprise portaalFunctionaliteit 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
14© Twynstra Gudde 12-9-2009
Service Oriented Architecture
Enterprise portaalOndersteuning 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
15© Twynstra Gudde 12-9-2009
Service Oriented Architecture
Orkestratie engine
Database
Backends
Basisdiensten
Bestaandsysteem
Afnemers(presentatie)
Samengestelde diensten
Domein Domein
Procesdiensten
Orchestration
engine
16© Twynstra Gudde 12-9-2009
Service Oriented Architecture
Orkestratie engine
– Orkestratie engine
– Ondersteunt zowel ontwerpen als executeren van processen
– Een proces = een service
– BPEL is veelgebruikte standaard
– Business Process ExecutionLanguage
– Gebaseerd op XML
– BPMN voor ‘echt’ modelleren
– Business Process ModelingNotation
– Grafische notatie
– Vertaalbaar naar BPEL
zie voorbeeldp. 93 (fig 7-8)
SOA in Practice
UML Activity Diagramis ook een mogelijkheid
17© Twynstra Gudde 12-9-2009
Service Oriented Architecture
BPEL omgevingOntwerp, executie, management
18© Twynstra Gudde 12-9-2009
Service Oriented Architecture
De BPEL taalService collaborators
(service die in het proces zijn betrokken
Variabelen die de toestand van hetproces bevatten - stateful
Wacht op een bericht van een partner webservice
Roep een partner webservice aan
Allerlei logica die de prosesflow beïnvloed
19© Twynstra Gudde 12-9-2009
Service Oriented Architecture 1 <process name="ticketOrder">
2 <partners>3 <partner name="customer" 4 serviceLinkType="agentLink"5 myRole="agentService"/>6 <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>
40 </process>
BPEL voorbeeld
20© Twynstra Gudde 12-9-2009
Service Oriented Architecture
De SOA infrastructuurS
ervi
cebu
s
Database
Backends
Basisdiensten
Bestaandsysteem
Afnemers(presentatie)
Samengestelde diensten
Domein Domein
Procesdiensten
Orchestration
engine
Portaal
21© Twynstra Gudde 12-9-2009
Service Oriented Architecture
Servicebus
Backends
Basisdiensten
Samengestelde diensten
Procesdiensten
Portaal
Presentatie
Orkestratie engine
BPEL
XML, SOAPWSDL, UDDI
J2EE (EJB etc.).NET (C# etc.)
J2EE Portlets.NET Web parts
HTML, XML, XSLJ2EE JSP / Java Beans).NET ASP / ActiveX)
ODBC, JDBC
22© Twynstra Gudde 12-9-2009
Service Oriented Architecture
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.
www.twynstragudde.nl