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



Documentos relacionados
UFG - Instituto de Informática

PROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

Kassius Vargas Prestes

Web Services. Autor: Rômulo Rosa Furtado

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

REST Um Estilo de Arquitetura de Sistemas Distribuídos

Service Oriented Architecture SOA

Serviços Web: Arquitetura

PROGRAMA DE MBA em Gestão e Engenharia do Produto. O Produto Internet e suas Aplicações

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF

INTRODUÇÃO À TECNOLOGIA SERVLETS

Web Services. (Introdução)

UNIVERSIDADE. Sistemas Distribuídos

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Arquiteturas SOA, WOA, e REST

Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP

Serviços Web: Introdução

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

Desenvolvendo Websites com PHP

18/04/2006 Micropagamento F2b Web Services Web rev 00

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

Alarme Automotivo com mensagem para móvel utilizando Arduino

NETBEANS IDE UTILIZAÇAO DE RECURSOS PARA DESENVOLVIMENTO DE PROJETO JAVA WEB

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF

Sistemas Distribuídos

HIBERNATE EM APLICAÇÃO JAVA WEB

Microsoft.NET. Desenvolvimento Baseado em Componentes

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

Introdução a Web Services

Criando e consumindo Web service REST com PHP e JSON. Palestrante: Weiberlan Garcia

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

PROJETO MODUS-SD (TUTORIAL DO PROTÓTIPO) Autor: Gregory Moro Puppi Wanderley. - O protótipo foi desenvolvido na arquitetura cliente - servidor.

Web Services: Metodologias de Desenvolvimento Carlos J. Feijó Lopes José Carlos Ramalho Fevereiro de 2004

Programação Cliente em Sistemas Web

VEÍCULO CONTROLADO POR ARDUINO ATRAVÉS DO SISTEMA OPERACIONAL ANDROID

3 Serviços na Web (Web services)

Trecho retirando do Manual do esocial Versão 1.1

Web Design Aula 11: Site na Web

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Capítulo 04: Persistência com SQLite

Web Services. Integração de aplicações na Web. Sistemas Distribuídos

Introdução ao Modelos de Duas Camadas Cliente Servidor

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão Atualização 26/01/2009 Depto de TI - FASUL Página 1

Web services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML.

REST. Caio Nakashima

Scriptlets e Formulários

TESTES AUTOMATIZADOS COM JUNITE MOCKITO

Servlets e Applets, funcionamento e comparativo.

Projuris Enterprise Visão Geral da Arquitetura do Sistema

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS

Service Oriented Architecture (SOA)

9. Quais as características a tecnologia de conexão à Internet denominada ADSL A) Conexão permanente, custo variável, linha telefônica liberada e

BPMN (Exemplos e Exercícios) e UDDI

TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo

GUIA INTEGRA SERVICES E STATUS MONITOR

APLICATIVO MOBILE CATÁLOGO DE PÁSSAROS - PLATAFORMA ANDROID/MYSQL/WEBSERVICE

Modelos de Arquiteturas. Prof. Andrêza Leite

Protocolos de Internet (família TCP/IP e WWW) Primeiro Técnico. Prof. Cesar

Java para Desenvolvimento Web

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets

CAPÍTULO 2. Este capítulo tratará :

Disciplina de Banco de Dados Introdução

Outlook XML Reader Versão Manual de Instalação e Demonstração UNE Tecnologia

Internet. Gabriela Trevisan Bacharel em Sistemas de Infomação

Manual de Operação Aplicativo ClickIt

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

UltraCard Manual de integração via WebService Página 1/13. UltraCard. Manual de integração via WebService. Versão 2.5

Curso de Aprendizado Industrial Desenvolvedor WEB

Webservices. O que é um web service? Características. Por que web services? Tipos de web services

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

Programando em PHP. Conceitos Básicos

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: ou

ClasseV. Quadro branco

Manual do AP_Conta. Manual do AP_Conta. Aplicativo para digitação e envio de contas médicas no padrão TISS

Vitória (ES), 13 de março de À T.O.D.O.S. OPERADORES S/A.

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

PROTÓTIPO DE APLICAÇÃO PARA O PROBLEMA DE ROTEAMENTO DE VEÍCULOS EM DISPOSITIVOS MÓVEIS NA PLATAFORMA ANDROID

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP

MANUAL DE INSTALAÇÃO CONFIGURAÇÃO IDE ECLIPSE

Channel. Visão Geral e Navegação. Tutorial. Atualizado com a versão 3.9

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013

Manipulação de Dados em PHP (Visualizar, Inserir, Atualizar e Excluir) Parte 2

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Transcrição:

Integração de sistemas utilizando Web Services do tipo REST Jhonatan Wilson Aparecido Garbo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil jhowgarbo@gmail.com jaime@unipar.br 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 REQUEST- RESPONSE 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 Net Beans GlassFish Oracle 10g Express Responsabilidade Linguagem de programação Ferramenta de desenvolvimento Servidor de aplicação 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-e- J2ME.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.