XML-API

Werbung
XML-API
OLTP-Schnittstelle
in XML-CLOB-Technik
ab Oracle 8i
Motivation
•
•
•
•
•
•
Anwendung im WAN (Internet)
XML - die Universal-Sprache
Entkoppelung Präsentation / Persistenz
Unabhängigkeit der Sprache
Unabhängigkeit der Modelle
Integration von Aktionen zum Request
Sprache
•
•
•
•
•
•
Information ist immer an Sprache gebunden
Web-Clients sprechen HTML, C++, JAVA, ...
Oracle spricht SQL
Beide lernen XML für die Kommunikation
XML-API übersetzt XML  SQL
Web-Clients übersetzen XML  HTML, ...
Modell
•
•
•
•
•
•
Information wird in Modellen dargestellt
Web-Clients verwenden OO-Klassenmodelle
XML-Dokumente sind hierarchisch (H-Modell)
Oracle ist relational organisiert (R-Modell)
XML-API übersetzt H-Modell  R-Modell
Web-Client übersetzt OO-Modell  H-Modell
XML-Dokument
• XML-Request XML-Reply (Sprachkonstanz)
• Request : Auftragserteilung in XML mit
– Request-Id, Client-Id, Task-Liste
• Reply : Auftragsergebnis in XML mit
– Task-Feedbacks, Return-Codes
• In-Place-Reply : XML-Dokument wird transformiert
Task-Liste
•
•
•
•
•
•
QUERY : beliebige Abfragen
LIST : Abholen des Result-Set (Bereiche)
LOAD : Laden per logischem Primärschlüssel
SAVE : Speichern von Informationen
LOCK : Sperren (in Vorbereitung)
In-Place-Feedback, bei SAVE, LOAD und LIST
formidentisch
QUERY
• Task : Abfrage-Bedingung in XML
–
–
–
–
Beliebig viele Attribute
Operatoren
Mengenoperatoren, Klammerung
Begrenzung der Ergebnis-Menge (auto)
• Feedback : Anzahl passender Ergebnis-Zeilen
– Zwischenspeicherung der Primärschlüssel des Result-Set
für die Dauer der Session
LIST
• Task : Vorgabe der XML-Struktur
– Mit oder ohne Bereichsangabe (from – to)
– Primärschlüssel der obersten Ebene muß fachlich
kompatibel zu Primärschlüssel der Query sein.
• Feedback : komplette XML-Struktur
– Primärschlüssel der obersten Ebene aus Query-Result-Set
– Sub-XML-Ebenen werden im API mit LOAD ergänzt
– Mit allen sichtbaren Attributen
LOAD
• Task : Vorgabe der XML-Struktur
– Mit, ohne oder mit teilweiser Angabe der logischen
Primärschlüssel der jeweiligen Ebenen („class“)
• Feedback : komplette XML-Struktur
– Result-Set ermittelt aus vorgegebenen Primärschlüsseln
– Sub-XML-Ebenen werden im API mit LOAD ergänzt
– Mit allen sichtbaren Attributen
SAVE
• Task : XML-Struktur mit Attributierung
– Beliebige Anzahl und Reihenfolge der Attribute im XML
– Implizit oder explizit generierte Attribute
– Implizit oder explizit generierte Validierungen
• Feedback : komplette XML-Struktur
– Nur die jeweils involvierten Datensätze
– Mit allen sichtbaren Attributen
XML-Struktur
• Baum-Strukturen bei Save, Load, List
–
–
–
–
–
Beliebige Anzahl von Ebenen
Semantische Bezüge der XML-Hierarchie
Bei Task 1 Instanz der obersten Ebene
Bei Feedback Load, List <n> Instanzen aller Ebenen
Vererbung und Überschreibung von Attributen
• Logische, frei definierbare Namen
– Namen der „classes“ ohne Bezug zu Tabellen-Namen
– Tag-Namen (Attribute) völlig unabhängig von SpaltenNamen
Software / Informationsfluß
• Request
–
–
–
–
–
–
–
–
„OLTP-Anwendung“ (im weitesten Sinn)
Anwendungsseitiges DOM
XML-Dokument – alle Beispiele ab hier
Clob als Container
XMLApi.XMLRequest (XMLClob in out nocopy clob)
Datenbankseitiges DOM (XMLParser, XMLDom)
SQL-Engine (dbms_sql, API-Repository)
Oracle-DB
• Reply
– symmetrisch in umgekehrter Reihenfolge
Kontaktdaten
Peter Kleifges
Im Winkel 8
54484 Maring-Noviand
eMail :
[email protected]
Herunterladen