Transaktionale Systeme Projektteil B Verteilte Transaktionen, Workflow- und Transaktions-Manager.

Slides:



Advertisements
Ähnliche Präsentationen
Sortieren I - Bubblesort -
Advertisements

Transaction Synchronization for XML Data in Client Server Web Applications Stefan Böttcher & Adelhard Türling Universität Paderborn.
PL/SQL - Kurze Einführung -.
Windows Vista für Entwickler
Christian Elsner, Country Manager D/A/CH Hannover, Wertschöpfungsfaktor Web Analytics Präsentation für die RedDot Usergroup e.V.
Softwareverteilung.
Architektur.
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
Design by Contract with JML - Teil 2
JDBC & ODMG Motivation - Beispielanwendung JDBC - DriverManager - Connection - Statement - ResultSet Anwendung ODMG - Objektmodell /ODL - OQL - Java-Binding.
Threads Richard Göbel.
Binäre Bäume Richard Göbel.
ATHOS Benutzertreffen 2007
AUFGABE 1: Ein Wagen (dargestellt durch ein Rechteck) soll sich von links nach rechts bewegen. Tipp: Timer benutzen AUFGABE 2: Zusätzlich zu Aufgabe.
Transaktionen in verteilten Datenbanken
Java Server Pages Implementierung eines Web-Service-Clients Pea 13: Maik Opitz, Martin Melle, Philipp Hake.
Advance Reservation & QoS Agents Simon Oberthür. 2/ 27Simon Oberthür Inhalt Advance Reservation Was ist Advance Reservation? Probleme und Lösungen Advance.
Seminar Web-Engineering Nina Aschenbrenner / Ruben Jubeh 1 FG Software Engineering Software Engineering Seminar Web Engineering Seminar des Fachgebiet.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Baustein- vs. Funktionsorientierte Organisation.
Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 1 Gesamtvorgehen 1. Textuelle Szenarios 2. Objektdiagramme 3. Klassendiagramm 4.
Proxy Pattern Vorlesung Design Patterns Sieglinde Heinrich
F açade P attern By Nicolas Lanquetin. Façade Pattern Structural Pattern Bietet ein gemeinsames Interface, anstatt vieler Interfaces eines Subsystems.
04 - Actions Actions Actions 2 Motivation In verschiedenen Swing-Komponenten werden ausgelöste Aktionen durch ActionListener behandelt. Häufig werden.
DVG Verkettete Listen Verkettete Listen. DVG Verkettete Listen 2 Primitive Datentypen Vorteile: –werden direkt vom Prozessor unterstützt.
Verteilte Transaktionen mit EJBs und JDBC 2.0
Status OCS Installation GSI DVEE Palaver 10/2/2004 Michael Dahlinger, DVEE, GSI.
Kurt Jürgen Warlies Siemens Business Services GmbH & Co. OHG
FH-Hof Sortieren mit Binären Bäumen Richard Göbel.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Sample for process mapping
Navigationsleiste Aktueller Eintrag wird rot hervor- gehoben Navigationsleiste weiter GesundheitsWirtschaft | Shanna Weiser | | Seite 1 +Raum.
© by wettklettern.com.
Passive Angriffe ... nicht-invasiv.
CustomerRelationshipManagement in der Praxis
Ein Rechensystem ist ein aus Hard- und Software bestehendes System zur Speicherung und Verarbeitung von Informationen.
-lich willkommen ! Zum Thema SWISS PHOENIX hören Sie heute 3 Thesen.. und 1 Idee Aber eines steht bereits jetzt fest: Patentlösungen gibt es leider keine.
Kurzeinführung Richtfunk.
Server.
Betriebliche Aufgaben effizient erfüllen
Objektive Berichterstattung mit Analysen und Kennzahlen
Inhalt Was ist A-Plan? Einsatzgebiete Organisation der Daten
Transaktionen Anita Steiner Seiler, PTSTA-E-C EBI Zürich
Service components and distribution with OSGi Seminar: Multimedia- und Internetsysteme Paul Hübner | Bildquellen : [1]
Business Transactions Agenda Einführung Grundlagen Transaktionen Zwei Welten: web services / ACID Business Transaction Protocol (BTP) SOAP, ebXML, usw.
Test Driven Development - Romano Adler-
© 2004 – 2005 The Project Group GmbH Slide 1 Microsoft Office Project 2007Die neuen Möglichkeiten derIntegration in unternehmensweite ProzessePMI Chapter.
EsprIT 1 Übersicht in Bildern Framework zur Entwickung von Java Applikationen Client/Server, GUIs, Datenbank,
Projekt Alcatraz Java RMI / Spread - Gruppe A4.
3/28/2017 8:11 PM Visual Studio Tools für Office { Rapid Application Development für Office } Jens Häupel Platform Strategy Manager Microsoft Deutschland.
PresenterCompanyContact Windows Azure ASP.NET Web-Anwendungen schnell und zuverlässig bereitstellen.
Parallel Programming Thread Synchronization. Heute 1. Lösung zu Assignment 2 2. Erstellen und Starten von Threads in Java 3. Das synchronized Schlüsselwort.
Kap 4-1OHO Kap. 4.2 Das Orbix CORBA-System Kurzer überblick zu der CORBA-Implementierung Orbix •Unser Fahrplan: •IDL Verwendungsbeispiel •Zoom-In: CORBA.
Getting Started Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Algorithmen und Datenstrukturen Übungsmodul 6
Refactoring (Refaktorisierung) Seminar Programmierstil Klemens Stelzmüller WS 2002.
Template v5 October 12, Copyright © Infor. All Rights Reserved.
Festschreibe-Protokoll (1) Globales Zwei-Phasen-Festschreibe-Protokoll (2- Phasen-Commit, 2PC): Phase 1: –Koordinator benachrichtigt Ressourcen, dass Commit.
Service components and distribution with OSGi Seminar: Multimedia- und Internetsysteme Paul Hübner | Bildquellen : [1]
Contact: May 2012 platinn is an initiative of the cantons of Fribourg, Vaud, Neuchâtel, Geneva, Valais and Jura, supported.
Übung: Transaktionale Systeme
Launch ON Global.vi System ID object name classname Services to suscribe Observer Control Ref vi-path Service name Step 1 : Objects register to the Global.vi´s,
Java Thread Scheduling Jin Zhou Proseminar Java Thread Scheduling November 2000.
Beispielanwendung von Java Threads
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI Kollektive Operationen Oswald Haan
Persistenz: Objekt-Lebensdauer In RDBMS wird Lebensdauer von Werten durch ihren Typ festgelegt: Instanzen von Relationstypen sind persistent, alle anderen.
Verteilte Anwendungen: J2EE
Kompetenzniveaus Lernlupe Mathematik
Thema 4: Klassenbibliothek
Vorlesung Rechnernetzwerke Studiengang Medieninformatik
Redo/Undo Ersetzungsstrategie: LRU
 Präsentation transkript:

Transaktionale Systeme Projektteil B Verteilte Transaktionen, Workflow- und Transaktions-Manager

Teil II Organisation Abgabe des zweiten Teils am Bearbeitung in denselben Gruppen wie Teil A API und Codegerüst nachher im Netz

VDB Projekt Teil II Implementierung eines Workflow Controllers und eines Transaktionsmanagers Client 1 Client 2 Client n Flights Hotels Cars Customers RM Workflow Controller Transaction Manager

Verteilte Transaktionen Fehlermodell 1.Knoten können ausfallen 2.Kommunikation zwischen Knoten zuverlässig Keine Replikation von Daten 1.Jeder Resource Manager kontrolliert eine Relation Verteiltes Commit Protokoll 1.Zentrales Zwei Phasen Commit Protokoll (2PC) 2.Einfache Termination- und Restartprotokolle

Verteilte Transaktionen Workflow Controller 1.Zentrales Frontend für Clients. 2.Leitet Anfragen der Clients entweder zum entsprechenden Resource Manager oder zum Transaktionsmanager weiter. Resource Manager Teilnehmer im 2PC Protokoll Transaktionsmanager Koordinator im zentralen 2PC

Beispiel: queryFlight() I Example #1: 1] xid = wc.start() ; 2] seatsAvailable = wc.queryFlight(xid, 347); 3] wc.commit(xid) ;

Beispiel: queryFlight() II Client 1 Flights Hotels Cars Customers RM Workflow Controller Transaction Manager start()

Beispiel: queryFlight() III Client 1 Flights Hotels Cars Customers RM Workflow Controller Transaction Manager queryFlight() enlist()

Beispiel: queryFlight() IV Client 1 Flights Hotels Cars Customers RM Workflow Controller Transaction Manager commit() prepare() commit()

Beispiel : addFlight() I Example #2: 1] xid = wc.start() ; 2] seatsAvailable = wc.queryFlight(xid, 347); 3] if (seatsAvailable = 0) wc.addFlight(xid, 347, 10, 500); 4] wc.commit(xid) ;

Beispiel : addFlight() II Client 1 Flights Hotels Cars Customers RM Workflow Controller Transaction Manager start()

Beispiel : addFlight() III Client 1 Flights Hotels Cars Customers RM Workflow Controller Transaction Manager queryFlight() enlist()

Beispiel : addFlight() IV Client 1 Flights Hotels Cars Customers RM Workflow Controller Transaction Manager addFlight()

Beispiel : addFlight() V Client 1 Flights Hotels Cars Customers RM Workflow Controller Transaction Manager commit() prepare() commit()

Beispiel : Verteilte TA I Example #3: 1] xid = wc.start() ; 2] addCars(xid, pa-hertz, 10, 30) ; 3] addRooms(xid, pa-sheraton, 20, 100) ; 4] wc.commit(xid) ;

Beispiel : Verteilte TA II Client 1 Flights Hotels Cars Customers RM Workflow Controller Transaction Manager start()

Beispiel : Verteilte TA III Client 1 Flights Hotels Cars Customers RM Workflow Controller Transaction Manager addCars() enlist()

Beispiel : Verteilte TA IV Client 1 Flights Hotels Cars Customers RM Workflow Controller Transaction Manager addRooms() enlist()

Beispiel : Verteilte TA V Client 1 Flights Hotels Cars Customers RM Workflow Controller Transaction Manager commit() prepare() commit()

Beispiel : Ausfall Knoten I Example #4: 1] xid = wc.start() ; 2] addCars(xid, pa-hertz, 10, 30) ; 3] addRooms(xid, pa-sheraton, 20, 100) ; 4] wc.commit(xid) ;

Beispiel : Ausfall Knoten II Client 1 Flights Hotels Cars Customers RM Workflow Controller Transaction Manager start()

Beispiel : Ausfall Knoten III Client 1 Flights Hotels Cars Customers RM Workflow Controller Transaction Manager addCars() enlist()

Beispiel : Ausfall Knoten IV Client 1 Flights Hotels Cars Customers RM Workflow Controller Transaction Manager addRooms() enlist()

Beispiel : Ausfall Knoten V Client 1 Flights Hotels Cars Customers RM Workflow Controller Transaction Manager

Beispiel : Ausfall Knoten VI Client 1 Flights Hotels Cars Customers RM Workflow Controller Transaction Manager commit() prepare() abort()

ToDos Workflow Controller Interface –Frontend für Clients, NICHT modifizieren ! Transaktionsmanager –Interface MUSS modifiziert werden ! Resource Manager –Interface MUSS modifiziert werden ! Fehlertoleranz –TM stirbt bevor commit für eine TA gespeichert –Ein RM stirbt bevor er ein prepared senden kann –Recovery von Fehlern beim TM und RM

Workflow Controller Gleiches Interface wie ResourceManager zuzüglich: boolean reserveItinerary( int xid, String custName, List flightNumList, String location, boolean needCar, boolean needRoom ) Weitere Methoden zum Testen z.B. dieRMBeforePrepare() etc.

Transaktionsmanager Der Transaktionsmanager koordiniert Transaktionen, an denen mehrere Resource Manager beteiligt sind. Der Workflow Controller reicht, abort(), start(), commit() Aufrufe der Clients direkt an den Transaktionsmanager weiter. Resource Manager benutzen die enlist() Methode, um ihre Teilnahme an einer Transaktion dem Transaktionsmanager bekannt zu machen. Interface des Transaktionsmanager (ist im Codegerüst nicht vorgegeben) : start() commit() abort() enlist()