Le Touilleur Express

  • Accueil
  • A propos de l’auteur
  • A propos du Touilleur Express

Jour 3 Formation JBoss for Advanced J2EE developers in Berlin

18 février, 2005

Journée 3

La journée commence par la présentation de JBossCache. JBossCache est un système virtuel en mémoire destiné à stocker soit des objets simples soit des objets complexes comme des class. Ce qui est amusant c’est que JBossCache me rappelle le PropertySpace inventé par Guillaume Pelletier mais avec une architecture et des fonctions beaucoup plus complexe. JBossCache est disponible soit comme une API à intégrer dans votre code, soit comme un MBean au sein de JBoss.

Il existe 2 implémentations: TreeCache et TreeCacheAOP. TreeCache permet de stocker et répliquer vers un autre cache des valeurs. Chaque objet est référencé par un path (/toto/titi/object) sous la forme d’un arbre en mémoire. Imaginez votre disque c:\ avec la structure de répertoire et de fichiers, vous y êtes. L’autre implémentation est TreeCacheAOP. Cette implémentation permet de gérer la réplication sur des objets Java complets. Grâce à AOP il est possible de savoir que seul le champ « Address » de la class « Customer » a été modifié et donc de ne répliquer que cette modification. C’est tout simple et très performant.

JBossCache utilise JavaGroups pour fonctionner en cluster. Il est possible d’effectuer des réplications synchrones ou asynchrones. Les Transactions permettent d’assurer la contrainte d’intégrité. JBossCache enfin permet de mettre en place plusieurs polices d’évictions pour nettoyer la mémoire et effacer les objets trop vieux. Enfin il existe un cache qui permet de cacher les accès dans le cas où JBossCache utilise une base de données pour persister son contenu. Bref c’est assez complexe et puissant.

L’implémentation TreeCacheAOP est la plus intéressante. Des interceptors permettent de voir les modifications effectuées sur les champs d’un objet et donc, d’optimiser soit l’accès à la couche de persistence (la base de données) soit la propagation au sein d’un cluster des modifications. Efficace et très rapide car seul ce qui a changé est envoyé aux nodes.

JBossCache permet donc d’avoir en mémoire des données, en les classant comme dans un système de fichier. Grâce à JGroups il est possible de répliquer le contenu du cache vers une autre instance de JBossCache. Il est aussi possible d’enregistrer dans une base de données le contenu pour pouvoir le conserver.

Après JBossCache, nous avons vu JBoss Clustering and Caching. Comment assurez les fonctions de load-balancing pour la charge et de fail-over pour la sécurité des données avec JBoss ? Présentation de JBoss HA-JNDI (High Availability), de la notion de farming, de la réplication de session HTTP, de HA-JMS, du fonctionnement du côté client du clustering… Bref c’était très chargé comme présentation.

Une fois encore grâce au système de Client Proxy les fonctions de fail-over et clustering sont invisibles pour le client. Il faut simplement utiliser les class JBoss client pour bénéficier de ce support, mais il n’y a aucunes modifications côté client sur le code.

Nous avons terminé la journée par la présentation du conteneur CMP 2.0 et donc les modifications sur le code lorsque l’on écrit des EJB. J’avoue que c’était le moins intéressant. Tout d’abord tout ce qui nous a été expliqué sera remis en cause lorsque EJB 3.0 sortira. Mais c’était intéressant de voir comment écrire un Entity Bean et le gérer avec JBoss. JBoss est capable de mettre en place des relations entre Entity Bean et dispose d’un système qui permet de définir en XML dans la config la structure d’un entity. Le conteneur se chargera de charger les données venant de la base, en suivant des règles d’optimisatin que nous pouvons définir.

Nous avons terminé par des labs sur le clustering et sur CMP avec pour exemple non pas le PetStore habituel mais la gestion d’une bande de Gangster rattaché à un Boss et disposant de différentes Capacity… Ca change.

Fin de la journée 3

Lire la suite

  • Revenir à Journée 1
  • Journée 2
  • Journée 3 (Cette page)
  • Journée 4

Articles similaires:

Default ThumbnailJour 4 Formation JBoss for Advanced J2EE developers in Berlin Default ThumbnailJour 2 Formation JBoss for Advanced J2EE developers in Berlin Default ThumbnailFormation JBoss for Advanced J2EE developers à Berlin Default ThumbnailFormation DDD jour 2

Derniers articles

  • Vis ma vie de Staff/Principal Engineer

    Suite de l’article précédent sur le Staff Engineer. Aujourd’hui, voyons un peu

    20 juillet, 2022
  • Inari

    Devenir Staff Engineer : comment et pourquoi ?

    Après une dizaine d’années en tant que développeur, vous serez un jour

    17 juillet, 2022
  • WeAreDevelopers 2022, conférence à Berlin – jour 1

    Il est 8h40, 19 degrés, vous êtes à Berlin. La queue dehors

    24 juin, 2022

Tweets @nmartignole

  • RT  @katecrawford : Umm, anyone a little concerned that Bard is saying its training dataset includes... Gmail? I'm assuming that's flat out…

    2 days ago
  • Je découvre qu’ils apprennent le SQL en Terminal, très intéressant https://t.co/MrfcHve9wo

    3 days ago
  • RT  @AmelieBenoit33 : Je m’essaye à de nouveaux formats ! Un premier sketch qui me trottait en tête depuis le sketchnote précédent; la techn…

    3 days ago

Mots clés

Apple (32) Architecture (13) Big Data (5) Conference (8) Devoxx (55) Dev Web (37) Doctolib (2) geekevent (1) groovy (2) Innoteria (11) Java (517) Linux (10) Non classé (14) Perso (266) Recrutement (3) Scala (30) scrum (43) Société (3) Startup (20) Web 2.0 (67)

Le Touilleur Express

Blog par Nicolas Martignole

Contactez-moi : nicolas@touilleur-express.fr

Suivez-moi sur Twitter : @nmartignole

Copyright© 2008 - 2020 Nicolas Martignole | Tous droits réservés
  • A propos de l’auteur
  • A propos du Touilleur Express
  • Log In
  • My Account
  • My Profile
  • Reset Password

Le Touilleur Express