Bonjour à tous,

Je dois développer un outil qui devra être disponible à la fois en client léger et à la fois en client lourd. Le oups c'est que je suis un noobs en développement d'application client/serveur ; j'ai fait qq trucs avec des WS REST, Spring et ExtJS mais ca n'a pas été bien loin . . Après multiples lectures et tergiversations, je suis aujourd'hui complètement perdu et sollicite votre aide.

Pour info, le client lourd proposera plus de fonctionnalités, notamment un accès aux fichiers du disque et des interactions avec un environnement 3D, nécessitant une installation sur le poste.
Hormis cela, une grande partie des couches métier et accès aux données est partagée par les 2 versions. Les données sont également stockées dans une BD commune.
Dans la même entreprise, certains utilisateurs utiliseront donc la version client léger, tandis que d'autres utiliseront la version client lourd.

Est-ce que le développement de web services REST est une bonne solution pour développer l'applicatif serveur qui sera interroger à la fois par les clients légers, à la fois par les clients lourds? quelle autre meilleur alternative?

Question supplémentaire:
Je connais relativement bien les technos traditionnelles telles que Spring, Maven, Hibernate,... mais que je les ai toujours employées dans un contexte de développement d'application desktop.
Quelle framework/techno de développement me conseillez-vous? Puis-je tenter d'utiliser Spring MVC ou même Grails (dont on vante tant de mérite sur la toile) pour le développement de la partie serveur ?

(Je reviendrai plus tard sur le fofo pour des conseils sur la techno client web pour laquelle je ne suis pas trop fixé actuellement)

Merci pour tout coup de main, coup de pouce qui puisse m'aider à avancer.