2010-10-05 8 views
1

J'ai un problème simple ... J'ai une applet Java qui s'exécute sur ma machine cliente qui doit communiquer avec une base de données de mon côté. Je ne suis pas sûr de la façon dont j'y vais. Il existe de nombreux problèmes tels que l'applet non fiable à venir. S'il te plait, oriente moi dans la bonne direction. Merci d'avance.Connexion de l'applet Java avec la base de données

Répondre

2

Vous ne voulez pas donner à un applet un accès direct à votre base de données, mais plutôt une couche de logique métier pour éviter les abus. Ceci est connu comme un multitier, (aka n-tier) système. La plupart des applications Web sont conçues en 3 niveaux:

  • Présentation (dans votre cas, l'applet Java)
  • Logic (authentification de traitement logique métier, l'autorisation, la validation de la demande, traitement détaillé, etc.)
  • données (votre base de données fidèle)

applets Java peut communiquer avec votre serveur à bien des égards, mais vous le trouverez plus facile de traiter strictement les requêtes HTTP retour simples structures de données (comme JSON ou simples XML, SOAP a été conçu pour être simple mais est souvent accepté comme anything but). De cette façon, les clients peuvent facilement passer à travers les pare-feu, et si vous remodelez votre frontal en utilisant flash ou html5 à l'avenir, vous êtes back end n'aura pas besoin de changer autant.

Vous devrez décider ce qui est le plus logique pour votre niveau Logic, car il existe de nombreuses options dans de nombreuses langues. Pour être cohérent dans le langage, les servlets Java fonctionnant sur un serveur web (par exemple Tomcat) peuvent fournir votre couche logique, et il existe de nombreux outils (Spring et Guice comme framework, et MyBatis pour ORM) pour faciliter l'écriture et la maintenance des servlets - Chacun avec sa propre courbe d'apprentissage que vous aurez besoin de décider s'il a de la valeur pour vous.

Ne pas oublier de chercher ici sur StackOverflow pour plus d'explications et d'alternatives - ce n'est pas vraiment une réponse complète, mais j'espère que c'est un indicateur dans la bonne direction.

Questions connexes