A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução ao Java EE Julio M. Faerman. Recursos Apresentações Exemplos Exercícios Tutoriais Links Downloads Desenvolvimento.

Apresentações semelhantes


Apresentação em tema: "Introdução ao Java EE Julio M. Faerman. Recursos Apresentações Exemplos Exercícios Tutoriais Links Downloads Desenvolvimento."— Transcrição da apresentação:

1 Introdução ao Java EE Julio M. Faerman

2 Recursos http://jfaerman.googlepages.com/ Apresentações Exemplos Exercícios Tutoriais Links Downloads Desenvolvimento web com Java # 2

3 Agenda Evolução da arquitetura de sistemas de informação Servidor de aplicações Contêiner Web Aplicações Web JEE Desenvolvimento web com Java # 3

4 Aplicações Monolíticas Evolução das arquiteturas de software # 4 Interface do Usuário Dados

5 Evolução das arquiteturas de software # 5 Aplicações duas camadas Banco de Dados Cliente “Gordo”

6 Aplicações N camadas (tiers) Banco de dados Oracle, MySQL, Firebird, DB2, Adabas,... Middleware (N camadas) JEE, Corba, DCOM, MOM, ESB,... Interface do Usuário Cliente magro (?) (HTML, WML,...) ou gordo (Swing, SWT,...) Evolução das arquiteturas de software # 6

7 Requisitos não funcionais Reusabilidade Manutenibilidade Desempenho –Vazão –Latência Escalabilidade Segurança Disponibilidade Tolerância a falhas Balanceamento de Carga Integração Benefícios e desafios de aplicações distribuídas # 7

8 Middlewares Ambientes de programação distribuída # 8

9 A Lasanha Desenvolvimento web com Java # 9 APP Server Maquina Virtual Java Sistema Operacional DispositivosDispositivosRedeRede APPAPP JSE APP JEE APP D E V E L O P E R D E P L O Y E R AplicaçãoAplicação TransporteTransporte RedeRede EnlaceEnlace FísicaFísica

10 AppServer Genérico Desenvolvimento web com Java Sistema Operacional Java SE (JVM + SE Classpath) App Server Web Container EJB Container Java EE Classpath (servlet, jp, ejb, persistence, jaxp, jms …) web-app1.war web-app2.war ejb-app1.jar enterprise-app1.ear enterprise-app2.ear EJBs Data Sources Message Queue Mail Session Cache

11 Web Container (JEE 5) Servlets –Java Server Pages Filters Listeners Tag Libraries –Tag Handlers –Tag Files Java Server Faces Web Services –SOAP – REST* Container Managed Authentication Desenvolvimento web com Java # 11

12 Web Application Típica Desenvolvimento web com Java HTTPServlet doGet() doPost() doPut() doDelete() HTTPServlet doGet() doPost() doPut() doDelete() JSP JSP HTTPServlet out.println(“ ”) x++; out.println(“/ ”) HTTPServlet out.println(“ ”) x++; out.println(“/ ”) request response Filter //before Chain.doFilter() //after Filter //before Chain.doFilter() //after request response compile ServletContextListener ServletContextAttribute Listener HttpSessionListener HttpSessionAttributeLi stener HttpSessionActivationL istener ServletRequestListener ServletRequestAttribute Listener events

13 Exercício: App Web JEE Servlet Filter JSP Tag File Listener Deployment Descriptor Desenvolvimento web com Java # 13

14 Os problemas Desenvolvimento web com Java # 14 class InserePedido extends HttpServlet{... doPost(…){ if (! tudoCerto) … Pedido p = new Pedido(); p.setXxx(request.getParameter(“Xxx”)); request.setAttribute(“pedido”,p); out.print(“ … ”) requestDispatcher.forward(“some.jsp”) } 1.Duplicação 2.Duplicação 3.Problemas ortogonais Validação Segurança Transações 4.Manipulação do HTTP 5.Negócio x Apresentação 6.Código prolixo 7.…

15 Web Frameworks Abstração –Actions –Componentes* Reuso de apresentação –Componentes** –Templates Validação Conversão Pontos de extensão Desenvolvimento web com Java # 15

16 Soluções? Desenvolvimento web com Java # 16 JSP Servlet Struts Sitemesh WebWork Tapestry GWT Velocity Cocoon Echo Canyamo Millstone OXF RIFE TeaServlet Shocks Folium JZonic JPublish JATO Maverick SOFIA Barracuda Bishop Niggle Verge Bento WingS jStatemachine Expresso Action Frmwk TeaServlet Jacquard Jaffa JWAA Warfare Scope Open Emcee Macaw Chiba JBanana JWarp Cassandra WebOnSwing Dinamica Helma JApple JFormular Melati Genie JSF Bishop Spring MVC Tiles TrubineGroovlets Freemarker Wicket

17 Desenvolvimento web com Java # 17 Dúvidas?


Carregar ppt "Introdução ao Java EE Julio M. Faerman. Recursos Apresentações Exemplos Exercícios Tutoriais Links Downloads Desenvolvimento."

Apresentações semelhantes


Anúncios Google