1
<Insert Picture Here>
XML – Einsatz im realen UmfeldChristian KühneServer Technologies Competence Center
2
Umgebung von Informationssystemen
• Es gibt (praktisch) keine „Standalone“-Systeme
• Jedes IS ist in seine Umwelt einzubetten
• Integration = Interaktion bzw Datenaustausch mit benachbarten Systemen
• Migration
<Insert Picture Here>
Agenda… der rote Faden
• Integration von Informations-Systemen• Generalisierung und Standardisierung
(BPEL)
• Datenaustauschformate (XML)
• Laufzeit-Umgebungen
• Datenbanken• Aufbau
• Cluster
4
Business Visibility
Sales FinanceEmployee
Business Services Product
Ebenen der Integration
Geschäftsbereiche
Applications-Integration
Business-Integration
Daten-Integration
Business Process Management
Connectivity & Data Integration
<Insert Picture Here>
Integration
Daten-Integration
5
Remote Data
• Zugriff auf externe Daten mit der Syntax der lokalen Datenbank
• Database Link
• Gateways(transparent gateways)
• Daten
• Programme (Trigger etc)
„Schnittstellen“
• point to point • Hub & Spoke
= z = z
6
Mr. John Q. Smith
Hub and Spoke
• Zentraler “Verteiler”
• “Spokes” kommunizieren ausschließlich mit dem “Hub”
• Entkoppelte Integration
• Einfache Anpassung
• Einfach Erweiterbar
• zn = n - 1
• zn = 1
Transformation
Application 2Spoke
IntegrationHUB
Application 3 Spoke
Application 4 Spoke
Application 1 Spoke
John Q. Smith Smith, John Q.
John Q Smith
Mr. John Q. Smith
AQ/JMSAQ/JMS
Integration HubIntegration Hub
MetadataMetadata
OracleOracleEBSEBSSiebel AdapterAdapter AdapterAdapter
2 3
Benutzer legt “neuen” Kunden an
4
5
Transform6
publish “Create Customer”
JMS
XML7
subscribe “Create Customer”
JMS
XML8
Transform9
10
1
• Visuelle Entwicklungsumgebung für “Business Analysten”
• Präsentiert die Logik derIntegration – nicht die technischen Details
Beispielpublish and subscribe
7
Sales LeadsCall Center
Data Quality
Services
Integration Services
Bsp: Wo ist mein Kunde?
OracleOracleData HubData Hub
Legacy AppWeb Store
Consensus
Sales LeadsCall Center
Data Quality
Services
Integration Services
Bsp: Wo ist mein Kunde?
OracleOracleData HubData Hub
Legacy AppWeb Store
Consensus
Cleansing
Synchronization
Dell 20 Mio Kunden
Cisco 4 Mio Kunden
8
Anbindung an Geschäftspartner
• Schnelle Anbindung neuer Partner
• Eleminierung manueller Prozesse
• Unterstützung zahlreicher Standards
• Fertige Adapter
EDI
RosettaNet
UCCnet
HL7
<Insert Picture Here>
Integration
Application-Integration
9
UDDI (JAXR)
Web Service
Web ServicesWeb ServicesRegistriesRegistries
Client ApplicationClient Application
PublishWSDL (JSR 110)
Find / Discover
InvokeSOAP (JAXM/JAX-RPC)
XML BindingXML Binding
Service ImplementationService Implementation (J2EE, PL/SQL, Other)
Web Service - Prinzip
• Standard Protokoll
• Standard Interface
• CORBA
• � Webservice
Entwicklung von Diensten / WebServices
• Implementation sprachunabhängigJava, C, Perl, PL/SQL, Cobol ...
• „per Hand“
• Ausfüllen generierter stubs
• Kapselung vorhandenen Codes (Wrapper, Generatoren)
10
A SOAP request message
<SOAP-ENV:Envelope
xmlns:SOAP-ENV=“http://{soaporg}/envelope/”
SOAP-ENV:encodingStyle=“http://{soaporg}/encoding/”>
<SOAP-ENV:Body>
</SOAP:ENV:Body>
</SOAP:ENV:Envelope>
<app:GetThisFeature xmlns:app=“some-uri”>
<app:withThisPrm>ORCL</app:withThisPrm>
</app:GetThisFeature>Message
SOAP Envelope
A SOAP response message
<SOAP-ENV:Envelope
xmlns:SOAP-ENV=“http://{soaporg}/envelope/”
SOAP-ENV:encodingStyle=“http://{soaporg}/encoding/”>
<SOAP-ENV:Body>
</SOAP:ENV:Body>
</SOAP:ENV:Envelope>
<app:GetThisFeature xmlns:app=“some-uri”>
<app:yourResult>56 3/8</app:yourResult>
</app:GetThisFeature>Message
SOAP Envelope
Result returned inthe body
11
• Web Services WG(SOAP,WSDL,UDDI)
• XMLP WG• XML Schema WG• XML Query WG
• TPAML• BOPC WG• WSRP
• J2EE Web Services JSR
• JAXM JSR• JAX-RPC JSR
• Protocol/JAXP• Repository/JAXR• Messaging/JAXM
• RNIF WG
• XMI Metadata WG• Component Model WG
� Oracle is a Founding Member of theWeb Services-Interoperability Organization
Commitment to Open Standards
Payroll Accounts(Legacy Application)
OracleASIntegration
E-mail Accounts(DB Stored Procedure)
SOAP
SOAP
SOAP
TelephoneAccounts(Outsourced)
Standard-basierte IntegrationApplikationen über Web Services verbinden
12
<Insert Picture Here>
Integration
Process-Integration
?
BPEL, The Orchestrator
BPEL
IU
PORTAL
J2EE
TOMCAT
Web Service
Java Service
ERPSAP, Oracle, etc.
User Tasks
DatabaseStored Procedures
13
BPM - Service OrchestrationBusiness Process Execution Language - BPEL
• Beschreibt das Zusammenspiel (“Orchestration”) von Diensten (Services), um einen Geschäftsprozess abzubilden
• Ermöglicht Modellierung, Ausführung und Verwaltung dieser Prozesse
• Standardisiert durch OASIS (Spezifikation V 1.1)
• Unterstützt durch alle “Key-Player” (Oracle, Microsoft, IBM, SAP, …)
BPEL BPEL SteuerungSteuerung
Place OrderPlace Order
Check CreditCheck Credit
Deliver Deliver ProductProduct
Check Check InventoryInventory
Beispiel
14
XSLT Mapper
• Transformation zwischen unterschiedlichen XML-Formaten
Oracle BPEL Process Manager
Unternehmens-Infrastruktur für Entwicklung, Verteilung und Steuerung von BPEL Business Prozessen.
15
<Insert Picture Here>
Integration
Business-Analyse
Metriken & KPIsAnalyse der
Geschäftsregeln
Business Activity
Monitoring
Analyse von Services
Place OrderPlace Order
Check CreditCheck Credit
Deliver Deliver ProductProduct
Check Check InventoryInventory
16
BAM – Business Activity Monitoring
• Globale Prozess-Sicht
• Echtzeit
• Unterschiedliche Blickwinkel möglich
• Ableitung gezielter Maßnahmen
<Insert Picture Here>
Agenda… der rote Faden
• Integration von Informations-Systemen• Generalisierung und Standardisierung
(BPEL)
• Datenaustauschformate (XML)
• Laufzeit-Umgebungen
• Datenbanken• Aufbau
• Cluster
17
Laufzeitumgebung
Zur Laufzeit ...
• Lastverteilung über mehrere Knoten � (AS-)Cluster
• Loadbalancer
• Zustandsbeschreibungen persistent ablegen� dehydration-store
• Ausfall eines Knotens wird durch die anderen Knoten „abgefangen“
• Im Backend: Datenbank
18
<Insert Picture Here>
Agenda… der rote Faden
• Integration von Informations-Systemen• Generalisierung und Standardisierung
(BPEL)
• Datenaustauschformate (XML)
• Laufzeit-Umgebungen
• Datenbanken• Aufbau
• Cluster
Aufgabe eines RDBMSerster Versuch
• Daten rein
• Daten raus
• aber bitte mit SQL!
• und nix geht verloren
• stabil
• (hoch-)verfügbar
• performant und skalierbar
• kostengünstig (in Anschaffung u. Betrieb)
• einfach bzw. geringe Komplexität
19
DatenbankBasiseigenschaften
Daten
• Relational
• Objektrelational
• Geodaten
• Binäre Daten
• Große Texte
• XML
• ...
<Insert Picture Here>
Datenbanken
XML in der Datenbank
20
XML-Datenbank„Billigansatz“
• Speicherung der Daten als Zeichenkette
• Select als Block
• Parsen bzw Manipulation mit Stringoperationen
• Performance???
<?xml version="1.0"?><?xml-stylesheet type="application/xml" href="15-2.xsl"?> <PERIODIC_TABLE>
<ATOM STATE="GAS"> <NAME>Hydrogen</NAME> <SYMBOL>H</SYMBOL> <ATOMIC_NUMBER>1</ATOMIC_NUMBER><ATOMIC_WEIGHT>1.00794</ATOMIC_WEIGHT>
</ATOM> <ATOM STATE="GAS">
<NAME>Helium</NAME> <SYMBOL>He</SYMBOL> <ATOMIC_NUMBER>2</ATOMIC_NUMBER> <ATOMIC_WEIGHT>4.0026</ATOMIC_WEIGHT>
</ATOM></PERIODIC_TABLE>
XML-Datenbankrealistischer/realer Ansatz
• Speicherung als nativer Datentyp XMLTYPE
• Erweiterung der SQL-Syntax um Zugriffsmethoden auf XML-Teile � XQuery
• Pfadbeschreibungen für verschachtelte Elemente �XPath
• Standardisierung
Industriestandard
• W3C (XQuery)
• Teil von SQL:2005
Nutzung
• XML Erzeugung
• XML-nach-XML Transformation (XSLT)
• Relationale Sichten auf XML
• Abfragen in XML-Dokumenten
21
XQueryAnwendungsgebiete
TransformationXML nach XML
XML-Abfragen XML erzeugen
•XSLT•SQL/XML
•XPath•SQL•SQL/XML
•SQL/XML•PL/SQL
XQuery
RelationaleSichten
•XPath•SQL
DatenbankBasiseigenschaften
Daten
• Relational
• Objektrelational
• Geodaten
• Binäre Daten
• Große Texte
• XML
• ...
Anforderungen
• Atomicity
• Consistency
• Isolation
• Durability
22
Aufgabe eines RDBMSverbesserte Definition
• Über definierte Schnittstellen werden Daten, • deren Definition ebenfalls mit den Mitteln des
RDBMS erfolgt, • mittels der Standard-Datenbanksprache SQL • im Mehrbenutzerbetrieb geschrieben und
gelesen, • so daß die Konsistenz in Bezug auf
Transaktionen sowie • die Wiederherstellbarkeit in Fehlerfällen
garantiert wird.
Database Server
23
ProcessGlobalArea
DatabaseBufferPool
RedoLogBuffer
DictionaryCache
DBWR
System Global Area (SGA)
Control-Datei Datendateien Online-Redo-Log-Dateien
Offline-Redolog-Dateien
Die Architektur (grob)
Speicher
LGWR SMON PMON ARCHProzesse
Memory TuningAutomatisiertes Tuning des Shared Memory
• automatische Anpasung an veränderte Arbeitslast
• Maximiert Speicher Ausnutzung
• Ein Parameter ist einfacher zu managen
• Eliminiert ‘out of memory’ Fehler
• Verbessert die Performance
SGA
PGA
Lange Batch Jobs
sort
Java Pool
SQL Cache
Large Pool
Buffer Cache
SQL Cache
sort
Online Nutzer
Large Pool
Buffer Cache
Java Pool
24
ACID
• Two-Phase commit
• Roll-Back Segmente
• Locks & Latches
• Table vs Row-Locking
• Redo Log
• Archive Logs
• Constraints
• Trigger
• Lock Escalation
• Multi-Version Read-consistency
• Rollen
• Rechte• Systemrechte
• Objektrechte
DatenbankBasiseigenschaften
Daten
• Relational
• Objektrelational
• Geodaten
• Binäre Daten
• Große Texte
• XML
• ...
Anforderungen
• Atomicity
• Consistency
• Isolation
• Durability
• + Performance
• + Verfügbarkeit
25
<Insert Picture Here>
Datenbanken
(Hoch-)Verfügbarkeit
HochverfügbarkeitAufgabe
• Alle erforderlichen Ausfallszenarien beherrschen
• Konzept• Technisch
• Organistorisch
• Personell
• Bauliche Infrastruktur
• Backup
• Backup
• Backup
• Desaster• Stromausfall
• Erdbeben
• Sturmflut
• Flugzeugabstürz
• Terroranschlag
• ...
• 24*7*365 ???
• Pauschallösung
26
GeplanteGeplanteAusfallzeitAusfallzeit
SystemSystem--WartungWartung
RoutineRoutineOperationenOperationen
Hardware &O/S Upgrades
SchemaAnpassungen
UngeplanteUngeplanteAusfallzeitAusfallzeit
ApplikationsApplikations //MenschlicheMenschliche
FehlerFehler
DatenfehlerDatenfehler&& DesasterDesaster
SystemfehlerSystemfehler
Löschen von (System-)Tabellen
DatenkorruptionFlut, Feuer, usw.
StromausfallSystemabsturz
Gründe für Ausfälle
Hochverfügbarkeit... eigentlich ganz einfach
1. Sorge dafür, daß das System (möglichst) nicht ausfällt
2. Treffe Vorbereitungen, damit im Fall (1) die Wiederanlaufzeit möglichst kurz ist
Backup!!! (t?)
27
Standby-Database
Primary Primary SiteSite
Clients
Standby Standby SiteSite
RedoRedo--LogsLogs
∆t
Data Guard Architektur - Konzept
Primary Primary SiteSite
Clients
Standby Standby SiteSite
Log InformationenLog Informationen
Broker Agent B
roker Agent
Data Guard Broker
Clients
Backup
DIGITAL DATA STORAGE
28
Fehler-Toleranz bei niedrigen Kosten
Computer Computer FehlerFehler
DatenDatenFehlerFehler
System System ÄnderungenÄnderungen
DatenDatenÄnderungenÄnderungen
UngeplanteUngeplanteDowntimeDowntime
GeplanteGeplanteDowntimeDowntime
Grid ClustersGrid ClustersFehlerFehler--Toleranz bei niedrigen KostenToleranz bei niedrigen Kosten
Shared Nothing
Shared Disk
Shared Disk / Shared Cache
ClusterTypen
29
ClusterIdee
• Mehr Rechner = mehr Leistung
• Mehrere Rechner, die das gleiche leisten = Verfügbarkeit des Systems, auch wenn ein Knoten ausfällt
Cluster Typ: Failover Cluster
• Typischerweise zwei Rechner im Verbund
• Nur der aktive Rechner hat Zugriff auf die Daten, der andere ist im Cold-Standby Modus
• Adressiert Hochverfügbarkeit; keine Skalierbarkeit
DataDataAA--ZZDataDataAA--ZZ
30
Oracle RACshared cache
• Alle Knoten werden im Normalbetrieb benutzt
• Im Fehlerfall sind alle Daten von den restlichen Knoten aus zugreifbar ( Shared Data )
• Bei Knotenausfall sind immer nur Teile von Benutzern betroffen (hier 33%)
• Transparente und sehr schnelle Übernahme, da DB sofort durch andere Knoten zugreifbar
MemoryMemory MemoryMemory MemoryMemory
10g RAC Konfiguration
Instance 1 Instance 2
Cluster Interconnect
Raw
Raw Raw
Redo/Undo Redo/Undo
DatabaseControlfilesSPFILE
Archivelogs
FS FS
Init1.ora Init2.ora
Archivelogs
Private LAN
Public LAN
FS FS
Binaries Binaries
31
Datensicherung und Recovery
Computer Computer FehlerFehler
DatenDatenFehlerFehler
System System ÄnderungenÄnderungen
DatenDatenÄnderungenÄnderungen
UngeplanteUngeplanteDowntimeDowntime
GeplanteGeplanteDowntimeDowntime
DiskDisk--basiertesbasiertes RecoveryRecovery
Kostenbetrachtung:Preisgünstiger Plattenplatzvs. teure Downtime
StandbyDatenbank(en)
Oracle 10g RAC + Data Guarddie ideale Ergänzung
Oracle Net Services
Oracle Net Services
10g RACNode 1
10g RACNode 2
Hochverfügbar
Skalierbar
Schneller Wiederanlauf bei Totalausfall
32
DBDB DBDB
2 RZ‘s, Distanz: 3km
ShadowShadowDBDBreplica
Oracle Data GuardLogische Kopie
OracleRAC
ENQ
OracleRAC
ENQ
Delay: 4 h
Logistik-System der BASF
• Systemänderungen ohne Downtime
Online ReconfigurationOnline Reconfiguration
Ziel
No Cost System Changes
Computer Computer FehlerFehler
Daten Daten FehlerFehler
System System ÄnderungenÄnderungen
DatenDatenÄnderungenÄnderungen
UngeplanteUngeplanteDowntimeDowntime
GeplanteGeplanteDowntimeDowntime
33
Systemänderungen ohne Downtime –“Capacity on Demand”
• CPU• Hinzufügen/Entfernen von CPUs
online
• Cluster Knoten• Hinzufügen/Entfernen von Cluster
Knoten online• Keine Datenumverteilung
notwendig
• Memory• Veränderung von shared memory
und buffer cache online• Automatisches Memory-Tuning
online
• Disk• Hinzufügen/Entfernen von Platten
online• Automatisches Rebalancing• Kein Umkopieren von Datenfiles
No Cost System Changes
Computer Computer FehlerFehler
Daten Daten FehlerFehler
System System ÄnderungenÄnderungen
DatenDatenÄnderungenÄnderungen
UngeplanteUngeplanteDowntimeDowntime
GeplanteGeplanteDowntimeDowntime Online RedefinitionOnline Redefinition
Änderungen ohne UnterbrechungÄnderungen ohne Unterbrechung
• Wechselnde Anforderungen erfordern kontinuierliche Veränderungen
• Änderung von Daten ohne Unterbrechung der Applikation
• Ort, Format, Indizierung oder Definition
Ziel
34
<Insert Picture Here>
Datenbanken
Editionen
$800/user or $40,000 per CPU
$300/user or $15,000
per CPU
$149/user (min. 5) or $4,995 per CPU
FREE
> 1000 users400-1000 users< 400 users< 20 users
4+ CPUs
> 500 GB DB size
Single or clustered up to 4 CPUs
< 500 GB DB size
1…2 CPU
< 500GB DB size
Uses 1 CPU
< 4GB DB size1 instance per CPU
Use up to 1GB RAM
Fee-based Support available
Full-featured database for SMBs
with optional clustering support
(up to 4 CPUs)
! RAC included !
Standard Edition
Fee-based Support available
Large-scale Enterprises
high-performance BI (ETL, DW, OLTP), security, scalability,
availability, etc.
Enterprise Edition
Free OTN Community Forum
Non-Oracle developers, open source developers,
new DBAs, students, non-Oracle ISVs, hw vendors
Express Edition
Fee-based Support available
Low-price option for SMB/LOB Deployments,
ISVs who need a supported Oracle
database
Standard Edition One
Oracle Database Produktfamilie
35
Oracle Database 10g XEExpress Edition
• Separate Edition
• 150 MB Download !
• Auf Windows, Linux
• Einfachste InstallationWin: Doppelklick, Linux: RPM
• Zielgruppe: Entwicklermit PHP, Java, .Net, Open Source, HTML DB
• Lizenzkostenfrei
• bis 4GB User Data, 1 GB Mem, 1 CPU
• Erstklassiges Online Tutorial
http://www.oracle.com/technology/products/database/xe/index.html
Application Express (ex HTMLDB)
• 100% Oracle Datenbank
• 100% Browser
• Oracle9i/10g
• Einfach, schnell, robust, sicher
• Deklaraiv und Multilingual
• Metadaten getrieben
• Komplettes Framework
36
Application Express - Beispiele
aria Business Flow asktom Partner Profiler
PromedMail
CalendarRACdatabaseThink.com
DevTrendsGEH Territory OBE
Easy To Learn
• Oracle Database 10g www.oracle.com/database
• Oracle Mittelstandslösungen www.oracle.de/mittelstand
• Oracle Support
metalink.oracle.com
•Application Express
apex.oracle.com
• Oracle by Example otn.oracle.com/obe
Oracle Database XE, SE1,SE, EETEST it – USE it