>>>>> "Prof" == Prof Benedito A Cruz <b...@cria.org.br> writes: Prof> As URLs são da forma Prof> http://servidor.com.br/perl/services?nomedafuncao[parametro]{modificadores}. Por Prof> exemplo:
Prof> http://servidor.com.br/perl/services?getImageByIdAsGif[XPTO1003]{Large} Prof> --> devolve uma imagem Prof> Pode ter mais de um parametro ou mais de um modificador Prof> assim: Prof> http://servidor.com.br/perl/services?getInfoOnImagesByUsersAsXML[XM0102,PT30303,PO222]{joe,alice} Prof> --> retorna um XML Prof> Na verdade no total tem mais de 30 serviços diferentes, Prof> todos nesse esquema. Já está funcionando tudo mas ainda Prof> tenho duas dúvidas: Prof> 1) seria possível que o script services ficasse no dir html e Prof> o apache soubesse que ele deve ser executado como mod-perl? Me parece que você está querendo executar um script feito para CGI através do mod_perl. Apesar de funcionar, é uma gambiarra tremenda e não-recomendável, a não ser que você esteja mantendo um sistema legado. Prof> 2)pensei em fazer tudo isso aí num esquema REST ou RDF mas não Prof> sei se tem pacotes bons para isso ou se eu teria que mexer a Prof> beça com mod_rewrite? Sei que deve envolver reescrita de tudo Prof> mas eu só queria saber se seria possível e qual a dificuldade. Esse é o caso para você usar REST, observa como suas urls estão re-implementando a semântica de recurso que já existe no protocolo http. Com REST as requisições ficariam mais ou menos assim: curl -X GET -H 'Content-Type: image/png' http://servidor.com.br/services/image/XPTO1003?size=large --> responde com uma imagem png curl -X GET -H 'Content-Type: image/svg+xml' http://servidor.com.br/services/image/XPTO1003?size=large --> responde com uma imagem SVG curl -X GET -H 'Content-Type: text/xml' http://servidor.com.br/services/image/XPTO1003?user=joe --> responde com xml curl -X GET -H 'Content-Type: text/yml' http://servidor.com.br/services/image/XPTO1003?user=joe --> responde com yaml A vantagem é que qualquer cliente HTTP (libcurl, wget, lynx, jquery, etc.) vai servir para consultar teu serviço programaticamente. Se você criar uma semântica própria, vai ter que implementar um cliente específico que compreenda essa semântica (receber os parâmetros, montar as urls, etc.). É trivial de fazer com Catalyst: http://www.catalystframework.org/calendar/2006/9 http://www.catalystframework.org/calendar/2009/19 -- Eden Cardim Software Engineer +55 73 9986-3963 edencardim.com =begin disclaimer Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer