OVH Cloud OVH Cloud

Que pensez-vous de mon principe d'architecture ?

3 réponses
Avatar
Samuel Arnod-Prin
Salut à tous,

je souhaiterais avoir vos avis sur le type d'architecture que je
développe depuis 2 ans et que j'aimerais faire évoluer.

Je suis passé par Tomcat+Cocoon, puis 9 mois sur .net (berk) et me
revoilà (ouf) sur Java.

Mon but étant maintenant de développer pour Weblogic et Oracle AS
notamment (meme si je suis de très près JBoss).

Jusqu'à présent, mon architecture était la suivante :

+ tout se passait comme si j'avais une application qui démarrait en
meme temps que tomcat et chargeait une tonne d'objets en cache, ca
augmentait superbement bien les performances, surtout pour un site ou
il n'y avait pas des millions de données...

Un cas simple était par exemple le dictionnaire du site (un genre de
StringManager) qui vous donne le bon texte en fonction d'une clé et de
la langue ciblée... Une Hashtable évoluée est plus rapide que des
requêtes dans la base...

Et toute mon application était faite comme ca... Des Managers qui
gérait des objets...

Imaginons un EventManager qui gère toute la logique des événements
pour votre entreprise et stocke elle meme les événements... 300 jours
par an, avec 2-3 evts par jour.. ca fait 1000 objets à gérer.. qui
prendront peut etre 500 ko à tout casser...

Ou je me perds maintenant, c'est pour utiliser les EJB (je sais je me
demande meme si j'en ai besoin). Mais partons alors dans la direction
ou mon application web devrait se déployer dans un serveur
d'application fonctionnant en load-balancing...

Mon système de cache deviendrait alors catastrophique puisqu'en cas de
modifications, il faudrait synchroniser toutes mes applications
load-balancées...

Je serai curieux de savoir ce que vous utilisez comme technique...

car une application "morte", c'est à dire qui se réveille uniquement
lorsque une requete web est effectuée ne me plait pas... Dans une
archi J2EE avec EJB, ou puis-je placer mes managers remplis de cache
??
Je peux faire un EJB Session qui est sans état mais qui n'existe
qu'une et une seule fois ?? Dans ce cas je mets tout mon cache
là-dedans et on accède à lui.. ca me résoud pas le problème du load
balancing qui est insoluble...


merci de vos commentaires et encore plus si vous me mettez en copie de
votre reply

3 réponses

Avatar
Bruno Nogent
utiliser le cache d'ejb jboss + index sur tables ?



"Samuel Arnod-Prin" wrote in message
news:
Salut à tous,

je souhaiterais avoir vos avis sur le type d'architecture que je
développe depuis 2 ans et que j'aimerais faire évoluer.

Je suis passé par Tomcat+Cocoon, puis 9 mois sur .net (berk) et me
revoilà (ouf) sur Java.

Mon but étant maintenant de développer pour Weblogic et Oracle AS
notamment (meme si je suis de très près JBoss).

Jusqu'à présent, mon architecture était la suivante :

+ tout se passait comme si j'avais une application qui démarrait en
meme temps que tomcat et chargeait une tonne d'objets en cache, ca
augmentait superbement bien les performances, surtout pour un site ou
il n'y avait pas des millions de données...

Un cas simple était par exemple le dictionnaire du site (un genre de
StringManager) qui vous donne le bon texte en fonction d'une clé et de
la langue ciblée... Une Hashtable évoluée est plus rapide que des
requêtes dans la base...

Et toute mon application était faite comme ca... Des Managers qui
gérait des objets...

Imaginons un EventManager qui gère toute la logique des événements
pour votre entreprise et stocke elle meme les événements... 300 jours
par an, avec 2-3 evts par jour.. ca fait 1000 objets à gérer.. qui
prendront peut etre 500 ko à tout casser...

Ou je me perds maintenant, c'est pour utiliser les EJB (je sais je me
demande meme si j'en ai besoin). Mais partons alors dans la direction
ou mon application web devrait se déployer dans un serveur
d'application fonctionnant en load-balancing...

Mon système de cache deviendrait alors catastrophique puisqu'en cas de
modifications, il faudrait synchroniser toutes mes applications
load-balancées...

Je serai curieux de savoir ce que vous utilisez comme technique...

car une application "morte", c'est à dire qui se réveille uniquement
lorsque une requete web est effectuée ne me plait pas... Dans une
archi J2EE avec EJB, ou puis-je placer mes managers remplis de cache
??
Je peux faire un EJB Session qui est sans état mais qui n'existe
qu'une et une seule fois ?? Dans ce cas je mets tout mon cache
là-dedans et on accède à lui.. ca me résoud pas le problème du load
balancing qui est insoluble...


merci de vos commentaires et encore plus si vous me mettez en copie de
votre reply


Avatar
Samuel Arnod-Prin
Le Mon, 2 Feb 2004 17:40:24 +0100, "Bruno Nogent"

utiliser le cache d'ejb jboss + index sur tables ?


quel est le principe ??

Avatar
Bruno Nogent
Cela part du principe qu'il est couteux d'aller chercher constament les
donnees dans la base,

Le conteneur Jboss (option A je crois) cache les objets de la base de
donnees dans un pool d'objets (Entite)
lorsque tu souhaite acceder a des donnees, jboss regarde s'il y a la donnees
en cache avec de faire la requette sql.

Ensuite le jeu est d'optimiser le nombre d'objets en memoire / temps d'acces
a la base

Attention, avec un cache objet entite, toute modification des donnes de la
base doivent se faire via ces objets entite; sinon les donnes de la base
riquent de ne pas etre synchronise avec le cache



"Samuel Arnod-Prin" wrote in message
news:
Le Mon, 2 Feb 2004 17:40:24 +0100, "Bruno Nogent"

utiliser le cache d'ejb jboss + index sur tables ?


quel est le principe ??