SlideShare une entreprise Scribd logo
1  sur  27
Web Services
 Prof. MSc. Edson Yanaga
 http://www.yanaga.com.br
Edson Yanaga

• Sócio-presidente da Ínsula TI
• Bacharel em Ciência da Computação - UEM
• Mestre em Engenharia Elétrica e Informática
  Industrial - UTFPR
• Arquiteto Java e consultor com 13 anos de
  experiência em Tecnologia Java
• Administrador de sistemas Unix (Solaris,
  HP-UX e Linux) com 10 anos de experiência
Edson Yanaga

• Certified ScrumMaster
• Sun Certified Enterprise Architect for the Java
  Platform, Enterprise Edition 5 (i)
• Sun Certified Developer for Java Web Services 5
• Sun Certified Specialist for NetBeans IDE
• Sun Certified Web Component Developer for J2EE
  1.4
• Sun Certified Programmer for Java 2 Platform 1.4
Web Services

• Permitem que você disponibilize a sua
  aplicação através da Web
• Aplicação Web = Aplicação com as
  restrições adicionais da Web
• Dois tipos de Web Services:
 ➡ SOAP

 ➡ REST
Cliente   Servidor
Cliente   Servidor
GET /index.html?param1=a&param2=b
      HTTP/1.0




Cliente                                   Servidor
GET /index.html?param1=a&param2=b
      HTTP/1.0




Cliente                                   Servidor
POST /postServlet
      HTTP/1.0
      User-Agent: Mozilla/1.0
      Content-Type: application/x-www-form-urlencoded
      Content-Length: 14

      param1=a
      param2=b



Cliente                                            Servidor
PUT /postServlet
      HTTP/1.0
      User-Agent: Mozilla/1.0
      Content-Type: application/x-www-form-urlencoded
      Content-Length: 14

      param1=a
      param2=b



Cliente                                            Servidor
DELETE /postServlet
      HTTP/1.0
      User-Agent: Mozilla/1.0
      Content-Type: application/x-www-form-urlencoded
      Content-Length: 14

      param1=a
      param2=b



Cliente                                            Servidor
Cliente   Servidor
Cliente   Servidor
Cliente   Servidor
Cliente   Servidor
Cliente   Servidor
HTTP/1.0 200 OK
  Date: Tue, 01 Dec 2001 23:59:59 GMT
  Content-Type: text/html
  Content-Length: 52

  <html>
  <body>
  <h1>Hello World!</h1>
  </body>
  </html>

Cliente                                 Servidor
Cliente   Servidor
Cliente   Servidor
Cliente   Servidor
SOAP

• Simple Object Access Protocol
• Evolução das chamadas de
  procedimentos remotas de sistemas
  distribuídos
• RPC, RMI, CORBA e SOAP
• É uma invocação de método remota
  utilizando XML e HTTP
WSDL

• Web Service Definition Language
• PortType ou Interface definem a
  interface e os métodos disponibilizados
  pelo Web Service
• Através de um Binding, você instancia
  um serviço concreto num Port ou
  Endpoint
JAX-WS
Java API for XML Web Services


            wsgen
          wsimport


No JavaEE 6: auto-configuração e
         Annotations
REST



• REpresentational State Transfer
• Definido por Roy Fielding em 2000
 ➡ Um dos autores do HTTP 1.0 e 1.1
Restrições do REST

• Cliente/Servidor
• Stateless
• Cacheable
• Arquitetura em camadas
• Código sob demanda
• Interface Uniforme (URIs)
Métodos HTTP e RESt

                                     GET        POST      PUT     DELETE


                                                         Altera o
                                               Cria uma           Remove
                                    Lista as            conjunto
 http:/www.yanaga.com.br/aluno/                  nova              todo o
                                     URIs                  das
                                               entidade           conjunto
                                                        entidades
                                     Obtém Cria uma
                                                      Altera a Remove a
http:/www.yanaga.com.br/aluno/123     uma      nova
                                                      entidade entidade
                                    entidade entidade
JAX-RS




Java API for RESTful Web Services

Contenu connexe

Tendances

Interagindo com web services RPC, SOAP e REST utilizando PHP
Interagindo com web services RPC, SOAP e REST utilizando PHPInteragindo com web services RPC, SOAP e REST utilizando PHP
Interagindo com web services RPC, SOAP e REST utilizando PHPEduardo Cesar
 
Técnicas de Programação para a Web
Técnicas de Programação para a WebTécnicas de Programação para a Web
Técnicas de Programação para a WebLuiz Cláudio Silva
 
APIs REST com Spring Boot
APIs REST com Spring BootAPIs REST com Spring Boot
APIs REST com Spring BootWesley Fuchter
 
Workshop Ruby on Rails - Code Girl (Programar meu Futuro), por Gislene Pereir...
Workshop Ruby on Rails - Code Girl (Programar meu Futuro), por Gislene Pereir...Workshop Ruby on Rails - Code Girl (Programar meu Futuro), por Gislene Pereir...
Workshop Ruby on Rails - Code Girl (Programar meu Futuro), por Gislene Pereir...Thoughtworks
 
Vue.js - o framework progressivo
Vue.js - o framework progressivoVue.js - o framework progressivo
Vue.js - o framework progressivoVinicius Reis
 

Tendances (11)

Interagindo com web services RPC, SOAP e REST utilizando PHP
Interagindo com web services RPC, SOAP e REST utilizando PHPInteragindo com web services RPC, SOAP e REST utilizando PHP
Interagindo com web services RPC, SOAP e REST utilizando PHP
 
O Elefante e a Mula
O Elefante e a MulaO Elefante e a Mula
O Elefante e a Mula
 
Servidores WEB
Servidores WEBServidores WEB
Servidores WEB
 
VIII TechTalk - Spring 3
VIII TechTalk - Spring 3VIII TechTalk - Spring 3
VIII TechTalk - Spring 3
 
Web Sphere
Web SphereWeb Sphere
Web Sphere
 
Rest workshop
Rest workshopRest workshop
Rest workshop
 
Spring boot
Spring bootSpring boot
Spring boot
 
Técnicas de Programação para a Web
Técnicas de Programação para a WebTécnicas de Programação para a Web
Técnicas de Programação para a Web
 
APIs REST com Spring Boot
APIs REST com Spring BootAPIs REST com Spring Boot
APIs REST com Spring Boot
 
Workshop Ruby on Rails - Code Girl (Programar meu Futuro), por Gislene Pereir...
Workshop Ruby on Rails - Code Girl (Programar meu Futuro), por Gislene Pereir...Workshop Ruby on Rails - Code Girl (Programar meu Futuro), por Gislene Pereir...
Workshop Ruby on Rails - Code Girl (Programar meu Futuro), por Gislene Pereir...
 
Vue.js - o framework progressivo
Vue.js - o framework progressivoVue.js - o framework progressivo
Vue.js - o framework progressivo
 

Similaire à Web Services e seus principais conceitos

Novidades do JAX-RS 2.0
Novidades do JAX-RS 2.0Novidades do JAX-RS 2.0
Novidades do JAX-RS 2.0jesuinoPower
 
De Web Services RESTful a Aplicações Mashup
De Web Services RESTful a Aplicações MashupDe Web Services RESTful a Aplicações Mashup
De Web Services RESTful a Aplicações MashupWagner Roberto dos Santos
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev IntroduçãoMarcio Marinho
 
Construindo APIs RESTful com Spring
Construindo APIs RESTful com SpringConstruindo APIs RESTful com Spring
Construindo APIs RESTful com SpringMateus Malaquias
 
Consumindo dados via web service no android
Consumindo dados via web service no androidConsumindo dados via web service no android
Consumindo dados via web service no androidAlexandre Antunes
 
QCon 2015 - Combinando AngularJS com Java EE
QCon 2015 - Combinando AngularJS com Java EEQCon 2015 - Combinando AngularJS com Java EE
QCon 2015 - Combinando AngularJS com Java EERodrigo Cândido da Silva
 
Uma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIUma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIComunidade NetPonto
 
Desenvolvimento Web com JSF
Desenvolvimento Web com JSFDesenvolvimento Web com JSF
Desenvolvimento Web com JSFDalton Valadares
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...BrunoSouza617
 
Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSPledsifes
 
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EEJavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EERodrigo Cândido da Silva
 
Do Rest Ao Restfull - Rio Jug
Do Rest Ao Restfull - Rio JugDo Rest Ao Restfull - Rio Jug
Do Rest Ao Restfull - Rio JugSergio Azevedo
 
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...Rogério Moraes de Carvalho
 
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...MVP ShowCast
 

Similaire à Web Services e seus principais conceitos (20)

Novidades do JAX-RS 2.0
Novidades do JAX-RS 2.0Novidades do JAX-RS 2.0
Novidades do JAX-RS 2.0
 
De Web Services RESTful a Aplicações Mashup
De Web Services RESTful a Aplicações MashupDe Web Services RESTful a Aplicações Mashup
De Web Services RESTful a Aplicações Mashup
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev Introdução
 
GUJavaSC - Combinando AngularJS com Java EE
GUJavaSC - Combinando AngularJS com Java EEGUJavaSC - Combinando AngularJS com Java EE
GUJavaSC - Combinando AngularJS com Java EE
 
Construindo APIs RESTful com Spring
Construindo APIs RESTful com SpringConstruindo APIs RESTful com Spring
Construindo APIs RESTful com Spring
 
Consumindo dados via web service no android
Consumindo dados via web service no androidConsumindo dados via web service no android
Consumindo dados via web service no android
 
QCon 2015 - Combinando AngularJS com Java EE
QCon 2015 - Combinando AngularJS com Java EEQCon 2015 - Combinando AngularJS com Java EE
QCon 2015 - Combinando AngularJS com Java EE
 
Uma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIUma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web API
 
Rest Teoria E Pratica
Rest Teoria E PraticaRest Teoria E Pratica
Rest Teoria E Pratica
 
Desenvolvimento Web com JSF
Desenvolvimento Web com JSFDesenvolvimento Web com JSF
Desenvolvimento Web com JSF
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
 
Jee6
Jee6Jee6
Jee6
 
Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSP
 
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EEJavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
 
Vraptor 3
Vraptor 3Vraptor 3
Vraptor 3
 
Do Rest Ao Restfull - Rio Jug
Do Rest Ao Restfull - Rio JugDo Rest Ao Restfull - Rio Jug
Do Rest Ao Restfull - Rio Jug
 
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
 
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
 
Aula parte 2 de JSF 2.2
Aula parte 2 de JSF 2.2Aula parte 2 de JSF 2.2
Aula parte 2 de JSF 2.2
 
GUJavaSC - Mini-curso Java EE
GUJavaSC - Mini-curso Java EEGUJavaSC - Mini-curso Java EE
GUJavaSC - Mini-curso Java EE
 

Plus de Edson Yanaga

Java Craftsmanship: Lessons Learned on How to Produce Truly Beautiful Java Code
Java Craftsmanship: Lessons Learned on How to Produce Truly Beautiful Java CodeJava Craftsmanship: Lessons Learned on How to Produce Truly Beautiful Java Code
Java Craftsmanship: Lessons Learned on How to Produce Truly Beautiful Java CodeEdson Yanaga
 
Enterprise Integration Patterns na nuvem com Spring Integration
Enterprise Integration Patterns na nuvem com Spring IntegrationEnterprise Integration Patterns na nuvem com Spring Integration
Enterprise Integration Patterns na nuvem com Spring IntegrationEdson Yanaga
 
Certificação Java
Certificação JavaCertificação Java
Certificação JavaEdson Yanaga
 
Artesanato de software
Artesanato de softwareArtesanato de software
Artesanato de softwareEdson Yanaga
 
Architecting cloud-enabled applications using Spring-Integration 2.x
Architecting cloud-enabled applications using Spring-Integration 2.xArchitecting cloud-enabled applications using Spring-Integration 2.x
Architecting cloud-enabled applications using Spring-Integration 2.xEdson Yanaga
 

Plus de Edson Yanaga (6)

Java Craftsmanship: Lessons Learned on How to Produce Truly Beautiful Java Code
Java Craftsmanship: Lessons Learned on How to Produce Truly Beautiful Java CodeJava Craftsmanship: Lessons Learned on How to Produce Truly Beautiful Java Code
Java Craftsmanship: Lessons Learned on How to Produce Truly Beautiful Java Code
 
Enterprise Integration Patterns na nuvem com Spring Integration
Enterprise Integration Patterns na nuvem com Spring IntegrationEnterprise Integration Patterns na nuvem com Spring Integration
Enterprise Integration Patterns na nuvem com Spring Integration
 
Certificação Java
Certificação JavaCertificação Java
Certificação Java
 
Artesanato de software
Artesanato de softwareArtesanato de software
Artesanato de software
 
Architecting cloud-enabled applications using Spring-Integration 2.x
Architecting cloud-enabled applications using Spring-Integration 2.xArchitecting cloud-enabled applications using Spring-Integration 2.x
Architecting cloud-enabled applications using Spring-Integration 2.x
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 

Web Services e seus principais conceitos

  • 1. Web Services Prof. MSc. Edson Yanaga http://www.yanaga.com.br
  • 2. Edson Yanaga • Sócio-presidente da Ínsula TI • Bacharel em Ciência da Computação - UEM • Mestre em Engenharia Elétrica e Informática Industrial - UTFPR • Arquiteto Java e consultor com 13 anos de experiência em Tecnologia Java • Administrador de sistemas Unix (Solaris, HP-UX e Linux) com 10 anos de experiência
  • 3. Edson Yanaga • Certified ScrumMaster • Sun Certified Enterprise Architect for the Java Platform, Enterprise Edition 5 (i) • Sun Certified Developer for Java Web Services 5 • Sun Certified Specialist for NetBeans IDE • Sun Certified Web Component Developer for J2EE 1.4 • Sun Certified Programmer for Java 2 Platform 1.4
  • 4. Web Services • Permitem que você disponibilize a sua aplicação através da Web • Aplicação Web = Aplicação com as restrições adicionais da Web • Dois tipos de Web Services: ➡ SOAP ➡ REST
  • 5. Cliente Servidor
  • 6. Cliente Servidor
  • 7. GET /index.html?param1=a&param2=b HTTP/1.0 Cliente Servidor
  • 8. GET /index.html?param1=a&param2=b HTTP/1.0 Cliente Servidor
  • 9. POST /postServlet HTTP/1.0 User-Agent: Mozilla/1.0 Content-Type: application/x-www-form-urlencoded Content-Length: 14 param1=a param2=b Cliente Servidor
  • 10. PUT /postServlet HTTP/1.0 User-Agent: Mozilla/1.0 Content-Type: application/x-www-form-urlencoded Content-Length: 14 param1=a param2=b Cliente Servidor
  • 11. DELETE /postServlet HTTP/1.0 User-Agent: Mozilla/1.0 Content-Type: application/x-www-form-urlencoded Content-Length: 14 param1=a param2=b Cliente Servidor
  • 12. Cliente Servidor
  • 13. Cliente Servidor
  • 14. Cliente Servidor
  • 15. Cliente Servidor
  • 16. Cliente Servidor
  • 17. HTTP/1.0 200 OK Date: Tue, 01 Dec 2001 23:59:59 GMT Content-Type: text/html Content-Length: 52 <html> <body> <h1>Hello World!</h1> </body> </html> Cliente Servidor
  • 18. Cliente Servidor
  • 19. Cliente Servidor
  • 20. Cliente Servidor
  • 21. SOAP • Simple Object Access Protocol • Evolução das chamadas de procedimentos remotas de sistemas distribuídos • RPC, RMI, CORBA e SOAP • É uma invocação de método remota utilizando XML e HTTP
  • 22. WSDL • Web Service Definition Language • PortType ou Interface definem a interface e os métodos disponibilizados pelo Web Service • Através de um Binding, você instancia um serviço concreto num Port ou Endpoint
  • 23. JAX-WS Java API for XML Web Services wsgen wsimport No JavaEE 6: auto-configuração e Annotations
  • 24. REST • REpresentational State Transfer • Definido por Roy Fielding em 2000 ➡ Um dos autores do HTTP 1.0 e 1.1
  • 25. Restrições do REST • Cliente/Servidor • Stateless • Cacheable • Arquitetura em camadas • Código sob demanda • Interface Uniforme (URIs)
  • 26. Métodos HTTP e RESt GET POST PUT DELETE Altera o Cria uma Remove Lista as conjunto http:/www.yanaga.com.br/aluno/ nova todo o URIs das entidade conjunto entidades Obtém Cria uma Altera a Remove a http:/www.yanaga.com.br/aluno/123 uma nova entidade entidade entidade entidade
  • 27. JAX-RS Java API for RESTful Web Services

Notes de l'éditeur