Integração de sistemas utilizando Web Services do tipo REST
Jhonatan Wilson Aparecido Garbo, Jaime Willian Dias
Universidade Paranaense (Unipar)
Paranavaí – PR – Brasil
[email protected]
[email protected]
Resumo: Este artigo constitui em uma descrição das funcionalidades do web
services, onde será abordado a importância e motivo de se utilizar um web
services, e apresentará o desenvolvimento do mesmo, utilizando a linguagem
Java e o NetBeans como IDE para desenvolve-lo. O Projeto desenvolvido é
uma aplicação simples, para demonstrar o funcionamento do web services.
1. Introdução
O WS (Web Services) foi criado para construir aplicações que são serviços na internet,
ele tem a função de chamar métodos usando XML, essa tecnologia é ideal para
comunicação entre sistemas. Essa comunicação entre os serviços é padronizada, fazendo
com que seja independente a escolha de plataforma e de linguagem [Tutorial, 2010].
De forma genérica, pode-se dizer que os WS são uma tecnologia de integração
de sistemas empregada principalmente em ambientes heterogêneos. Isso quer dizer que
utilizando essa tecnologia, podemos desenvolver softwares ou componentes de software
capazes de interagir, seja enviando ou recebendo informações, com outros softwares,
não importando a linguagem de programação em que estes foram desenvolvidos, o
sistema operacional em que rodam e o hardware que é utilizado [Gomes, 2014].
Existem dois padrões de desenvolvimento de web services, um é o SOAP
(Simple Object Acces Protocol) que é baseado no protocolo XML e o outro é o REST
(Representational State Transfer) ou RESTfull que utiliza unicamente o protocolo
HTTP.
O objetivo deste artigo é descrever os dois padrões de criação de um Web
Service, falando as suas vantagens e desvantagens, e desenvolver um pequeno Web
Service utilizando o NetBeans como IDE de desenvolvimento, e a linguagem de
programação Java e o GlassFish como servidor.
2. Metodologia
Para este trabalho foi realizada extensa pesquisas em materiais como artigos, vídeos,
livro e sites da Internet. O projeto apresentado foi criado no propósito de demostrar as
funcionalidades de um web services.
3. Desenvolvimento
3.1. Web services SOAP
SOAP é um protocolo-padrão para transmissão de dados na arquitetura de web services
criado pelo W3C, esse protocolo é baseado no XML e segue o modelo de “REQUESTRESPONSE” do HTTP. Dentro da estrutura do WS temos um arquivo do tipo XML
chamado WSDL (Web Services Description Language), cuja finalidade é descrever
detalhadamente um web services. Essa descrição são as operações que o WS vai
executar e o formato de entrada e saída de cada operação. O WSDL pode ficar
armazenado no provedor de WS quanto no UDDI [Gomes, 2014].
O UDDI(Universal Description, Discovery and Integration) é o mecanismo que
atende tanto o cliente quanto o provedor, ele tem o objetivo de fornecer ao provedor
meios para que os WS sejam registrados e publicados, assim permite que o WS sejam
pesquisados e localizados pelos clientes [Gomes, 2014].
Provedor de web services é o componente responsável em armazenar o WS ele
pode ser um servidor de aplicação como o Glassfish ou um web container como o
TomCat, um software que consumirá o WS é chamado de Cliente, pois é ele que
utilizara as operações disponibilizadas por um determinado WS [Gomes, 2014].
A figura 1 mostra o funcionamento de uma chamada ao web services SOAP e os
componentes envolvidos.
Figura 1- Arquitetura para web services SOAP criada pela W3C.
Fonte: Daniel Adorno Gomes (2014) – Web Services SOAP em JAVA.
3.2. Web services REST
Rest é um padrão para construção de web services que faz unicamente o uso do
protocolo HTTP para comunicação [Granero, 2008].
O REST possui um conjunto de operações que se aplicam a todos os recursos de
informação, geralmente elas são usadas com operações CRUD para a persistência de
dados, GET, POST, PUT e DELETE são as mais importantes.




GET - usado para recuperar dados
POST - para acrescentar dados no servidor
PUT - Usado para inserções e atualizações
DELETE - Usado para apagar dados
4. Comparativo entre o SOAP e o REST
Esse comparativo foi feito levando em consideração respectivamente que um é um
padrão arquitetural e o outro é um conjunto de protocolos e escolhido alguns tópicos
importantes para a identificação dos padrões, a Tabela 1 mostra as funcionalidades que
cada padrão apresenta [Bigolin, 2012].
Tabela 1- Comparativo entre os padrões de desenvolvimento de Web Services SOAP e REST.
Fonte: http://saloon.inf.ufrgs.br/twikidata/Disciplinas/CMP167/TF12MarcioBigolin/Textofinal.pdf, (2012).
5. Desenvolvimento de Web Services Utilizando o padrão REST
Para demostrar um WS REST, foi desenvolvido um projeto, onde sua função é buscar
uma lista de cidades dentro de um banco de dados. O projeto utilizou as tecnologias
descritas na Tabela 2.
Tabela 2. Tecnologias utilizadas no trabalho
Tecnologia
Java
Responsabilidade
Linguagem de programação
Net Beans
Ferramenta de desenvolvimento
GlassFish
Servidor de aplicação
Oracle 10g Express
Banco de dados
A figura 2 mostra a estrutura do projeto, onde foi dividido em quatro pacotes:
entidade, dao, controle e serviços.


Entidades: é onde fica a classe que contém os atributos das tabelas em banco de
dados.
DAO: é a onde fica as configurações de conexão com o banco de dados.


Controle: é onde está a classe que faz as intermediações entre as classes do
pacote dao e serviço.
Serviços: é onde fica os serviços que poder ser executados pelo web services.
Figura 2 – Estrutura do projeto
5.1. Serviço REST
Para criar um serviço, foi utilizado algumas annotations como:



@GET – define o tipo de operação GET
@Path – define o caminho do serviço
@Produces – define os formatos de dados de retorno
A figura 3 mostra o serviço do tipo GET que irá retornar uma lista de Cidades no
formato json e o caminho de identificação é “listarTodos”.
Figura 3 – Serviço listarTodos
5.2. Utilizando Web Services
Para testar o projeto, foi preciso clicar com o botão direito sobre o projeto e clicar na
opção “Testar Web Service RESTful”, que irá abrir uma página no navegador com os
serviços criados para testar. Na página do navegador do lado esquerdo mostra os
serviços disponíveis no WS, os nomes dos serviços é o mesmo que foi digitado na
annotation @Path, e no lado direito terá uma combo onde listará os tipos de retorno que
terá os serviços e logo abaixo terá um painel que trará os resultados do serviço.
A figura 4 mostra a página do navegador onde foi feito o teste do serviço
listaTodos, este serviço buscou no banco de dados as cidades e retornou uma lista de
cidades no formato json.
Figura 4 - Tela de Teste do Web Service REST
6. Considerações finais
O Web Service é muito importante para a integração de sistemas, e está sendo muito
utilizado hoje em dia, pois consegue integrar sistemas atuais com sistemas mais antigos.
Os dois padrões existentes são equivalentes, pois dependendo da situação pode ser
melhor usar um ou outro. O SOAP é mais utilizado em casos mais complexos pois ele
tem um padrão de desenvolvimento já o REST é utilizado em casos que necessita de
performance pois ele é mais ágil e fácil de implementar.
Este Artigo apresentou o desenvolvimento de um web services REST, que
possui um serviço que busca informações em banco de dados e retorna o resultado, com
isso poderia ser criado um cliente em qualquer linguagem que utilizaria a URI desse WS
para poder localizar o serviço, e assim poderia ter acesso a lista de cidades.
Esse projeto de WS desenvolvido será melhorado para ser utilizado no projeto
final de conclusão de curso, onde o WS fará a integração de um sistema móvel
desenvolvido em android, com um sistema web desenvolvido em java.
7. Referências
Tutoriais, A. (2010) Web Services. Construindo, disponibilizando e acessando Web
Services via J2SE e J2ME. Disponível em http://javafree.uol.com.br/artigo/871485
/Web-Services-Construindo-disponibilizando-e-acessando-Web-Services-via-J2SE-eJ2ME.html#ixzz30bIbcqbs. Acessado em 15/05/14.
Gomes, D. (2014) Web Services SOAP em Java. ed São Paulo: Novatec Editora Ltda.
Granero, F.(2008) Conhecendo REST . Disponível em
http://flaviogranero.com/blog/conhecendo-rest. Acessado em: 17/07/2015
Bigolin, M. (2012) REST x SOAP Análise e implementação de web services.
Disponível em http://saloon.inf.ufrgs.br/twiki-data/Disciplinas/CMP167/TF12Marcio
Bigolin/Textofinal.pdf acessado em: 19/07/2015.
Download

Integração de sistemas utilizando Web Services do tipo REST