data services architektur - brainguide.de · data services architektur rolf knoll senior technical...
TRANSCRIPT
![Page 1: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/1.jpg)
Data Services Architektur
Rolf KnollSenior Technical Account Manager/Central Europe
Persistence [email protected]
Verbesserung der Performanz und Skalierbarkeit von verteilten Systemen
![Page 2: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/2.jpg)
03.11.2003 2
Agenda
• Überblick : Persistence Software• Data Services Architektur (DSA)
– Motivation– Produkt Portfolio– Features– Entwicklungsprozess
• Anwendungsfälle• F&A
![Page 3: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/3.jpg)
03.11.2003 3
Persistence Software• Gegründet 1991• Über 200 Kunden
der Global 2000– Performanz– Kostenreduktion– Technologieerprobt/bewährt
• IBM AdvancedPartner
• BEA Three Star Partner
EUROCONTROL
![Page 4: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/4.jpg)
Eine Architektur für verteilte Systeme unterschiedlicher
Technologie und Sprachumgebungen zum
Umgang mit Anwendungsdaten, die sich unvorhergesehen
ändern.
Data Services Architektur
![Page 5: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/5.jpg)
03.11.2003 5
Architekturszenarien
DataCentre
AppServer
Client•Applikationen (Java, VB, C#)
•Web-FrontEnds•Mobile Devices
Technologie•J2EE•CORBA•.NET
Sprache•JAVA•C++
RDBMS•Oracle•DB/2•Sybase•SQL Server•…FrankfurtFrankfurt
![Page 6: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/6.jpg)
03.11.2003 6
Architekturszenario I- Kritische Punkte
DataCentre
AppServer
Werden Antworten auf dem Client schnell genug präsentiert ?
Werden vernetzte Geschäftsdaten auf dem Applikations-server schnell genug zur Ver-fügung gestellt ?
Werden DB Anfragen schnell genug abgearbeitet ?
PER
FO
RM
AN
Z ?
FrankfurtFrankfurt
![Page 7: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/7.jpg)
03.11.2003 7
Architekturszenario I - Lösung : Data Services
DataCentre
AppServer
Antworten werden auf dem Client schneller präsentiert
Dem Applikations-server werden vernetzte Objektstrukturen in-memory zur Verfügung gestellt
Das Kommunikations-aufkommen zwischen App. Server und DB wird reduziert
PER
FO
RM
AN
Z
FrankfurtFrankfurt
Data Layer
![Page 8: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/8.jpg)
03.11.2003 8
Architekturszenario II- Kritische Punkte
DataCentre
AppServer
Können weit entfernte Clients mit identischen Antwortzeiten angeschlossen werden ?
FrankfurtFrankfurtLondonLondonNew YorkNew York
Skalierbarkeit ?
![Page 9: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/9.jpg)
03.11.2003 9
DataCentre
AppServer
Können weit entfernte Clients mit identischen Antwortzeiten angeschlossen werden ?
Muss die Anwendungslogik verteilt zur Verfügung gestellt werden ?
FrankfurtFrankfurtLondonLondonNew YorkNew York
Skalierbarkeit ?
AppServer
AppServer
Architekturszenario II- Kritische Punkte
![Page 10: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/10.jpg)
03.11.2003 10
DataCentre
AppServer
Können weit entfernte Clients mit identischen Antwortzeiten angeschlossen werden ?
Muss die Anwendungslogik verteilt zur Verfügung gestellt werden ?
Werden replizierte Datenbestände benötigt ?
FrankfurtFrankfurtLondonLondonNew YorkNew York
Skalierbarkeit ?
AppServer
AppServer
DataCentre
DataCentre
Repl. Repl.
Architekturszenario II- Kritische Punkte
![Page 11: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/11.jpg)
03.11.2003 11
DataCentre
AppServer
Zusammengefasst:•Hohe Investitionskosten•Hohe Betriebskosten•KomplexeGesamtarchitektur
•DB Replikation istlangsam undunzuverlässig
•Benutzung veralteterDaten nichtausgeschlossen
•Systemerweiterung istaufwendig
FrankfurtFrankfurtLondonLondonNew YorkNew York
AppServer
AppServer
DataCentre
DataCentre
Repl. Repl.
Architekturszenario II- Kritische Punkte
- Dies ist keine brauchbare Lösung für denUnternehmenseinsatz
![Page 12: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/12.jpg)
03.11.2003 12
DataCentre
AppServer
FrankfurtFrankfurtLondonLondonNew YorkNew York
Skalierbarkeit
AppServer
AppServer
Data LayerData Services LayerData LayerMOM
Data LayerMOM
Data LayerData Services Layer
Objektänderungen werden durch asynchrones Messagingübertragen
Replizierte Datenbestände werden nicht mehr benötigt
Objektstrukturen werden verteilt zur Verfügung gestellt
Architekturszenario II- Lösung : Data Services
![Page 13: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/13.jpg)
03.11.2003 13
DataCentre
AppServer
FrankfurtFrankfurtLondonLondonNew YorkNew York
AppServer
AppServer
Data Services Layer
Zusammengefasst:•Erhebliche Kostensenkung
bei Erstinstallationund Betrieb
•Geschäftsobjekte sindmit minimaler Verzögerungim gesamten Unternehmenverfügbar
•UnternehmensweiteDatenintegrität wirdsichergestellt
•Gesamtarchitektur istvereinfacht
•Erweiterbarkeit undSkalierbarkeit ist erhöht
Architekturszenario II- Lösung : Virtual Data Center
- Die Unternehmenskritischen Informationensind verfügbar, wo sie benötigt werden
![Page 14: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/14.jpg)
03.11.2003 14
DataCentre
AppServer
FrankfurtFrankfurtLondonLondonNew YorkNew York
AppServer
AppServer
Data Services Layer
Verwendung von verschiedenen relationalen DBMS
Verwendung nicht-relationaler Quellen (z.B. Flat Files)
Verwendung von TX-Systemen (IMS-DC/CICS)
FlatFile
Mainframe
DataCentre
ThirdThird PartyPartyConnectorenConnectoren
(z.B. (z.B. Neon Systems)Neon Systems)
Architekturoptionen- Integration Datenquellen
![Page 15: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/15.jpg)
03.11.2003 15
DataCentre
AppServer
FrankfurtFrankfurtLondonLondonNew YorkNew York
AppServer
AppServer
Data LayerData Services Layer
DA
XML
Msg RegelnRegeln
DA
RegelnRegeln
XML
DHTML
HTTP
Clients werden über geänderte Objekte informiert
Architekturoptionen- Notifizierung von Clients
![Page 16: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/16.jpg)
03.11.2003 16
Produkt Portfolio- Plattformen
DataCentre
CORBAServer
J2EEServer
JavaApp
.NETServer
C++App
Data Services Layer
DA
XML
Msg RegelnRegeln
Middleware :•J2EE•CORBA•.NET
Synchronisation -Transport über :•Tibco/RV•WebSphere MQ•Oracle AQ•JMS•Sockets•benutzerdefiniert
DBMS :•Oracle•Sybase•DB/2•SQL Server•… (ODBC 3.0)•IMS DC/CICS (über Neon Systems)
Client Notification -Transport über :•Tibco/RV•JMS•Sockets•benutzerdefiniert
Sprache :•Java•C++
![Page 17: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/17.jpg)
03.11.2003 17
Produkt Portfolio- EdgeXtend
DataCentre
CORBAServer
JavaApp
.NETServer
C++App
J2EEServer
Data Services Layer
![Page 18: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/18.jpg)
03.11.2003 18
Produkt Portfolio- EdgeXtend for Java
DataCentre
CORBAServer
.NETServer
C++App
Data Services Layer
J2EEServer
JavaApp
JVMBusiness Logic (Java)
Optimized Connection Management
Shared Object Cache
Persistent Data Objects (Java)
TxnCache
Model-based O/R-Mapping
Cache Management
Cache Sync
ClientAlert
Java ApplikationServlet-Container
Presentation/Business Logic (Servlets)
Optimized Connection Management
Shared Object Cache
Persistent Data Objects (Java)
TxnCache
Model-based O/R-Mapping
Cache Management
Cache Sync
ClientAlert
Java WEB-Applikation
![Page 19: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/19.jpg)
03.11.2003 19
Produkt Portfolio- EdgeXtend for J2EE
DataCentre
CORBAServer
JavaApp
.NETServer
C++App
Data Services Layer
J2EEServer
Unterstütze ApplikationsserverUnterstütze Applikationsserver•• IBM WebSphereIBM WebSphere•• BEA WeblogicBEA Weblogic
Adm
inis
trat
ion/
Mon
itorin
gEJB ContainerBusiness Logic(Session Beans)
Optimized Connection Management
Shared Object Cache
Entity Beansand/or PDOs
TxnCache
Model-based O/R-Mapping
Cache Management
Cache Sync
ClientAlert
Servlet ContainerPresentation Logic
(Servlets)
J2EE
-Ser
vice
s(S
ecur
ity, N
amin
g, E
vent
s)
J2EE Applikationsserver
![Page 20: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/20.jpg)
03.11.2003 20
Produkt Portfolio- EdgeXtend for C++/CORBA
DataCentre
JavaApp
.NETServer
C++App
Data Services Layer
J2EEServer
CORBAServer
Adm
inis
trat
ion/
Mon
itorin
g CORBABusiness Logic (IDL Skeletons)
Optimized Connection Management
Shared Object Cache
Persistent Data Objects (C++)
TxnCache
Model-based O/R-Mapping
Cache Management
Cache Sync
ClientAlert
CO
RB
A-S
ervi
ces
(Sec
urity
, Nam
ing,
Eve
nts,
…)
CORBA/C++ Applikationsserver
![Page 21: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/21.jpg)
03.11.2003 21
Produkt Portfolio- EdgeXtend for C++
DataCentre
JavaApp
.NETServer
Data Services Layer
J2EEServer
CORBAServer
C++App
C++ RuntimeBusiness Logic (C++)
Optimized Connection Management
Shared Object Cache
Persistent Data Objects (C++)
TxnCache
Model-based O/R-Mapping
Cache Management
Cache Sync
ClientAlert
C++ Applikation
![Page 22: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/22.jpg)
03.11.2003 22
Produkt Portfolio- EdgeXtend for .NET
DataCentre
JavaApp
C++App
Data Services Layer
J2EEServer
CORBAServer
.NETServer
Adm
inis
trat
ion/
Mon
itorin
g.NET Framework
Business Logic (.NET Componentsvia DCOM, .NET Remoting, HTTP/SOAP)
Optimized Connection Management
Shared Object Cache
Persistent Data Objects (C++)
TxnCache
Model-based O/R-Mapping
Cache Management
Cache Sync
ClientAlert
.NET
Ent
erpr
ise-
Serv
ices
(Sec
urity
, Nam
ing,
Poo
ling)
COM+ Applikationsserver
![Page 23: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/23.jpg)
Caching (auch transaktional)Cache-SynchronisationNotifikation von Clients
O/R MappingOptimierte DB-Zugriffe
Data Services Architektur :Technischer Überblick
![Page 24: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/24.jpg)
03.11.2003 24
Performanz & Skalierbarkeit
EdgeXtend(Runtime)
Datenbank
SharedCache
TXCache
O-R Mapping
DB Conn. Pool
TX Management
Sync
DBAgent
Transaktions-management: zuverlässige
Objekt-zustände
Datenbank Optimierung:
•Native Treiber•Ressourcen Pooling•Locking (Opt/Pes)•Schreibmodi(WI/WOC/WN)•Routing
Generiertes Mapping:
Transparente Integration
Objekt/RDBMS
Notifizierung automatisch verschickt: Kein Polling
EdgeXtend(Runtime)
SharedCache
TXCache
O-R Mapping
DB Conn. Pool
TX Management
Sync
OpenDBAgent
QueryDefinition
DirectAlertDirectAlert
Server Engine
Transport
Geänderte Objekte
automatisch synchronisiert: Kein DB-Zugriff
Direkter Zugriff auf Objekte im
Speicher = massive
Performanz-steigerung
![Page 25: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/25.jpg)
03.11.2003 25
DBServer
Data Services- Funktionsübersicht Caching
J2EEServer
.NET Server
Data Services
SharedCache
TXCache
SharedCache
CacheSync
CacheSync
.NET Server
SharedCache
CacheSync
J2EEServer
SharedCache
CacheSync
TXCache
J2EEServer
SharedCache
CacheSync
![Page 26: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/26.jpg)
Transaktionales CachingOptimistisches LockingCache-Synchronisation
Data Services ArchitekturTechnische Details
![Page 27: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/27.jpg)
03.11.2003 27
EdgeXtend(runtime)
Database
SharedCache
TXCache
O-R Mapping
DB conn. pool
TX management
DDC
DBAgent
Initialer Zustand :- zwei Clients (Cly, Clx)- ein Objekt (A) im Shared Cache
Transaktionales Caching
TXy CacheShared Cache
Clients :Session Beans
ServletsJava Clients
Clients :
A1
B2 C1
Clx Cly
B1
A1
C1C1C1B1B1
DatabaseDatenbank
B1B2
A1A2A2
(1) Start tx- erzeugen tx Cache
(2) Verarbeitung txLogik- ändern Objekt A- lesen Objekt B- ändern Objekt B- erzeugen Objekt C
(3) Commit tx- schreiben Objekt A- schreiben Objekt B- einfügen Objekt C
(4) sync. Shared Cache- schreiben Objekt A- schreiben Objekt B- einfügen Objekt C
(5) entfernen tx Cache
Clients :
Clx Cly
A
B
1
1
A
B
2
2
C 1
![Page 28: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/28.jpg)
03.11.2003 28
Initialer Zustand :- zwei Clients (Cly, Clx)- ein Objekt (A) im Shared Cache
TXy CacheShared Cache
Clients :
A1
Clx Cly
A1A1A2A2
(1) Start tx (y)- erzeugen tx Cache- ändern Objekt A
(2) Start tx (x)- erzeugen tx Cache- ändern Objekt A
(3) Commit tx (y)- schreiben Objekt A
(4) sync. Shared Cache- schreiben Objekt A
(5) entfernen tx Cache (y)
TXx Cache
(6) Versuch Commit tx (x)- Erhalt OC Exception
A1A1
Datenbank
Clients :
Clx Cly
A 1A 2
Optimistisches Locking
![Page 29: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/29.jpg)
03.11.2003 29
Server 1EdgeXtendTX Management
TXCache
Sync
SharedCache
O-R Mapping
DB Conn. Pool
OpenDBAgent
Server 2EdgeXtendTX Management
TXCache
Sync
SharedCache
O-R Mapping
DB Conn. Pool
OpenDBAgent
Server 3EdgeXtendTX Management
TXCache
Sync
SharedCache
O-R Mapping
DB Conn. Pool
OpenDBAgent
Datenbank
(1) Server 1 commited an Datenbank
(2) Server 1 sendet Updates an MessagingSystem
(3) Server 1 synchronisiert eigenen Shared Cache
(5) Server 2 und Server 3 erhalten Update und aktualisieren evtl. ihren Cache (abhängig vom gewählten Algorithmus)(4) Messaging
System verschickt Updates via Broadcast
MessagingSystem
MessagingSystem
Cache-Synchronisation
![Page 30: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/30.jpg)
03.11.2003 30
Fragen ?
![Page 31: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/31.jpg)
Mapping Features
Data Services Architektur :O/R-Mapping
![Page 32: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/32.jpg)
03.11.2003 32
Vertikales Mapping
•Eine Tabelle je Klasse
•Die Attribute jeder Klasse sind genau in derzugeordneten Tabelle
Vorteile:•Das System kann um eine neue Klasse erweitert werden, ohne bestehende Tabellen zu ändern •Direkte Abbildung des normalisierten DB Schemas
Nachteile:•Generell wenig performant•Auf jeder Ebene der Klassenhierarchie werden für die Suche Joins benötigt
Wird von EdgeXtend nicht unterstützt
![Page 33: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/33.jpg)
03.11.2003 33
Horizontales Mapping
•Eine Tabelle je konkreter Unterklasse
•Die Attribute der (abstrakten) Oberklasse sind injeder Tabelle aller konkreter Unterklassen
Vorteile:•Das System kann um eine neue Klasse erweitert werden, ohne bestehende Tabellen zu ändern •Performant bei Suche bezüglich konkreter Klassen•Auch bei tiefer Suche efizienter als vertikales Mapping, da keine Joinsbenötigt werden
Nachteile:•Das Ändern von Oberklassenattributen führt zum Ändern aller Tabellen
![Page 34: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/34.jpg)
03.11.2003 34
Single-Table Mapping
•Eine Tabelle für die gesamte Klassenhierarchie
•Alle Attribute aller Klassen sind in dieser Tabelle
Vorteile:•Performant bei tiefer Suche (über die gesamte Hierarchie)•Gut einsetzbar, wenn die konkreten Unterklassen wenig zusätzliche Attribute enthalten•Änderungen des Objektmodells betreffen genau eine Tabelle
Nachteile:•Führt zu großen, dünn besetzten Tabellen (insbesondere bei vielen stark unterschiedlichen Klassen)
![Page 35: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/35.jpg)
Modellbasierte Generierung von Code und Mapping
Data Services Architektur :Entwicklungsprozess
![Page 36: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/36.jpg)
03.11.2003 36
Entwicklungsprozess I
Modellbasierte Entwicklung
UML-Modell (inkl. Mappingspezifikation)
Kunde
Adresse : psChar[128]<<psOc>> OCVersion : psInt
(from KontoProjekt)
<<psEntity>>Konto
Saldo : psDecimal[16,2]<<psOc>> OCVersion : psInt
(from KontoProjekt)
<<psEntity>>
+Konten+Besitzer
1 n1 n
SparKonto
SperrDatum : psTime(from KontoProjekt)
<<psEntity>>GiroKonto
DispoLimit : psDecimal[16,2](from KontoProjekt)
<<psEntity>>
Modellierung von Klassen (inkl. Vererbung)
Spezifikation von Attributen
Spezifikation von Beziehungen :
• Benennung• Kardinalität• Delete Actions
Optional :• Generierung bzw.• Import des
DB-Schemas
![Page 37: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/37.jpg)
03.11.2003 37
Entwicklungsprozess II
Generierung
UML-Modell (inkl. Mappingspezifikation)
Kunde
Adresse : psChar[128]<<psOc>> OCVersion : psInt
(from KontoProjekt)
<<psEntity>>Konto
Saldo : psDecimal[16,2]<<psOc>> OCVersion : psInt
(from KontoProjekt)
<<psEntity>>
+Konten+Besitzer
1 n1 n
SparKonto
SperrDatum : psTime(from KontoProjekt)
<<psEntity>>GiroKonto
DispoLimit : psDecimal[16,2](from KontoProjekt)
<<psEntity>>
Generierung – J2EE : PDOs
Persistent Data Object Kunde : J2EE Application Server
KundeHomeImpl.java
KundeHome.java
KundeImpl.java
Kunde.java
KundeKey.java
KundeState.java
Entity Bean Kunde : J2EE Application Server
KundeHome.java
KundeBean.java
Kunde.java
KundeKey.java
KundeState.java
ejb-jar.xmlejb-jar.xmlejb-jar.xml
Managed Code : .NET Application Server
KundeHome.cpp
KundeCtln.cpp
Kunde.cpp
KundeIter.cpp KundeState.cpp
Generierung – J2EE : EJBsGenerierung – .NET
Codeänderungen bleiben bei Regenerierung erhalten
![Page 38: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/38.jpg)
03.11.2003 38
Entwicklungsprozess III
Entwicklung der Geschäftslogik
![Page 39: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/39.jpg)
03.11.2003 39
Entwicklung der Geschäftslogik
• Saubere Abstraktion zwischen Geschäftslogik und Datenzugriffsschicht
• Geschützte Code-Bereiche für manuelle Erweiterungen der generierten Klassen.
• Unterstützung von inkrementeller Softwareentwicklung
Entwicklungsprozess III
![Page 40: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/40.jpg)
03.11.2003 40
Deployment der Anwendung in den Zielcontainer bzw. in den Zielserver
• Einsatz der speziellen Tools des Container- bzw. Serverproviders
Entwicklungsprozess IV
![Page 41: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/41.jpg)
Data Services Architektur :Anwendungsfälle
![Page 42: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/42.jpg)
03.11.2003 42
Anwendungsfall 1: Instinet
ReutersReutersTransatlantikTransatlantik
LeitungLeitung
PowerTierC++
GATE-WAY
GATE-WAYPowerTier
J2EE
Client
GATE-WAY
GATE-WAY
PowerTierJ2EE
Client 2
PowerTierJ2EE
KalifornienGATE-WAY
GATE-WAY
NEW YORKNEW YORK
LONDON
ORACLE
PowerTierC++
GATE-WAY
GATE-WAYPowerTier
J2EE
Client
PowerTierJ2EE
FrankfurtGATE-WAY
GATE-WAY
GATE-WAY
GATE-WAY PowerTier
J2EE
Paris
N.Y.
ORACLE
LONDONLONDON
![Page 43: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/43.jpg)
03.11.2003 43
Persistence Lösung: “Schlanke” Datenzentren
=Informationsfluss
Server
• $38.6M Investitionskosten• $9.5M jährliche Betriebskosten
Server Server Server Server
• $11.0M Investitionskosten• $3.2M jährliche Betriebskosten
Nur die Verteilung der aktiven Daten allein brachte immense Effizienzsteigerung,
>70% KostenersparnisQuelle: Fallstudie, Aberdeen Group, 2001
Aktive Daten
Traditionelle Lösung: Replizierte Datenzentren
dickerServer
Alle Daten
Alle Daten
Alle Daten
Alle Daten
Alle Daten
Alle Daten
Aktive Daten Aktive Daten Aktive Daten Aktive Daten
Anwendungsfall 2: Kabel-TV
dickerServer
dickerServer
dickerServer
dickerServer
Alle Daten
![Page 44: Data Services Architektur - brainguide.de · Data Services Architektur Rolf Knoll Senior Technical Account Manager/Central Europe Persistence Software Rolf.Knoll@persistence.com Verbesserung](https://reader030.vdocument.in/reader030/viewer/2022041202/5d4ce49e88c993db0e8b59ea/html5/thumbnails/44.jpg)
03.11.2003 44
Fragen ?