von transaktionsmonitoren zu applikationsservern · 2004. 6. 17. · • die probleme • bedienung...
TRANSCRIPT
![Page 1: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/1.jpg)
Von Transaktionsmonitorenzu Applikationsservern
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 1
Vorlesung: Software-Engineering für große, betriebliche Informationssysteme
für Universität Leipzig, Sommersemester 2004Institut für Software- und Systementwicklung
Professur Wirtschaftsinformatik, insbes. Informationsmanagement
Hans Hartmann (Generali VIS Informatik Ges.m.b.H., Wien)Wolfgang Keller (AMB Generali Informatik Services GmbH, Aachen)
![Page 2: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/2.jpg)
Überblick (1)
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 2
• Die Probleme• Bedienung vieler Dialogbenutzer• MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs heute• Gemeinsamer Zugriff auf Ressourcen – Transaktionen
• Prozeß- und Dialogmodelle• Conversational vs. Transactional Programming• Und die dahinterliegende Prozeßorganisation
• Transaktionen und verteilte Transaktionen: 2PC• ACID Eigenschaften• X/Open Transaktionsmanager
![Page 3: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/3.jpg)
Überblick (2)
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 3
• CICS als Beispiel für einen Transaktionsmonitor• Programmiermodell• Dienste• Zum Vergleich noch IMS• Services von IMS und CICS
• Was leistet im Vergleich dazu ein J2EE Applikationscontainer?
![Page 4: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/4.jpg)
Bedienung vieler DialogbenutzerEin Prozess pro Benutzer
Server
Terminal 1
Terminal 2
Terminal n
Prozeß1
Prozeß2
Prozeß n
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 4
![Page 5: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/5.jpg)
Ein Prozess pro Benutzerdas Modell hat Grenzen ...
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 5
• Das Modell gibt es in verschiedenen Ausprägungen• Zum Beispiel auf der AS/400 – mit bis zu ca. 400 Benutzern• Oder aber auch als Windows Terminalserver mit ca. 20
Benutzern für ca. 4 Prozessoren
• Problem: Prozeßwechsel der Prozessoren sind aufwändig
![Page 6: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/6.jpg)
Leistungsdaten eines Mainframes der 70er Jahre ...
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 6
• Hardware und Leistung „Großrechner“ der 70er• 256 KB Hauptspeicher• 0,5 Mips• Bediente hunderte Benutzer ..
• Im Vergleich dazu ein Pentium PC (200 MHz) .... Im Jahr 2000 ☺• Ca. 200 Mips• 256 KB Prozessorcache ☺• 128 MB++ Hauptspeicher
• Im Vergleich dazu ein AMD Athlon XP 2500+ (1833 MHz) .... Im Jahr 2004 ☺• Ca. 6800 Mips (Quelle c‘t)• 512 Prozessorcache ☺• 64 bit Prozessor – Adressraum ziemlich groß, ca 19. Trillionen
• Aber Vorsicht – MIPS allein sagen nichts über die Dialog- und IO-Leistung
![Page 7: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/7.jpg)
Nur als Dimension: Projezierte MIPS Entwicklung Großanwender
0
2000
4000
6000
8000
10000
12000
14000
16000
18000
20000
22000
2001 2002 2003 2004
MIPS
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 7
![Page 8: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/8.jpg)
Was war anders undFolgerungen
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 8
• Anwendungen waren weniger CPU intensiv• Datenbanken weitgehend nicht existent – VSAM Files und
ähnliches• Weniger Ressourcen pro Benutzer• Maschinen waren auf Batch- und nicht Dialogbetrieb ausgelegt
• Man brauchte also ein Konzept für leichtgewichtige Prozesse• Threads waren damals noch nicht bekannt
![Page 9: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/9.jpg)
Bedienung vieler DialogbenutzerEin Prozess pro Benutzer
Server
Terminal 1
Terminal 2
Terminal n+1
Prozeß1
Prozeß 2
Terminal n
Terminal n+2
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 9
![Page 10: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/10.jpg)
Pro Terminal muß es einen Kontext im Prozeß geben ...
Terminal 1
Terminal 2
Prozeß1
Terminal n
Kontext 1
Kontext 2
Kontext n
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 10
![Page 11: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/11.jpg)
Problem 2: Gemeinsamer Zugriff auf Datenbanken
Kontostand = 2
Add 1
Add 1
Lesen (2)
Lesen (2)
Schreiben (3)
Schreiben (3)
Kontostand = 3
2+1+1 = 3 ???Klassische Race Condition
Prozess 1 Prozess 2 Datenspeicher
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 11
![Page 12: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/12.jpg)
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 12
Prozeß- und Dialogmodelle
![Page 13: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/13.jpg)
Prozeß- und DialogmodelleConversational Programming
Login
Repeat until Logout
Send screen mapGet screen mapIf not logoutWanted
process input
Logout
Problem:Hier lebt ein Prozeß, der keine
produktive Arbeit leistet – ihn auch nur zu suspendieren ist teuer!!
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 13
![Page 14: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/14.jpg)
Zu einem Prozeßkontext bei symmetrischem Multiprocessing gehören u.a. ...
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 14
• Name des Prozesses• Bezeichnung der gerade bearbeiteten Aufträge• Stellung in der Prozeßhierarchie• Rechnerkernzustand (Register, ...)• Alarmzustand• Arbeitszustand• Rechte• Betriebsmittelkonten• Beschreibung zugeordneter Objekte und Betriebsmittel (IO,
Controller, Screens, ...)• Beschreibung des Programmadreßraumes
Quelle: Siegert, Betriebssysteme, Eine Einführung, Oldenbourg Verlag 1988
![Page 15: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/15.jpg)
Und bei einem Prozeßwechsel passiert folgendes ...
Quelle: Siegert, Betriebssysteme, Eine Einführung, Oldenbourg Verlag 1988Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 15
![Page 16: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/16.jpg)
Transactional Programming
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 16
For all input maps of all users
Repeat until doomsday
Analyse map and find the right programm
Invoke the programProgram sends map
Free the ressources
Assign ressources
Queue
![Page 17: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/17.jpg)
Transactional Programming
the program
analyse input mape.g. derive virtual keysfind proper action and subsequent dialog state
perform the actionset new dialog statesend new map
Mindestens das sagt uns. Wir brauchen einen Zustand oder aber
auch Kontext ...
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 17
![Page 18: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/18.jpg)
Vorsicht also: Der Begriff Transaktion bedeutet ..• Transaktion im Sinne von „transactional programming“
• Man programmiert „eine Transaktion“• Transaktion im Sinne der Datenbankprogrammierung
• Ich muß eine Transaktion gegen eine Datenbank fahren
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 18
![Page 19: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/19.jpg)
Transaktionen und verteilte Transaktionen: 2PC• ACID Eigenschaften• 2PC
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 19
![Page 20: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/20.jpg)
ACID Eigenschaften (1)
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 20
• Atomicity (Atomarität)eine Transaktion wird entweder komplett ausgeführt (commit) oder gar nicht – sie erscheint dann so, als wäre sie nie gestartet worden (rollback).
• Consistency (Konsistenz)eine Transaktion führt eine Datenbank von einem konsistenten Zustand in den nächsten über(Hinweis: konsistent = technisch konsistent)
![Page 21: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/21.jpg)
ACID Eigenschaften(2)
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 21
• Isolation: Transaktionen, die zeitlich parallel ausgeführt werden erscheinen so, als wären sie isoliert voneinander (hintereinander) ausgeführt worden
• -> siehe Serialisierbarkeitstheorie, Sperrprotokolle• Durability:
Nach dem Commit werden die Effekte dauerhaft, also persistent gespeichert
![Page 22: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/22.jpg)
Beispiel für verteilte TAsoder TAs mit >1 Ressource ..
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 22
• Wenn ein Callcenter-Mitarbeiter von einem Kunden einen Auftrag für eine Waschmaschine bekommen hat, muss Folgendes passieren:
• (OP1) Auftrag, Rechnung: Es muss ein Auftrag und eine Rechnung erstellt werden. Die Rechnung muss in der Buchhaltung verbucht werden.
• (OP2) Auslagerung, Lieferschein: Die Verfügbarkeit der Waschmaschine im Lager muss geprüft werden und falls vorhanden, muss die Waschmaschine ausgelagert werden. Der Einfachheit halber nehmen wir an, dass die Waschmaschinen immer lagernd verfügbar sind. Wir können deshalb immer einen Lieferschein erstellen. Die Auslagerung und der Lieferschein benötigen als Daten:
– die Rechnungsnummer und die Auftragsnummer,– die Adresse des Kunden.
• (OP3) Montageauftrag: Es muss ein Montageauftrag erstellt werden. Der Auftrag weist einen Mitarbeiter an, die Waschmaschine aus dem Lager abzuholen, zum Kunden zu bringen und dort zu montieren.
![Page 23: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/23.jpg)
Beispiel für verteilte TAsoder TAs mit >1 Ressource ..
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 23
• In einem Unternehmen können an einem solchen Vorgang zum Beispiel vier DV-Systeme auf verschiedenen Plattformen beteiligt sein:
• ein Auftragserfassungssystem,• ein Buchhaltungssystem,• ein Lager- und Bestandsverwaltungssystem,• ein System für Transport- und Montageaufträge.
![Page 24: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/24.jpg)
Verteilte Transaktion (Beispiel)
Auftrags-erfassungssystem
(Call Center)
Buchhaltung(T3)
Lagersystem(T4)
Transport- undMontage-
Auftragssystem(T5)
Auftragssystem(T1, T2)
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 24
![Page 25: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/25.jpg)
Transaktionsbaum
(T0) Auftrag Waschmaschine erledigen
Auftrags-erfassungssystem
(Call Center)
(T1) (T2)
(TA)
(T3)
(T4) (T5)
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 25
![Page 26: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/26.jpg)
TransaktionsbaumTransaktions- und Ressourcemanager
Anwendung
T0 (TM)
T1 - RM1
Anwendung1 Anwendung2
T2 - RM2
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 26
![Page 27: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/27.jpg)
2PC Teilnehmer
Anwendung(AW)
OriginatorAnwendung
(AW)Originator
Anwendung(AW)
Originator
Transaktions-manager
(TM)OTS
RessourceManager
(RMi)
begincommitrollback
prepare, commitrollbackjoin
Aufrufe
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 27
![Page 28: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/28.jpg)
2PC Beispiel
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 28
AWOriginator
TMOTS AW2 RM2AW1 RM1
begin
op1
register Res
Exec SQLreturn
return
![Page 29: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/29.jpg)
2PC Beispiel
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 29
AWOriginator
TMOTS AW2 RM2AW1 RM1
commitprepare
yesprepare
yes
commit
commit
ack
ack
![Page 30: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/30.jpg)
Als anderes Modell gibt es auch noch „Soft Rollback“
op1 op2
op1-1 rollback
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 30
![Page 31: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/31.jpg)
TP-Monitore – ganz allgemein (1)
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 31
• Ein „transaction processing monitor“ ist eine Art von Middleware. • Er nimmt einen Strom von Request entgegen von vielen Clients• Er bietet „failover“ Management, wenn einer der Server versagt
und steuert Transaktionen im Auftrag des Clients• Er bietet Übersetzung von Kommunkationsprotokollen an
![Page 32: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/32.jpg)
TP-Monitore – ganz allgemein (2)• Er konsolidiert Requests und Antworten darauf (Responses)
ziwschen Clients und vielen heterogenen Servern• Er bietet darüber hinaus umfangreiche Funktionen zu seiner
eigenen Steuerung an (Service Monitoring)
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 32
![Page 33: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/33.jpg)
TP Monitor - allgemeinClient
Client
Client
Client
Client
Client
Client
Request SchedulerS
ervi
ce 1
Ser
vice
1S
ervi
ce 1
Process
Ser
vice
1S
ervi
ce 1
Ser
vice
2
ProcessS
ervi
ce 1
Ser
vice
1S
ervi
ce 3
Process
Ser
vice
1S
ervi
ce 1
Ser
vice
n
Process
TP M
onito
r
Legacy
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 33
![Page 34: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/34.jpg)
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 34
CICS als Beispiel für einen Transaktionsmonitor
![Page 35: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/35.jpg)
CICS heißt• Customer Information Control System
• Beinhaltet Unterstützung für „transactional programming“• Und für 2PC – also Unterstützung für Transaktionen
mit mehr als einer „managed ressource“
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 35
![Page 36: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/36.jpg)
CICS Prozessorganisation
Quelle: Brössler et al.; Softwaretechnik, Hanser 2000Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 36
![Page 37: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/37.jpg)
CICS typisch – wie es verwendet wurde und wirdTypical ScenarioCICS tasks are usually started by someone at a 3270 terminal (or its equivalent) pressing oneof the 3270 "transmit" keys (ENTER or one of the PFkey). They are usually ended by a CICSapplication program explicitly ending the task. A typical scenario:
• A user hits Enter. • CICS remembers the transaction code left behind by the previous task (or CICS picks it out of the screen data). • CICS verifies that this terminal user is authorized for that transaction code. • CICS schedules the initial program for that transaction code, the task is born. Any passed COMMAREA is placed in the "linkage section".• That (or subsequent) program "maps" the terminal data to see what has been asked of it.• If appropriate, other programs are invoked. • VSAM or DB2 data is retrieved and/or written. • A program sends a screen image back to the terminal. • A program returns control to CICS. It identifies which transaction to run the next timethat terminal operator responds and the data to pass to the initial program. This ends the task.
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 37
![Page 38: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/38.jpg)
Unter CICS Programmierern bekannte Eigenschaften• Alle CICS Tasks eines CICS laufen im selben Prozeß• Damit sind sie nicht gegeneinander geschützt
• Man kann durch eine Endlosschleife eine ganze CICS Instanz aufhängen• Man kann durch Programmierfehler die Daten anderer Tasks zerstören
oder das komplette CICS abschießen
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 38
![Page 39: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/39.jpg)
Aufbau eines CICS „Anwendungsprogrammes“
Quelle: Brössler et al.; Softwaretechnik, Hanser 2000Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 39
![Page 40: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/40.jpg)
Zum Vergleich: IMS Prozeßmodell
Prozesse
Quelle: Brössler et al.; Softwaretechnik, Hanser 2000Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 40
![Page 41: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/41.jpg)
Eigenschaften von IMS
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 41
• Jedes „Anwendungsprogramm“ läuft bei IMS in einem oder mehreren Prozessen
• Damit besteht Speicherschutz• Ein fehlerhaftes Programm kann das IMS-System nicht abschießen• Ein fehlerhaftes Programm kann aber sehr wohl die Daten einer anderen
Session des selben Programmes „zerschießen“• Aber nicht die anderer „Programme“
![Page 42: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/42.jpg)
Und zum Vergleich die IMS „Programmschleife“
Quelle: Brössler et al.; Softwaretechnik, Hanser 2000Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 42
![Page 43: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/43.jpg)
Welche Services bieten IMS und CICS also (1)
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 43
• Unterstützung für performantes „transaktionales“ Programmieren auf Maschinen, die für Batch-Processing ausgelegt sind
• Zuordnung von Terminalsessions zu Programmen• Unterstützung für leichtgewichtige Prozesse• Halten von Kontext über Dialogschritte (CICS: COMMON AREA)
• Da gibt es Limits, z.B. 32kByte Größenbeschränkung – Beeinflusst den Programmierstil
• DLL-artiges, performantes Nachladen von Unterpogrammen• Und wie schaut das mit richtigen DLLs aus? Gibt es auch seit zOS.
![Page 44: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/44.jpg)
Welche Services bieten IMS und CICS also (2)
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 44
• Transaktionsklammer (Ressorce Manager) über mehr als eine transaktionsgesicherte Ressource .. Also zum Beispiel
• DB2• IMS-DB• Und von jedem auch mehr als eine Instanz
• Es gibt aber auch Gefahren• Schlecht programmiertes CICS kann sogar den SYSPLEX
beeinträchtigen, also bis zur Sicherungsmaschine durchschlagen.
![Page 45: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/45.jpg)
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 45
Was leistet im Vergleich dazu ein J2EE Applikationsserver?
![Page 46: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/46.jpg)
J2EE ApplikationsserverWo finde ich den?
Client Schicht Web KomponentenSchicht
Business LogikSchicht
EIS Schicht
Browser
AppletContainer
Web KomponentenContainer
EJB Container
Servlet
JSP
EJB
Applet
ERPSysteme
LegacySysteme
Daten-banken
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 46
![Page 47: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/47.jpg)
J2EE ApplikationsserverWo finde ich den?
Geschäfts-prozess-Schicht
Integrations-schicht
Application-Server-schicht
WebProtokolle
XMLUnter-
stützung
Transak-tionsunter-stützung
DirectoryDienst
AsynchroneNachrichten
Konnek-toren
Web Container EJB Container
Web-Komponenten EJBs
Entwicklungstools und-frameworks
Metadaten-Management
Regelmaschine
IntelligentesRouting
Nachrichten-Transformation
Geschäftsprozess-Modellierung
Geschäftsprozess-ausführung
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 47
![Page 48: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/48.jpg)
J2EE ApplikationsserverWesentliche Dienste
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 48
• Ressource Manager für TA – Steuerung• Container für Programme
• JSP, EJB, Servlets• Persistenzdienste (CMP und BMP)• Load Balancing• Security• Messaging• Name Services• Backend Connectivity (Konnektoren)
Bei CICS/IMS so nicht direkt vorhanden ...
![Page 49: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/49.jpg)
J2EE Applikationsserver
Selbstbeschreibung eines Repräsentaten ...
Quelle:Borland
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 49
![Page 50: Von Transaktionsmonitoren zu Applikationsservern · 2004. 6. 17. · • Die Probleme • Bedienung vieler Dialogbenutzer • MIPS-Entwicklung: Die Hosts der 70er Jahre ... Die PCs](https://reader036.vdokument.com/reader036/viewer/2022081410/60956a5013bcaf1d7a668bf6/html5/thumbnails/50.jpg)
Zusammenfassung
Vorlesung „Software Engineering für große, betriebliche Informationssysteme“, © 2004 Hans Hartmann, Wolfgang Keller, all rights reserved, Universität Leipzig, SS2004 50
• Namen und Programmiersprachen haben sich geändert • Produkte sind besser geworden – die Frameworks sind
umfangreicher• Herausforderungen sind ähnlich geblieben
• Performantes Bedienen von Requests vieler Clients• Transaktionssteuerung• Weitere Anwendungsdienste
• Kenntnis „der alten Eisen“ immer nocht ganz nützlich – weil man sie immer wieder integrieren muß