9 soa infrastructuur

22
Bas Kruiswijk Amersfoort 12 september 2009 Service Oriented Architecture Deel 5 - SOA infrastructuur

Transcript of 9 soa infrastructuur

Page 1: 9 soa infrastructuur

Bas Kruiswijk

Amersfoort12 september 2009

Service Oriented Architecture

Deel 5 - SOA infrastructuur

Page 2: 9 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

Page 3: 9 soa infrastructuur

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)

Page 4: 9 soa infrastructuur

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

Page 5: 9 soa infrastructuur

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

Page 6: 9 soa infrastructuur

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

Page 7: 9 soa infrastructuur

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

Page 8: 9 soa infrastructuur

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)

Page 9: 9 soa infrastructuur

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

Page 10: 9 soa infrastructuur

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

Page 11: 9 soa infrastructuur

11© Twynstra Gudde 12-9-2009

Service Oriented Architecture

Portaal

Database

Backends

Basisdiensten

Bestaandsysteem

Afnemers(presentatie)

Samengestelde diensten

Domein Domein

Procesdiensten

Portaal

Page 12: 9 soa infrastructuur

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

Page 13: 9 soa infrastructuur

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

Page 14: 9 soa infrastructuur

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

Page 15: 9 soa infrastructuur

15© Twynstra Gudde 12-9-2009

Service Oriented Architecture

Orkestratie engine

Database

Backends

Basisdiensten

Bestaandsysteem

Afnemers(presentatie)

Samengestelde diensten

Domein Domein

Procesdiensten

Orchestration

engine

Page 16: 9 soa infrastructuur

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

Page 17: 9 soa infrastructuur

17© Twynstra Gudde 12-9-2009

Service Oriented Architecture

BPEL omgevingOntwerp, executie, management

Page 18: 9 soa infrastructuur

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

Page 19: 9 soa infrastructuur

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

Page 20: 9 soa infrastructuur

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

Page 21: 9 soa infrastructuur

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

Page 22: 9 soa infrastructuur

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.

Bas [email protected]

www.twynstragudde.nl