[SP-pm] mod_perl, serviços, etc
breno
breno at rio.pm.org
Fri Jan 7 07:41:17 PST 2011
2011/1/7 Prof. Benedito A. Cruz <bene em cria.org.br>:
> Pessoal boa tarde
>
Oi Bene
>
> Gostaria de algumas sugestôes de vocês para uma arquitetura de serviços
> que eu estou trabalhando.
> A idéia é prover serviços para um ou mais clientes que irão recuperar
> imagens de um sistema remoto, via wordpress, joomla, CGIs, etc.
> A gente bolou um esquema assim:
>
> As URLs são da forma
> http://servidor.com.br/perl/services?nomedafuncao[parametro]{modificadores}.
> Por exemplo:
>
> http://servidor.com.br/perl/services?getImageByIdAsGif[XPTO1003]{Large}
> --> devolve uma imagem
>
> Pode ter mais de um parametro ou mais de um modificador assim:
>
> http://servidor.com.br/perl/services?getInfoOnImagesByUsersAsXML[XM0102,PT30303,PO222]{joe,alice}
> --> retorna um XML
>
> Na verdade no total tem mais de 30 serviços diferentes, todos nesse
> esquema. Já está funcionando tudo mas ainda tenho duas dúvidas:
>
> 1) seria possível que o script services ficasse no dir html e o apache
> soubesse que ele deve ser executado como mod-perl?
>
Acredito que sim, mas não conheço apache o suficiente (nem seu
sistema) pra colar aqui uma configuração mágica que resolve seus
problemas :-(
> 2)pensei em fazer tudo isso aí num esquema REST ou RDF mas não sei se tem
> pacotes bons para isso ou se eu teria que mexer a beça com mod_rewrite? Sei
> que deve envolver reescrita de tudo mas eu só queria saber se seria possível
> e qual a dificuldade.
>
Algo como:
-------------8<------------
#!/usr/bin/perl
use Mojolicious::Lite;
get '/id/(*ids)/modificadores/(*modificadores)' => sub {
my $self = shift;
my @ids = split '/', $self->param('ids');
my @modificadores = split '/', $self->param('modificadores');
# insira aqui seu código
};
------------->8------------
cria pra vc uma rota que pode ser acessada pelo navegador como:
http://meusite/minha_aplicacao/id/XM0102/PT30303/PO222/modificadores/joe/alice
Daí vc brinca com os parâmetros da rota e adiciona outras conforme sua
necessidade. Mas posso não ter entendido direito a sua pergunta :-)
Se é realmente isso que você quer, o Mojolicious oferece muitas outras
facilidades. Dá uma olhada em
http://sao-paulo.pm.org/artigo/2010/Mojolicious
Qq coisa grita :-)
[]s
-b
More information about the SaoPaulo-pm
mailing list