wagner borges. bacharel em sistemas de informação pela facid; especialista em sistemas de...

32
Desenvolvimento WEB com JEE Wagner Borges

Upload: internet

Post on 21-Apr-2015

107 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Desenvolvimento WEB com JEE

Wagner Borges

Page 2: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Bacharel em Sistemas de Informação pela FACID;

Especialista em Sistemas de Informação para a Web;

Mestrando da UFPE. Analista de Sistemas trabalhando atualmente

na SEFAZ-PI; Entusiasta Java e desenvolve com as

tecnologias presentes no JEE há mais de 4 anos; Ex-professor da Faculdade CET, UESPI, FACID; Mantém o blog:

http://quebrandoparadigmas.wordpress.com/

Quem sou eu?

Page 3: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Wagner da Silva Borges

Por que java? A linguagem Java é Orientada a Objetos A linguagem é totalmente portável A linguagem implementa desalocação

automática de memória É a linguagem mais utilizada no mundo.

◦ Conseqüentemente o mercado necessita profissionais capacitados na linguagem.

Page 4: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Wagner da Silva Borges

Java é orientada a Objeto Influenciada diretamente por C++ e Eiffel, a

linguagem segue a grande tendência das linguagens de programação nas décadas de 80 e 90. Neste período, linguagens como Pascal, Ada, Lisp e Cobol ganharam versões Orientadas a Objetos.

Page 5: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Wagner da Silva Borges

Java é totalmente portavel

Page 6: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Wagner da Silva Borges

Java Implementa GC automática A linguagem implementa desalocação

automática de memória (“coleta de lixo”), e não permite a desalocação manual.◦ Produtividade do programador◦ Testes◦ Bugs◦ Qualidade

Page 7: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Por que desenvolver pra WEB? Aplicações web tornam-se mais importantes. Mais complexas. Ajax, validação (server vs. client), efeitos... Exigência mais elevada do cliente durante os

anos. Interfaces ricas (fácil de usar) - RIA. Prazos cada vez mais curtos. Desenvolvimento considerado difícil. A bola da vez..

WAGNER DA SILVA BORGES

Page 8: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Desenvolvimento WEB(java)

WAGNER DA SILVA BORGES

Page 9: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

É uma especificação Define um conjunto de padrões para o

desenvolvimento de aplicações corporativas multicamadas.

Especificação x Implementação Primeiros contatos com a plataforma:

◦ FACID◦ Credishop

Sobre a Plataforma JEE

Page 10: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Tecnologias que fazem parte da arquitetura:•Java Server Pages (JSP);•Servlets;•Enterprise Java Beans (EJB);•Java Server Faces•Java Database Connectivity•Java Persistente API (JPA)•Context Dependency Injection (CDI)•Java Name Directory Interface (JNDI)•Remote Method Invocation (RMI)•JavaMail API;•Java Message API (JMS);

Sobre a Plataforma JEE

Page 11: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Por onde começar?◦ Servlet

Servlet Container◦ Java Server Pages – JSP◦ Java Server Faces – JSF◦ Facelets◦ Enterprise Java Beans – EJB◦ Java Persistent API - JPA

Sobre a Plataforma JEE

Page 12: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Modelo-1 (centrado em páginas)

WAGNER DA SILVA BORGES

Page 13: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Modelo-2

WAGNER DA SILVA BORGES

Page 14: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Surgiram diversos frameworks baseados no modelo-2 Apache Struts WebWork (Struts2) Spring MVC Tapestry Velocity E muito outros.. E continuam surgindo mais

WAGNER DA SILVA BORGES

Page 15: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

O que é Java Server Faces Uma especificação Um framework baseado em componentes de

interface com o usuário. Um framework dirigido a eventos. Padrão de mercado. RAD Um framework MVC.

◦ Como o Struts, JSF pode ser visto como um framework MVC para construir formulários HTML, validar os valores, chamar lógica de negócio e mostrar os resultados.

◦ Uma de suas melhores vantagens é a clara separação entre a visualização e regras de negócio (modelo).

WAGNER DA SILVA BORGES

Page 16: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Por que usar JSF? É um padrão de mercado Presente na especificação JEE6.0 Suporte de Big Players Fácil de usar ! E produtivo também!

◦ Fornece separação de funções que envolvem a construção de aplicações Web

◦ Alta abstração para desenvolvimento de aplicação web Modelo de programação dirigido a eventos (oposto ao modelo

HTTP request/response) Baixa curva de aprendizagem da equipe Vários pontos de extensão (converters, validators,

listeners etc) Componentes já prontos!

WAGNER DA SILVA BORGES

Page 17: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Por que usar JSF? IDEs e WYSIWYG (What you see is what you

get)◦ IntelliJ IDEA◦ JBuilder◦ IBM Rational App/Web Developer◦ Red Hat Developer Studio (antigo Exadel Studio)◦ Eclipse (MyEclipse, Europa etc)◦ NetBeans (Visual WebPack)◦ Sun Java Studio Creator◦ Oracle JDeveloper◦ JSFToolbox (Dreamweaver)

WAGNER DA SILVA BORGES

Page 18: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Um framework baseado em componentes JSF é construído sob conceito de componentes. Os componentes são as bases para a construção

da interface com o usuário. Existem componentes padrões equivalentes a

quase todas as tags HTML e diversos componentes auxiliares.

Existem diversas bibliotecas de componentes comerciais e open source.

Os componentes são expressos através de tags em JSP e posteriormente transformados em HTML.

WAGNER DA SILVA BORGES

Page 19: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Um framework baseado a eventos Possui um modelo para a manipulação de

eventos. Componentes geram determinados eventos.

◦ Faz chamada a um método (ação no servidor).◦ O estado da aplicação web muda devido ao

evento disparado pelo usuário. Um evento pode ser um click em um botão,

focar sobre um input ou mesmo alterar o valor de uma combobox.

WAGNER DA SILVA BORGES

Page 20: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Por que usar JSF? Reusabilidade e estrutura de componentes

extensível Acessibilidade (browsers, celulares,

pda’s, ...)

WAGNER DA SILVA BORGES

Page 21: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Por que usar JSF? Suporte cross-browser Grande atividade da comunidade em

fóruns, listas de discussão, blogs, portais, revistas, livros etc.

Integração com diversos frameworks◦ Spring, Spring-Annotation, Spring-Webflow,

Hibernate, EJB3, JPA, JBoss Seam, Acegi, JAAS, Struts, Struts2, Shale, Tiles, Facelets, Sitemesh, DWR, EXT, Crank, Beehive-Webflow, GWT, Portlets e muitos outros

WAGNER DA SILVA BORGES

Page 22: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Por que usar JSF?

Backbase Simplica

(ECruiser Suite) QuipuKit Blueprints RCFaces Jenia4Faces ZK G4JSF (GWT API) YUI4JSF (Yahoo

API) Ext4JSF (Ext API)

Dynamic Faces Crank Myfaces

Tomahawk Myfaces

Sandbox Myfaces Tobago Myfaces Trinidad Myfaces

Orchestra ADF Faces IceFaces

WoodStock Net

Advantage WebGalileoFa

ces JBoss

RichFaces JBoss

Ajax4jsf

Grande variedade de componentes comerciais e open source disponíveis.

WAGNER DA SILVA BORGES

Page 23: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Por que usar JSF? RichFaces

WAGNER DA SILVA BORGES

Page 24: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Por que usar JSF? RichFaces(2)

WAGNER DA SILVA BORGES

Page 25: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Por que usar JSF? RichFaces(3)

WAGNER DA SILVA BORGES

Page 26: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Por que usar JSF? myFaces (1)

WAGNER DA SILVA BORGES

Page 27: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Por que usar JSF? myFaces (2)

WAGNER DA SILVA BORGES

Page 28: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Por que usar JSF? myFaces (3)

WAGNER DA SILVA BORGES

Page 29: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Visão Geral da tecnologia Componentes Renderers Managed-beans Converters Validators Navegação (Navigation Rules) Eventos Ciclo de vida (Request Lifecycle)

WAGNER DA SILVA BORGES

Page 30: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

IDEs◦ NetBeans 6.8◦ Eclipse◦ Oracle Jdevelop◦ ...

NetBeans se mostra atualmente como a melhor IDE para o desenvolvimento Java.

Banco de Dados◦ MySQL◦ PostgreSQL

Ambiente de Desenvolvimento

Page 31: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

Em constante crescimento. Vale a pena investir no aprendizado. A Oracle tem a plataforma como a principal

tecnologia da adquirida na compra da SUN.

JEE continua Crescendo

Page 32: Wagner Borges.  Bacharel em Sistemas de Informação pela FACID;  Especialista em Sistemas de Informação para a Web;  Mestrando da UFPE.  Analista de

www.guj.com.br www.centraljsf.com.br www.javapassion.com http://blog.caelum.com.br http://www.java2s.com http://quebrandoparadigmas.wordpress.com www.portaljava.com.br Grupo do google javasf. http://www.rponte.com.br/

Links Importantes