jsf & rest
DESCRIPTION
Apresentação realizada na IT Training Sábado dia 25/07.TRANSCRIPT
![Page 1: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/1.jpg)
Monday, July 27, 2009
![Page 2: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/2.jpg)
JavaServer Faces &
RESTEduardo Bregaida
Monday, July 27, 2009
![Page 3: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/3.jpg)
Monday, July 27, 2009
![Page 4: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/4.jpg)
Você vai gostar
Monday, July 27, 2009
![Page 5: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/5.jpg)
Quem Sou?• Desenvolvedor Java há 5 anos;
• Possui experiência com J2SE, J2EE nas empresas:
• Saargummi do Brasil LTDA, 3º Quadrante Informática, G&P, JAPI Informática LTDA, SOS Computadores, Tata Consultancy Services - TCS (ABNAMRO Bank, VisaNet, Cardif), IT Training, Masterdom (PRODESP), Possege (Co-Fundador) como Analista de Sistemas Java;
• Agente certificador do Projeto de ensino a distância JEDI no grande ABC em São Paulo:
• Membro do JCP - Java Community Process;
• Certificado IBM em Message Broker Developer Solution;
• Certificado Scrum Master;
• Criador do Blog Java Anywhere - www.javawora.blogspot.com
• Coordenador e palestrante em diversos eventos de Java.
Monday, July 27, 2009
![Page 6: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/6.jpg)
Monday, July 27, 2009
![Page 7: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/7.jpg)
CQ Teste
Primeira Pergunta:O que é JSF?
Monday, July 27, 2009
![Page 8: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/8.jpg)
Monday, July 27, 2009
![Page 9: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/9.jpg)
JSF?
Monday, July 27, 2009
![Page 10: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/10.jpg)
Monday, July 27, 2009
![Page 11: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/11.jpg)
JSF?
Monday, July 27, 2009
![Page 12: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/12.jpg)
Monday, July 27, 2009
![Page 13: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/13.jpg)
JSF?
Monday, July 27, 2009
![Page 14: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/14.jpg)
Monday, July 27, 2009
![Page 15: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/15.jpg)
Não é nada disso, a resposta certa
É:
Monday, July 27, 2009
![Page 16: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/16.jpg)
JSF - Java Server Faces
Monday, July 27, 2009
![Page 17: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/17.jpg)
O que é JSF?
•É mais do que um framework, é uma especificação baseada em MVC;•Suporte a internacionalização;•Facilita criação de telas;•Facilita a transferência dos dados entre telas e camadas de negócio através da EL.•Produtividade para conversores recebidos do formulário para os tipos nas classes;•Flexibilidade para renderização.•Criar modelos simples de eventos entre interfaces gráficas e as classes no servidor.•Mecanismos produtivos para validação de campos na tela.•Facilidade para criação de componentes;
Monday, July 27, 2009
![Page 18: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/18.jpg)
Especificações• JSF 1.0 e 1.1 – JSR 127
– Problemas com renderização– ELs diferentes entre JSP e JSF– Não portava a tag JSTL <c:forEach>
• JSF 1.2 – JSR 252– Resolveram todos os problemas de incompatibilidade, pois o JSF 1.2 e o JSP 2.1 tiveram muitas
uniões e estão dentro do JEE.
• JSF 2.0 – JSR 314– Novo ciclo de vida na parte do cliente (Browser);– Escopo de navegação, antes utilizado através do MyFaces Tomahawk, JBoss Seam e Spring
Annotation;– Adeus XML, configurações via Annotations;– Exception Handler, quando ocorrer um erro direcionamos para uma página de erro;– Templating;– Subimissão Via GET, antes só podia via POST;– AJAX nativo;– Serviços JSF sendo acessador via REST;– E muito mais, acompanhe pelo JCP a especificação.
Monday, July 27, 2009
![Page 19: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/19.jpg)
Managed Beans•É uma classe que expões objetos de negócio para camada de apresentação;
•São Registrados no faces-config.xml;
•Objetos que sofrerão alterações em seus atributos durante uma requisição, assim como seus métodos podem ser chamados a partir de um command;
•São como as Actions do Struts, porém os form beans são injetados por setters dentro do seu próprio bean;
•Os ManagedBeans serão usados na EL das páginas.
Monday, July 27, 2009
![Page 20: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/20.jpg)
EL - Expression Language
•É uma poderosa linguagem de expressão (Linguagem de navegação) para acessar propriedades de beans e coleções.
•Quando ocorrer uma requisição pelo browser é preenchido dinamicamente os elementos da página pela camada de negócios.
•Quando ocorre um Submit ocorre a modificação no estado da camada de negócio.
Monday, July 27, 2009
![Page 21: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/21.jpg)
Roteiro de Uso
Monday, July 27, 2009
![Page 22: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/22.jpg)
Roteiro Básico
1.Criar um bean que represente o formulário;2.Criar os DAOs;3.Criar um controlador (Handler) que leia os dados do formulário, chame a
lógica de negócio, guarde os resultados em beans e tenha um retorno;4.Criar os JSP´s responsáveis por cada retorno declarado;5.NUNCA Esqueça: <f:view> e <h:form> para formulários;6.Especificar o Action Controller com o atributo de ação
<h:commandButton>;7.O faces-config é usado para declarar o form bean e as regras de
navegação.
Monday, July 27, 2009
![Page 23: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/23.jpg)
Exemplo de Código
Monday, July 27, 2009
![Page 24: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/24.jpg)
Bean
• @Entity
public class Ponto { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private long id; private Double latitude; private Double longitude; private Double raio; private boolean status; private String descricao;
//getters and setters}
Monday, July 27, 2009
![Page 25: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/25.jpg)
DAOpublic class pontoDAO {
private Session session;
private Logger logger = Logger.getLogger(Ponto.class);
public pontoDAO(Session session) { logger.info("Construtor" + session); this.session = session;
}
public void salvar(Ponto ponto) { session.saveOrUpdate(ponto); }
public void excluir(Ponto ponto) { session.delete(ponto); }
public Ponto selecionar(Ponto ponto) { return (Ponto) session.load(Ponto.class, ponto.getId()); }
}
Monday, July 27, 2009
![Page 26: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/26.jpg)
Managed Beanpublic class PontoHandler { private Ponto ponto = new Ponto(); public void selecionaDados() { Session session = HibernateUtil.getCurrentSession(); DAO<Ponto> dao = new DAO<Ponto>(session, Ponto.class); dao.load((long) ponto.getId()); }
public Ponto getPonto() { return ponto; }
public void setPonto(Ponto ponto) { this.ponto = ponto; }
public List<Ponto> getAllPonto() { Session session = HibernateUtil.getCurrentSession(); DAO<Ponto> dao = new DAO<Ponto>(session, Ponto.class); return dao.list(); }
public void carregar(ActionEvent event) { UIComponent comandLink = event.getComponent(); UIParameter parameter = (UIParameter) comandLink .findComponent("editId"); Long id = (Long) parameter.getValue(); Session session = HibernateUtil.getCurrentSession(); DAO<Ponto> dao = new DAO<Ponto>(session, Ponto.class); this.ponto = dao.load(id);
}
public void excluir(ActionEvent event) { UIComponent comandLink = event.getComponent(); UIParameter parameter = (UIParameter) comandLink .findComponent("editId"); Long id = (Long) parameter.getValue(); Session session = HibernateUtil.getCurrentSession(); DAO<Ponto> dao = new DAO<Ponto>(session, Ponto.class); this.ponto = dao.load(id); dao.deleta(ponto); this.ponto = new Ponto();
}
}
Monday, July 27, 2009
![Page 27: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/27.jpg)
JSP<f:view> <h:form id="menuId"> <t:panelGrid align="center"> <h:selectOneMenu title="Linha" value="#{pontoHandler.ponto.linha}" converter="simpleIndexConverter"> <t:selectItems value="#{horarioHandler.allLinhas}" var="c" itemLabel="#{c.nome}" itemValue="#{c}" /> </h:selectOneMenu> <h:outputText value="Latitude:" styleClass="titulo_campos" /> <h:inputText value="#{pontoHandler.ponto.latitude}" required="true" validator="#{validadorHandler.validaNumeroReal}" /> <h:commandButton styleClass="BUTTON_imagem" value="Gravar" action="#{pontoHandler.salvar}" /> </t:panelGrid> </h:form> <h:form> <!-- Mostra as msgs de erro--> <h:messages style="color:red" /> </h:form> <h:form> <t:panelGrid align="center"> <h:dataTable value="#{pontoHandler.allPonto}" id="tabelaDados" rows="5" var="p" border="1" rendered="#{not empty pontoHandler.allPonto}" styleClass="EDIT_BACKGROUND" headerClass="cabecalho" rowClasses="linha1,linha2"> <h:column> <f:facet name="header"> <h:outputText value="ID" /> </f:facet> <h:outputText value="#{p.id}" /> </h:column> <h:column> <f:facet name="header"> <h:outputText value="Latitude" /> </f:facet> <h:outputText value="#{p.latitude}" /> </h:column> <h:column> <f:facet name="header"> <h:outputText value="Exclus‹o" /> </f:facet> <h:commandLink actionListener="#{pontoHandler.excluir}"> <h:outputText value="Excluir" /> <f:param id="excluirId" name="id" value="#{p.id}" /> </h:commandLink> </h:column> </h:dataTable> <t:dataScroller for="tabelaDados" paginator="true" paginatorMaxPages="10"></t:dataScroller> </t:panelGrid> </h:form></f:view>
Monday, July 27, 2009
![Page 28: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/28.jpg)
Faces Config<?xml version="1.0"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config>
<application> <message-bundle> messages </message-bundle> </application><managed-bean> <managed-bean-name>pontoHandler</managed-bean-name> <managed-bean-class>br.com.possege.nx.handler.ponto.PontoHandler</managed-bean-class> <managed-bean-scope>session</managed-bean-scope></managed-bean>
<navigation-rule> <from-view-id>*</from-view-id> <navigation-case> <from-outcome>menuCadastroPonto</from-outcome> <to-view-id>/ponto.jsp</to-view-id> </navigation-case></navigation-rule>
Monday, July 27, 2009
![Page 29: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/29.jpg)
Run Forrest, Run
Monday, July 27, 2009
![Page 30: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/30.jpg)
IDEs Java
•Netbeans
•Eclipse– EasyEclipse– MyEclipse– Red Hat Developer Studio
•Rational Application Developer – WSAD/RAD
•JDeveloper
Monday, July 27, 2009
![Page 31: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/31.jpg)
Customizações
Monday, July 27, 2009
![Page 32: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/32.jpg)
Customizações
•Facilidade na customização de:–Validadores–Conversores–Componentes de Interface–Renderizadores–Mensagens
Monday, July 27, 2009
![Page 33: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/33.jpg)
Mudando o Default
Monday, July 27, 2009
![Page 34: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/34.jpg)
Mudando o Default
•Montagem de templates: como Clay (Shale) e Facelets e substituir um pelo outro é questão de uma linha de configuração.
•A beans factory: porque não usar Spring do que managed beans?
•Renderização dos componentes: existem implementações, utilizando por exemplo XUL ou HTML + Ajax.
Monday, July 27, 2009
![Page 35: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/35.jpg)
As Implementações
Monday, July 27, 2009
![Page 36: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/36.jpg)
Implementações
• Apache– MyFaces
• Tomahawk/ Sandbox/ Tobago/ Trinidad/ Orchestra
• Red Hat/JBoss – RichFaces– Ajax4JSF
• Red Hat/JBoss – JBoss Seam
• ICEsoft Technologies Inc. – ICEfaces
• Oracle – Mojarra
• Oracle – ADF Faces
Monday, July 27, 2009
![Page 37: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/37.jpg)
REST
Monday, July 27, 2009
![Page 38: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/38.jpg)
O que é Web Service?
Monday, July 27, 2009
![Page 39: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/39.jpg)
Web Services
• Comunicação entre aplicações via INTERNET;
• Mais informações?
• Consulte o Wikipédia: http://pt.wikipedia.org/wiki/Web_service
Monday, July 27, 2009
![Page 40: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/40.jpg)
Monday, July 27, 2009
![Page 41: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/41.jpg)
CQ Teste
Primeira Pergunta:O que é REST?
Monday, July 27, 2009
![Page 42: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/42.jpg)
Monday, July 27, 2009
![Page 43: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/43.jpg)
O que é REST?
?
?Monday, July 27, 2009
![Page 44: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/44.jpg)
Monday, July 27, 2009
![Page 45: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/45.jpg)
Errado, a resposta certa É:
Monday, July 27, 2009
![Page 46: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/46.jpg)
Web Services - REST
Monday, July 27, 2009
![Page 47: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/47.jpg)
REST• REpresentational State Transfer (Transferência de Estado
Representacional);
• Este termo surgiu no ano de 2000;
• Em uma tese de doutorado de Roy Fielding;
• Baseado no protocolo HTTP;
• POST, GET, PUT e DELETE (Menos o POST as demais são freqüentemente envolvidas com CRUD).
• Cada recurso é direcionado através de sua URI;
• Sintaxe Universal;
• Mais simples;
• Menos Overhead de protocolos.
Monday, July 27, 2009
![Page 48: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/48.jpg)
REST• Utiliza Recursos (URI - Identificador Uniforme de
Recurso);
• Se comunicam através de uma interface HTTP;
• Pode ser transmitido por diversos conectores, porém não poderá ver mais nada do que o seu pedido;
• Assim não é necessário conhecer proxys, caches e etc.
Monday, July 27, 2009
![Page 49: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/49.jpg)
Arquitetura REST
http://brunopereira.org/webservicesrest-arquitetura/
Monday, July 27, 2009
![Page 50: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/50.jpg)
Declarativo
http://brunopereira.org/webservicesrest-arquitetura/
Monday, July 27, 2009
![Page 51: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/51.jpg)
Código Rest com Jersey
@Path("/paisesWS")public class PaisesRest { @GET @Produces("text/plain") public String getClichedMessage() { List<String> paises = new ArrayList<String>(); paises.add("======Listando alguns Paises via REST + Jersey======"); paises.add("\n Brasil"); paises.add("\n India"); paises.add("\n Argentina"); paises.add("\n Guatemala"); paises.add("\n Estou no meu WebService sendo acessado"); return paises.toString(); }}
Monday, July 27, 2009
![Page 52: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/52.jpg)
Alguns Frameworks• API REST para Java - JAX-RS:
• http://jcp.org/aboutJava/communityprocess/final/jsr311/index.html
• GlassFish Jersey:
• https://jersey.dev.java.net/
• JBoss RestEasy:
• http://www.jboss.org/resteasy/
• Restlet:
• http://www.restlet.org/
• Apache CXF:
• http://cxf.apache.org/Monday, July 27, 2009
![Page 53: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/53.jpg)
JSF & REST
• Imagine que precise de tags em JSF para criar um Web Service REST como um ATOM, padrão que segue a mesma idéia de RSS.
• Como faria?
• É com você Rafinha...
Monday, July 27, 2009
![Page 54: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/54.jpg)
Monday, July 27, 2009
![Page 55: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/55.jpg)
Não faço a menor idéia e vocês aí da platéia? Alguma idéia?
Monday, July 27, 2009
![Page 56: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/56.jpg)
Monday, July 27, 2009
![Page 57: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/57.jpg)
Haaaaaa, acertou quem disse que há Tags para o JSF suportar Rest.
Monday, July 27, 2009
![Page 58: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/58.jpg)
Tag Suport JSF/REST• RestFaces
• https://restfaces.dev.java.net/
• Para RSS
• RSS4JSF
• http://code.google.com/p/rss4jsf/wiki/Usage
• FaceRSS
• http://rsslib4j.sourceforge.net
• YARFRAW
• http://yarfraw.sourceforge.net/ Monday, July 27, 2009
![Page 59: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/59.jpg)
Monday, July 27, 2009
![Page 60: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/60.jpg)
Meninos e Meninas lembrem-se:Nem REST, nem JSF é uma solução perfeita,
ou seja, No Silver Bullet.
Monday, July 27, 2009
![Page 61: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/61.jpg)
Monday, July 27, 2009
![Page 62: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/62.jpg)
É brincadeira viu, e se eu precisar usar em um aplicativo não JSF?
Monday, July 27, 2009
![Page 63: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/63.jpg)
Monday, July 27, 2009
![Page 64: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/64.jpg)
Fique frio, eu ainda não terminei, olhe agora...
Monday, July 27, 2009
![Page 65: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/65.jpg)
Outros Frameworks e Linguagens
• Struts2Rest
• http://code.google.com/p/fulworx/
• SpringMVC+Restlet
• http://www.dehora.net/journal/2007/11/19/java-rest/
• PHP
• http://www.xml.lt/Resources/Framework
Monday, July 27, 2009
![Page 66: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/66.jpg)
Monday, July 27, 2009
![Page 67: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/67.jpg)
Vamos ver um exemplo.
Monday, July 27, 2009
![Page 68: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/68.jpg)
• Referências JSF:
• Alguns poucos Sites - Pesquise no Google:
• http://javawora.blogspot.com/search/label/JSF
• http://groups.google.com.br/group/javasf/?pli=1
• http://www.rponte.com.br/2008/06/30/o-que-esperar-do-jsf-20/
• http://www.caelum.com.br
• http://www.guj.com.br/java.tutorial.artigo.158.1.guj
• http://java.sun.com/javaee/javaserverfaces/
• www.jcp.org
• JSRs: 127; 252; 314.
• Revistas:– Mundo Java nº: 21 e posteriores.– Java Magazine nº: 23; 26; 43; 44; 45; 46; 47; 48 e posteriores.
• Livros:– Faces in Action (Kito Mann – Manning, 2004);– JavaServer Faces (Hans Bergsten – O´Reilly, 2004);– Core JavaServer Faces (David Geary e Cay Horstmann).
Monday, July 27, 2009
![Page 69: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/69.jpg)
• Referências REST:
• Alguns poucos Sites - Pesquise no Google:
• http://blpsilva.wordpress.com/2008/04/24/apresentacao-sobre-web-services-rest/
• http://unfoldingtheweb.com/2009/07/20/to-rest-or-not-to-rest/
• http://iv.incubadora.fapesp.br/portal/doc/TutorialReST
• http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
• http://pt.wikipedia.org/wiki/REST
• http://www.megginson.com/blogs/quoderat/2005/03/09/public-rest-application-seniors-canada-online/
• http://www.markbaker.ca/blog//2005/04/14/#2005-04-amazon-next
• http://jim.webber.name/2008/09/17/595957ef-63a2-4ff9-a477-43ea8db51cdd.aspx
• http://www.infoq.com/interviews/jim-webber-qcon-london
• http://www.devmedia.com.br/articles/viewcomp.asp?comp=7357
• http://wikis.sun.com/display/Jersey/Main
• www.jcp.org
• JSR: 311.
• Revistas:– Mundo Java;– Java Magazine.
• Livros:– Developing Enterprise Web Services: An Architect's Guide (James Webber e Sandeep Chatterjee);– RESTful Web Services (Leonard Richardson, Sam Ruby e David Heinemeier Hansson).
Monday, July 27, 2009
![Page 70: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/70.jpg)
Dúvidas?
Monday, July 27, 2009
![Page 71: JSF & REST](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549c0f73ac7959d32a8b461f/html5/thumbnails/71.jpg)
Fim
[email protected]://bregaida.com
http://javawora.blogspot.comtwitter: bregaida
Obrigado!
Monday, July 27, 2009