REST com JSF 2 e HTML 5 Vinny @guiajava Instrutor Java da VOffice Globalcode – Open4education segunda-feira, 24 de outubro de 11 1
Agenda Motivos REST JSF 2 HTML 5 REST + JSF 2 + HTML 5 Opiniões, Contribuições Globalcode – Open4education segunda-feira, 24 de outubro de 11 2
Motivos incentivar o uso de padrões identificar a adesão e a opinião da comunidade sobre padrões identificar a opinião da comunidade sobre integração 3 instrutores de nome Ra(f|ph)ael Raphael Adrien - REST + JSF 2 + HTML 5 Rafael Motta - HTML 5 Rafael Nunes - REST 1 instrutor conhecido por Vinny Vinny - JSF Globalcode – Open4education segunda-feira, 24 de outubro de 11 3
REST Representational State Transfer Transferência de Estado Representacional não é SOAP não é RPC Globalcode – Open4education segunda-feira, 24 de outubro de 11 4
REST - conceitos Estilo arquitetural para integração de aplicações Proposto no capítulo 5 da tese de doutorado de Roy T. Fielding (Apache HTTP Server, Apache Foundation, HTTP) Protocolo HTML GET, POST, DELETE, PUT, HEAD,... URI recursos WADL JSR 311 - JAX-RS 2.0 Jersey, RESTEasy Globalcode – Open4education segunda-feira, 24 de outubro de 11 5
REST - quando usar é necessário publicar serviços em uma aplicação de modo simples e rápido utilizar os protocolos da internet simplifica a doação por parte dos clientes já se usa padrões JEE no desenvimento de aplicações Java. Em especial JEE6! Cache pode ser interessante para fins de desempenho Manter estado não é importante Conteúdo pode ser JSON, Plain, HTML além de XML Globalcode – Open4education segunda-feira, 24 de outubro de 11 6
REST - exemplos acessar o recurso produto (product) http://localhost:8080/mc98/product/52 HTTP GET - consultar HTTP DELETE - apagar HTTP POST - criar HTTP PUT - alterar acessar o recurso local (place) http://localhost:8080/place/joaquina HTTP GET - consultar HTTP DELETE - apagar HTTP POST - criar HTTP PUT - alterar * pode-se usar parâmetros ou cabeçalhos para dados complementares Globalcode – Open4education segunda-feira, 24 de outubro de 11 7
JSF 2 Java Server Faces Globalcode – Open4education segunda-feira, 24 de outubro de 11 8
JSF 2 - conceitos especificação JEE para desenvolvimento de aplicações web com interface de usuário rica JSR 127, 252, 314, ... infra-estrutura para desenvolvimento de soluções ricas para interface de usuário framework orientado a componentes, não a controladores solução server side centenas de componentes desenvolvido por terceiros Richfaces, Primefaces, IceFaces, PrettyFaces,... Globalcode – Open4education segunda-feira, 24 de outubro de 11 9
JSF 2 - quando usar A equipe de desenvolvimento precisa de produtividade para desenvolvimento de interface de usuário rica A equipe não domina soluções client side A equipe não quer reinventar soluções como manter estado de página após erro, mensagens múltiplas de validação, atualização de componentes simples e complexos via AJAX, conversão de parâmetros, componentes customizados, etc JEE é importante para o cliente ou para o fornecedor Globalcode – Open4education segunda-feira, 24 de outubro de 11 10
JSF 2 - exemplos ScrumToys projeto no Netbeans Richfaces demo http://richfaces-showcase.appspot.com/ Globalcode – Open4education segunda-feira, 24 de outubro de 11 11
HTML 5 - conceitos próxima versão do HTML 2012 e 2022 padronização dos recursos largamente usados no desenvolvimento de interfaces ricas + novas propostas Novidades Audio e Video Offline Apps Drag and drop API: Canvas, Geo, WebWorker, WebSocket, Form, Communication, Web Storage Globalcode – Open4education segunda-feira, 24 de outubro de 11 12
HTML 5 - quando usar recursos usados em interfaces ricas já foram endereçados recursos já endereçados resolvem problemas que estão com soluções “alternativas”, não definitivas se tua audiência usa predominantemente navegadores web se seu código HTML funciona mas poderia ser mais semântico se seu código HTML funciona mas poderia ser mais simples de ler Globalcode – Open4education segunda-feira, 24 de outubro de 11 13
HTML 5 - exemplos HTML 5 Rocks http://slides.html5rocks.com Globalcode – Open4education segunda-feira, 24 de outubro de 11 14
REST + JSF 2 + HTML 5 HTML 5 pode realizar validação remota dos campos consumindo de um serviço REST envia dados para uma aplicação JSF 2 depois que a internet volta a estar disponível JSF 2 facilita o reuso de apresentação escrita com HTML 5 apresenta os links gerados com REST REST consome dados de outra aplicação e JSF 2 apresenta junto com os seus dados mostra mais detalhes quando a posição geográfica apresentada pelo HTML 5 for explorada Globalcode – Open4education segunda-feira, 24 de outubro de 11 15
Referências REST http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm http://my.safaribooksonline.com/book/programming/java/9780596809300 http://jcp.org/en/jsr/detail?id=311 JSF 2 http://javaserverfaces.java.net/ http://netbeans.org/kb/samples/scrum-toys.html MC17, MC 27, MC31 @ Globalcode HTML 5 http://www.w3.org/TR/html5/ http://html5demos.com/ http://ie.microsoft.com/testdrive/ http://slides.html5rocks.com REST + JSF 2 + HTML 5 MC98 (este) Globalcode – Open4education segunda-feira, 24 de outubro de 11 16
Opiniões e Contribuições ? Globalcode – Open4education segunda-feira, 24 de outubro de 11 17

REST com JSF 2 e HTML 5

  • 1.
    REST com JSF2 e HTML 5 Vinny @guiajava Instrutor Java da VOffice Globalcode – Open4education segunda-feira, 24 de outubro de 11 1
  • 2.
    Agenda Motivos REST JSF 2 HTML 5 REST + JSF 2 + HTML 5 Opiniões, Contribuições Globalcode – Open4education segunda-feira, 24 de outubro de 11 2
  • 3.
    Motivos incentivar o uso de padrões identificar a adesão e a opinião da comunidade sobre padrões identificar a opinião da comunidade sobre integração 3 instrutores de nome Ra(f|ph)ael Raphael Adrien - REST + JSF 2 + HTML 5 Rafael Motta - HTML 5 Rafael Nunes - REST 1 instrutor conhecido por Vinny Vinny - JSF Globalcode – Open4education segunda-feira, 24 de outubro de 11 3
  • 4.
    REST Representational State Transfer Transferência de Estado Representacional não é SOAP não é RPC Globalcode – Open4education segunda-feira, 24 de outubro de 11 4
  • 5.
    REST - conceitos Estilo arquitetural para integração de aplicações Proposto no capítulo 5 da tese de doutorado de Roy T. Fielding (Apache HTTP Server, Apache Foundation, HTTP) Protocolo HTML GET, POST, DELETE, PUT, HEAD,... URI recursos WADL JSR 311 - JAX-RS 2.0 Jersey, RESTEasy Globalcode – Open4education segunda-feira, 24 de outubro de 11 5
  • 6.
    REST - quandousar é necessário publicar serviços em uma aplicação de modo simples e rápido utilizar os protocolos da internet simplifica a doação por parte dos clientes já se usa padrões JEE no desenvimento de aplicações Java. Em especial JEE6! Cache pode ser interessante para fins de desempenho Manter estado não é importante Conteúdo pode ser JSON, Plain, HTML além de XML Globalcode – Open4education segunda-feira, 24 de outubro de 11 6
  • 7.
    REST - exemplos acessar o recurso produto (product) http://localhost:8080/mc98/product/52 HTTP GET - consultar HTTP DELETE - apagar HTTP POST - criar HTTP PUT - alterar acessar o recurso local (place) http://localhost:8080/place/joaquina HTTP GET - consultar HTTP DELETE - apagar HTTP POST - criar HTTP PUT - alterar * pode-se usar parâmetros ou cabeçalhos para dados complementares Globalcode – Open4education segunda-feira, 24 de outubro de 11 7
  • 8.
    JSF 2 Java Server Faces Globalcode – Open4education segunda-feira, 24 de outubro de 11 8
  • 9.
    JSF 2 -conceitos especificação JEE para desenvolvimento de aplicações web com interface de usuário rica JSR 127, 252, 314, ... infra-estrutura para desenvolvimento de soluções ricas para interface de usuário framework orientado a componentes, não a controladores solução server side centenas de componentes desenvolvido por terceiros Richfaces, Primefaces, IceFaces, PrettyFaces,... Globalcode – Open4education segunda-feira, 24 de outubro de 11 9
  • 10.
    JSF 2 -quando usar A equipe de desenvolvimento precisa de produtividade para desenvolvimento de interface de usuário rica A equipe não domina soluções client side A equipe não quer reinventar soluções como manter estado de página após erro, mensagens múltiplas de validação, atualização de componentes simples e complexos via AJAX, conversão de parâmetros, componentes customizados, etc JEE é importante para o cliente ou para o fornecedor Globalcode – Open4education segunda-feira, 24 de outubro de 11 10
  • 11.
    JSF 2 -exemplos ScrumToys projeto no Netbeans Richfaces demo http://richfaces-showcase.appspot.com/ Globalcode – Open4education segunda-feira, 24 de outubro de 11 11
  • 12.
    HTML 5 -conceitos próxima versão do HTML 2012 e 2022 padronização dos recursos largamente usados no desenvolvimento de interfaces ricas + novas propostas Novidades Audio e Video Offline Apps Drag and drop API: Canvas, Geo, WebWorker, WebSocket, Form, Communication, Web Storage Globalcode – Open4education segunda-feira, 24 de outubro de 11 12
  • 13.
    HTML 5 -quando usar recursos usados em interfaces ricas já foram endereçados recursos já endereçados resolvem problemas que estão com soluções “alternativas”, não definitivas se tua audiência usa predominantemente navegadores web se seu código HTML funciona mas poderia ser mais semântico se seu código HTML funciona mas poderia ser mais simples de ler Globalcode – Open4education segunda-feira, 24 de outubro de 11 13
  • 14.
    HTML 5 -exemplos HTML 5 Rocks http://slides.html5rocks.com Globalcode – Open4education segunda-feira, 24 de outubro de 11 14
  • 15.
    REST + JSF2 + HTML 5 HTML 5 pode realizar validação remota dos campos consumindo de um serviço REST envia dados para uma aplicação JSF 2 depois que a internet volta a estar disponível JSF 2 facilita o reuso de apresentação escrita com HTML 5 apresenta os links gerados com REST REST consome dados de outra aplicação e JSF 2 apresenta junto com os seus dados mostra mais detalhes quando a posição geográfica apresentada pelo HTML 5 for explorada Globalcode – Open4education segunda-feira, 24 de outubro de 11 15
  • 16.
    Referências REST http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm http://my.safaribooksonline.com/book/programming/java/9780596809300 http://jcp.org/en/jsr/detail?id=311 JSF 2 http://javaserverfaces.java.net/ http://netbeans.org/kb/samples/scrum-toys.html MC17, MC 27, MC31 @ Globalcode HTML 5 http://www.w3.org/TR/html5/ http://html5demos.com/ http://ie.microsoft.com/testdrive/ http://slides.html5rocks.com REST + JSF 2 + HTML 5 MC98 (este) Globalcode – Open4education segunda-feira, 24 de outubro de 11 16
  • 17.
    Opiniões e Contribuições ? Globalcode – Open4education segunda-feira, 24 de outubro de 11 17