Prévia do material em texto
10/5/2021 1 Programação Web para Back-End Framework Java Server Faces (JSF) Prof. Ms. Leonardo Rocha • Unidade de Ensino: 1 • Competência da Unidade: Java Server Faces e MVC • Resumo: Compreender a arquitetura de software com JSF. • Palavras-chave: MVC, JSF, Java, Eclipse. • Título da Teleaula : Framework Java Server Faces (JSF) • Teleaula nº: 1 Contextualização Conhecendo o Framework Java Server Faces Arquitetura de Software Ciclo JSF Estrutura de código Configuração Programação em JSF - Java Server Faces Java Server Faces, o que é? É uma especificação da linguagem Java muito utilizada para construção de interfaces para usuários baseadas em componentes para aplicações desenvolvidas para web. Conta com um ciclo de vida para sua construção. Ciclo de vida 10/5/2021 2 Recursos visuais O framework JSF permite a inserção, via IDE, de: Folhas de estilo (CSS); Comandos em JavaScript; Metodologia Ajax; JSF conta com: Suporte a internacionalização e acessibilidade; Um conjunto padrão de componentes de interface de usuário que possibilitam validação padronizada; Duas bibliotecas de etiqueta ("tag libraries") especiais do JavaServer Pages (JSP) para expressar a interface do JavaServer Faces dentro de uma página JSP; Um modelo de eventos do lado servidor ("server-side event model"); Gerência de estados; Managed Beans; Linguagem de Expressão Unificada ("Unified Expression Language") para JSP 2.0 e JSF 1.2. Orientação a objetos e seus pilares Você já sabe mas não custa lembrar... A orientação a objetos é um paradigma de programação que serve-se da interpretação do mundo real para construção de software. Dentro da programação Orientada A Objetos, temos alguns recursos e os pilares da POO para lembrar. POO Classe: conceito referente à modelagem de elementos do mundo real para o mundo computacional. Objeto: instância de uma classe. Abstração: capacidade de um sistema representar o conceito do mundo real que ele deve atender. Encapsulamento: proteção e organização da visibilidade dos atributos dentro de uma classe. POO Herança: capacidade de transmissão e organização de características em comum para outras classes. Polimorfismo: ao se utilizar a herança de maneira correta, existe a possibilidade de se criar objetos que possam assumir forma de outros objetos dentro de sua cadeia de herança. 10/5/2021 3 Você conhece algum padrão de arquitetura de software utilizada para desenvolvimento de software? Padrões de desenvolvimento Entre os padrões de arquitetura de software utilizados atualmente, um se destaca quando falamos de desenvolvimento de software web. O MVC. Existem outras arquiteturas como: Layers - Os módulos e componentes do software são organizados em camadas de funcionalidades, que podem ser desconstruídas em diferentes serviços. Este padrão é mais usado em programas de e-commerce. Padrões de desenvolvimento Client-Server - Neste modelo arquitetural, o processamento da informação se divide em módulos e processos distintos. Um deles é responsável pela manutenção da informação e o outro pela obtenção de dados. Este tipo de arquitetura de software é bastante usado em aplicativos de bancos e e-mail. Padrões de desenvolvimento Microservices - O padrão se baseia em múltiplos serviços e componentes para desenvolver uma estrutura modular. É o modelo preferido dos desenvolvedores e arquitetos de software, por permitir escalabilidade e independência dos módulos, que podem usar diferentes linguagens. Recomendações de livros Dúvidas 10/5/2021 4 JSF na camada View Padrão de desenvolvimento Um dos padrões de arquitetura de software mais utilizados no desenvolvimento web ainda nos dias de hoje é o MVC (Model-View-Controller), foi desenvolvido na década de 70 e representa a forma como a estrutura do projeto é organizada. MVC View - Visão Requisita atualização da camada de modelo, informa ao usuário respostas efetuadas pela camada de controle, facilita a integração com a camada de modelo, apresentando os principais objetos existentes na solução de forma gráfica, além de permitir às classes de controle selecionar as melhores opções para apresentarem ao usuário. Como principais elementos, estão presentes as tecnologias de criação de páginas (html, xhtml, JSP, JSF), elementos de estilo (CSS) e de eventos (javaScript, jQuery, ajax). Controller - Controle Camada responsável por mapear usuários que utilizam a camada de visão, definir os comportamentos e formas de agir do software, fornecer respostas às requisições da camada de visão, além de mudar o estado da camada de modelo. Podemos destacar como classe presente dentro desse contexto o controle de fluxo do sistema (de qual tela para qual tela, qual funcionalidade ou classe é o alvo da requisição). Nela estão as principais regras de negócio do sistema, fatores esses que determinam o funcionamento de todas as classes envolvidas no contexto do problema. Model - Modelo Camada responsável por qualquer atualização nas classes pertencentes ao problema. Ela detém e protege o estado de toda a aplicação, expõe as funcionalidades do sistema e avisa a camada de visão sobre quaisquer mudanças ocorridas dentro das atividades do sistema (se, por acaso, um nome de um cliente for alterado no banco de dados, essa nova informação aparecerá na tela do usuário). Temos como principais exemplos de elementos nessa camada as classes de domínio, com seus métodos, atributos e relacionamentos. 10/5/2021 5 Camada O framework JSF é um recurso, aplicado na camada de visão, que auxilia a comunicação entre páginas WEB e os recursos existentes nas classes em Java. Segundo Faria, o “JavaServer Faces, também conhecido como JSF, é uma tecnologia para desenvolvimento web que utiliza um modelo de interfaces gráficas baseado em eventos ” (FARIA, 2015, p. 51) Camada Esse recurso facilita a ligação entre os objetos java e as ações executadas pelos usuários em suas interações com uma página WEB. Ele facilita a redução das linhas de código para captação de informações presentes em formulários e dinamiza a criação de classes de controle que sejam capazes de se comunicar com uma página que utiliza linguagem de marcação (html ou xhtml). Esse framework é baseado no padrão MVC, pois atua diretamente nos elementos da camada de visão. Instalação do Eclipse Eclipse como IDE Necessário instalar o Eclipse para desenvolvimento web. Atenção na instalação. Você deverá escolher a versão do Eclipse adequada para uso com JSF. É necessário instalar também o Java para funcionamento da aplicação e do Wildfly para servidor. Esquema de inserção de comandos No desenvolvimento do JSF, existe uma estrutura para utilização dos comandos. Ela segue o seguinte esquema: <html> ... tags html .... tags JSF .... tags html ... </html> Utilizando JSF A utilização do framework está condicionada à inserção de componentes visuais na página em que se pretende utilizar o JSF. Na linha 2, o atributo xmlns (xml namespace) especifica a diretriz padrão para o documento xml. Na linha 3, o atributo xmlns é atribuído a um identificador (:h), o que significa que todo elemento que possuir o prefixo h pertencerá a esse namespace. 10/5/2021 6 Configuração Atenção à configuração na criação do projeto, pois é preciso assinalar o WildFly e a configuração, como na figura. Qual atenção é preciso dar à configuração de um projeto no Eclipse? Solução Dúvidas Recapitulando Modelo de software MVC JSF, instalação e configuração Eclipse JVM Iniciando um projeto