Saudações moçada…
Seguinte, algum de vocês conhece ou já ouviu falar de algum padrão de projeto utilizado para otimizar processos de migração de objetos?
Essa migração seria algo físico, por exemplo, mover um objeto de uma máquina para outra. Será que deu pra entender a situação???
Certo, vou detalhar mais…
Imagine que uma determinada requisição está sendo atendida por um certo objeto. Daí em certo momento esse objeto será movido (fisicamente) da máquina de onde está para um outro local, fazendo com que ele continue atendendo as requisições normalmente, mesmo sendo movido de lugar. O meu interesse é nessa estratégia de migração, saca?
Andei pesquisando algumas coisas e selecionei algumas coisas relacionadas com agentes móveis, pois pelo que andei lendo é basicamente essa a característica dele.
Será que estou indo no caminho certo? O que acham??
Kaique, vc pode dar uma olhada em soluções de grid computing (gridgain, hadoop, etc). EJB também faz isso, mas você não tem muito controle
A pergunta que eu te faço: se isso é para fins de estudo, blz, mas vc acha que precisa mesmo disso? O objetivo é a resiliência do sistema (tipo cair um nó), ou é puramente científico?
Pode-se dizer que é algo científico. Não estou interessado em soluções prontas, mas sim em boas práticas para produzir essa tecnologia. Por isso eu comentei a possibilidade de utilizar agentes móveis.
Enfim, me parece que as indicações que você fez são de soluções já desenvolvidas que satisfazem essa minha necessidade. Vou ver se consigo aproveitar alguma coisa deles, já que são produções open source.
Obrigado pela ajuda…
[quote=kaique]Saudações moçada…
Seguinte, algum de vocês conhece ou já ouviu falar de algum padrão de projeto utilizado para otimizar processos de migração de objetos?
Essa migração seria algo físico, por exemplo, mover um objeto de uma máquina para outra. Será que deu pra entender a situação???
[quote=Rafael Carneiro][quote=kaique]Saudações moçada…
Seguinte, algum de vocês conhece ou já ouviu falar de algum padrão de projeto utilizado para otimizar processos de migração de objetos?
Essa migração seria algo físico, por exemplo, mover um objeto de uma máquina para outra. Será que deu pra entender a situação???
[quote=kaique]Pode-se dizer que é algo científico. Não estou interessado em soluções prontas, mas sim em boas práticas para produzir essa tecnologia. Por isso eu comentei a possibilidade de utilizar agentes móveis.
Enfim, me parece que as indicações que você fez são de soluções já desenvolvidas que satisfazem essa minha necessidade. Vou ver se consigo aproveitar alguma coisa deles, já que são produções open source.
Obrigado pela ajuda…
[]'s.[/quote]
Por acaso o que você quer é algo como objetos distribuidos?
[quote=Rafael Carneiro][quote=kaique]Saudações moçada…
Seguinte, algum de vocês conhece ou já ouviu falar de algum padrão de projeto utilizado para otimizar processos de migração de objetos?
Essa migração seria algo físico, por exemplo, mover um objeto de uma máquina para outra. Será que deu pra entender a situação???
[]'s.[/quote]
Seria um DTO?[/quote]
Não, de acordo com o que eu entendo de DTO. O que eu quero migrar não são objetos que “empacotam” dados, e sim objetos que, digamos, “processam” dados.
Falando de uma outra maneira, o que eu desejo é mudar (fisicamente) a localização de um objeto de negócio e estou pesquisando para tentar encontrar um padrão que me ajude nessa tarefa, sacou?
O Emerson Macedo sacou o que pretendo fazer. Alguma idéia?
O que você acha de usar “serviços” ao invés de “objetos”? Existem boas recomendações para não distribuir os objetos. Fowler publicou no seu clássico sobre arquiteturas enterprise a sua primeira lei sobre objetos distribuídos: Não distribua seus objetos.
Uma boa alternativa, já que você quer algo com um “padrão” é usar o estilo arquitetural REST, que vai fazer você chegar no mesmo resultado. Quanto a parte de mudar o objeto de máquina (física), é facil resolver isso tendo uma farm de servidores e um balanceador na frente que vai distribuir a carga entre os nós.
Fala Emerson, obrigado pelas respostas cara…
Bem, pelo que eu entendi, essas dicas que você me deu para a situação dos objetos distribuídos seria uma maneira de “como obter”, mas não um “como fazer”, se é que entendi corretamente.
O meu objetivo nisso é bolar essa estratégia de migração dos objetos, e não utilizar algo pronto. Vou avisando que essa pretensão é algo científico, fora dos objetivos do mercado hoje em dia.
Só comentando sobre seu conselho: não posso optar em não distribuir os objetos, pois a minha tarefa é justamente essa…
Continuarei minhas buscas…
Se entendi bem o que vc está querendo; vou dizer que, os clusterizadores fazem o que vc está querendo fazer.
A diferença é que quem “migra” é um CLONE do objeto a ser clusterizado. Fora isso tem a galera do Terracota http://www.terracotta.org/ tido por alguns como os radicais dos objetos distribuidos, vale a pena dar uma olhada nos tutoriais deles.
Esse aqui é a cara do que vc está procurando, é um tal de voyager; dá uma lida nas coisas deste link que vc irá entender melhor http://www.springerlink.com/content/cn20847n36378048/. É uma idéia que não é recente mas é bem maluca e acho que tem tudo a ver com o que vc está querendo; espero que vc encontre algum material elucidativo sobre ele.
P.S Sei que vc está pedindo coisas sobre padrões etc…; a questão é que, nestes casos geralmente pode não haver um padrão específico e sim varios padrões já conhecidos que colaboram entre si para implementar a idéia. Então, a questão é mais arquitetonica do que um padrão especifico, o que significa que vc terá que ser bastante criativo.