2008-09-17 12 views
3

Ich habe ein Java-Back-End, die in den folgenden Umgebungen Dienstleistungen für Kunden aussetzen laufen muss:Was sind die besten Remoting-Technologien für mobile Anwendungen?

für die besten
  • J2ME
  • Windows Mobile
  • iPhone

Suche Werkzeug für jede Plattform.
Ich suche keine Technologie, die überall funktioniert.
Ich brauche etwas "Licht" für niedrige Geschwindigkeit Internetzugang angepasst.

Momentan benutze ich SOAP. Es ist ausführlich und nicht leicht auf dem Handy zu analysieren. Das Problem ist, dass ich keine echte Alternative gesehen habe.

Gibt es ein Format, das "out of the box" mit einer dieser Plattformen funktioniert?
Ich würde lieber nicht eine aufgeblähte Bibliothek verwenden, die die Downloadzeit der Anwendung enorm erhöhen wird.

Jeder scheint JSON zuzustimmen. Hat jemand eine Lösung implementiert, die auf JSON mit Objective-C, J2ME, Windows Mobile basiert?

Hinweis: Bisher scheint die beste Lösung hessisch zu sein. Es funktioniert gut auf Windows Mobile und Objective-C/iPhone. Das große Problem ist J2ME. Die J2ME-Implementierung von Hessian hat ernsthafte Einschränkungen. Es unterstützt keine komplexen Objekte. Ich hatte eine andere Frage darüber geschrieben.

Wenn Sie irgendwelche Ideen haben, sind sie sehr willkommen.

Antwort

5

Hessisch. http://hessian.caucho.com. Implementierungen in mehreren Sprachen (einschließlich ObjC), extrem geringes Gewicht, und erfordert nicht die Abhängigkeit von dom/xml-Parsern für die Übersetzung von Draht- zu Objektmodellen. Als wir Hessian gefunden haben, haben wir vergessen, dass wir XML jemals kannten.

+0

Ich stimme zu, dass hession ein wunderbares Produkt ist. Aber gilt es wirklich hier? Ich habe dich in einer J2ME Umgebung ausprobiert? iPhone oder Windows Mobile? –

+0

Danke für Ihre Antwort Ich habe gerade gesehen, dass es Implementierungen für das iPhone in ObjectiveC gibt und j2me in der hessischen Online-Dokumentation erwähnt wird –

9

JSON ist ziemlich kompakt und wird von den meisten Frameworks unterstützt. Sie können Daten über HTTP mit den Standardtechniken REST übertragen.

Es gibt JSON-Bibliotheken für Java, Objective C und many other languages (nach unten scrollen). Sie sollten kein Problem haben, Framework-Unterstützung auf der Serverseite zu finden, da JSON für Webanwendungen verwendet wird.

Ältere Alternativen sind einfaches XML und XML-RPC (wie SOAP, aber viel einfacher und mit Bibliotheken für die meisten Sprachen).

+0

Hum ... Gibt es eine einfache Möglichkeit, JSON mit J2ME/WindowsMobile/Cocoa zu parsen? –

+0

Nun, die Java und Object C Versionen werden auf J2ME und Cocoa funktionieren. Welche Sprache verwenden Sie mit Windows Mobile? Es gibt ein halbes Dutzend C++ - basierte Frameworks auf der JSON-Site, die unten auf der Seite aufgelistet sind. – emk

2

REST + XML oder JSON wäre eine gute Alternative. Es macht große Fortschritte in der RIA-Welt und die Schönheit ist in seiner Einfachheit. Es ist sehr einfach zu benutzen, ohne spezielle Werkzeuge zu benötigen. SOAP hat seine Stärken, aber es funktioniert am besten in einer Umgebung mit starker Werkzeugunterstützung. Ich schätze aus Ihrer Frage, dass das nicht der Fall ist.

1

Wie wäre es mit einfachen alten XML (etwas unglücklicherweise als POX bezeichnet)? Eine weitere sehr nützliche Option wäre JSON. Es gibt Bibliotheken für jede einzelne Programmiersprache.

Möglicherweise, da Sie in einer Umgebung arbeiten, die in Bezug auf Computer- und Netzwerkressourcen eingeschränkt ist, und mit einer statisch getippten Sprache, wäre protocol buffers von Google für Sie bevorzugt. (RPC-Crude einfach ignorieren; RPC ist ein attraktives Ärgernis, keine nützliche Technologie.)

Das Problem mit Ihrer Frage ist, dass Sie nicht viele Kontextinformationen darüber gegeben haben, um welche Art von Daten es sich handelt und was Ihre Anwendungsfälle sind. Daher ist es schwierig, nur sehr vage allgemeine Aussagen zu machen.

2

Abgeben von JSON. I ported die Stringtree JSON reader zu J2ME. Es handelt sich um einen einzelnen Klassen-JSON-Reader, der in eine 5-KB-Klassendatei kompiliert wird und die JSON-Struktur direkt in native CLDC-Typen wie Hashtable und Vector mappt. Jetzt kann ich den gleichen Server sowohl für mein Desktop-Browser-AJAX-Frontend als auch für meinen J2ME-Client verwenden.