single.php
< Beitrag von Götz Gleitsmann

XML-basierte Katalog-Applikation – alles aus einem Guss

In diesem Artikel geht es um ein Projekt bei einem großen IT-Dienstleister, dessen Anforderung es war, die Nutzung seiner Konfigurations- und Rechnerplattform-Kataloge zu beschleunigen. Für die Umsetzung wurde eine XML-basierte Katalog-Applikation modelliert, die für die Speicherung der Kataloge eine relationale Datenbank benutzt.

Bis auf eine Java-Komponente erfolgte die Implementierung ausschließlich in Oracle. Dies umfasst neben der Datenhaltung auch zahlreiche Schnittstellen zu weiteren Systemen, z. B. einem SAP-System. Im Folgenden wird auf die speziellen Herausforderungen bei der Modellierung der XML-basierten Katalog-Applikation eingegangen.

XML-basierte Katalog-Applikation – die Herausforderungen

Im Verlauf der Implementierung ergaben sich zahlreiche Herausforderungen. So stellte sich der Oracle Warehouse Builder (OWB) überraschend als Hürde dar, weil bei der Überführung der in CPDM-XSD gespeicherten Katalogdaten in die Tabellenstruktur der Datenbank folgende Probleme mit dem XML-Format auftraten:

  • Durch zyklische Referenzen im XML-Dokument entstanden Endlosschleifen bei der Analyse und der relationalen Verteilung.
  • Kein automatisiertes Einlesen der XSD-Datei, weil das Vererben bei komplexen Datentypen nicht möglich ist

Offensichtlich kann OWB nur sehr einfache Strukturen sicher erkennen, was letztlich zu der genannten Ersetzung des OWB durch manuelles Coding führte. Die Komplexität des XML-Schemas führte zu Engpässen im Hauptspeicher der Datenbank. Dies wird hauptsächlich durch den DOM-Parser verursacht, der beim Einlesen großer XML-Dokumente (größer 180 MB) eine sehr große Anzahl von Objekten erzeugt. Implementierungsschwächen des Parsers führten zur Nicht-Freigabe nicht mehr benötigter Speicherbereiche und damit zu betrieblichen Problemen.

Für die Kommunikation mit den SAP-Systemen zur Anlage von Materialnummern und Preisen waren aufgrund der Sicherheitsanforderungen zahlreiche Firewalls und SAP-Web-Dispatcher zu berücksichtigen. Dies erforderte, an vielen Stellen Ports und Zertifikate zu hinterlegen sowie Konfigurationen der Proxys, Router, Firewalls und Dispatcher durchzuführen.

Zur manuellen Bearbeitung der Daten gibt es abgesehen von der GUI die Möglichkeit, die Daten im Excel-Format zu exportieren, manuell zu verarbeiten und wieder zu importieren. Der Transport der verschlüsselten Passwörter zwischen verschiedenen Applikationen erfolgt so, dass sie auch für Systemadministratoren unsichtbar bleiben.

Fazit und Ausblicke

Die Bearbeitung großer XML-Dateien ist immer sehr langsam. Durch die hier beschriebene Implementierung konnte selbst mit den umfangreichen automatischen Prozessen eine sehr gute Performance erreicht werden. Das vorliegende System kann an beliebige Systeme angekoppelt werden, da es sowohl relationale als auch im XML-Format gespeicherte Daten anbieten beziehungsweise verarbeiten kann.

Details zur Architektur, Implementierung und den wichtigsten Komponenten der Konfigurations- und Rechnerplattform (KRP) dieses Dienstleisters finden sich in dem ausführlichen Artikel KRP Katalog-Applikation – alles aus einem Guss, der in der DOAG News erschienen ist.

Folgen
X

Folgen

E-mail : *
Kategorie: Oracle-Development | Schlagwörter: , , , , | Kommentare: 0

Beitrag kommentieren

CAPTCHA * Time limit is exhausted. Please reload CAPTCHA.