Comparando Aplicação Web Service Rest Soap
Comparando Aplicação Web Service Rest Soap
Comparando Aplicação Web Service Rest Soap
REST E SOAP
1. Introduo
Segundo Abinader Nelo e Lins (2006), Varias tecnologias surgiram nos ltimos anos
destinadas ao desenvolvimento de aplicaes para a Internet. Contudo estas possuem
suas limitaes e particularidades, que impede a troca de informaes de forma
automatizada.
2. Metodologia
Neste trabalho foi realizada extensa reviso bibliogrfica, tanto em revistas eletrnicas,
livros e site do assunto na Internet. Foi implementado posteriormente ao artigo um
prottipo simplificado para evidenciar as caratersticas de ambas arquiteturas.
3. Desenvolvimento
Segundo [David Chappell e Tyler Jewell, 2002], a especificao SOAP descreve quatro
componentes principais: a formatao de convenes para encapsular dados e
orientaes de rota na forma de um envelope, um transporte ou protocolo
obrigatoriamente, regras de codificao, e um mecanismo de RPC - (Remote Procedure
Call). O envelope define uma conveno para descrever o contedo de uma mensagem,
a qual, por sua vez tem implicaes na forma como processado. Um protocolo de
ligao proporciona um mecanismo genrico para o envio de um envelope SOAP por
meio de um protocolo de baixo nvel, tais como HTTP. Regras de codificao
proporciona uma conveno para mapear vrios tipos de dados da aplicao, para uma
representao baseada em tag XML. Finalmente, o mecanismo de Chamada
Procedimento Remoto RPC, que fornece uma maneira para representar chamadas de
procedimento remoto e seus valores de retorno. Na figura 1 exibimos um exemplo de
arquitetura Web service SOAP.
Figura 2 Exemplo de Troca de informao Entre um Cliente e Servidor usando tecnologia SOAP.
WSDL um arquivo com formato XML, que informa para a AppClient como
utilizar o servio. Neste arquivo do AppClient encontra-se informaes como nome de
mtodos, nome de parmetros, endereo do servio, como deve ser formatado o arquivo
de entrada e como ser formatado o arquivo de saida. Concluindo enfim, todo o
contedo necessrio para utilizar o servio.
3.2.1. Caractersticas
Figura 3 - Exemplo de Troca de informao Entre um Cliente e Servidor usando tecnologia REST.
Na figura 3 acima, a AppClient envia uma requisio (HTTP Request) contendo as
informaes necessrias para executar uma determinada operao para a AppServer. A
AppServer processa a requisio e devolve para a AppClient uma resposta (HTTP
Response) contendo um arquivo XML ou uma String JSON (Java Script Object
Notation) contendo desde uma simples mensagem a um conjunto de informaes
complexas. O JSON trata-se de um formato leve para intercmbio de dados.
Roy Fielding (2000), em seu trabalho acadmico Architectural Styles and the
Design of Network-based Software Architectures, na Universidade da Califrnia, na sua
dissertao de doutorado estabelece os princpios orientadores para o que veio a ser
conhecido como REST, no houve muita movimentao da comunidade acadmica,
porem agora, muitos frameworks REST esto aparecendo e continuam sendo
desenvolvidos, devido a JSR-311 do Java 6.
3.3.1. Caractersticas
Onde tem-se qualquer formato para o retorno e qualquer navegador pode ser
utilidao isso porque REST usa os padroes de chamada do HTTP, GET, PUT, POST,
DELETE e tambm pode utilizar os objetos XML, que so suportados pela grande
maioria de navegadores;
Operaes totalmente sem-estado: se uma operao precisa ser continuada, o
REST no ser a melhor opo, no caso, se for necessario operaes de CRUD stateless
(Create, Read, Update and Delete),o REST seria a melhor alternativa;
4. Consideraes finais
5. Referncias
Albinader Neto, et al. (2006), Web Services em Java, Rio de Janeiro, Brasport.
David A. Chappell and Tyler Jewell (2002), Java Web Services: Up and Running, O
Reilly Media; 1 edition
David A. Chappell and Tyler Jewell (2002), Java Web Services: Using java in Service-
Oriented Architectures, O Reilly Media; 1 edition