Essa semana tenho trabalhado bastante com FMS (Flash Media Server), e me surpreendi bastante quando me deparei com o modelo de dados simples e poderoso que este servidor trabalha.

Todo o modelo de dados no FMS é baseado em um SharedObject, apenas com este modelo de dados você consegue fazer aplicações interativas para seus clientes (Flash Player, Air, Flash Lite).

Existem dois tipos de SharedObject, o local e o remoto. Ambos podem ser de persistencia ou temporário. Abaixo irei diferenciar os dois.

Shared Object Local -> Este fica armazenado na maquina do cliente de maneira muito similar a um Cookie, ele pode armazenar dados do cliente para que o servidor possa utilizar em um determinado momento (como por exemplo, a posição no cenário de um game, o ponto de um vídeo que parou de assistir, etc..), ou armazenar dados a serem utilizados em uma sessão offline da aplicação, este já é um recurso antigo e pode ser utilizado sem a necessidade de um FMS.

Shared Object Remoto -> Já este Shared Object é armazenado e gerenciado pelo FMS (apenas nas versões Intercactive ou Developer Server), e é utilizado para compartilhar informações, sincronizar e armazenar  dados  em tempo real. Basta para isso o cliente conectar na aplicação, toda vez que o SharedObject for atualizado o FMS informa para todos os clientes conectados esta atualização. É uma maneira interessante de persistir dados entre o FMS e Cliente.