ESB Les 2 IBK3ESB01 Paul J. Cornelisse. ESB : alles draait om services… Service composition Service reusability Service transactions Two-phase commit.

Slides:



Advertisements
Verwante presentaties
Digitaal wedstrijd formulier Presentatie scheidsrechters Versie sept 2013.
Advertisements

Averechtse selectie & marktfalen “Een Experiment”
Blok 7: netwerken Les 7 Christian Bokhove.
WEB toepassingen. Wat is een WEB toepassing of applicatie t.t.z... een WEB applicatie is een applicatieprogramma welke je via internet kunt gebruiken,
De kracht van SBA Business Solutions Vanuit een oplossingsgerichte gedachte, waarbij de klant altijd centraal staat, koppelen wij innovatieve producten.
Workshop harde schijf indelen
Programmeren met Alice
Vervolgbijeenkomst 2 Procesfasering bij Leren Leren.
Metadata proces april 2009 train de trainers. Waar in het werkproces metadata Binnen de organisatie zal afgesproken moeten worden van welke data er metadata.
Software Architectuur Over de samenhang der dingen = Over de connecties tussen componenten Over de afhankelijkheden tussen modules Over de belangen van.
Methodisch begeleiden
Server Management Framework
Hardware (1) NSG Informatica.
Databank van een restaurant Download op Twee tabellen: Klanten: Alle klanten die minstens.
Woensdag 24 juni 2009 Web 2.0 en Technologie Bram de Kruijff.
Pilot gebruik RSGB op landelijke schaal:
Een biologisch onderzoek
Normalisatie Relationeel databaseontwerp:
TU Delft Groep Parallelle en Gedistribueerde Systemen Voorbeeld uitwerking reductie bewijs in3120 Cees Witteveen.
Besturings- systeem A Computer A Besturings- systeem B Computer B Netwerk Handmatige taak I Applicatie 2Applicatie 1 Handmatige taak II Applicatie 3 Gebruiker.
Van JBF via Degelijkheid naar Pro-actief Beheer
Hoe en waarom brengt de burger zijn snoeihout snel naar de biomassa verbrander? Van consument tot biomassaleverancier.
Functioneel Ontwerp.
Service Oriented Architecture
Bas Kruiswijk Amersfoort 20 september 2009 Service Oriented Architecture Deel 3b: Event Driven Architecture.
Ymor Ketenbewaking bij debitel
Schijvenbeheer Disk Management t/m
Onsight Managed Security Services
Data Maarten Terpstra en Peter le Clerq. 1.Wij denken dat bedrijven in toenemende mate data gebruiken voor toepassingen in marketing, sales, service,
PADS4 maakt het eenvoudig om informatie te verspreiden naar een specifiek publiek op de juiste plaats en het juiste moment PADS4 is een professionele oplossing.
Unity Real time Service Pack 10 update Installatie opties.
Les 2: Interactie in je space door middel van klikbare objecten en actionscript. Wat is actionscript en programmeren?
Context switching Heidi Snoek. Het proces Twee applicaties: A en B CPU voert de instructies van programma A uit. Op een bepaald moment wordt er data weggeschreven.
Visie & Strategie.
Basisfuncties Operating System.
Onze doelen en visie in beeld
20 mei Symposium Statistical Auditing Slide 1 Wat zegt de COS over steekproeven en data-analyse? Paul van Batenburg.
11 Diversiteit & inclusie July 30, Overzicht Diversiteit en inclusie zijn een integraal onderdeel van onze business. Het is essentieel dat u.
Magister voor ouders.
Verstoppertje spelen in het bos
Onderzoeksvaardigheden 3
Paul J. Cornelisse ESB Les 3 IBK3ESB01. ESB Connectiviteit OxI0K_I.
Enterprise Service Bus IBK3ESB01
Java & het Web Programma: Contexts Listeners Scope/Attributes Thread safety.
Plan voor uitvoering. Gebruik je boek Begin bij 8.4 de innovatiecyclus Stap 1 is eigenlijk het onderzoek wat je al gedaan hebt Je begint je ontwerp met.
MIJN WEBSHOP YANAH PRUYM, MEB D. HOME PAGINA
©2016 Avanade Inc. All Rights Reserved. RAI Community Technische Implementatie Rob Bakkers
Aan de slag met haarlemmermeervoorelkaar.nl een praktische handleiding Stap 1. Aanmelden Ga naar
Revoluties in Europa. Les 4 In het Gemeentehuis Doelen van les 4 Je kunt beschrijven welke taken burgemeester, wethouders en raadsleden uitvoeren. Je.
Netwerken 1 Enigma Netwerken paragraaf 1, 2 en 3.
Aubid Sarwar 4FD Betalen via Internet Waarom dit onderwerp? Wij kozen dit onderwerp omdat er tegenwoordig veel inkopen via internet gedaan worden en.
Rob Goossens Komende lessen Werkomschrijving, werkplan en werkplanning.
1 MijnABP Ministerie van Defensie. Agenda Gemaakte opmerkingen n.a.v. eerdere presentatie 1.MijnABP geeft weinig specifieke informatie 2.Meetellingswaarde.
© snvl.be 2014 Veilig internetbankieren € €€€. Doel van de Workshop  Waarom bankieren via het internet?  Overzicht brengen van de mogelijkheden en de.
Drivers Wat is het Wat doet het Waar komen ze vandaan.
KNVI Congres Introductie BI.
Wat is het Hoe stel ik het in Hoe kan ik het gebruiken
IT that makes business easy
Welke leerpunten nemen we mee van de eerste twee jaar?
Open Data PMA 3 december 2015 Om het onderwerp open data wat levendiger te maken willen we een korte presentatie geven, met daarin: een concreet voorbeeld.
3 Hardware 3.1 De processor en intern geheugen
Hoe kan ik McAfee Mobile Security downloaden op mijn iPhone?
Office 365 Cloud Computing SaaS
OPENINGSCASE: Fast fashion, ‘hot systems’
Vergadering Personeelsdienst
De diensten die een onderneming kan bieden aan haar klanten, leveranciers en eigen medewerkers zijn direct afhankelijk van haar IT-infrastructuur. In het.
M5 Datacommunicatie Transportlaag
SCALABLE DATA PROCESSING MET RABBITMQ
Rapportage van voortgang of status
SQL Les February 2019.
Transcript van de presentatie:

ESB Les 2 IBK3ESB01 Paul J. Cornelisse

ESB : alles draait om services… Service composition Service reusability Service transactions Two-phase commit Service repositories Service relocation SOA-Service proxy

Service composition Service Composition betekent: “het samenstellen van een grotere dienst door het combineren van vele kleinere diensten” Dit is analoog aan het samenstellen van een grotere software component uit meerdere kleinere componenten

Service composition

Service Composition kan er aanlokkelijk uitzien op papier, net als component composition, houd in gedachten dat de diensten doorgaans met elkaar communiceren via het netwerk

Service composition Dit betekent dat de inter-service communicatie veel trager is dan typische inter-component communicatie, die doorgaans plaatsvindt in dezelfde adresruimte (applicatie / proces).

Service composition Als een grotere service wordt ontbonden in te veel kleinere services, kan dit invloed hebben op de performance Vooral als de services intern communiceren via de ESB

Service composition Binnen SOA lossen we dit op door Service Statelessness te introduceren Ontwerp schaalbare services door ze waar mogelijk te scheiden van hun status data; die wordt “extern” bijgehouden” Resulteert in minder resources gebruikt door een service  betrouwbare verwerking van meer service aanroepen

Service reusability De herbruikbaarheid van een Service hangt sterk af van het ontwerp en het doel Met “reusability" wordt bedoeld hoe applicaties of grotere diensten, een bepaalde kleinere dienst kunnen hergebruiken

Service reusability Stel je hebt twee applicaties, A en B, die beide behoefte hebben aan klantinformatie Applicatie A heeft alleen de klant- voornaam en achternaam nodig, applicatie B heeft de klantvoornaam, achternaam, klantnummer, telefoonnummer, adres nodig

Service reusability First Name Last Name Application A First Name Last Name Customer Number Phone Number Address Application B

Service reusability Je hebt nu twee opties Maak een grote service waarin alle klanteninformatie terugkomt Maak twee Services. Een die alle klantinformatie, en een die alleen voornaam en achternaam weergeeft

Service reusability Vanuit een service reusabilityperspectief heeft het natuurlijk de voorkeur om slechts een service “klanten” te ontwikkelen en te hoeven onderhouden Deze dienst kan dan worden hergebruikt in zowel applicatie A en B.

Service reusability Vanuit het oogpunt van performance echter, zou de grote service “klanten” bij gebruik door applicatie A (die hoeft alleen de voornaam en achternaam), een te grote belasting op de transportlaag leggen Dit omdat er meer gegevens verstuurd zouden worden dan de toepassing nodig heeft

Service reusability Service mediation

Service mediation layer Bron: mediation/ an abstraction layer in between the service consumer and the service provider

Service transactions Eens in de zoveel tijd moeten services deelnemen aan transacties Dit wordt gedaan om ervoor te zorgen dat de business logica correct en volledig wordt uitgevoerd, óf volledig geannuleerd in het geval een van de diensten niet correct performt

Service transactions Voorbeeld: Een bank applicatie moet geld van de ene rekening naar de andere overmaken Momenteel heeft het banksysteem twee diensten: Storten Opnemen

Service transactions

Om geld van de ene rekening naar de andere te transporteren, moet de bank applicatie de services opnemen en betalen aanroepen Bijvoorbeeld, eerst € 100 opnemen van rekening A, en dan storten van € 100 op rekening B

Service transactions Als dit laatste niet lukt komt het systeem in een “inconsistent state” en wordt het risico gelopen dat er € 100 in cyberspace vervliegt. De oplossing is om iedere transactie “atomair” te behandelen

Atomaire transactie Een transactie groepeert een of meer acties bij elkaar, en zorgt ervoor dat ze worden uitgevoerd alsof het een enkele actie is. Als een van de acties faalt, dan leg je op dat alle acties falen (en dus ook de transactie faalt). Indien alle acties slagen wordt het resultaat van de acties “committed" (permanent opgeslagen) in het systeem

Atomaire transactie

Two phase commit Transaction Diensten die deelnemen aan een transactie moeten worden gecoördineerd om ervoor te zorgen dat hetzij alle óf geen enkele van de diensten hun acties binnen die transactie worden “ge- commit” Een populaire manier om dergelijke gedistribueerde transacties te coördineren is het "Two Phase Commit” (2PC) protocol.

Two phase commit Transaction Het twee fase commit protocol bestaat, na aanwijzen van een coördinator, uit de fasen: 1. Prepare / vote fase 2. Commit fase

Two phase commit Transaction Eerst wordt alle deelnemers verteld dat zij moeten deelnemen aan een transactie Vanaf dit punt, moeten alle acties die worden uitgevoerd door elke deelnemer verwijzen naar deze transactie Elke deelnemer moet al zijn acties uitvoeren als één enkele actie (locaal alles óf niets). Indien alles succesvol: vote YES; anders vote NO.

Two phase commit Transaction De acties worden niet vastgelegd in het hoofdsysteem, maar moeten locaal in elke deelnemer (Service) worden voorbereid en bewaard (status logging), totdat de deelnemer de instructie ontvangt om de handeling echt door te voeren (commit-ten)

Two phase commit Transaction Als alle acties succesvol zijn uitgevoerd door alle deelnemers (allemaal YES- votes), wordt alle deelnemers bevolen om naar de ”commit fase“ te gaan Als een deelnemer succesvol door de “prepare fase” komt (= status ‘prepared’ bereikt), moet ze garanderen dat alle acties die binnen de transactie uitgevoerd worden klaar staan om te worden vastgelegd

Two phase commit Transaction Als de deelnemer, nadat de actie status “prepared” heeft bereikt, niet in staat is de actie te voltooien, moet ze in staat zijn deze af te maken zodra ze weer correct functioneert Vanuit deze fase moet de actie een crash / reboot kunnen overleven Dit wordt meestal gedaan door het schrijven van een transactie log naar een duurzaam opslagmedium, zoals een harde schijf.

Two phase commit Transaction Als een van de deelnemers niet naar de “commit fase kan” moet door alle deelnemers een rollback (Abort) worden uitgevoerd

Two phase commit Transaction Als alle deelnemers met succes de status “prepared” hebben bereikt, wordt het commando “commit” gegeven Hierna worden de acties doorgevoerd en zijn de wijzigingen definitief zichtbaar in het systeem/de systemen

Two Phase Commit zwakte Niet 100% betrouwbaar Wat als de laatste service in de keten geen commit kan geven? Wat als deze niet meer opkomt? Wat is dan de status van het systeem?

Two Phase Commit zwakte

Tranactiecoördinatie Er moet een instantie zijn die de coördinatie voert De applicatie De ESB Een separate transactiemanager/service

Tranactiecoördinatie Een manier om het transactie management te vereenvoudigen is: Breng alle onderdelen onder in aparte onderliggende services

Tranactiecoördinatie

Service repository Een Service Repository is een catalogus waarin staat welke services beschikbaar zijn Iedere service heeft zijn eigen service contract, hierin staat wat de ‘capabilities’ van de betreffende service zijn Clients kunnen de repository raadplegen als een bepaalde service benodigd is

Service repository

Service relocation Als de clients de services opzoeken via de service repository, wordt het migreren van services eenvoudiger Alleen de service repository hoeft ge- update te worden zodat de bovenliggende client de service weer tot zijn beschikking heeft

SOA-Service proxy Een service proxy is een service die service calls vertaalt tussen twee verschillende client-service protocollen Dit klinkt abstract, dus hier is een voorbeeld:

SOA-Service proxy Stel: je hebt een service die alleen toegankelijk is via de Java RMI (Remote Method Invocation). Je wil graag toegang krijgen tot deze service via een webservice (SOAP)- interface, omdat de rest van de (service oriented) architectuur is gestandaardiseerd op SOAP.

SOA-Service proxy Om dit probleem op te lossen installeren we een service proxy, die SOAP oproepen ontvangt en deze vertaalt in hun overeenkomstige RMI oproepen om de Java RMI-service te aan te kunnen roepen

SOA-Service proxy

ESB als service proxy Sommige ESB's hebben ingebouwde capaciteit/functionaliteit om te fungeren als service proxy Dit maakt het veel eenvoudiger om delen van het landschap aan elkaar te knopen