Kommunikation Serverausgabe zu Clientsoftware!

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Nyrk
User
Beiträge: 16
Registriert: Freitag 17. April 2009, 22:18

Hallo,


mit meinem Programm kommuniziere ich mit einem Webserver der mir Daten zur Verarbeitung liefert. Das ganze geschieht über eine einfache PHP Ein-/Ausgabe

Meine Frage nun, wie sieht eine optimale Ausgabe des Servers aus?
Ausgabe etwa wie eine XML Datei...wie kann ich am einfachsten Werte aus einer Ausgabe auslesen?

Die Ausgabe besteht aus mehreren Werten.

Conversations_ID (INT)
Message_ID (INT)
Sender (Text)
Empfänger (Liste aus mehreren Namen)
Text (String)

evtl. noch ein paar Werte...

Gruß

Nyrk
frabron
User
Beiträge: 306
Registriert: Dienstag 31. März 2009, 14:36

Das optimale Format hängt natürlich von vielen Faktoren ab. Da die hier aber niemand kennt, ist eine Empfehlung halt schwer zu treffen. Im Grunde ist es ja egal, wie du deine Daten austauschst, solange du dich an deine Konventionen hälst.

Wenn es bereits einen Standard für deine Daten gibt, nimm den. Ansonsten wähl halt den, den du schnell und einfach umsetzen kannst.

XML ist mir persönlich zu aufgeblasen, ich benutze gerne JSON, aber wie gesagt, im Grunde Jacke wie Hose ...
lunar

Bei XML hat man mit XPath eine mächtige Abfragesprache zur Hand, und zudem die Möglichkeit, dass Format mit einem Schema strikt zu definieren und die Daten so ordnungsgemäß validieren zu können.

Ob das notwendig oder überhaupt sinnvoll ist, hängt von den Daten ab. Wenn nur triviale Abfragen zu tätigen sind, benötigt man XPath und somit auch XML nicht wirklich. Wenn die Kommunikation nur zwischen zwei Programmen stattfindet, und die Schnittstelle nicht an externe Entwickler weitergegeben wird, ist auch ein Schema nur unnötiger Overhead.

Wenn man aber weder Schema noch XPath nutzt, hat XML eigentlich auch keinen großen Nutzern, dann kann man ein kleineres, einfacheres Format wie JSON nutzen.
Antworten