Objetos de Armazenamento em Cache e seus Relacionamentos (API EntityManager)

A maioria dos produtos de cache utiliza APIs baseadas em mapa para armazenar dados como pares de chave-valor. A API ObjectMap e o cache dinâmico no WebSphere Application Server, entre outros, usam essa abordagem. Entretanto, APIs baseadas em mapas têm limitações. A API EntityManager simplifica a interação com a grade de dados ao fornecer uma maneira fácil de declarar e interagir com um gráfico complexo de objetos relacionados.

Limitações de API Baseada em Mapa

Se estiver usando uma API baseada em mapa, como o cache dinâmico no WebSphere Application Server ou a API ObjectMap, leve em consideração as seguintes limitações:

  • Os índices e consultas devem usar a reflexão para consultar campos e propriedades nos objetos em cache.
  • A serialização de dados customizados é necessária para atingir o desempenho para objetos complexos.
  • É difícil trabalhar com gráficos de objetos. Você deve desenvolver o aplicativo para armazenar referências artificiais entre objetos e uni-los manualmente.

Benefícios da API EntityManager

A API EntityManager usa a infraestrutura baseada em mapa existente, porém converte os objetos de entidade em, e a partir de, tuplas antes de serem armazenados ou lidos a partir do mapa. Um objeto de entidade é transformado em uma tupla de chave e uma tupla de valor, que são então armazenadas como pares chave-valor. Uma tupla é uma matriz de atributos primitivos.

Este conjunto de APIs segue o estilo de programação Plain Old Java Object (POJO) que é adotado pela maioria das estruturas.