RestFull WebServices. Rafael Nunes Arquiteto de Software / Instrutor Globalcode. Globalcode Open4Education



Documentos relacionados
WOW Mobile Rui Miguel Miranda Ramos

REST. Caio Nakashima

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

Web Services REST. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

SOA na Prática Ricardo Limonta

Projecto Integrador. Introdução ao REST. Material de suporte às aulas de Proj. Integrador (Nuno Preguiça) Copyright DI FCT/ UNL / 1

Arquiteturas SOA, WOA, e REST

REST Um Estilo de Arquitetura de Sistemas Distribuídos

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

SOA. Service Oriented Architecture. Maxmiliano Franco Braga

Manual de Integração WebService

Projecto Integrador. Introdução ao REST. Material de suporte às aulas de Proj. Integrador (Nuno Preguiça) Copyright DI FCT/ UNL / 1

UNIVERSIDADE. Sistemas Distribuídos

3 Serviços na Web (Web services)

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

Web Services. (Introdução)

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira

Como sobreviver com Java 2? Saulo Arruda

Kassius Vargas Prestes

Evolução guiada por APIs. com REST para modernizar seu legado

Linguagem de Programação Para Internet II

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP

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

Web Services. Autor: Rômulo Rosa Furtado

Nota Fiscal Paulista. Manual para Envio de Arquivo de Cupons Fiscais via Webservice GOVERNO DO ESTADO DE SÃO PAULO

Arquitetura Orientada a Serviços (SOA) Copyright e-core LTDA, Todos os direitos reservados.

Aula 1 Cleverton Hentz

Integração Orientada a Serviços

IplanRio DOP - Diretoria de Operações GIT - Gerência de Infraestrutura Tecnológica Gerente da GIT

Service Oriented Architecture SOA

JXTA. Alessandro Vasconcelos Ferreira de Lima.

Conceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON)

Programando em PHP. Conceitos Básicos


Serviços Web: Arquitetura

INT-9: Implementing ESB Processes with OpenEdge and Sonic David Cleary

PROJELER. Componentes da Solução Intalio BPMS 5.2. Maurício Bitencourt / mauricio.bitencourt@projeler.com.

ALCY JOSÉ VIEIRA NETO ALEXANDRE SOHN CINTIA CAVICHIOLO PROTOCOLO HTTP

UFG - Instituto de Informática

Serviços Web: Introdução

Integração de Sis temas Legados com Plone

O protocolo HTTP. Você aprenderá: O que é e como funciona o protocolo HTTP. Quais são as partes de um pedido HTTP.

Microsoft.NET. Desenvolvimento Baseado em Componentes

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

SISTEMA DE MONITORAMENTO DE SGBD SQL SERVER.

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

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa

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

TDC2012. EJB simples e descomplicado, na prática. Slide 1

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Prof. Marcelo Cunha Parte 5

Redes de Computadores. Protocolos de comunicação: TCP, UDP

Servlets e Applets, funcionamento e comparativo.

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

SOA. Fabio Perez Marzullo. Inovando seu negócio por meio de soluções orientadas a serviços. Novatec

Web das Coisas WoT. Software: APIs para IoT. Prof. João Bosco Teixeira Junior

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

Programação para Internet Avançada. 4. Web Services. Nuno Miguel Gil Fonseca

Manual de Integração. Tecnologia: WebServices SOAP XML. Área: CDC. Produto: CDC Pessoa Física NFE (RFB) Versão: 1.0. Autor: Angelo Bestetti Junior

5 Mecanismo de seleção de componentes

Capítulo 8 - Aplicações em Redes

AULA 03 MODELO OSI/ISO. Eduardo Camargo de Siqueira REDES DE COMPUTADORES Engenharia de Computação

Sistemas Distribuídos: Conceitos e Projeto Estilos Arquitetônicos e Arquitetura Cliente/Servidor

Fase 1: Engenharia de Produto

Coordenação Geral de Tecnologia da Informação - CGTI. Corporativo-Sistema de serviços corporativos Manual de Utilização dos Serviços

SUMÁRIO REST. REST + OAuth. Cliente em Java Processamento de respostas JSON

Projeto: Plataforma de Integração. Data: 01/08/2014

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

Aula 14 Serviços Internet (Servidor Web Apache)

SIGVIG - Sistema de Informações Gerenciais do Trânsito Internacional de Produtos e Insumos Agropecuários Especificação dos Serviços

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

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

Web-Services com JAX-WS. Capítulo. Introdução aos Web-Services via JAX-WS. - Um breve histórico sobre Web-Services. - SOAP x REST. Provendo um Serviço

Conteúdo da Aula de Hoje. Web Services. Avaliação da Disciplina. O que é um web service? O que é um web service? Vantagens

Contratos de serviços REST com WADL

Usando Service Design Thinking para criar SOA Corporativo

Segurança e Escalabilidade em WebLab no Domínio de Redes de Computadores

Acadêmico: Marciane Schotten Prof. Orientador: Ricardo Alencar de Azambuja

Práticas de Desenvolvimento de Software

Manual de Integração SMS

Gestão de pessoa. Prof: Itair Pereira da Silva

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

Aplicações Desktop: Swing/SubMacroForms. Carlos Renato Alves Gouveia Novembro/2008

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro

OWL-S Composer. MATE15 - Tópicos Especiais em Banco de Dados III. 17 de Julho de Marco Antonio Almeida 1 e Daniela Barreiro Claro 2

Web Service - NFS-e. Definição das especificações e critérios técnicos necessários para utilização do WebService. FREIRE INFORMÁTICA Versão 2.

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

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

Transcrição:

RestFull WebServices Rafael Nunes Arquiteto de Software / Instrutor Globalcode 1

REST Integrando aplicações e disponibilizando serviços sem complicar a vida de ninguém. 2

Agenda > Integrando Aplicações > Um caso verídico 3

Agenda > REST > Evitando complexidade desnecessária > REST > JSR 311 > Exemplos de implementação > Mobile REST 4

Agenda > Conclusão > Perguntas & Respostas 5

REST O Início > Integrando Aplicações > Um caso verídico 6

Integrando Aplicações > Era uma vez um desenvolvedor 7

Integrando aplicações Que adorava desenvolver. 8

Integrando aplicações > E como era descolado e desenvolvia em muitas plataformas, ele precisava integrá-las de alguma forma 9

Integrando aplicações > Aí ele descobriu os padrões para integração 10

Integrando aplicações > Além de adorar desenvolver, ele também adorava a web. 11

Integrando aplicações > E foi então que ele descobriu os Web Services 12

Integrando aplicações > E todos os seus padrões. 13

Integrando aplicações > Aí ele morreu. Fim. 14

Plataformas Distintas 15

Padrões para integração 16

Web Services 17

Integrando aplicações > Mentira. Ele não morreu. 18

Integrando aplicações > Mas perdeu um pouco de sua sanidade entendendo todos aqueles padrões e toda aquela complexidade. 19

? Por que o protocolo HTTP, Google têm sucesso? FTP, SMTP, NNTP, SFTP, TFTP 20

Simplicidade!!! Imaginem se fosse assim 21

? HTTP Transferência de Hiper Texto Google Um campo de texto, dois botões e três radio buttons 22

REST REST 23

REST > Surgiu da tese de doutorado de Roy T. Fielding > Um dos principais autores da especificação do protocolo HTTP > Co-fundador do Apache HTTP Server > Diretor da Apache Software Foundation 24

REST > REST (Representation State Transfer) > Não é um framework, uma biblioteca, um servidor. > É um estilo arquitetural(diz respeito ao design da aplicação) 25

REST (Quando usar?) > Comunicação stateless. Sem estado. > Performance(não há todo o overhead de SOAP). > Forma simples de se criar um cliente. > Possibilidade de cache > Sem necessidade de contrato formal 26

REST > REST usa os métodos já definidos no protocolo HTTP > GET, POST, PUT, DELETE, HEAD > Em REST, seus serviços/recursos têm uma identificação. > Descrição do serviço via WADL( similar ao WSDL) 27

WADL <resources base="http://servidor:8988/rest/repositorio/"> <resource uri= reservas"> </resource> <resources> <method href="#reservar"/> <method name="get" id= reservar"> <request> <query_variable name= quarto" type="xsd:string" required="true"/> <query_variable name= numero" type="xsd:int"/> </request> <response> <representation mediatype= application/xml element= mn:response"/> <fault id= reservaerro status="400" mediatype= application/xml element= mn:error"/> </response> </method> 28

REST > JSR 311(Apache, BEA, Google, Jboss, Sun ) > Jersey é a implementação de referência > Diversos frameworks já implementam > Axis2, CXF, RestEasy, JAX-WS, Restlet > @PATH, @GET, @POST, @ProductMime, @Param, @QueryParam > Cases: Google, Yahoo, Amazon S3, Flickr, del.icio.us 29

Requisição SOAP > Requisição SOAP: <?xml version='1.0'?> <soap:envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:h="http://meuws.com.br/ws"> <soap:header> <h:reserva xmlns:p="http://meuws.com.br/ws soap:mustunderstand= 1 >5</h:reserva> </soap:header> <soap:body> <h:reservarquarto xmlns:m="http://meuws.com.br"> <quarto>52</quarto> </h:reservarquarto> </soap:body> </soap:envelope> 30

Requisição REST > Requisição REST: http://appserver:8080/apphotel/reservar/quarto/52 ou http://appserver:8080/apphotel/reservar?quarto=52 31

Mão na massa > Exemplo de código de uma aplicação com serviço REST > GFLA (Gerador de Frases Literárias Aleatórias) 32

Isso Funciona? > Exemplo de código client com REST > HttpClient, Flex, Python, Browser 33

Desvantagens > Não há um contrato(wsdl) > Não há ferramentas > Recente, early-adopters 34

REST > Mobile REST e KSOAP 35

Futuro > Migração de Portais(Websphere Portal, Plone, Oracle) > ESB e SOA baseados em REST (Jboss ESB, Oracle SOA Suite, Websphere, Weblogic) > Serviços do Google baseados em REST(Ajax Search, Charts, Maps, Earth, Open Social) 36

Comparação SOAP REST Complexidade Padrões em excesso HTTP Criar Serviços Criar Cliente Performance Possui frameworks e bibliotecas para geração Geração através de ferramentas ou manualmente Além da requisição HTTP, overhead do parse de XML Possui frameworks e bibliotecas para geração Geração de forma simples, não há necessidade de ferramentas Requisição HTTP simples. (Possibilidade de cache) Arquivo Descritor WSDL WADL(Não adotado oficialmente) Comunicação Stateless e Stateful Stateless (possível mas não recomendado Stateful) 37

Perguntas e Respostas 38

Fim!(Contato) (Críticas, Dúvidas ou Sugestões) rafael@globalcode.com.br 39

Fim v.2! Obrigado! (Desenhos/Imagens by Rafael Nunes) (Obrigado Paint!!!!) 40