Je cherche de l'aide pour mettre en place une architecture pour un projet.

Il s'agit d'une application :

1) inscriptions des utilisateurs sur un site, puis téléchargement d'un logiciel.

2) le logiciel en question, sur le poste local, gère une base de données locale : consultation, affichage et mise à jour. Il y a une base par utilisateur identifié.

3) De plus, il y a échange de données dans les deux sens de cette base locale avec une base de données se trouvant sur un serveur.

Comment réaliser les composants :

1) La base des utilisateurs : LDAP ou pas?
2) Le logiciel : Java ou C++ ou VB.Net?
3) La base locale : XML ou SGBDR open?
4) La base serveur ?
5) Comment gérer les échanges ?

Merci de vos suggestions..