JEE 6 e REST - O que vem por ai

1,265 views

Published on

O que vem de novo na especificação do Java EE 6 para o mundo RESTful

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,265
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

JEE 6 e REST - O que vem por ai

  1. 1. JAX-WS Rafael Nunes
  2. 2. O que muda? <ul><li>Nada </li></ul><ul><li>JAX-WS já era distribuído com JEE5 através de JAX-RPC 2.0(SOAP) </li></ul><ul><li>JAX-RS passará a ser distribuído juntamente ao JEE 6 RI </li></ul>
  3. 3. SOAP <ul><li>WebService SOAP </li></ul><ul><li>Suporte a todo stack WS-* </li></ul><ul><li>Criação de WebServices de forma simplificada através de annotations. </li></ul><ul><li>Criação de clientes de forma simplificada através da ferramenta wsgen </li></ul>
  4. 4. Exemplo <ul><li>@WebService(serviceName= “PassagemWS” , portName= “PassagemWS” ) </li></ul><ul><li>public class PassagemService{ </li></ul><ul><li>@WebMethod </li></ul><ul><li>public String consultarPreco(String origem, String destino)... </li></ul><ul><li>} </li></ul>
  5. 5. REST <ul><li>Representation State Transfer </li></ul><ul><li>Não é um framework/biblioteca/servidor </li></ul><ul><li>É um estilo arquitetural(ex. MVC) </li></ul>
  6. 6. REST <ul><li>Comunicação stateless. Sem estado. </li></ul><ul><li>Performance(menos overhead) </li></ul><ul><li>Possibilidade de cache </li></ul><ul><li>Sem contrato formal </li></ul><ul><li>Uso dos métodos já definidos no protocolo HTTP </li></ul><ul><li>GET, POST, PUT, DELETE, HEAD </li></ul><ul><li>Cliente de forma simplificada </li></ul>
  7. 7. REST <ul><li>Frameworks: RestEasy, Restlet, Jersey, CXF, Axis2 </li></ul>
  8. 8. Exemplo <ul><li>@Path(“/passagem”) </li></ul><ul><li>public class PassagemService{ </li></ul><ul><li>@Get </li></ul><ul><li>@Path(“/consulta/{origem}/{destino}”) </li></ul><ul><li>@Produces(“text/xml”) </li></ul><ul><li>public String consultaPreco(@PathParam(“origem”) String origem, </li></ul><ul><li> @PathParam(“destino”)String destino){ </li></ul><ul><li>//... </li></ul><ul><li>} </li></ul>

×