Types de données portables (cache .NET et Java)
Pour partager des données entre des applications hétérogènes, la plupart des solutions de messagerie nécessitent la création d'une application basée sur un texte de message auto-descriptif. Il incombe à l'application d'utiliser un format pour les données afin qu'elles puissent être décodées par le codage de l'application réceptrice. Si vous utilisez le format de données XML, il rencontre des problèmes de performances.
De plus, un environnement d'applications hautement concurrent avec plusieurs éditeurs présente un plus grand risque de conditions de concurrence entraînant des problèmes d'intégrité des données. Les systèmes de messagerie n'ont aucune relation inhérente entre les messages de contrôle de processus ou les messages envoyés aux capacités de messagerie (files d'attente ou sujets) de plusieurs destinations.
La plupart des solutions de messagerie sont en fait conçues pour prendre en charge plusieurs protocoles, une flexibilité en termes de fiabilité des messages, etc. Mais lorsqu'il s'agit d'applications opposées comme .NET souhaitant partager des données avec Java, vous pouvez avoir la tête lourde ou interpréter les charges utiles en fonction du codage, du décodage des messages, des paramètres de livraison des messages texte, de la corrélation des messages et de la recherche d'informations de base liées aux bases de données avant d'agir.
Portabilité des types de données dans le cache .NET et Java
NCache est livré avec la fonctionnalité de portabilité des types de données pour applications hétérogènes via cache, avec un protocole binaire qui améliore les performances en réduisant le trafic et la taille des données à l'aide d'une sérialisation compacte. Pour expliquer cette fonctionnalité nous prendrons des exemples d'entités de produits ayant des attributs identifiant, nom, quantité, catégorie, etc.
La Portabilité des types de données La fonctionnalité permettra aux applications clientes .NET de récupérer les objets de la classe Product à partir du cache inséré par les applications clientes Java et de les désérialiser avec succès en classe Product .NET et vice versa.
Il vous suffit de configurer les deux classes Product en tant que types partagés à partir des outils d'administration de NCache et mappez un ou plusieurs attributs de la classe à l'autre que vous souhaitez partager sur la plate-forme, les attributs non mappés contiendront des valeurs par défaut lors de leur réception de l'autre côté. Pour configurer le partage des données d'exécution via le NCache Centre de gestion, voir Enregistrement de classes pour le partage de données portables dans le NCache Guide de l'administrateur.
Mappage des attributs de classe
Mappage des attributs de classe | |
---|---|
Classe de produit (C#) | Classe de produit (java) |
Id | _id |
prénom | _nom |
prix | _le prix |
Quantité | |
_Catégorie |
Dans le tableau mentionné ci-dessus, les attributs de la classe ont été mappés les uns avec les autres ; la quantité et la catégorie n'ont aucun attribut de mappage dans la classe cible, elles ne sont donc pas mappées.
Notes
Index de requête sont également partagés entre les types de données partagés s’ils sont ajoutés à la liste d’index de requête.
Partage de données
Le partage de données est une fonctionnalité magnifique pour tous les clients qui utilisent les deux NCache .NET et NCache Éditions Java, mais elle présente certaines limitations répertoriées ci-dessous :
Les types génériques personnalisés sont désormais pris en charge, mais les types génériques ne peuvent pas être partagés.
En cas de versions multiples, l'utilisateur doit définir la version par défaut pour Read-Thru/Write-Thru et CacheLoader.
Un objet enregistré dans le partage de données DOIT être enregistré dans la sérialisation compacte en même temps.
Le mappage suivant doit être pris en compte lors de la sérialisation d'une classe .NET/Java :
Voir aussi
Partage de données d'exécution
Gestion des versions de classe
Clustering dynamique d'auto-guérison