<xml>cmp >>> decisive is the relevant difference
                         

Vorteile

Darstellung des Vergleichsergebnis

  • Formate
    • pdf: Ideal für den Benutzer
    • xml: Ideal für weitere automatisierte Verarbeitungsschritte
    • html: Benutzer kann ├╝ber Differenzliste navigieren
  • Inhalte
    • alle Daten + Differenzen
    • nur Differenzen

Performantes Verarbeiten großer Dateien

  • Das Verarbeiten großer Dateien ist schnell und genauso einfach wie das Verarbeiten kleiner Dateien.
  • Das Verarbeiten großer Dateien benötigt nicht viel Hauptspeicher.
  • Zum Verarbeiten großer Dateien sind keine speziellen Aktionen erforderlich! (Insbesondere keine Erhöhung des Java-heap-size-Parameters)
  • Man bekommt nicht die frustrierende Fehlermeldung "java.lang.OutOfMemoryError: Java heap space".

Keine Filter oder Programmierarbeit erforderlich

  • Alle Vergleichs-/Misch-/Konvertierungs- und Sortier-Regeln können in Xml-Steuerungsdateien definiert werden.
  • Es sind keine Filter oder Xslt-Programmierarbeiten oder irgendetwas derartiges erforderlich.
  • Mit <xml>cmp muß man kein Software-Entwickler sein um Xml-Dateien vergleichen/mischen/konvertieren oder sortieren zu können.

Verarbeitungsregeln sind hoch konfigurierbar

  • Die Regeln für das Vergleichen/Mischen/Konvertieren/Sortieren werden in einer Xml-Steuerungsdatei hinterlegt.
  • Man kann sich die Regeln für eine Xml-Datei generieren lassen ( um Tippfehler zu vermeiden).
  • Man kann die generierten Regeln mit einem einfachen Texteditor anpassen an die eigenen speziellen Anforderungen.
  • Beispiele für Vergleichsregeln:
    • Vergleiche ein Element oder Attribut nicht
    • Entferne Leerzeichen vor dem Vergleichen
    • Konvertiere eine Element oder Attribut in eine anderes Format vor dem Vergleichen
    • Berücksichtige (oder berücksichtige nicht) die Reihenfolge von Elementen
    • ..
  • Beispiele für Mischregeln:
    • Mische eine Element oder Attribut nicht
    • Mische nur Sätze, die paarig sind
    • Mische nur Sätze, die nicht paarig sind
    • Mische ein Element nur von Datei1 nicht von Datei2
    • ..
  • Beispiele für Sortierregeln:
    • aufsteigend oder absteigend sortieren
    • alphanumerisch oder numerisch sortieren
    • ..

Definieren identifizierende Elemente oder Attribute

  • Man kann die identifizierenden Elemente oder Attribute eines Satzes definieren.
  • Identifizierende Elemente oder Attribute sind die unabdingbare Voraussetzung für einen korrektes Vergleichen oder Mischen.
  • Man benötigt identifizierende Elemente oder Attribute für das Vergleichen von unsortierten Daten.

Implementieren von Regressionstests

  • Xml hat sich zur führenden Technologie für Datenaustausch entwickelt wegen seiner Vorteile. Deswegen enthalten die meisten Schnittstellen Daten im Xml-Format.
  • Um Regressionstest zu implementieren muß man
    • die Xml-Ist-Ausgabe mit der spezifizierten Xml-Soll-Ausgabe vergleichen.
    • den Exit-Code des <xml>cmp-jobs auswerten und entsprechend reagieren.
  • Mit dem <xml>-comparing-tool kann man Regressionstests implementieren
  • Während des Software-Lifecycle hat man folgende typische Probleme mit den Testfällen:
    • Modifzierte Software schreibt neue zusätzliche Xml-Elemente oder Attribute.
    • Modifzierte Software schreibt andere Inhalte in Xml-Elemente oder Attribute.
  • Da die Vergleichsregeln von <xml>cmp hoch konfigurierbar sind, kann man diese Probleme einfach lösen:
    • Man kann neue oder modifizierte Elemente oder Attribute zunächst vom Vergleichsprozess ausschliessen.
    • Wenn dann die Regressionstests erfolgreich waren, kann man - nach manuelle Prüfung - die neu erzeugten Xml-Dateien mit den neuen oder modifizierten Elementen als die neuen korrekt spezifizierten Soll-Xml-Dateien kopieren.

Detaillierte Fehler-Meldungen und statistische Informationen

  • Fehler-Meldungen beim Vergleichen von Xml-Daten:
    • Alle gefunden Differenzen werden in eine Xml-Fehlerdatei geschrieben.
    • Die Differenzen werden sortiert nach dem Differenz-Text.
    • Zu jeder Meldung werden alle betroffenen Sätze geschrieben mit deren
      • identifizierenden Elementen und Attribute und
      • nicht identifizierenden Elementen oder Attribute
    • Detaillierte Differenz-Meldungen (auf Englisch):
      • content of element <element>' is different'.
      • input[1|2] is missing element '<element>'
      • tag '<element>' of input[1|2] is not allowed.
      • content of attribute '<attribute> is different'.
      • input[1|2] is missing attribute '<attribute>'
      • attribute '<attribute>'of input[1|2] is not allowed.
      • detail-elements of identity-path '<path>' have different sequence.
      • row-sequence in identity-path '<path>' is different.
      • count of rows with same identity-path '<path>' is different.
  • Statistische Informationen beim Vergleichen von Xml-Daten:
    • Jeder Vergleich erzeugt eine Statistikdatei.
    • Inhalt der Statistikdatei:
      • alle Differenz-Meldungen und ihre Häufigkeit
      • benötigte Zeit für den Vergleich
      • benötigter temporärer Plattenplatz
      • Wert von Control-Parameter
      • ..
  • Statistische Informationen beim Mischen:
    • Jedes Mischen erzeugt eine Statistikdatei.
    • Inhalt der Statistikdatei:
      • benötigte Zeit für das Mischen
      • benötigter temporärer Plattenplatz
      • Wert von Control-Parameter
      • Anzahl von gemischten Elementen/Attribute, deren Inhalte gleich sind
      • Anzahl von gemischten Elementen/Attribute, deren Inhalte nicht gleich sind
      • ..

<xml>cmp läuft ohne komplizierten Installationsvorgang

  • Man benötigt lediglich eine Java-Laufzeitumgebung.
  • Viele selbsttestende Beispiele werden ausgeliefert, welche vom Benutzerhandbuch refrenziert und im Detail erläutert werden.
  • Man kann sofort starten mit dem ersten Vergleichen/Mischen/Sortieren/Konvertieren-Beispiel.

Einfacher Kommandoaufruf aus der Unix-Shell

  • $ xmlcmp.sh cmp.xml file1.xml file2.xml
  • $ xmlmerge.sh cmp.xml merge.xml file1.xml file2.xml
  • $ xmlsort.sh cmp.xml sort.xml file1.xml
  • $ xmltoxml.sh cmp.xml toxml.sh file1.xml

Preis und Lizenz

  • <xml>cmp hat kein kompliziertes Preis-/Lizenz-Modell.
  • <xml>cmp ist wirklich preiswert.

Wartung

  • Für <xml>cmp können Sie einen Wartungsvertrag abschließen.
  • Mit einem Wartungsvertrags erhalten Sie optimale Unterstützung direkt durch den Softwarehersteller von <xml>cmp .
Logo SOFIKA GmbH

<xml>cmp-Werkzeugkasten

  • Vergleichen von Xml-Dateien
  • Mischen von Xml-Dateien
  • Umgruppieren von Xml-Dateien
  • Sortieren von Xml-Dateien

<xml>cmp und große Xml-Dateien

  • designed für große Xml-Dateien
  • wenig Hauptspeicherbedarf
  • sehr gute Performance

<xml>cmp-Aufrufmöglichkeiten

  • Unix/Dos-Kommandos
  • Java-Api

Differenzen werden im Context der Xml-Dateien dargestellt:

  • alle Daten + Differenzen
  • nur Differenzen
  • Darstellung: Xml und Pdf
Software Fischer SOFIKA GmbH
Freseniusstr. 65
D-81247 München
Deutschland
Tel: +49 (0)89 / 81 00 90 15
Fax: +49 (0)89 / 81 00 90 16
Email: info@sofika.de