De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Minicollege Service Oriented Architecture

Verwante presentaties


Presentatie over: "Minicollege Service Oriented Architecture"— Transcript van de presentatie:

1 Minicollege Service Oriented Architecture

2 Overzicht Deel 1: Terugblik op eerste minicollege
Terugblik op eerste college Wrap-up Wat is blijven hangen en wat sprak aan? SOA vanuit een technisch perspectief SOA vanuit een organisatorisch perspectief Procesbesturing in een SOA De SOA infrastructuur Applicaties in een SOA Praktijkvoorbeelden

3 Drie ‘typen’ architectuur
Enterprise- architectuur Software- architectuur Service- georiënteerde architectuur Conceptuele basis Organisatiebrede scope Gericht op strategie en communicatie Individuele systeemscope Gericht op ontwerp, realisatie en specificatie

4 Enterprisearchitectuur Wat is het?
Enterprisearchitectuur geeft inzicht in en een geïntegreerd overzicht van Bedrijfsprocessen (Informatievoorzienings)functionaliteiten Informatiesystemen/applicaties Technische infrastructuur in samenhang! Omvat ook de relaties met de omgeving Naast modellen omvat een enterprisearchitectuur ook de principes en uitgangspunten die het ontwerpen en de ontwikkeling door de tijd sturen Definieert het gemeenschappelijk ICT-platform, zoals middleware etc. Rechtvaardigt langetermijninvesteringen in ICT (bijvoorbeeld voor het gemeenschappelijk ICT-platform) Bewerkstelligt de gewenste flexibiliteit en integratie Is het belangrijkste, inhoudelijke communicatiemiddel in de ICT

5 Views and viewpoints View View Architecture View Stakeholder Viewpoint

6 Architectuurraamwerk Twynstra Gudde
4 deelarchitecturen Business architectuur Bedrijfsprocessen, producten en diensten Informatie architectuur Fuctionaliteiten, generieke voorzieningen en gegevens Applicatie architectuur Applicaties en interfaces Technische architectuur Hardware, netwerk en locaties Onderlinge samenhang Aplicaties ondersteunen bedrijfsprocessen Bedrijfsprocessen worden ondersteund door informatievoorziening Informatievoorziening wordt gerealiseerd door applicaties Applicaties maken gebruik van technische infrastructuur

7 Softwarearchitectuur Wat is het?
Structuur, opbouw en samenhang binnen één (of enkele) individuele systemen Gericht op het realiseren van ‘goede’ software Kwalitatief goed product, vanuit perspectief van gebruiker én ontwikkelaar Kwalitatief goed proces van ontwerp en ontwikkeling Kernconcepten vanuit de software engineering Separation of concerns Modulariteit Anticiperen op veranderingen (flexibiliteit)

8 Gedistribueerde drie- en meerlaagse softwarearchitectuur
Presentatie Presentatie Processervices Businesslogica Samengestelde services Basisservices Data Data

9 Terugblik Wat is blijven hangen en wat sprak aan?
Wat waren de belangrijkste zaken / onderwerpen / punten die uit het eerste college zijn blijven hangen? Zijn er nog vragen naar aanleiding van het eerste college? Wat zijn de aandachtspunten voor het vervolg?

10 Overzicht Deel 2: SOA vanuit technisch perspectief
Terugblik op eerste college SOA vanuit een technisch perspectief Relatie met software architectuur Web services SOA vanuit een organisatorisch perspectief Procesbesturing in een SOA De SOA infrastructuur Applicaties in een SOA Praktijkvoorbeelden

11 SOA Concepten Vanuit technisch perspectief
Services In technische zin een doorontwikkeling van object- en componenttechnologie Brede adoptie van (internet)standaarden voor webservices Basisconcept van (bijna) alle ontwikkelplatforms Heterogeniteit / Interoperabiliteit Heterogeniteit is een gegeven in complexe omgevingen Verschillende (ontwikkel)platforms, –talen en infrastructuur Platformonafhankelijkheid Losjes koppelen van systemen Beperking van de afhankelijkheden tussen systemen Flexibiliteit: minimalisering van de impact bij wijzigingen

12 Services request Dienstaanvraag (request) respons Dienstresultaat
De van buitenaf zichtbare beschrijving van dienst request Dienstbeschrijving (interface) Dienstaanvraag (request) Dienstinhoud (implementatie) respons Dienstresultaat (respons) De interne realisatie van de dienst middels werkende software

13 Web services XML bericht Ingepakt als SOAP bericht Verzonden via
internet (HTTP)

14 XML Voorbeeld <boeken> <boek>
<auteur>Don Box</auteur> <titel>Essential XML</titel> <prijs>34,95</prijs> </boek> <auteur>Linus Torvalds</auteur> <titel>Gewoon voor de Fun</titel> </boeken> <ClientSuwi> <SofiNr> </SofiNr> <BankGironr> </BankGironr> <TelefoonnrClient> <Telefoonnr> <Netnr>020</Netnr> <Abonneenr> </Abonneenr> </Telefoonnr> </TelefoonnrClient> </ClientSuwi>

15 HTML en XML HTML XML HyperText Markup Language Vaste tag-structuur
Opmaak in Cascading Stylesheet (CSL) XML eXtensible Markup Language voor gegevens-uitwisseling, -opslag en –presentatie Inhoud: XML Structuur: XML Schema Opmaak: XSL (eXtensible Stylesheet Language)

16 XML Schema voorbeeld <ClientSuwi>
<SofiNr> </SofiNr> <BankGironr> </BankGironr> <TelefoonnrClient> <Telefoonnr> <Netnr>020</Netnr> <Abonneenr> </Abonneenr> </Telefoonnr> </TelefoonnrClient> </ClientSuwi> <schema …> <complexType name="ClientSuwi"> <sequence> <element name="SofiNr" type="sml:SofiNr“ minOccurs="0" maxOccurs="1"/> </sequence> </complexType> </schema> <!-- Definitie van sofi nummer --> <simpleType name="SofiNr"> <restriction base="string"> <length value="9"/> <pattern value="[0-9]{9}"/> </restriction> </simpleType>

17 Een SOAP bericht van aan Header Beste / Body Envelop

18 SOAP, WSDL en UDDI SOAP WSDL UDDI Simple Object Access Protocol
Aanroep van een service door een XML-bericht te sturen Volledig op basis van standaard internet technologie (HTTP) Bij uitstek geschikt voor communicatie tussen heel verschillende systemen (vaak buiten de eigen onderneming) WSDL Web Service Definition Language Interface definitie (technische gebruiksaanwijzing) UDDI Universal Description, Discovery and Integration Gouden gids voor web services

19 Web services protocollen
UDDI Ondersteunend protocol WSDL SOAP Applicatie protocol XML HTTP TCP Transport protocol IP

20 Voorbeeld SuwiNet Inkijk – Vraag
POST /UwvInkijk/execute.ASP HTTP/1.1 Content-Type: text/xml Host: Content-Length: 352 SOAPAction: <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/ StamgegevensUwv-v0230-Envelope.xsd"> <SOAP-ENV:Header> <SOAP-ENV:Body> <!-- SuwiML body   --> <smlb:SuwiMLBody xmlns:smlb="http://www.suwi.nl/SuwiML/Body"> <Request>   <SofiNr> </SofiNr> </Request>   </smlb:SuwiMLBody>  </SOAP-ENV:Body> </SOAP-ENV:Envelope>

21 Voorbeeld SuwiNet Inkijk – Antwoord
HTTP/ OK Content-Length: 384 Content-Type: text/xml; charset=“UTF-8“ <SOAP-ENV:Envelope ... <SOAP-ENV:Body> <!-- SuwiML body   --> <smlb:SuwiMLBody xmlns:smlb="http://www.suwi.nl/SuwiML/Body"> <Response> <ClientSuwi>   <SofiNr> </SofiNr>   <BankGironr> </BankGironr> <TelefoonnrClient> <Ziektekostenverzekering> <!-- ETC --> </ClientSuwi> </Response> </smlb:SuwiMLBody> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

22 Enterprise Servicebus Enterprise Servicebus
Presentatie Presentatie Internet Logica Logica Enterprise Servicebus Enterprise Servicebus Data Data HTTP bericht SOAP bericht (XML) XML Bericht WSDL bestand

23 Losjes koppelen Sterke koppeling Losse koppeling
Koppelingen tussen systemen Direct, 1:1 Via intermediair Communicatiestijl Synchroon Asynchroon Datamodel Gedeeld, geharmoniseerd Eenvoudige gemeenschappelijke datatypes Typesystem Sterk Zwak Interactiepatronen Navigatie door ingewikkelde structuren Eenvoudige, ‘self contained’ berichten Procesbesturing Centrale regie Decentrale regie Binding Statisch Dynamisch Platformafhankelijkheid Afhankelijk Onafhankelijk Transacties 2-phase commit Compensatie Deployment Gelijktijdig Gespreid Versiebeheer Expliciete upgrades Impliciete upgrades

24 Overzicht Deel 3: SOA vanuit organisatorisch perspectief
Terugblik op eerste college SOA vanuit een technisch perspectief SOA vanuit een organisatorisch perspectief Software services en organisatiediensten Domeinen Lagenstructuur en procesondersteuning Procesbesturing in een SOA De SOA infrastructuur Applicaties in een SOA Praktijkvoorbeelden

25 SOA Concepten Vanuit organisatorisch perspectief
Software- en organisatiediensten Softwarediensten (services) corresponderen met organisatiediensten Services zijn voor gebruikers betekenisvolle diensten Domeinen Verantwoordelijkheidsgebied binnen een organisatie Verleent diensten aan andere domeinen Betrekt diensten van andere domeinen Is zelf verantwoordelijk voor de wijze waarop die diensten worden geleverd Diensten en processen Services / Diensten zijn de verantwoordelijkheid van een domein Processen overstijgen dit niveau

26 Business-ICT paradigma
Diensten (services) = IT organiseren o.b.v. business- activiteiten Uitgaan van verschillende eigenaren van systemen en gegevens Ontwikkeling organisatie (aanpassing aan veranderingen omgeving en technologie) Belangen / politiek dus slim organiseren Accepteren heterogeniteit van systemen en technologie Losse koppelingen

27 Belofte van SOA IT oerwoud => Business controle
IT Transparantie Afstemming van IT op de business IT rigiditeit => IT soepeler meebewegen met business (IT flexibiliteit) business innovatie makkelijk efficiency verbetering realiseren Maakt het mogelijk een veranderstrategie te kiezen die past bij veranderambitie (incrementeel versus bigbang) Output orientatie (stimuleert denken over nut en efficiency) Efficientie door hergebruik geen duplicatie van functionaliteit in verschillende applicaties services van buiten organisatie gebruiken

28 Basisdiensten Elementaire diensten ontsluiten databases en bestaande systemen
Backends Database Bestaand systeem

29 Afnemers gebruiken diensten
(presentatie) Basisdiensten Backends Database Bestaand systeem

30 Domeinen zijn eigenaar van diensten Eigenaarschap is in de organisatie belegd
Afnemers (presentatie) Basisdiensten Backends Database Bestaand systeem Domein Domein

31 Samengestelde diensten
Afnemer (presentatie) Samengestelde diensten Basisdiensten Backends Database Bestaand systeem Domein Domein

32 Procesdiensten Ondersteuning van bedrijfsprocessen
Afnemers (presentatie) Procesdiensten Samengestelde diensten Basisdiensten Backends Database Bestaand systeem Domein Domein

33 Enterprise servicebus
Afnemers (presentatie) Procesdiensten Servicebus Samengestelde diensten Basisdiensten Backends Database Bestaand systeem Domein Domein

34 Orkestratie engine Afnemers (presentatie) Procesdiensten Orchestration
Servicebus Samengestelde diensten Basisdiensten Backends Database Bestaand systeem Domein Domein

35 Portaal Portaal Afnemers (presentatie) Procesdiensten Orchestration
engine Servicebus Samengestelde diensten Basisdiensten Backends Database Bestaand systeem Domein Domein

36 Samengestelde diensten
Portaal J2EE Portlets .NET Web parts Presentatie J2EE JSP / Java Beans) .NET ASP / ActiveX) HTML, XML, XSL Orkestratie engine BPEL Procesdiensten Samengestelde diensten J2EE (EJB etc.) .NET (C# etc.) Basisdiensten Servicebus XML, SOAP WSDL, UDDI Backends ODBC, JDBC

37 Overzicht Deel 4: Procesbesturing in een SOA
Terugblik op eerste college SOA vanuit een technisch perspectief SOA vanuit een organisatorisch perspectief Procesbesturing in een SOA Orkestratie Event-driven (choreografie) De SOA infrastructuur Applicaties in een SOA Praktijkvoorbeelden

38 Orkestratie in een service georiënteerde architetuur
aanvraag antwoord domein Uitgangspunt is SOA; het denken in services/diensten met een vooraf vastgestelde input en output beschrijving en op te leveren producten Een service wordt aangeroepen door een aanvraag en uiteindelijk wordt een antwoord/output geleverd. Op de eerste plaats gaan we vanuit de BA elke service/dienst beleggen bij een domein. Vervolgens gaan we vanuit de BPM de regie en de uitvoering van elkaar scheiden. Als een service in deeltaken/services gedecomponeerd moet worden dan scheiden we de regie/orchestratie van de uitvoering. Voor het regieproces maakt het niet uit of iets intern of extern wordt uitbesteed. Het maakt niet uit of de onderaannemer zelf ook weer onderaannemers heeft. Deze nesting kan heel diep gaan. orkestratie uitvoering

39 Voorbeeld Vergunningverlening bij een overheidsorganisatie
Context Welzijn en Cultuur Bezwaar en Beroep Juridische zaken Cultuur Welzijn Financiën DIS Tekstverzorging Postkamer Controll Facilitaire zaken Besluiten Interne controle Audit Accounting Mandaten Gedeputeerde Staten Provinciale Staten

40 Orkestratie van proces subsidieverlening
bezwaarschrift beschikking antwoord aanvraag bezwaar bezwaar bezwaar bezwaar financiën besluit besluit besluit besluit Juridische zaken Interne controle domein orchestratie uitvoering verzending archivering

41 Overzicht Deel 5: De SOA infrastructuur
Terugblik op eerste college SOA vanuit een technisch perspectief SOA vanuit een organisatorisch perspectief Procesbesturing in een SOA De SOA infrastructuur Enterprise Servicebus (ESB) Portaal Orkestratie engine Applicaties in een SOA Praktijkvoorbeelden

42 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 A1 A2 A3 A4 beveiliging autorisatie logging / monitoring technische conversie bericht transformatie controles A2 A3 Middleware / Servicebus A4

43 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

44 Web services en een servicebus Twee 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

45 Portaal Functionaliteit op hoofdlijnen
De functionaliteit van een portaal Ontsluiting van informatie (á la intranet) Platform voor samenwerking en kennisdeling Ondersteuning van werkprocessen (vaak gewoon toegang tot applicaties) 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

46 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

47 Orkestratie engine Orkestratie engine BPEL is veelgebruikte standaard
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

48 BPEL voorbeeld 1 <process name="ticketOrder"> 2 <partners>
<partner name="customer" serviceLinkType="agentLink" myRole="agentService"/> <partner name="airline" serviceLinkType="buyerLink" myRole="ticketRequester" partnerRole="ticketService"/> 10 </partners> 11 <containers> <container name="itinerary" messageType="itineraryMessage"/> <container name="tickets" messageType="ticketsMessage"/> 14 </containers> 15 <flow> <links> <link name="order-to-airline"/> <link name="airline-to-agent"/> </links> <receive partner="customer" portType="itineraryPT" operation="sendItinerary" container="itinerary" <source linkName"order-to-airline"/> </receive> <invoke partner="airline" portType="ticketOrderPT" operation="requestTickets" inputContainer="itinerary" <target linkName"order-to-airline"/> <source linkName"airline-to-agent"/> </invoke> <receive partner="airline" portType="itineraryPT" operation="sendTickets" container="tickets" <target linkName"airline-to-agent"/> </receive> 39 </flow> 40 </process> BPEL voorbeeld

49 Overzicht Deel 6: Applicaties in een SOA
Terugblik op eerste college SOA vanuit een technisch perspectief SOA vanuit een organisatorisch perspectief Procesbesturing in een SOA De SOA infrastructuur Applicaties in een SOA Applicaties als eenheid van ontwikkeling en beheer Applicatiegrenzen vervagen Praktijkvoorbeelden

50 ‘Complete’ applicaties in een service georienteerde architectuur
Afnemers (presentatie) Applicatie A Applicatie B Procesdiensten Samengestelde diensten Basisdiensten Backends Database Bestaand systeem Domein Domein

51 Applicatiegrenzen vervagen
Afnemers (presentatie) Applicatie C bijv. administratieve processen Applicatie D bijv. klantprocessen Procesdiensten Applicatie A Applicatie B Samengestelde diensten Basisdiensten Backends Database Bestaand systeem Domein Domein

52 Overzicht Deel 7: Praktijkvoorbeelden
Terugblik op eerste college SOA vanuit een technisch perspectief SOA vanuit een organisatorisch perspectief Procesbesturing in een SOA De SOA infrastructuur Applicaties in een SOA Praktijkvoorbeelden Waterschap: SOA architectuur op basis van NORA Gemeente: Procesbesturing en gegevenslogistiek Werk en inkomen keten: Geïntegreerde dienstverlening

53 5: Doorzetten naar backoffice
E-Dienstverlening 53 1: Vraag 4: Aanmaken zaak 2: Antwoord 3: Aanvraag 5: Doorzetten naar backoffice 6: Status / Resultaat 53

54 Voorbeeld van SOA principes verwerkt in een informatie architectuur

55

56 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.


Download ppt "Minicollege Service Oriented Architecture"

Verwante presentaties


Ads door Google