Anzeige


XML - ein Datenformat, das Computer verstehen...


Über XML wurde schon viel geschrieben. XML kann vieles, damit kann man Informationen darstellen und pipapo...

Dieser Text ist daher für unsere jungen Kollegen. Für diejenigen, die verstehen wollen, WAS WIR mit XML machen. Dieser Text ist hingegen KEINE Grunderklärung von XML mit allen Facetten. Dafür gibt es reichlich Bücher. Wer sich mit XML bis in die Tiefen auseinander setzen möchte, sollte schon ein paar Euro investieren, um sich über Knoten, Attribute und Co zu informieren. Hier geht es nur um XML und um unser Loblied, wie das XML Format in unseren Anwendungen den Datenaustausch von Computern vereinfacht hat.

Daher sehen wir es einfach: XML ist für uns ein Datenformat mit dem Computer untereinander Daten und Informationen austauschen können. XML ist anwendungsneutral. XML ist offen. XML Dateien kann jeder lesen - sowohl verschiedene Computerprogramme als auch der Mensch.

Aus dem realen Leben: der Chinese spricht chinesisch, der Deutsche deutsch. Wenn sich die beiden unterhalten wollen, muss einer von beiden die Sprache des anderen lernen. Oder aber beide einigen sich auf einen Dialekt in dem sie ihre Informationen austauschen können. Ungefähr das ist XML: der Chinese übersetzt seine Aussage in XML - der Deutsche kann XML lesen und die Informationen verarbeiten.

Ja, ähm, werden Sie jetzt sagen: damit ist XML ja auch nur eine Sprache. Bevor ich XML lerne hätte ich auch chinesisch lernen können. Oder der Chinese Deutsch. Na ja, die Antwort ist ziemlich einfach: XML ist sozusagen eine "Weltsprache", die von völlig unterschiedlichen Nationalitäten genutzt werden kann. In der IT Welt heisst es dann: moderne Software kann XML Dateien lesen und schreiben. Mit XML lassen sich Daten aus anderen Anwendungen übernehmen und korrekt verarbeiten - ohne dass man Details der Anwendung kennen muss.

Ein Beispiel:

Wir haben vor Jahren eine kleine Buchliste erstellt, die wir mit einem beliebigen Minidatenbankprogramm pflegen. In dieser Datenbank sind unsere Bücher mit Titel, Autor und einer kleinen Beschreibung aufgeführt. Da wir die Dinger ständig suchen haben wir auch noch den Lagerort sowie ein Lesedatum aufgenommen.

Irgendwann, eines Tages, wollen wir unsere alte Software nicht mehr verwenden. Wir gehen also bei und schreiben uns selbst ein kleines Programm, das diese Buchliste zukünftig verwalten soll. Schneller, einfacher, besser - oder was auch immer. Das Programm ist schnell geschrieben. Mehr als ein / zwei Abende braucht es nicht. Am Ende kommt dann die Aufgabe: die schon vorhandene Buchliste wollen wir aus dem Datenbankprogramm in unsere neue Software übernehmen.

Unsere neue Software hat eine Importfunktion. Damit kann man Daten einlesen. Nur: unser altes Datenbankprogramm hat keine Exportfunktion!

Um es plastischer zu gestalten: Stellen wir uns vor, wir hätten eine uralte Excel Version. Das alte Exel kennt natürlich noch kein XML. Dafür kann es die Daten aber in eine CSV Datei exportieren (Datenfelder getrennt mit ";", Satzende getrennt mit CRLF).

Die Importfunktion unseres neuen Programmes können wir jetzt problemlos auf CSV erweitern - nur: unglücklicherweise enthalten einige Felder in unserer Liste exakt die Zeichen, die in der CSV Datei als Trenner (;) oder Satzende (CRLF) definiert sind. Die Daten sind damit nicht mehr eindeutig, da z.B. die Zeichenfolge CRLF mehrfach vorkommen kann. Dumm gelaufen. Um die Buchliste aus der alten Software in unser neues Programm zu übernehmen, müssen wir uns programmtechnisch die Finger brechen.

Viel einfacher wäre es jetzt, wenn unser altes Programm den XML Export beherrscht. Dabei werden alle Datensätze in einem einheitlichen XML Format gespeichert. Das kann man sich im Browser betrachten - oder problemlos mit unserer neuen Software importieren.

Beispiel der Excel Datei:

Beispiel CSV Datei:

Unter XML könnte das z.B. so aussehen:


XML in Industrial IT

Vollziehen wir jetzt einmal den Schwenk in das reale IT Leben in der Industrie. Wir verbringen einen nicht unerheblichen Teil unserer Zeit damit, Softwareanwendungen für Industriecomputer zu erstellen. Einige Beispiele:

  • Eine Lagerdatenverwaltung - um direkt im Lager Artikelentnahmen oder Lieferungen zu erfassen.
  • Eine Betriebsdatenerfassung - um an der Maschine erledigte Fertigungsaufträge einzugeben.
  • Eine Zeiterfassung - um die Arbeitszeiten einzelner Mitarbeiter zu erfassen und zu speichern.

Diese Anwendungen laufen typischerweise auf einem kleinen Industriecomputer, der direkt im Lager, an der Maschine oder am Werkstor hängt. Der Industriecomputer verwendet Linux - aber davon merkt der Bediener nichts. Was den Bediener nur und ausschliesslich intereressiert: das er seine Fertigungszeiten, seine Artikel, seine produzierten Mengen usw. eingeben kann. Über Tastatur, Barcode, RFID Transponder - oder die Werte direkt aus einer Maschine übernommen werden.

Unser kleiner Industriecomputer speichert alle eingegebenen Informationen und zu bestimmten Zeiten sollen diese an einen "richtigen" Computer zur Auswertung übertragen werden. Den "richtigen" Computer nenne ich jetzt mal Desktop PC - und der steht in der Verwaltung. Heute macht man so etwas im Netzwerk - Ethernet LAN oder Wireless / WLAN: Computer sind untereinander vernetzt. Jeder verfügt über eine eindeutige IP Adresse im Netzwerk. Auch der kleine Industriecomputer.

Als Datenprotokoll wird etwas verwendet, das sich TCP IP nennt. Da muss man nicht viel darüber wissen, ausser das es ein genormtes Verfahren ist, wie Computer untereinander Daten austauschen. Der Inhalt der Daten spielt keine Rolle, lediglich die Art und Weise der Kommunikation ist festgelegt.

Auf dem Desktop PC im Büro wird daher eine kleine Software gestartet, um die Daten aus dem Industriecomputer zu übertragen. (Oder aber der Industriecomputer überträgt die Daten selbst irgendwo hin. Aber das spielt für unser Beispiel keine Rolle.)

Das Programm, um Daten im Netzwerk unter TCP / IP zu übertragen nennt sich übrigens FTP - File Transfer Protocoll. FTP Programme gibt es für alle gängigen Betriebssysteme. Der Desktop Computer verwendet also ein FTP Programm, um die Daten vom Industriecomputer abzuholen und lokal auf der Festplatte zu speichern. Nach dem Speichern will der Benutzer die Daten verarbeiten. In der einfachsten Form kann dieses z.B. geschehen, um sich die Daten in Tabellenform unter Excel anzuzeigen. Schliesslich möchte man in der Verwaltung ja wissen, wer / wann welche Teile aus dem Lager entnommen hat oder welche Aufträge an der Maschine heute gefertigt wurden.

Moderne Excelversionen können XML Formate lesen. Ein kurzer Mouseklick - und die Daten werden unter Excel angezeigt.

Doch vielleicht hat das Unternehmen auch eine komplexe Betriebssoftware im Einsatz, z.B. ein komplettes MES / ERP / PPS Paket zur Planung und Steuerung der Abläufe im Unternehmen. Diese Software weiss noch gar nicht, dass ein Industriecomputer Daten in der Produktion erfasst hat. Aber diese Software unterstützt den Import von XML Dateien. (Neuere und gute Programme tun das.) Also auch hier ein paar Mouseklicks - und schon werden die Daten aus dem Industriecomputer in das Softarepaket importiert. Die Daten können dann beliebig verarbeitet und ausgewertet werden.

Daher gilt für uns: XML ist genial, um Daten von verschiedenen Systemen und aus verschiedenen Anwendungen auszutauschen. Aus diesem Grund verwenden wir in unseren Programmen immer und grundsätzlich das XML Datenformat...


Weitere Informationen

Informationen über unsere Anwendungen finden sich hier: www.terminal-systems.de**

XML bei Wikipedia - dort finden sich dann umfassende Informationen: XML Wikipedia**

Die Anwendung für die kleine Buchliste im obigen Beispiel gibt es hier: BUCHINVENT-win - unsere kleine Buchverwaltung

Oder ein ganzes Lagerprogramm, das die Daten im XML Format verwaltet: WWS-LITE-win - Lagerverwaltung**

Text: Hans-J. Walter, Stand Januar 2008
Kontakt: infoATterminal-systems.de
Pers. Anmerkung: Obiger Eintrag ist subjektiv und persönliche Meinungsäusserung. Er stellt keine Wertung für irgendwelche Softwarepakete da.

(c) hjw AE, Last Update: 26.01.2011. Alle Angaben ohne Gewähr
IT Lösungen für die Industrie: www.terminal-systems.de || IT Beiträge