Tecnologias para Internet Thyago Maia Tavares de Farias Aula 5 Sumário Arquiteturas de sistemas Web Arquitetura de duas camadas (cliente-servidor) Arquitetura de três camadas Camada de Apresentação Formulários HTML JavaScript Arquitetura de duas camada Também conhecida como arquitetura cliente-servidor; Resolve o problema de custos de processamento da arquitetura de uma camada; Baseada na divisão de trabalho (componentes); Tipos de divisão Thin Client: Cliente implementa apenas a interface gráfica; Servidor implementa a lógica e gerenciamento de dados; Thick Client: Cliente implementa a interface gráfica e a lógica de negócio; Servidor implementa o gerenciamento de dados; Arquitetura de três camadas Cada uma das camadas resolve e cuida de problemas específicos; Cada uma das camadas envolve um componente e sua separação é facilmente identificável; Camadas existentes: Camada de apresentação: Cuida da interface do usuário; Camada lógica: Ponte entre apresentação e dados; Camada de gerenciamento de dados: representado por um ou mais SGBDs; Arquitetura de três camadas Arquitetura de três camadas Exemplo: matrículas em cursos Utilidade: Sistema online para matrículas de estudantes em cursos; O sistema de gerenciamento de dados cuida das informações dos estudantes, dos cursos, das turmas, requisitos, etc; O servidor de aplicação mantém a lógica para adicionar cursos, turmas, fazer matrículas, tec; O programa cliente (Web ou não) cuida do login de diferentes usuários, apresentação de formulários, saída de dados, etc; Arquitetura de três camadas Vantagens: Permite que a melhor tecnologia seja aplicada em cada camada; Manutenção, modificação e substituição de cada camada é feita de forma independente; Permite clientes “leves”; Códigos da lógica centralizados; Componentização; Camada de Apresentação No detalhamento da camada de apresentação, abordaremos as tecnologias que existem no lado do cliente da arquitetura de três camadas. Camada de Apresentação Serão discutidos nessa sessão: Formulários HTML; JavaScript; CSS (Folhas de estilo) Formulários HTML Utilizados na comunicação entre a camada de apresentação e a camada lógica; Usados para captar diferentes tipos de entradas do usuário: Campos de texto; Caixas de seleção; Campos de escolha; Campos de senha; Entre outros... Formulários HTML Estruturas que permitem aos usuários submeter dados; Os dados submetidos podem ser tratados e/ou armazenados na camada de gerenciamento de dados, dependendo da aplicação; Formato: <form action=“” method=“” name=“”> ... </form> Formulários HTML Cada atributo da tag form tem um significado e utilidade: Action: Especifica a URI para onde será encaminhado o conteúdo do formulário; Method: Especifica o método pelo qual serão enviados os dados. Existem dois métodos: GET e POST (Mais detalhes adiante); Name: Especifica o nome do formulário Formulários HTML Entre <form> e </form> especificamos os elementos de entrada do formulário: Tag input (campos e botões); Tag select (caixas de seleção); Tag textarea (áreas de texto); Exemplos de tags para elementos de entrada: <input type=“text” name=“nome” /> <input type=“password” name=“senha” /> Formulários HTML Tag input Pode ter vários atributos. Os mais importantes são: Type: Especifica o tipo do campo de entrada, que pode ser text (campo de texto), password (campo de senha), reset (botão para resetar campos) e submit (botão que dispara o envio de conteúdo para o servidor); Name: especifica o nome do campo para que este possa ser identificado na camada lógica; Value: Especifica o valor padrão (o conteúdo) do campo; Formulários HTML Exemplo – Formulário com a tag input: <form action=“” method=“post”> <input type=“text” name=“login”/> <input type=“text” name=“senha”/> <input type=“submit” value=“Enviar”/> <input type=“reset” value=“limpar”/> </form> Formulários HTML Métodos GET e POST Utilizando o method=“get” na tag form, fazemos com que o conteúdo do formulário seja codificado na URI; Exemplo: http://thyagomaia.com?campo1=valor No caso do method=“post”, os campos de entrada do formulário vão embutidos na requisição HTTP, invisível para o usuário; Formulários HTML Exemplo – Formulário com o method=“get”: <form action=“http://www.teste.com” method=“get”> <input type=“text” name=“login”/> <input type=“text” name=“senha”/> <input type=“submit” value=“Enviar”/> <input type=“reset” value=“limpar”/> </form> JavaScript Linguagem de script utilizada na camada de apresentação; Aplicações em JavaScript rodam NO CLIENTE; Utilizada para: Comunicação com servidores; Validar formulários; Adicionar funcionalidades; Entre outros... JavaScript JavaScript está usualmente embarcada em páginas HTML; Qualquer pessoa pode utilizar JavaScript. Não há necessidade de se adquirir qualquer licença; Lembre-se: JavaScript e Java não são a mesma coisa! JavaScript é Case Sensitive; JavaScript O que podemos fazer com JavaScript? Programar pequenas aplicações web; Inserir conteúdo dinâmico em uma página HTML; Prever e reagir a eventos; Ler e escrever em elementos HTML; Validar dados; Entre outros; JavaScript A tag HTML <script> é usada para inserir código JavaScript em uma página HTML; Exemplo: <html> <body> <script type=“text/javascript”> document.write(Date()); </script> </body> </html> JavaScript – Exemplo 2 <html> <head> <script type="text/javascript"> function show_alert() { alert(“Sport Recife – Campeão Brasileiro!"); } </script> </head> <body> <input type="button" onclick="show_alert()" value=“Mostrar caixa de alerta" /> </body> </html>