• Nenhum resultado encontrado

MÓDULO Programação para Web 2

N/A
N/A
Protected

Academic year: 2021

Share "MÓDULO Programação para Web 2"

Copied!
27
0
0

Texto

(1)

MÓDULO

Programação para Web 2

(2)

OBJETIVO DO

MÓDULO

Arquitetura Web em aplicações JEE

(3)

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

(4)

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

(5)

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 é

(6)

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.

(7)

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

(8)

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

(9)

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.

(10)

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

(11)

Aplicações Web

interação entre um cliente web e uma aplicação web

(12)
(13)
(14)
(15)

Frameworks MVC

Surgiram diversos frameworks MVC baseado no Model 2

Apache Struts

WebWork (Struts2)

Spring MVC

Tapestry

E muitos outros..

(16)

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

(17)

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..

(18)

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

(19)

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

(20)

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,

(21)

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:

(22)

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

(23)

MVC do JSF

(24)

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!

(25)

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

(26)

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)

(27)

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

Referências

Documentos relacionados

A minha querida orientadora, Profª Drª Iria Brzezinski, que com sua reconhecida competência profissional, além de orientar, sugerir e estimular meu trabalho, com seu

Para os empregados que tenham mais de 5 (cinco) anos de serviço ininterrupto na mesma empresa, e tenham mais de 45 (quarenta e cinco) anos de idade, o aviso prévio a ser

It differs from this species mainly by the following features: absence of cuticlllar foveae dorsally and ventrally ; apo ro a well sclerotized transversal bar;

Retorno ao hotel para café da manhã e saída para visitar à cidade sagrada de Sarnath, local onde Sidharta Gautama - o Buda, deu seu primeiro sermão.. Retorno e tarde livre

Geoprocessamento Aplicado ao Estudo do ICH - Índice de Carência Habitacional para o Município de São José dos Campos a partir dos censos demográficos de 2000 e 2010 Thamy

Os psicólogos ajudam diariamente muitas pessoas de todas as ida- des e com todos os tipos de problemas que buscam os conhecimentos da psicologia para ajudá-las a terem uma melhor

O processo de disseminação de conteúdo poluído foi avaliado, via simulação, medindo a fração de downloads de objetos não poluídos, considerando dois mecanismos de introdução

Os municípios vêm ocupando cada vez mais espaço no campo da segurança pública no Brasil e, como parte desse movimento, as guardas municipais podem ser consideradas uma