12.05.2013 Views

Edição 03 – Setembro de 2011 - Revista FOSSGIS Brasil

Edição 03 – Setembro de 2011 - Revista FOSSGIS Brasil

Edição 03 – Setembro de 2011 - Revista FOSSGIS Brasil

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

O WPS usa duas maneiras <strong>de</strong> transferir dados:<br />

- Conteúdo transferido como input e/ou output<br />

- Referencia, on<strong>de</strong> o WPS po<strong>de</strong> entrar os dados<br />

(input), e/ou on<strong>de</strong> o cliente po<strong>de</strong> encontrar o<br />

resultado do processo (output)<br />

As referências usadas em WPS são URLs<br />

(p.ex.: http://foo/servicoWPS/dadosGML.gml)<br />

que po<strong>de</strong>m ser passados <strong>de</strong> um serviço para o<br />

outro, sem que os dados sejam transferidos <strong>de</strong><br />

volta para o cliente.<br />

A segunda gran<strong>de</strong> capacida<strong>de</strong> do WPS é<br />

permitir a execução <strong>de</strong> algoritmos que po<strong>de</strong>m levar<br />

bastante tempo para executar, ou seja, mais tempo<br />

do que o permitido até que um utilizador receba a<br />

fatídica mensagem: “HTTP 408 Request Timeout”.<br />

A estratégia usada em WPS é <strong>de</strong> respon<strong>de</strong>r<br />

imediatamente com um URL on<strong>de</strong> o cliente po<strong>de</strong><br />

obter informação sobre o estado <strong>de</strong> execução do<br />

processo e os dados resultantes, caso o processo<br />

tenha terminado.<br />

Exemplo <strong>de</strong> resposta a um <strong>de</strong>scribeProcess<br />

<strong>Revista</strong> <strong>FOSSGIS</strong> <strong>Brasil</strong> | <strong>Setembro</strong> <strong>2011</strong> | www.fossgisbrasil.com.br<br />

Apenas três operações <strong>de</strong>finem o WPS:<br />

getCapabilities, <strong>de</strong>scribeProcess e Execute. As<br />

duas primeiras servem para <strong>de</strong>screver os<br />

processos disponibilizados pelo servidor, ou seja,<br />

o nome dos processos, tipos <strong>de</strong> input/output e se<br />

o processo é assíncrono (resposta imediata sobre<br />

on<strong>de</strong> vão ser <strong>de</strong>positados os resultados quando<br />

terminado). A terceira operação é a mais<br />

importante e or<strong>de</strong>na a execução do processo,<br />

tendo o cliente <strong>de</strong> indicar os inputs, ouputs e se o<br />

resultado <strong>de</strong>ve ser dado por referência.<br />

Na imagem abaixo apresenta-se um<br />

exemplo <strong>de</strong> resposta a um <strong>de</strong>scribeProcess para<br />

o servico v.net.path. O uso <strong>de</strong> XML é bastante<br />

conveniente em web services mas, para leigos,<br />

po<strong>de</strong> ser um tanto quanto difícil <strong>de</strong> perceber.<br />

São permitidos três tipos <strong>de</strong> Input/Ouputs:<br />

- Literal<br />

- ComplexData<br />

- Bounding-box<br />

11

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!