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

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

Programação com Objetos Distribuídos J2EE Web 1 Componentes Web do J2EE 5.0 Cristina Ciprandi Menegotto.

Apresentações semelhantes


Apresentação em tema: "Programação com Objetos Distribuídos J2EE Web 1 Componentes Web do J2EE 5.0 Cristina Ciprandi Menegotto."— Transcrição da apresentação:

1 Programação com Objetos Distribuídos J2EE Web 1 Componentes Web do J2EE 5.0 Cristina Ciprandi Menegotto

2 Programação com Objetos Distribuídos J2EE Web 2 Referência l The Java TM EE 5 Tutorial Third Edition äFor Sun Java System Application Server Platform Edition 9 äEric Jendrock, Jennifer Ball, Debbie Carson, Ian Evans, Scott Fordin and Kim Haase äAddison-Wesley, 2006 äDisponível em: http://java.sun.com/javaee/5/docs/tutorial/doc/http://java.sun.com/javaee/5/docs/tutorial/doc/

3 Programação com Objetos Distribuídos J2EE Web 3 Introdução l Aplicações Java EE são constituídas por unidades auto contidas de software funcional l Componentes Web do J2EE 5.0: äJava Servlet äJavaServer Pages (JSP) o JavaServer Pages Standard Tag Library (JSTL) äJavaServer Faces (JSF) l JSTL e JSF são novidades do J2EE 5.0

4 Programação com Objetos Distribuídos J2EE Web 4 Surgimento de Servlets l Serviços passaram a ser fornecidos pela Web l Surgiu necessidade de conteúdo dinâmico l Tecnologias desenvolvidas visando atender a essa necessidade: äApplets o Uma das primeiras iniciativas o Foco na plataforma cliente äScripts Common Gateway Interface (CGI) o Foco no lado servidor o Dependência de plataforma e falta de escalabilidade äJava Servlet o Criada visando superar as deficiências do CGI o Modo portável de prover conteúdo dinâmico orientado ao usuário

5 Programação com Objetos Distribuídos J2EE Web 5 Definição de Servlets l Definição de Servlets: äClasses Java äProcessam requisições e constroem respostas dinamicamente äEstendem capacidades de servidores que permitem acesso a aplicações através de modelo de programação requisição/resposta äPodem responder a qualquer tipo de requisição o Maior uso é na extensão de aplicações hospedadas por servidores Web o Há classes Servlets específicas para o protocolo HTTP

6 Programação com Objetos Distribuídos J2EE Web 6 Definição de JSP l Definição de JSP: äPermite criação simples de conteúdo Web que possui tanto componentes estáticos como dinâmicos äDisponibiliza todas as capacidades dinâmicas da tecnologia Java Servlet äProvê abordagem mais natural que a de Servlets para a criação de conteúdo estático l Principais aspectos da tecnologia: äLinguagem para desenvolvimento de páginas JSP äLinguagem de Expressões (EL) para acessar objetos do servidor äMecanismos para definição de extensões à linguagem JSP äUma API usada por desenvolvedores de containers Web

7 Programação com Objetos Distribuídos J2EE Web 7 Definição de Página JSP l Definição de página JSP: äDocumento baseado em texto que contém dois tipos de texto: o Dados estáticos o Podem ser expressos em qualquer formato baseado em texto o Exemplos de formatos: HTML, SVG, WML, XML, etc. o Elementos JSP o Constroem conteúdo dinâmico o Podem ser expressos nas sintaxes padrão ou XML

8 Programação com Objetos Distribuídos J2EE Web 8 Definição de JSTL l Definição de JSTL: äEncapsula funcionalidades essenciais comuns a muitas aplicações JSP äPermite o emprego de um único conjunto padronizado de tags o Permite deployment de aplicações em qualquer container JSP que suporta JSTL o Facilita otimização da implementação das tags l JSTL possui tags para: äIteradores e condicionais responsáveis por controle de fluxo äManipulação de documentos XML äInternacionalização äAcesso a bancos de dados usando SQL äFunções comumente usadas

9 Programação com Objetos Distribuídos J2EE Web 9 Tecnologias Web J2EE Relação entre as tecnologias Web do J2EE 5.0 (Jendrock et al., 2006)

10 Programação com Objetos Distribuídos J2EE Web 10 Comparação entre Tecnologias l Embora Servlets e páginas JSP possam ser usados alternativamente, cada um é mais adequado a um propósito äServlets: o Aplicações orientadas a serviços o Funções de controle de aplicações orientadas à apresentação äPáginas JSP: o Geração de marcação como HTML, SVG, WML e XML l JSF: äBaseada em Servlets e JSP äProvê framework de componentes para interface de usuário (UI) voltado a aplicações Web

11 Programação com Objetos Distribuídos J2EE Web 11 Definição de JSF l Definição de JSF: äFramework de interface de usuário para a construção de aplicações Web l Principais componentes da tecnologia: äDuas bibliotecas de tags customizadas de JSP o Para expressar componentes UI dentro de uma página JSP o Para conectar componentes a objetos do servidor äAPI para representar componentes UI e gerenciar seu estado o Tratamento de eventos o Validação de entradas o Conversão de dados o Configuração de navegação de páginas o Suporte à internacionalização e acessibilidade

12 Programação com Objetos Distribuídos J2EE Web 12 Execução de UI no Servidor A interface de usuário é executada no servidor (Jendrock et al., 2006)

13 Programação com Objetos Distribuídos J2EE Web 13 Benefícios de JSF l Separação clara entre comportamento e apresentação äCom tecnologia JSP, essa separação é atingida em parte o Aplicação JSP não pode mapear requisições HTTP a tratamento de eventos específico de um componente o Nem pode gerenciar elementos UI como objetos stateful no servidor äSeparação permite foco em partes do processo de desenvolvimento e provê modelo de programação simples para a ligação das partes l Conceitos familiares de componentes UI e da camada Web sem limitação a tecnologias particulares de scripting ou marcação l Sobreposição direta à API Servlet l Arquitetura rica para gerenciar componentes de UI

14 Programação com Objetos Distribuídos J2EE Web 14 Aplicação JSF Típica l Uma aplicação JSF típica inclui as seguintes partes: äUm conjunto de páginas JSP äUm conjunto de backing beans: componentes JavaBeans que definem propriedades e funções a componentes UI de uma página äUm arquivo que define regras de navegação de páginas e configura beans e outros objetos customizados äUm deployment descriptor äPossivelmente, um conjunto de objetos customizados criados pelo desenvolvedor da aplicação äUm conjunto de tags customizadas para representar objetos customizados na página

15 Programação com Objetos Distribuídos J2EE Web 15 Exemplo guessNumber l Aplicação exemplo simples: äSolicita número entre 0 e 10 äSegunda página diz se adivinhou äVerifica validade da entrada l Tarefas: äMapear instância de FacesServlet äCriar as páginas äDefinir a navegação da página no arquivo de configuração äDesenvolver os backing beans äAdicionar managed bean declarations ao arquivo de configuração Página greetings.jsp (Jendrock et al., 2006)

16 Programação com Objetos Distribuídos J2EE Web 16 Mapeamento de FacesServlet l Todas as aplicações JSF devem incluir mapeamento para a instância de FacesServlet em seus descritores de deployment l A instância aceita requisições, as passa ao ciclo de vida para processamento e inicializa recursos

17 Programação com Objetos Distribuídos J2EE Web 17 Criação de greeting.jsp l Criar as páginas é responsabilidade do “autor” äLayout de componentes UI nas páginas äMapeamento dos componentes a beans äInclusão de tags que registram conversores, validadores e listeners sobre os componentes l Adição de tags HTML e HEAD e de diretiva do tipo de conteúdo l Declaração de bibliotecas de tags

18 Programação com Objetos Distribuídos J2EE Web 18 Criação de greeting.jsp l Adição das tags view e form äTodas as tags de componentes JSF devem estar dentro de uma tag view äPossível especificar ID para a tag form, que é mapeado ao componente UI associado no servidor l Adição de um componente label e de imagem

19 Programação com Objetos Distribuídos J2EE Web 19 Criação de greeting.jsp l Adição de um text field: äA tag inputText representa um componente text field äNo exemplo, recebe um valor inteiro como entrada

20 Programação com Objetos Distribuídos J2EE Web 20 Definição de Navegação l Determinar a qual página ir depois de clique em botão ou hyperlink l Definida em arquivo de configuração

21 Programação com Objetos Distribuídos J2EE Web 21 Desenvolvimento de Beans l Desenvolver os beans é responsabilidade do programador l Aplicação JSF típica liga um backing bean a cada página l Relembrando:

22 Programação com Objetos Distribuídos J2EE Web 22 Desenvolvimento de Beans

23 Programação com Objetos Distribuídos J2EE Web 23 Adição de Managed Bean Declarations l Necessário configurar backing beans no arquivo de configuração äCriação automática de novas instâncias de beans sempre que necessárias äTarefa do arquiteto de aplicações

24 Programação com Objetos Distribuídos J2EE Web 24 Modelo de Componentes UI l JSF provê classes de componentes UI e interfaces de comportamento associadas l Classes de components UI: äEstendem UIComponentBase äSão completamente extensíveis l Algumas classes de componentes UI da tecnologia JSF: äUICommand: representa controle que dispara ações quando ativado äUIForm: encapsula grupo de controles que submetem dados à aplicação äUIGraphic: exibe imagem äUIInput: toma uma entrada de usuário

25 Programação com Objetos Distribuídos J2EE Web 25 Modelo de Componentes UI l Interfaces de comportamento: äActionSource: Indica que o componente pode disparar um evento de ação äActionSource2: Estende ActionSource e provê a mesma funcionalidade, mas permite que componentes usem a EL unificada äEditableValueHolder: Estende ValueHolder e especifica opções adicionais para componentes editáveis, como validação e emissão de eventos de mudança de valor äNamingContainer: Exige que cada componente com raiz neste componente tenha um ID único äStateHolder: Indica que um componente tem estado que deve ser salvo entre requisições äValueHolder: Indica que o componente mantém um valor local, bem como a opção de acessar dados na camada de modelo

26 Programação com Objetos Distribuídos J2EE Web 26 Modelo de Renderização l Render kit define como classes de componentes são mapeadas a tags de componentes que são apropriadas a um cliente particular l A implementação de JSF inclui um render kit padrão para HTML l Cada custom tag JSP definida no render kit HTML padrão é composta por: äFuncionalidade do componente – definida na classe UIComponent äAtributos de renderização – definidos pela classe Renderer Tags de UICommand (Jendrock et al., 2006)

27 Programação com Objetos Distribuídos J2EE Web 27 Modelo de Conversão l Aplicação JSF pode opcionalmente associar um componente com dados de objeto do lado servidor äObjeto é um componente JavaBeans, como um backing bean äAplicação faz gets e sets chamando as propriedades de objeto adequadas para o componente l Quando um componente é ligado a um objeto, a aplicação fica com duas visões dos dados do componente: äVisão de modelo: dados são representados por tipos de dados äVisão de apresentação: dados são representados de forma legível ou modificável pelo usuário l Implementação JSF converte automaticamente dados de componentes entre as duas visões

28 Programação com Objetos Distribuídos J2EE Web 28 Modelo de Eventos e Listener l Classes de eventos fortemente tipadas e interfaces Listener äAplicação usa para tratar eventos gerados por componentes UI äObjeto Event identifica componente que gerou o evento e grava informação sobre evento l Para ser notificada sobre um evento, uma aplicação deve: äProver uma implementação da classe Listener äRegistrá-la no componente que gera o evento l Quando componente é ativado: äEvento é disparado äImplementação JSF invoca método Listener, que processa o evento l Suporta 3 tipos de eventos: mudança de valor, ação e data-model

29 Programação com Objetos Distribuídos J2EE Web 29 Modelo de Validação l Tecnologia JSF suporta mecanismos para validar dados de componentes editáveis äDefine um conjunto padronizado de classes para realizar validações comuns de dados äValidação ocorre antes que o dado seja atualizado l Biblioteca de tags núcleo de JSF também define conjunto de tags que correspondem às implementações padronizadas de Validator

30 Programação com Objetos Distribuídos J2EE Web 30 Considerações Finais l Competição entre Struts e JSF l Uso de JSF com Ajax


Carregar ppt "Programação com Objetos Distribuídos J2EE Web 1 Componentes Web do J2EE 5.0 Cristina Ciprandi Menegotto."

Apresentações semelhantes


Anúncios Google