1 / 17

Introdução ao Java EE

Introdução ao Java EE. Julio M. Faerman. Recursos. http://jfaerman.googlepages.com/ Apresentações Exemplos Exercícios Tutoriais Links Downloads. Agenda. Evolução da arquitetura de sistemas de informação Servidor de aplicações Contêiner Web Aplicações Web JEE.

kanan
Download Presentation

Introdução ao Java EE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. Desenvolvimento web com Java Agenda • Evoluçãodaarquitetura de sistemas de informação • Servidor de aplicações • Contêiner Web • Aplicações Web JEE

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

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

  6. Evolução das arquiteturas de software Aplicações N camadas (tiers)

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

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

  9. Desenvolvimento web com Java A Lasanha D E V E L O P E R D E P L O Y E R JEE APP Aplicação JSE APP APP Server Transporte APP Maquina Virtual Java Rede SistemaOperacional Enlace Dispositivos Rede Física

  10. Desenvolvimento web com Java AppServerGenérico HTTP RMI App Server Web Container EJB Container J N D I EJBs web-app1.war ejb-app1.jar Data Sources web-app2.war ejb-app1.jar Message Queue Mail Session enterprise-app1.ear Cache enterprise-app2.ear Java EE Classpath (servlet, jp, ejb, persistence, jaxp, jms …) Java SE (JVM + SE Classpath) SistemaOperacional

  11. Desenvolvimento web com Java 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

  12. Desenvolvimento web com Java Web Application Típica request HTTPServlet doGet() doPost() doPut() doDelete() Filter //before Chain.doFilter() //after response JSP <html> <% x++; %> </html> HTTPServlet out.println(“<html>”) x++; out.println(“/<html>”) compile request response ServletContextListener HttpSessionListener ServletRequestListener ServletContextAttributeListener HttpSessionAttributeListener ServletRequestAttributeListener HttpSessionActivationListener events

  13. Desenvolvimento web com Java Exercício: App Web JEE • Servlet • Filter • JSP • Tag File • Listener • DeploymentDescriptor

  14. Desenvolvimento web com Java Os problemas class InserePedido extends HttpServlet{ ... doPost(…){ if (! tudoCerto) … Pedidop = new Pedido(); p.setXxx(request.getParameter(“Xxx”)); request.setAttribute(“pedido”,p); out.print(“<htlm>…</html>”) requestDispatcher.forward(“some.jsp”) } } • Duplicação • Duplicação • Problemasortogonais • Validação • Segurança • Transações • Manipulação do HTTP • NegócioxApresentação • Códigoprolixo • … <table> <% for.. %> <tr><td><%= if(pedido.isEspecial()) %> <%= pedido.getValor() * 0.90%>

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

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

  17. Desenvolvimento web com Java Dúvidas?

More Related