[Cascavel-pm] Perl Dynamic Subroutines / Functions

Joenio Costa joenio em gmail.com
Domingo Maio 10 07:28:31 PDT 2009


Olá Guilherme,

Tentando imaginar o que você está tentando fazer fico me perguntando
se você não consegue
resolver seu problema usando simplesmente seu sistema de controle de
versão (git, svn, darcs, ...)
onde os cliente monitorem mudanças num repositório central e "se"
atualizem automaticamente
ao notar qualquer mudança no código.

É uma proposta totalmente diferente das sugestões feitas até o momento
mas se eu entendi um
pouco do seu problema pode ser uma alternativa simples (e na minha
opinião elegante) de implementar.

Att,

2009/5/10 Guilherme Sperb Machado <gsmachado em gmail.com>:
> Obrigado pela resposta de todos.
>
> Vou esclarecer algumas coisas:
>
> - A idéia é fazer algo bem dinâmico mesmo. Por isso estou estudando o
> quão dinamico isso pode ser feito.
> - O IDEAL para min, seria que o servidor "distribuisse" FUNÇÕES em
> perl para os clientes, e não COMANDOS. Segue a ideia abaixo:
>
> Servidor possui implementado a seguinte funcao:
>
> sub function1 {
>  # funcao que implementa um parser em um determinado website. Essa
> funcao serah distribuida pelo servidor, porque, o parser pode mudar a
> qualquer hora sem acarretar mudancas nos clientes.
> }
>
> Essa funcao seria "enviada" de alguma maneira para os clientes. Os
> clientes receberiam essa funcao, e a usariam de uma forma previamente
> implementada DENTRO do cliente. O QUE EU QUERO EVITAR TAMBEM é um
> processamento dessa funcao pelo servidor. O cliente que precisa
> PROCESSA-LA, mas quem vai dizer COMO fazer (ou seja, a função escrita
> em si) é o servidor.
>
> Resumindo, para ficar mais claro: quero que os clientes sejam meros
> clientes burros para processamento apenas. O servidor ficaria com o
> conhecimento, e quando algo mudar (relativo ao parsing de websites,
> que por sinal sao centenas nesse meu problema), o servidor distribuirá
> as funções atualizadas para os clientes executarem e trabalharem com
> os dados obtidos. :-)
>
> Ficou mais claro?
>
> Alguem sugere alguma solução?
>
> Pelo que eu sei, RPC não serve, porque o cliente soh chama uma funcao
> no servidor, que processa, e soh dah um output pro cliente. :-( Quero
> evitar justamente isso.
>
> Não sei, pode ser que isso nao exista por problemas conceituais de
> linguagens de programação mesmo... tipo, pensando de uma forma
> SIMPLÓRIA, seria como definir uma função em uma variável ($sub1 = sub
> a { comandos }) e então enviar essa variavel $sub1 para o cliente, de
> alguma forma, e o cliente a partir daih, adaptar essa funcao recebida,
> em tempo de execucao, no seu codigo, para que seja possivel a chamada
> dela, posteriormente ao recebimento. Algo do tipo.
>
> Acho que fui mais claro agora.
>
> Abraço, e agradeço desde já,
> Guilherme Sperb Machado
>
> 2009/5/9 Otávio Fernandes <otaviof em gmail.com>:
>> Nilson e Guilherme,
>>
>> Eu gosto da alternativa de usar um WebService para esta função, assim
>> com o Lorn sugeriu, fica mais elegante na minha opinião. Quanto a
>> segurança, pode-se usar HTTPs e fazer a verificação de quais endereços
>> IPs pode mandar requisições para esta máquina em questão. Uma
>> observação, (tirando casos extremamente específicos) WS é RESTful
>> (meus dois centavos).
>>
>> um abraço,
>>
>> --
>> Otávio Fernandes <otaviof at gmail.com>
>> http://otaviof.blogspot.com/
>> _______________________________________________
>> Cascavel-pm mailing list
>> Cascavel-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/cascavel-pm
>>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>



-- 
Joenio Costa
- Salvador Perl Mongers - Grupo de Usuário Perl de Salvador
- Colibre - Cooperativa de Tecnologias Livres
- PSL-BA - Projeto Software Livre Bahia


Mais detalhes sobre a lista de discussão Cascavel-pm