Show TOC

 XML-basierte Archivierung

Einsatzmöglichkeiten

Wie in der ADK-basierten Archivierung, wird die XML-basierte Archivierung verwendet, um Daten von abgeschlossenen Geschäftsprozessen aus der Datenbank auszulagern und abzulegen. Dabei ist es möglich, auf die archivierten Daten später wieder zuzugreifen. Die XML-Archivierung wird primär für XML-Archivierungsobjekte eingesetzt, die von neuen ABAP-Anwendungen mit XML-Schnittstellen benutzt werden. Sie beruht auf den folgenden Prinzipien:

Umfassender Einsatz von Standards

XML: allgemein akzeptierte Beschreibungssprache und Austauschformat für komplexe Objekte, insbesondere Business-Objekte, mit breiter Werkzeugunterstützung; im Vergleich zu ADK werden die Datenobjekte als Ganzes (und nicht satzweise) archiviert

XML-Schema zur Strukturbeschreibung und Validierung von XML-Dokumenten

HTTP(s) zur sicheren Kommunikation zwischen Anwendungssystem und dem XML-Datenarchivierungsservice, auch XML-DAS genannt

WebDAV als Vorlage für die hierarchische Organisation von archivierten Daten und als SAP-unspezifisches Protokoll für den Anschluss von Speichersystemen inklusive Archivsysteme

JAVA als plattformunabhängige und auch außerhalb SAP weit verbreitete Programmiersprache

J2EE als Standard für die Entwicklung von JAVA-basierten Enterprise Applikationen

Flexibler Zugriff auf und langfristige Verwendbarkeit von archivierten Daten

unabhängig vom erzeugenden Anwendungssystem (das System kann eventuell einen kürzeren Lebenszyklus als die archivierten Daten haben)

unabhängig von Anwendungssystemtechnologie (auch für JAVA-Anwendungen)

Basis für systemübergreifenden Zugriff und Suche über Systemgrenzen hinweg

Zentraler Archivierungsservice zur Minimierung des Administrationsaufwands für Systemlandschaften mit vielen Komponenten.

Einführungshinweise

Der XML-DAS ist eine neue Technologie, die speziell für XML-Archivierungsobjekte konzipiert wurde. Ein Beispiel für ein solches Archivierungsobjekt ist CMX_XSTEPS für die Archivierung von sogenannten Execution Steps, ausgeliefert in der Business Function EA-SCM der SAP ECC Extensions.

Zukünftig wird es auch möglich sein, mit dem XML-DAS kundeneigene Archivierungsobjekte anzulegen. Diese Funktionalität ist momentan jedoch noch nicht freigegeben.

Integration

Beim XML-basierten Archivieren muss man zwischen zwei logisch getrennten Systemen unterscheiden, die in der Regel auch physisch getrennt sind: das Anwendungssystem , dessen Datenbank entlastet werden soll bzw. die zu archivierenden Daten bereitstellt und das archivierende System , in dem der XML-DAS läuft.

Im Anwendungssystem befindet sich der XML-DAS-Konnektor. Im Falle eines ABAP-Anwendungssystems beinhaltet der XML-DAS-Konnektor für ABAP das XML-Archive-API und die lokale Archivadministration, Transaktion SARA. Die Archivierungsprogramme eines XML-Archivierungsobjekts nutzen das XML-Archive- API anstelle des ADK. Das XML-Archive-API kommuniziert per HTTP(s) mit dem XML-DAS.

Der XML-DAS ist Teil der SAP J2EE Engine, d.h. die Archivierung erfolgt in dem JAVA-Stack eines SAP NetWeaver AS. Während die Metadaten und Eigenschaftsindizes (zur Unterstützung der wertbasierten Suche) in der Datenbank der J2EE Engine gehalten werden, erfolgt die Speicherung der eigentlichen Daten in einem Speichersystem, das über das Protokoll WebDAV angeschlossen ist. Alternativ kann auch ein Dateisystem eingesetzt werden, das geeignet stabil und von allen Servern der SAP J2EE Engine zugreifbar einzurichten ist. Das gewünschte Speichersystem bzw. ein Teil davon (Verzeichnis oder WebDAV-Kollektion) wird mit Hilfe der XML-DAS-Administration als sogenannte Ablage für ein Archivierungsobjekt verwendet. Da diese (und weitere) Einstellungen anwendungssystemübergreifend sind, gehört die XML-DAS-Administration zur SAP J2EE Engine und zählt neben der Transaktion SARA zu den wichtigsten Werkzeugen des Datenarchivierungsadministrators

Die folgende Graphik zeigt den Zusammenhang der verschiedenen Komponenten:

Graphik 1: Zusammenhang der verschiedenen Komponenten in der XML-basierten Archivierung

Funktionsumfang

Der von XML-Archivierungsobjekten genutzte XML-DAS-Konnektor für ABAP kapselt die wichtigsten Funktionen des XML-DAS. Es ist sowohl bei der Entwicklung von neuen Archivierungsobjekten als auch bei der Durchführung von XML-Archivierungsläufen wichtig, die zugrundeliegenden Konzepte und Funktionen des XML-DAS zu kennen.

Komponenten und Benutzung der XML-DAS-Hierarchie:

Die zu archivierenden Datenobjekte einer Anwendung liegen entweder direkt als XML-Dokumente vor oder werden über eine XML-Schnittstelle aus der Datenbank gelesen. Zusätzlich kann die Strukturbeschreibung der XML-Dokumente in Form eines (oder mehrerer) XML-Schema(ta) zusammen mit den XML-Dokumenten archiviert werden. Das gleiche gilt für XSL-Stylesheets. Weiterhin können Datenobjekte beliebigen Formats (als Typ „BIN“ zu übergeben), abgelegt werden.

Ressourcen und Kollektionen

Der allgemeine Begriff für ein archiviertes Datenobjekt im XML-DAS ist Ressource. Ressourcen befinden sich stets in sogenannten Kollektionen. Kollektionen können (Unter-) Kollektionen enthalten, wodurch eine Hierarchie entsteht. Der Aufbau der XML-DAS-Hierarchie durch Kollektionen, die Ressourcen enthalten, wurde in Anlehnung an den WebDAV-Standard (RFC 2518) gewählt. Gleichzeitig verwendet der XML-DAS das Protokoll WebDAV für die physische Speicherung, d.h. die Kollektionen und Ressourcen der logischen XML-DAS-Hierarchie werden in einem oder mehreren WebDAV-Systemen angelegt. Durch Auflistung der Kollektionen von der Wurzel der XML-DAS-Hierarchie auf kürzestem Weg hin zu einer Ressource ergibt sich auf natürliche Weise ihre „Adresse“: Die Liste der Kollektionsnamen, jeweils mit / abgeschlossen, bildet den sogenannten Archivpfad. Ergänzt man den Namen der Ressource, erhält man die sogenannte URI. Um auf ein archiviertes Datenobjekt zuzugreifen, genügt es, die URI zu kennen.

Auch eine Kollektion kann per URI adressiert werden.

Eigenschaften und Eigenschaftsindizes

Ressourcen können auch wertbasiert gesucht werden. Dazu ist es erforderlich, den Ressourcen sogenannte Eigenschaften zuzuordnen. Ob die Eigenschaften vom XML-Inhalt abgeleitet werden oder eine separate Attributierung erfolgt, ist anwendungsspezifisch. Auch das Konzept der Eigenschaften ist an WebDAV angelehnt. Es wurde jedoch in folgenden Punkten auf die Archivierung vieler gleichartiger Ressourcen pro Archivierungslauf zugeschnitten und zugunsten einer effizienten Suche abgeändert:

- Eigenschaften sind typisiert, d.h. die Name-Wert-Paare enthalten Werte eines Datentyps, z.B. VARCHAR(45) für zeichenartige Eigenschaften mit Eigenschaftswerten mit bis zu 45 Zeichen.

- Eigenschaften werden in Eigenschaftsindizes zusammengefasst und müssen vor der Verwendung von der Anwendung über das XML-Archive-API definiert werden.

- Beim Archivieren und bei der wertbasierten Suche muss die Anwendung den Eigenschaftsindex angeben.

Die wertbasierte Suche kann mit der Suche in bestimmten Kollektionen (entlang eines Archivpfades) kombiniert werden.

Home-Kollektionen und Home-Pfade

Für jedes Archivierungsobjekt wird ein Teil der XML-DAS-Hierarchie reserviert. Dies geschieht durch sogenannte Home-Kollektionen. Einerseits werden Datenobjekte einer bestimmten Anwendung nur in oder „unterhalb“ der Home-Kollektion des entsprechenden Archivierungsobjekts archiviert. Andererseits prüft der XML-DAS-Konnektor, ob lesende Zugriffe erlaubt sind: Der Archivpfad einer angeforderten Ressource muss mit dem Home-Pfad des Archivierungsobjekts beginnen, kann aber eine Pfaderweiterung haben, d.h. tiefer in der Hierarchie liegen als die Home-Kollektion.

Kernfunktionen des XML-DAS

Der XML-Archive-API stellt einer Anwendung folgende XML-DAS-Kernfunktionen zur Verfügung:

MKCOL – Kollektion anlegen

PUT – Ressource ins Archiv schreiben

CHECK – Ressourcen auf XML-Wohlgeformtheit prüfen oder validieren

HEAD – Existenzprüfung für Ressourcen oder Kollektionen

GET – Ressource aus dem Archiv lesen

LIST – Ressourcenliste ausgeben (hierarchische Suche)

SELECT - Ressourcen selektieren (wertbasierte Suche)

INFO – Informationen zum XML-DAS und zu einem Archivpfad

FREEZE – Kollektion abschließen

DELETE – Ressourcen oder Kollektionen löschen

VERIFY_INTEGRITY – Ressourcen in einer oder mehreren Kollektionen asynchron auf Unversehrtheit prüfen

INDEX_…

CREATE - Eigenschaftsindex anlegen

DESCRIBE - Eigenschaften eines Eigenschaftsindexes beschreiben

DROP - Eigenschaftsindex löschen

INSERT - Eigenschaften einer Ressource einem Index hinzufügen

GET - Eigenschaften einer Ressource aus einem Index lesen

Zusätzlich bietet das XML-Archive-API Methoden, die nur den XML-DAS-Konnektor betreffen. Für Details siehe ABAP-Systemdokumentation der Klasse CL_XADK_API.

XML-DAS-Administration

Ablage

Um den Inhalt von Ressourcen und die Kollektionen auf geeigneten Archivierungsmedien abzulegen, wird die XML-DAS-Hierarchie auf ebenfalls hierarchisch organisierte Speichersysteme abgebildet. Der Administrator hat die Wahl zwischen Ablagesystemen mit WebDAV-Schnittstelle (kurz WebDAV-Systemen) oder Dateisystemen, die von allen Instanzen der verwendeten SAP J2EE Engine (z.B. mehrere Instanzen eines J2EE-Clusters) erreichbar sein müssen.

Genauer gesagt, bevor man archivieren kann, muss jeder Home-Kollektion eines Archivierungsobjekts eine sogenannte Ablage zugeordnet werden, die die Verbindung zu einem realen Verzeichnis oder einer realen WebDAV-Kollektion herstellt. Alternativ kann man auch allen Anwendungskollektionen, die unmittelbare oder mittelbare Unterkollektionen der Home-Kollektion sind, eine Ablage zuweisen. Vorraussetzung hierfür ist, dass keiner ihrer Elternkollektionen schon eine Ablage zugewiesen wurde. Die konkrete Definition einer Ablage erfolgt mittels der grafischen XML-DAS-Administration. Die XML-DAS-Administration ist erreichbar über folgenden Pfad:

http://<Adresse der SAP J2EE Engine>:<HTTP-Port>/DataArchivingService/DAS

Beispiel

Im Falle des Aufrufs der J2EE-Instanz 00 auf dem lokalen Rechner würden Sie den folgenden Pfad eingeben:

http://localhost:50000/DataArchivingService/DAS.

Neben der Definition von Ablagen ermöglicht es die XML-DAS-Administration, die Verfügbarkeit von Ablagen zu testen, alle dem XML-DAS bekannten Home-Pfade aufzulisten und Ressourcen zu packen.

Die XML-DAS-Administration enthält Detail-Dokumentation zu den einzelnen Funktionen. Die einzelnen Schritte zum Customizing im Anwendungssystem und die Konfiguration des XML-DAS sind unter Customizing: XML-Archivierung und Administration of the XML Data Archiving Service (nur auf Englisch verfügbar) beschrieben.

Packen

Beim Packen werden alle Ressourcen einer Kollektion komprimiert und in ein offen dokumentiertes Dateiformat geschrieben, siehe Archivierungsformat für gepackte Ressourcen . Anschließend werden die Ressourcen physisch gelöscht, bleiben aber logisch unverändert an der gleichen Stelle der XML-DAS-Hierarchie. Das heißt, Zugriffe auf gepackte und ungepackte Ressourcen unterscheiden sich höchstens durch die Zugriffszeit. Dem Nachteil der verlängerten Zugriffszeit (durch Blockzugriff und temporäre Dekomprimierung) steht der Vorteil von wesentlich weniger physischen Dateien bzw. Kollektionen (das bedeutet weniger Verwaltungseinträge, z.B. I-Nodes) und weniger Platzbedarf gegenüber. Bei Bedarf lassen sich gepackte Ressourcen mit Hilfe der XML-DAS-Administration auch wieder dauerhaft entpacken.

Einschränkungen

Archive Information System (SAP AS):

Bei der XML-Archivierung gibt es keinen Anschluss an das SAP AS, d.h. man kann weder Infostrukturen aufbauen, noch den Archive Explorer zur Suche von Ressourcen verwenden.

Beispiel

Das Beispiel-XML-Archivierungsobjekt ist BC_SBOOK_X.