2008-09-17 4 views
3

J'ai un java back-end qui a besoin d'exposer des services aux clients en cours d'exécution dans les environnements suivants:Quelles sont les meilleures technologies d'accès distant pour les applications mobiles?

  • J2ME
  • Windows Mobile
  • iPhone

Je cherche le meilleur outil pour chaque plate-forme.
Je ne recherche pas une technologie qui fonctionne partout.
J'ai besoin de quelque chose de «léger» adapté à l'accès Internet à basse vitesse.

En ce moment j'utilise SOAP. C'est verbeux et pas facile à analyser sur le mobile. Le problème est que je n'ai pas vu de véritable alternative.

Y at-il un format qui fonctionne "prêt à l'emploi" avec l'une de ces plates-formes?
Je préfère ne pas utiliser une bibliothèque gonflée qui augmentera énormément le temps de téléchargement de l'application.

Tout le monde semble être d'accord sur JSON. Est-ce que quelqu'un a implémenté une solution basée sur JSON fonctionnant avec Objective-C, J2ME, Windows Mobile?

Remarque: jusqu'à présent, la meilleure solution semble être Hessian. Cela fonctionne bien sur Windows Mobile et Objective-C/iPhone. Le gros problème est J2ME. L'implémentation J2ME de Hessian a de sérieuses limitations. Il ne prend pas en charge les objets complexes. J'avais écrit une autre question à ce sujet.

Si vous avez des idées, elles sont les bienvenues.

Répondre

5

Hesse. http://hessian.caucho.com. Implémentations dans plusieurs langues (y compris ObjC), poids super léger, et ne nécessite pas de dépendance sur les analyseurs dom/xml pour la traduction de modèles fil à objet. Une fois que nous avons trouvé Hessian, nous avons oublié que nous connaissions XML.

+0

Je suis d'accord hession est un produit merveilleux. Cependant, cela s'applique-t-il vraiment ici? Vous avez essayé hession dans un environnement J2ME? iPhone ou Windows Mobile? –

+0

Merci pour votre réponse Je viens de voir qu'il y a des implémentations pour iPhone dans ObjectiveC et j2me est mentionné dans la documentation en ligne de Hesse –

9

JSON est assez compact et supporté par la plupart des frameworks. Vous pouvez transférer des données via HTTP en utilisant les techniques standard REST. Il existe des bibliothèques JSON pour Java, Objective C et many other languages (faites défiler vers le bas). Vous ne devriez avoir aucun problème à trouver un support de framework côté serveur, car JSON est utilisé pour les applications web.

Les alternatives plus anciennes incluent le XML et le XML-RPC (comme le SOAP, mais beaucoup plus simple et avec des bibliothèques pour la plupart des langages).

+0

Hum ... Existe-t-il un moyen simple d'analyser JSON avec J2ME/WindowsMobile/Cocoa? –

+0

Eh bien, les versions Java et Object C fonctionneront sur J2ME et Cocoa. Quelle langue utilisez-vous avec Windows Mobile? Il existe une demi-douzaine de frameworks basés sur C++ sur le site JSON, répertoriés au bas de la page. – emk

2

REST + XML ou JSON serait une bonne alternative. Il fait de grands progrès dans le monde de RIA et la beauté est dans sa simplicité. Il est très facile à utiliser sans avoir besoin d'outils spéciaux. SOAP a ses points forts, mais cela fonctionne mieux dans un environnement avec un support d'outils solide. Je devine de votre question que ce n'est pas le cas.

1

Que diriez-vous de XML ancien (un peu malheureusement appelé POX)?

Une autre option très utile serait JSON. Il existe des bibliothèques pour chaque langage de programmation. Il est possible que, puisque vous travaillez dans un environnement limité en termes de ressources informatiques et de mise en réseau, et que vous utilisiez une langue statiquement typée, le protocol buffers de Google soit préférable pour vous. (Ne tenez pas compte de la crasse RPC là-dedans, RPC est une nuisance attrayante, pas une technologie utile.Le problème avec votre question est que vous n'avez pas fourni beaucoup de contexte sur ce type de données et quels sont vos cas d'utilisation, il est donc difficile de parler autrement que des généralités très vagues.

2

Secondage JSON. I ported le Stringtree JSON reader à J2ME. C'est un lecteur JSON de classe unique qui se compile dans un fichier de classe de 5 Ko et mappe directement la structure JSON en types CLDC natifs tels que Hashtable et Vector. Maintenant, je peux utiliser le même serveur pour mon interface de bureau AJAX et mon client J2ME.

Questions connexes