Tipos de dados portáteis (.NET e cache Java)
Para compartilhar dados entre aplicativos heterogêneos, a maioria das soluções de mensagens exige a construção de um aplicativo baseado em texto de mensagem autodescritivo. Torna-se responsabilidade da aplicação utilizar um formato para os dados para que possam ser decodificados pela codificação da aplicação receptora. Se você usar o formato de dados XML, ele encontrará problemas de desempenho.
Além disso, um ambiente de aplicativos altamente simultâneo com vários editores tem uma chance maior de condições de corrida causarem problemas com a integridade dos dados. Os sistemas de mensagens não têm relacionamento inerente entre mensagens de controle de processo ou mensagens com recursos de mensagens (filas ou tópicos) de vários destinos.
A maioria das soluções de mensagens são, na verdade, projetadas para oferecer suporte a vários protocolos, flexibilidade em termos de confiabilidade de mensagens e muito mais. Mas quando se trata de aplicativos opostos como .NET que desejam compartilhar dados com Java, você pode construir cabeças pesadas ou interpretação de codificação de mensagens com base em cargas úteis, decodificação, configurações de entrega de mensagens de texto, correlação de mensagens e bancos de dados de pesquisa relacionados a informações básicas antes de agir.
Portabilidade de tipo de dados em .NET e Java Cache
NCache vem com o recurso de portabilidade de tipo de dados para aplicações heterogêneas através de cache, com protocolo binário que aumenta o desempenho reduzindo o tráfego e o tamanho dos dados com a ajuda da serialização compacta. Para explicar esse recurso, tomaremos exemplos de entidades de produto com atributos id, nome, quantidade, categoria, etc.
A Portabilidade do tipo de dados O recurso permitirá que aplicativos cliente .NET busquem objetos da classe Produto do cache que é inserido por aplicativos cliente Java e será desserializado com êxito para a classe Produto .NET e vice-versa.
Você só precisa configurar ambas as classes Product como tipos compartilhados nas ferramentas administrativas do NCache e mapear um ou mais atributos da classe para outro que você deseja compartilhar na plataforma, os atributos não mapeados conterão valores padrão enquanto são recebidos do outro lado. Para configurar o compartilhamento de dados de tempo de execução por meio do NCache Centro de gerenciamento, consulte Registrando Classes para Compartilhamento de Dados Portáteis no NCache Guia do Administrador.
Mapeamento de atributos de classe
Mapeamento de atributos de classe | |
---|---|
Classe de produto (C#) | Classe de produto (java) |
Id | _id |
nome | _nome |
preço | _preço |
quantidade | |
_categoria |
Na tabela mencionada acima, os atributos da classe foram mapeados entre si; quantidade e categoria não possuem atributos de mapeamento na classe de destino, portanto, não são mapeados.
Note
Índices de consulta também são compartilhados entre tipos de dados compartilhados se adicionados à lista de índices de consulta.
Compartilhamento de dados
O compartilhamento de dados é um recurso magnífico para todos os clientes que usam ambos NCache .NET e NCache Edições Java, mas tem algumas limitações listadas abaixo:
Os tipos genéricos personalizados agora são suportados, mas os tipos genéricos não podem ser compartilhados.
No caso de múltiplas versões, o usuário precisa definir a versão padrão para Read-Thru/Write-Thru e CacheLoader.
Um objeto registrado no Compartilhamento de Dados DEVE ser registrado na Serialização Compacta ao mesmo tempo.
O seguinte mapeamento deve ser considerado ao serializar uma classe .NET/Java:
Veja também
Compartilhamento de dados em tempo de execução
Versão de classe
Clustering dinâmico de autocura