|
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 .
|
<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
Neue Features in Release V1.10
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
|