Pourquoi et comment est la sérialisation Java des applications web?
Je travaille sur une application web Java où le cadre insiste sur le fait que tout est Sérialisable. Je suppose que ce n'est pas spécifique pour le cadre mais pour les applications web en Java en général et ma question est: qu'est-ce que le cadre de travail /serveur /quelle est la sérialisation des choses? A-t-elle à le faire?
Note: je ne sais pas beaucoup sur les applications web ou de sérialisation.
Entrée correspondante: bit.ly/de9m0
OriginalL'auteur | 2009-05-21
Vous devez vous connecter pour publier un commentaire.
Typiques problème est que lors de la réplication ou de l'arrêt du serveur, les internes HTTP Sessions sont "Sérialisés" à un magasin persistant, de sorte qu'ils peuvent être récupérés ou partagé.
La sérialisation est d'enregistrer l'état d'un Objet, et d'être en mesure de reconstituer l'état à une date ultérieure.
OriginalL'auteur Will Hartung
Il n'est pas strictement nécessaire pour la plupart des applications, mais peut aider à la performance de deux façons:
OriginalL'auteur Michael Borgwardt
La sérialisation est utile dans tout environnement d'application, et pas seulement les applications web.
Une grande utilisation de la sérialisation est pour le transport. Vous souhaitez copier ou déplacer un objet vers un ordinateur distant, dire un UserProfile. Vous pouvez sérialiser l'Utilisateur, d'envoyer les données sérialisées (généralement XML) et désérialiser un objet sur l'extrémité de réception, à quel point il peut être manipulé comme si elle était l'objet d'origine.
Une autre utilisation est de sauver de l'état. Vous pouvez avoir un jeu et que vous voulez économiser l'état exact d'un plateau de jeu. Vous pouvez sérialiser le Conseil de l'objet qui peut par la suite être dit pour sérialiser chacun de ses Tuiles.
OriginalL'auteur Soviut
Selon le cadre, les objets dans la session pourraient être enregistrées sur le disque en utilisant la sérialisation.
OriginalL'auteur Allain Lalonde
Si vous êtes à l'aide de l'Enterprise Java Beans (Ejb), et ont un Bean Session sans état d'API, puis chaque SSB instance s'exécute dans un thread sur une Machine Virtuelle Java, et de ses clients dans des threads différents, et, en général, dans les différentes machines virtuelles sur des ordinateurs différents. Parce que vous ne pouvez pas passer d'une référence à un objet Java à partir d'une JVM à l'autre, l'objet doit être sérialisé en chaîne de caractères, envoyé à l'autre de la JVM, et puis désérialisé de retour dans un objet. Cette sérialisation/désérialisation advient-il des arguments d'entrée et la valeur de retour de sortir.
Si vous utilisez le Service de messagerie Java, les objets que vous envoyez dans chaque message est sérialisé dans une chaîne de caractères, ont persisté dans une base de données, puis obtenir désérialisé par le récepteur de messages à un autre moment et le lieu.
Et, comme Hartung points, Session HTTP objets en général sont partagés entre les machines virtuelles. Si vous avez un cluster de Glassfish serveurs d'applications Java EE de l'exécution d'une application ecommerce, chaque demande du client équilibrage de charge à n'importe quel serveur, et le serveur doit être en mesure de regarder le client de l'état de session (nom du client, panier, etc.). Il ne peut obtenir ce par le biais de la sérialisation. L'état de Session peut également être écrit sur le disque (par exemple, une base de données) pour plus de sécurité.
OriginalL'auteur Jim Ferrans