Bonjour,
comme j'ai pu l'expliquer dans ce thread, je realise la reecriture d'un serveur multi-protocol de PHP en Java. Or dans ce cadre, il me faut egalement reecrire l'interface PHP de communication avec la base de donnees. Voici comment cette interface est pensée :
- Les utilisateurs n'ont pas acces aux tables et doivent, pour acceder a l'information de la bdd, faire appel a des procedures stockees.
- L'application PHP n'a pas directement acces a la connection etablie avec la bdd. La communication se fait par le biais d'une classe (eg: mysql). Ainsi la methode PHP $mysql->ftp->list($sid,$dir) execute la requete call ftp.list(sid,dir); sur le serveur mysql.
Maintenant concernant la reecriture en Java de ces classes, j'ai quelques questions :
- Existe-t-il un equivalent aux variables globales en Java? (eg: La classe mysql serait initiee au demarrage de l'appli et devrait-etre accessible depuis tous les threads que cette appli serait amenee a lancer.)
- Est-il concevable de conserver un callable statement pour chaque procedure stockes de la bdd? Cela aurait-il un interet au niveau des performances? Quel incidence cela pourrait-il avoir sur la ressource du serveur (MEM,CPU,...) : J'ai pu constater en PHP un gain interessant au niveau des performances avec l'utilisation des requetes preparees. Seulement de part le fonctionnement procedurale des script PHP, ce mecanisme n'a d'interet que dans des cas tres particulier (eg: le temps de preparation de la procedure doit etre justifié par le gain de temps sur l'execution repetitive de son execution. Ce qui implique un grand nombre d'execution). Mais dans le cadre de mon application en Java, le temps 'perdu' pour preparer les requetes lors du chargement du serveur serait compense par le nombre de requetes execute sur toutes la duree de vie de l'application.
Partager