JEE 6 e REST - O que vem por ai

1.245 visualizações

Publicada em

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

Publicada em: Tecnologia, Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.245
No SlideShare
0
A partir de incorporações
0
Número de incorporações
13
Ações
Compartilhamentos
0
Downloads
7
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no 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>

×