Convertir une application JEE en une Application Mobile

Fermé
imasho Messages postés 38 Date d'inscription vendredi 18 avril 2014 Statut Membre Dernière intervention 29 novembre 2015 - 30 août 2015 à 00:14
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 6 sept. 2015 à 00:00
Bonjour,

Svp , j'ai développé une application web en JEE et j'aimerai mettre en place la version mobile.
Je me suis renseigné, et on m'a dit qu'il faut passer par les web services.
Est ce que vous pouvez m'expliquer plus comment procéder ? et les étapes à suivre ? ou un tuto intéressant pour ce sujet ?

Mercii d'avance les amis :)
A voir également:

2 réponses

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
30 août 2015 à 13:08
Bonjour,

"j'ai développé une application web en JEE"
Quelles étaient les technologies utilisées ?

"mettre en place la version mobile"
Quelles technologies tu vises pour "la version mobile" ?

Par exemple : si tu es sur une technologie web genre JSP et que tu veux rester sur du web côté mobile, il n'y a quasiment que le CSS à modifier...

"on m'a dit qu'il faut passer par les web services"
Le terme de "web service" est parfois utilisé à tort et à travers alors qu'il correspond à deux technologies bien précises en Java (JAX-WS et JAX-RS) qui sont évidement intéressantes mais pas forcément obligatoires.

The Java EE 7 Tutorial - Part VI : Web Services
0
imasho Messages postés 38 Date d'inscription vendredi 18 avril 2014 Statut Membre Dernière intervention 29 novembre 2015
30 août 2015 à 15:00
Merci KX pour ta réponse,

En fait pour mon application web J'ai utilisé:

- Hibernate pour la couche de persistance.
- Spring pour la couche service.
- ET JSF pour la couche présentation.

Pour la version mobile, on m'a exiger de travailler avec sencha.

Pour être plus précise (Malgré que je m'y connais pas aux web services - merci d'ailleurs pour le tuto ça semble trèès intéressant ), j'ai des méthodes là où j'ai programmer des fonctions métiers de mon appli, ce qu'on m'a proposé c'est de garder ces méthodes mais de les convertir en web services pour qu'elles soient utilisables dans mon code destiné à l'application mobile.

Est ce c'est la meilleur solution à adopter ?
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
30 août 2015 à 18:35
Si l'application de base est bien séparée en tiers, les parties Spring/Hibernate ne devraient pas bouger. Il faudra juste rajouter Sencha en frontal, soit en parallèle de JSF (chacun dans son war) soit à la place.

Je viens de regarder rapidement Sencha (dont je n'ai jamais entendu parlé), mais ça ressemble à une boîte noire (qui masque tout le fonctionnement interne) du coup je ne sais pas si les web services vont vraiment avoir un intérêt où si Sencha s'occupe de tout à sa sauce...

Pour info, l'analyse Google Trends laisse à penser que Sencha est dans le déclin.
À comparer avec d'autres technologies "à la mode" comme Angular JS ou là effectivement les web services (services REST en particulier) sont très utiles.
0
imasho Messages postés 38 Date d'inscription vendredi 18 avril 2014 Statut Membre Dernière intervention 29 novembre 2015
4 sept. 2015 à 01:47
Merci KX pour ta réponse :)
Mais comment mon application Mobile va t elle reconnaître mes services ?
Je suis donc sensée avoir des web services qui soient accessibles depuis mon application mobile ?
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
4 sept. 2015 à 09:12
Il te faut un serveur de toute façon. L'application mobile doit bien communiquer avec quelque chose, que ce soit par web service ou autres.
0
imasho Messages postés 38 Date d'inscription vendredi 18 avril 2014 Statut Membre Dernière intervention 29 novembre 2015
5 sept. 2015 à 22:54
Okey je te remercie bcp KX pour tes réponses :)

Le problème c'est que mon boss insiste sur les web services, mais je ne sais pas comment je peux les mettre en place.
Mon projet est composé de :
- des classes modèles représentants mes tables de base de données.
- des interfaces Dao avec leurs implémentations.
- des interfaces services avec leurs implémentations (utilisent le framework Spring)
- des Managed Bean (Framework JSF)

D'après ce que j'ai pu comprendre, je dois mettre en place des web services pour mes classe services , n'est ce pas ?

Si oui, est ce que je dois créer de nouvelles classes? ou bien il suffit d'ajouter des configurations aux classes existantes pour qu'ils deviennent des web services ?

Et si mes services deviennent des web services(le cas où je garde les mêmes classes services ), est ce qu'ils seront toujours utilisables par mon managed Bean ??

En Java il y'a (JAX-WS et JAX-RS) , la quel de ces 2 technologies vous me conseillez d'utiliser ?

Merci encore une fois pour ton aide :)
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019 > imasho Messages postés 38 Date d'inscription vendredi 18 avril 2014 Statut Membre Dernière intervention 29 novembre 2015
6 sept. 2015 à 00:00
" je dois mettre en place des web services pour mes classe services"
"il suffit d'ajouter des configurations aux classes existantes pour qu'ils deviennent des web services ?"
Il ne faut pas confondre les services et les web services.

Le web service va travailler en frontal sur ton application et communiquer directement avec les utilisateurs grâce à une configuration du web.xml.
Si je reprends un (vieux) schéma d'architecture Java EE :
Architecture J2EE
Les web services sont à mettre dans la couche présentation, de même que le JSF. Alors que les services sont dans la couche métier. Donc tes services ne devraient pas changer normalement, par contre en plus d'être utilisés par JSF ils vont aussi être utilisés par tes web services.

Donc oui, il va y avoir de nouvelles classes à coder et de la configuration à faire, mais dans la couche présentation uniquement (sous réserve que les services soient suffisamment complets pour couvrir tous les cas d'utilisations).

"(JAX-WS et JAX-RS) , la quel de ces 2 technologies vous me conseillez d'utiliser ?
Les deux ont leurs avantages et leurs inconvénients. Il faut voir comment s'utilise Sencha puisque c'est lui qui va consommer le web service...

Les grosses différences c'est que JAX-WS va produire du XML avec un WSDL, quelque chose de très structurée (et lourd...) alors que le JAX-RS peut produire plus ou moins n'importe quoi même si généralement ce sera du JSON à la structure libre (trop ?).

Après côté code, il est évident que JAX-RS est plus sympa, mais il faut que ça réponde au besoin, et là seul ton boss doit pouvoir trancher.

Remarque : même si dans la documentation Java EE, JAX-WS et JAX-RS sont tous les deux présentés comme des web services, certaines personnes considèrent qu'un "web service" c'est forcément du XML (donc JAX-WS), pour le JAX-RS ils parlent de "services REST" (il faut donc bien se mettre d'accord sur le résultat attendu).
0