[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