MÓDULO Programação para Web 2



Documentos relacionados
Orientada a serviços: JAX-WS SOAP API

Anatomia do JSF JavaServer Faces. Rafael Ponte

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

Como sobreviver com Java 2? Saulo Arruda

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

UFG - Instituto de Informática

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)

Experiência em missão crítica de missão crítica

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Guilherme Augusto de Assis

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container TomCat Aula 05

Desenvolvendo Portlets utilizando JSF, Ajax, Richfaces. Gustavo Lira Consultor 4Linux

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração

SIQ GQF Plugin s WEB (Aplicações WEB) Gestão da Qualidade de Fornecedores

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

Este livro é dedicado a minha esposa Edna e a todos os desenvolvedores que fizeram do software livre um meio profissional levado a sério.

Manual de Procedimentos para Desenvolvimento de Softwares

Omar Alejandro Balcon Benvenuto

Escrevendo meu primeiro porlet. Gustavo Lira Consultor 4Linux

Java II. Sérgio Luiz Ruivace Cerqueira

3 Serviços na Web (Web services)

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP

J2EE TM Java 2 Plataform, Enterprise Edition

Associação Carioca de Ensino Superior Centro Universitário Carioca

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

Linguagem de Programação Para Internet II

ARQUITETURA DO SISTEMA ERP PEGASUS

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

Omar Alejandro Balcon Benvenuto

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

Introdução à Plataforma Eclipse. Leandro Daflon

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011

UM ESTUDO SOBRE OS FRAMEWORKS JSF E PRIMEFACES NO DESENVOLVIMENTO DE SOFTWARE WEB

Desenvolvendo Portlets utilizando JSF, Ajax, Richfaces. Gustavo Lira Consultor 4Linux

Curso - Padrões de Projeto Módulo 5: Model-View- Controller

Curso de Aprendizado Industrial Desenvolvedor WEB

SISTEMA DE GESTÃO DE PRODUÇÃO DE EVENTOS

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS

PROJETO PEDAGÓGICO DE CURSOS

Aula 03 - Projeto Java Web

Aula 4. Objetivos. Conteúdo dinâmico na internet.

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

FICHA DE CATALOGAÇÃO DE REVISTAS DE NOTÍCIAS. Coleção

TDC2012. EJB simples e descomplicado, na prática. Slide 1

Programação Web Aula 12 - Java Web Software

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

JSF e PrimeFaces. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul

JPA Passo a Passo. Henrique Eduardo M. Oliveira henrique@voffice.com.br. Globalcode Open4Education

Fatos e Mitos do Java EE. Fernando Lozano Consultor 4Linux lozano@4linux.com.br

Criação de um novo projeto no Eclipse utilizando Maven

Desenvolvimento de aplicações web com JSP

Aula 1 Desenvolvimento Web. Curso: Técnico em Informática / 2º módulo Disciplina: Desenvolvimento Web Professora: Luciana Balieiro Cosme

Curso de Java. Geração de Páginas WEB. TodososdireitosreservadosKlais

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática

JSTL: Uma forma padrão de desenvolver página WEB dinâmica Plácido Antonio de Souza Neto

Spring: Um suite de novas opções para Java EE

Framework. Marcos Paulo de Souza Brito João Paulo Raittes

IplanRio DOP - Diretoria de Operações GIT - Gerência de Infraestrutura Tecnológica Gerente da GIT

Arquitetura de uma Webapp

NETBEANS IDE UTILIZAÇAO DE RECURSOS PARA DESENVOLVIMENTO DE PROJETO JAVA WEB

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container Aula 04

Programação para Web Artefato 01. AT5 Conceitos da Internet

Integração Orientada a Serviços

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

OPORTUNIDADES CWI: Principais atividades: - Análise e desenvolvimento de sites Cross-plataform (IE/Firefox/Chrome/Safari).

UNIVERSIDADE FEDERAL DO CEARÁ - UFC DEPARTAMENTO DE COMPUTAÇÃO - DC ESPECIALIZAÇÃO EM TECNOLOGIA DA INFORMAÇÃO. Trabalho Final

Struts 2 : Projeto e Programação Editora: Ciência Moderna Autor: Antunes Budi Kurniawan Número de páginas: 600

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

JSF - Controle de Acesso FERNANDO FREITAS COSTA

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Daniel Paulo de Assis

UFG - Instituto de Informática

ORDEM DE SERVIÇO OS 003/DINFO/ /09/2013

Desenvolvendo aplicações desktop em Java: presente e futuro

WebApps em Java com uso de Frameworks

Desenvolvimento e disponibilização de Conteúdos para a Internet

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M

Manual de Integração WebService

Plataforma Open Source de Desenvolvimento e Sustentação de Sistemas. Daniel Darlen Lucius Curado Ridai Pombo

OPORTUNIDADES CWI: Principais atividades: - Análise e desenvolvimento de sites Cross-plataform (IE/Firefox/Chrome/Safari).

Universidade Federal Rural de Pernambuco Departamento de Informática Curso: Bacharelado em Sistemas de Informação

Java Server Faces 2.0 Rich Faces 4.0

Analista de Negócio Pleno

Padrões de Interação com o Usuário

Transcrição:

MÓDULO Programação para Web 2 Sistemas Web na JEE

OBJETIVO DO MÓDULO Arquitetura Web em aplicações JEE Conceitos iniciais

Desenvolvimento Web Aplicações web tornam-se mais e mais importantes Mais e mais complexidade Ajax, validação (server vs. client), efeitos... Exigência mais elevada do cliente durante os anos Interfaces ricas (fácil de usar) Prazos cada vez mais curtos Desenvolvimento considerado difícil

Aplicações Web Extensão dinâmica de um servidor e web ou de aplicação. Orientada para Apresentação: gera páginas web interativas contendo diversos tipos de linguagem de marcação (HTML, XHTML, XML, etc.) e conteúdo dinâmico em resposta às solicitações. Orientada a serviços: implementa o endpoint de um web service. Aplicações orientadas a apresentação muitas vezes são clientes de aplicações web orientadas a serviços.

Ciclo de Vida de Aplicações Web Uma aplicação web é composta por: componentes Web; arquivos de recursos estáticos, como imagens e folhas de estilo em cascata (CSS); e classes auxiliares e bibliotecas. O container web oferece diversos serviços de apoio que incrementam a capacidade dos componentes Web além de torná-los mais fáceis de desenvolver. Como uma aplicação web precisa considerar estes serviços, o processo de criação e execução de uma aplicação web é diferente daquele das classes Java tradicionais

Ciclo de Vida de Aplicações Web O processo de criação, implantação e execução de um aplicativo web pode ser resumido da seguinte forma: 1. Desenvolver o código do componente web. 2. Desenvolver o descritor de implementação de aplicações web, se necessário. 3. Compilar os componentes de aplicativos web e classes auxiliares referenciados pelos componentes. 4. Opcionalmente, empacotar o aplicativo em uma unidade implementável. 5. Implantar o aplicativo em um container web. 6. Acessar uma URL que faz referência à aplicação web.

Aplicações Web JEE Na plataforma Java EE, componentes web fornecem as capacidades dinâmicas de extensão para um servidor web. Componentes da Web podem ser servlets Java, páginas da web implementado com JavaServer Faces, Java Server Pages ou terminais de serviço web

Aplicações Web JEE Servlets : classes Java que dinamicamente processam requisições e constroem respostas. JavaServer Faces e Facelets usados para a construção de aplicações web interativas (outros Frameworks também) Embora realizem mesmas coisas, cada um tem suas vantagens: Servlets : adequados para aplicações orientadas a serviços (web service endpoints podem ser implementados como servlets) e funções de controle de aplicativos orientado a apresentação, como despachar pedidos e manipulação de dados não textuais. JavaServer Faces e páginas Facelets : mais apropriadas para geração de marcações baseada em texto, como XHTML, e geralmente utilizado para aplicações orientadas a apresentação

Aplicações Web JEE Componentes Web são suportados pelos serviços de uma plataforma de tempo de execução (runtime) chamado de web container. Um container web oferece serviços como solicitação de despacho, segurança, concorrência e gerenciamento de ciclo de vida. Um container web também oferece componentes da Web o acesso a APIs tais como de nomenclatura, transações e e-mail.

Aplicações Web JEE Certos aspectos do comportamento do aplicativo web pode ser configurado quando o aplicativo é instalado, ou implantados, no container web. As informações de configuração podem ser especificadas usando anotações Java EE ou em um arquivo XML chamado de descritor de implementação de aplicações web (Deployment Descriptor). Um DD de aplicação web deve estar de acordo com o esquema descrito na especificação Java Servlet.

Aplicações Web interação entre um cliente web e uma aplicação web que usa um servlet.

Modelo Centrado em Páginas

Modelo Centrado em Páginas

Modelo 2 (MVC)

Frameworks MVC Surgiram diversos frameworks MVC baseado no Model 2 Apache Struts WebWork (Struts2) Spring MVC Tapestry E muitos outros.. E continuam surgindo mais... JSF

O que é JavaServer Faces?... uma especificação... um framework baseado em componentes de interface com o usuário... um framework dirigido à eventos... padrão de mercado... RAD... um framework MVC

JavaServer Faces é...... uma especificação JSR 127 (JSF 1.0 e JSF 1.1) 2004 JSF 1.0 não alcançou o sucesso esperado JSF 1.1 corrigiu os erros da versão anterior JSR 252 (JSF 1.2) - 2006 (Java EE 5.0) JSF 1.2 melhor compatibilidade com JSP 2.1 e correção de bugs JSR 314 (JSF 2.0) Arquitetura, produtividade, ferramentas RAD, AJAX, melhores componentes UI..

JavaServer Faces é...... um framework baseado em componentes de interface com o usuário JSF é construído sob o conceito de componentes Os componentes são a base 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 disponíveis comerciais e open source Os componentes são expressos através de tags em um JSP e posteriormente transformados em HTML

JavaServer Faces é...... um framework dirigido à eventos Possui um modelo para manipulação de eventos Componentes geram determinados eventos Faz chamada à 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 combo-box

JavaServer Faces é...... padrão de mercado É uma especificação (JCP) Java EE 7 Suporte de Big Players Sun, Apache, IBM, Oracle, BEA Systems, Borland,... IDEs (NetBeans, Eclipse, MyEclipse, JDeveloper,...) Implementações (Sun (R.I), Apache, IBM,...) Conjuntos de componentes (ADF Faces, Apache MyFaces, WoodStock, IceFaces, JBoss RichFaces,...)

JavaServer Faces é...... RAD (Rapid Application Development) 4 camadas: Arquitetura de componentes básica Conjunto de componentes padrão Infra-estrutura da aplicação Ferramenta RAD JSF padroniza os primeiros três pontos e permite a criação de ferramentas RAD Utiliza-se IDEs drag-and-drop para construir aplicações: Sun Studio Creator, NetBeans, JDeveloper etc

JavaServer Faces é...... um framework MVC para construir interfaces com o usuário para aplicações web. JSF inclui: Um conjunto de APIs para: representar os componentes UI e gerenciar o estado destes componentes manipular os eventos e validação de entrada do usuário definir e controlar a navegação entre as páginas dar suporte a internacionalização e acessibilidade Duas bibliotecas de tags JavaServer Pages (JSP) para expressar uma interface JavaServer Faces usando uma página JSP

MVC do JSF 23

Por que JSF? É um padrão de mercado Presente na especificação JEE7 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!

Por que JSF? Reusabilidade e estrutura de componentes extensível Acessibilidade (browsers, celulares, pda s,...) Suporte cross-browser Segurança OWASP (Open Web Application Security Project) cross-site scripting, session hijacking, execução de métodos,... Natureza orientada a componentes, validação e pontos de extensão 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

Por que JSF? Testes unitários Mock objects Shale testing framework Templates Tiles e Sitemesh Facelets (esse sozinho merece uma palestra!) IDEs e WYSIWYG (What you see is what you get) Eclipse (MyEclipse, Europa etc) NetBeans (Visual WebPack) Sun Java Studio Creator Oracle JDeveloper JSFToolbox (Dreamweaver) IntelliJ IDEA JBuilder IBM Rational App/Web Developer Red Hat Developer Studio (antigo Exadel Studio)

Por que JSF? Grande variedade de componentes comerciais e open source disponíveis 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 WebGalileoFaces JBoss RichFaces JBoss Ajax4jsf