2008-08-12 12 views
8

Kann jemand ein gutes binäres XML-Format empfehlen? Es ist für eine JavaME-Anwendung gedacht, also muss es a) einfach auf dem Server zu implementieren sein und b) einfach einen Low-Footprint-Parser für ein Low-End-JavaME-Client-Gerät schreiben.Bestes binäres XML-Format für JavaME

Und es versteht sich von selbst, dass es kleiner als XML und schneller zu analysieren ist.


Die Daten wären etwas wie SVG.

Antwort

5

Vielleicht möchten Sie einen Blick auf wbxml (Wireless Binary XML) werfen, es ist für die Größe optimiert und oft auf Mobiltelefonen verwendet, aber es ist nicht für die Analyse-Geschwindigkeit optimiert.

1

Welche Art von Daten planen Sie zu verwenden? Ich würde sagen, dass, wenn der Server auch in Java ausgeführt wird, der einfachste Weg für einen kleinen Footprint darin besteht, binäre Daten in einem vordefinierten Format zu senden/zu empfangen. Schreiben Sie einfach alles in bekannter Reihenfolge in DataOutputStream.

Aber es würde wirklich davon abhängen, woran welche Art von Daten Sie arbeiten und können Sie das Format definieren.

Eigentlich sollte man bewerten, ob diese Art der Optimierung überhaupt benötigt wird. Vielleicht sind Sie Zielgeräte nicht so begrenzt.

0

Es hängt sehr vom Zielgerät ab. Wenn Sie JSR172 verfügbar haben, sind Sie mit dem Parsen fertig, die Runtime macht es für Sie. Bei XML geht es hauptsächlich darum, ein eigenes Format zu erstellen. Wie bereits erwähnt, wenn Ihr Ziel ist Leistung, als XML ist wahrscheinlich nicht der beste Weg zu gehen, und Sie am Ende einige binäre Sachen tun.

3

Hessian könnte eine Alternative wert sein, zu betrachten. Es ist ein kleines Protokoll, das sich gut für Java ME Anwendungen eignet.

"Hessian ist ein binäres Web-Service-Protokoll, das Web-Services ohne großes Framework nutzbar macht und keine neuen Protokolle lernt. Da es sich um ein binäres Protokoll handelt, ist es sehr gut zum Senden von Binärdaten geeignet muss das Protokoll mit Anhängen erweitert werden. "

Weitere Links:

http://hessian.caucho.com/

http://www.nubius.be/info-software/hessian4j.html

+1

Wir haben das auch bei TomTom. Es gibt jedoch ein Problem: Die ME-Implementierung von Hessian ist nicht dasselbe wie die SE/EE-Implementierung von Hessisch. Es gibt einige Dinge, die fehlen, also erwarte nicht in allen Fällen binäre Kompatibilität. –