Fala galera, tenho lido bastante coisas sobre aplicações rodando em rede e na maioria recomenda serializar objetos. Pergunto, sempre que trabalhar na rede tenho q serializar o objeto? Por que? Talvez nao tenha entendido direito o sentido de serializar objetos.
Um objeto não passeia sozinho pela rede, como se fosse uma presença espiritual; ele deve ser traduzido para uma forma que possa ser enviada pela rede, como um array de bytes ou uma string XML. Quem manda faz a serialização (ou seja, converte o objeto para bytes) e quem recebe deve fazer o processo inverso (converter os bytes para um objeto).
L
lonnewolf
Entao na rede (lan, wan, fan, gan, pan… me empolguei…rsrs) devo sempre serializar. Aplicativos que sao local, nao ha necessidade, a menos que eu pense em expandir isto pra uma rede, certo?
E
entanglement
Se um objeto deve ser passado de um processo Java para outro processo (pode ser Java ou então escrito em outra linguagem) também é necessário serializar o objeto, já que os objetos não podem ser compartilhados entre processos, pelo menos com a implementação corrente da JVM da Sun.
L
lonnewolf
não entendi esta coisa de passar de um processo para outro. Como assim? Me de um exemplo em linguagem de alto nivel mesmo so para que eu compreenda, por favor.
Obrigado.
deniswsrosa
Serializar um objeto significa apenas falar pra JVM que ela pode mandar tranquila o seu objeto pela rede que o cara que receber ele lá na outra ponto não terá problemas.
Por exemplo, eu posso passar uma string sem problemas de uma VM para outra, mas não consigo fazer o mesmo com uma conexao com o banco de dados.
E
entanglement
lonnewolf:
não entendi esta coisa de passar de um processo para outro. Como assim? Me de um exemplo em linguagem de alto nivel mesmo so para que eu compreenda, por favor.
Obrigado.
Digamos que você tem dois programas Java rodando na mesma máquina, e quer que um troque dados com o outro. Eles não podem trocar objetos entre si; devem falar entre si, por exemplo, via sockets ou algum outro meio de comunicação entre processos (como arquivos), mas não diretamente entre si, porque não compartilham memória.