Mise en cache d'objets et de leurs relations (API EntityManager)

La plupart des mémoires cache utilisent des API fondées sur les mappes pour stocker les données sous la forme de paires clé-valeur. L'API ObjectMap et le cache dynamique dans WebSphere Application Server, entre autres, appliquent cette approche. Les API fondées sur les mappes connaissent toutefois des limitations. L'API EntityManager simplifie l'interaction avec la grille de données en facilitant la déclaration et l'interaction avec un graphique complexe d'objets associés.

Limitations de l'API fondée sur les mappes

Si vous utilisez une API basée sur les mappes, telle que le cache dynamique dans WebSphere Application Server ou l'API ObjectMap, tenez compte des points suivants :

  • Les index et les requêtes doivent utiliser la réflexion pour les zones de requête et les propriétés dans les objets cache.
  • Il est nécessaire de sérialiser les données pour améliorer les performances des objets complexes.
  • Il est difficile de manipuler des graphes d'objets. Vous devez développer l'application pour stocker les références artificielles entre les objets et joindre manuellement les objets.

Avantages de l'API EntityManager

L'API EntityManager utilise l'infrastructure de mappe existante, mais elle convertit les objets entités en ou depuis des blocs de données avant de les stocker ou de les lire dans la mappe. Un objet entité est transformé en un bloc de données clé et en un bloc de données valeur, qui sont ensuite stockés en tant que paire clé-valeur. Un bloc de données est une matrice d'attributs primitifs.

Ce groupe d'API suit le type de programmation POJO (Plain Old Java) adopté par la plupart des infrastructures.