• Nenhum resultado encontrado

Aula 06

N/A
N/A
Protected

Academic year: 2021

Share "Aula 06"

Copied!
9
0
0

Texto

(1)

Servidores de Aplicação

Aula 06

(2)

Este material é parte integrante da disciplina oferecida pela UNINOVE.

O acesso às atividades, conteúdos multimídia e interativo, encontros virtuais, fóruns de discussão e a comunicação com o professor devem ser feitos diretamente no ambiente virtual de aprendizagem UNINOVE.

Uso consciente do papel.

(3)

Aula 06: Camada web

Objetivo: Apresentar os conceitos relacionados ao desenvolvimento das interfaces

web usando as tecnologias de Java EE.

Introdução

Aplicação web é o termo utilizado para designar, de forma geral, sistemas de informática projetados para serem usados através de um navegador, na internet ou em redes privadas (intranet), e que são executadas em um servidor de HTTP (Web Host ou Servidor Web).

Figura 1 – Aplicação Web

No servidor, a aplicação web é um conjunto de programas mantido e executado num único local, o que facilita sua atualização e manutenção.

(4)

A Figura 1 apresenta o conceito de uma aplicação web. Como pode ser observado, quando o usuário digita um endereço no browser, por exemplo, <www.uninove.br>, este cria uma requisição HTTP (um pedido) para a intranet localizar o endereço do servidor. Ao localizá-lo, a Intranet solicita a página de entrada para a aplicação e o servidor web responde para a intranet qual é o conteúdo a ser mostrado para o usuário. Nesse momento, a intranet redireciona a página para o usuário sob a forma de uma resposta HTTP, recebida pelo browser e apresentada ao usuário.

O mesmo funcionamento é válido para cada um dos itens de menu existentes na página gerada e que são conhecidos como links. Essa interação dinâmica faz com que seja usado o termo aplicação web e não simplesmente site web, que se refere ao endereço que aponta para o aplicativo na internet\intranet, conhecido com URL (do inglês Universal Resource Locator).

As aplicações web são divididas em dois tipos:

Aplicação orientada à apresentação: são aplicações que geram conteúdo a partir da interação com um usuário. O processo básico desse tipo de aplicação web é que o usuário pede que uma informação seja mostrada, e ela é mostrada a ele sem sofrer nenhum tipo de alteração. São escritas em vários tipos de linguagem de marcação (HTML, XML, XHTML, etc...). Normalmente, são usadas para apresentações de instituições, empresas, clubes etc.

Aplicação orientada a serviço: são aplicações que implementam os serviços web, que responderão requisições de clientes, fazendo com que a informação apresentada na tela seja apresentada de acordo com o que o usuário faz no site. Exemplos disso são os sites de e-commerce, como o site da Livraria Saraiva, Livraria Cultura, Extra Hipermercados e sites que gerenciam dados de usuário, como os dos bancos Itaú, Santander, Bradesco etc.

Componentes web

Na plataforma Java EE, componentes web são a parte de software responsável por executar uma aplicação web. Eles podem ser Servlets, páginas JSP ou aplicativos de web services. A Figura 2 ilustra a interação entre um cliente web e uma aplicação web.

(5)

Figura 2 – Estrutura de componentes Web Java EE

Como pode ser observado, o cliente envia uma requisição ao servidor web (1). O servidor web, que tem os servlets e as páginas JSP, converte a requisição em objeto HTTPServletRequest. Esse objeto é entregue a um componente web (2), que pode interagir com componentes JavaBeans (3) ou uma base de dados (4), para gerar conteúdo dinamicamente. Depois, o componente web pode gerar um objeto HTTPServletResponse (5) ou ele enviar a requisição para outro componente web. O servidor web converte esse objeto em uma resposta HTTP e a envia para o cliente.

Servlets são classes escritas em Java que processam requisições dinamicamente e geram respostas. As páginas JSP são documentos de tipo texto que executam os servlets, mas permitem uma aproximação mais natural à criação de conteúdo estático. Apesar de Servlets e páginas JSP poderem ser usadas conjuntamente e de modo parecido, cada uma delas possui seu melhor modo de uso. Enquanto os Servlets são mais indicados para aplicações orientadas ao serviço e ao controle de uma aplicação orientada à apresentação, as páginas JSP são mais apropriadas para gerar páginas escritas em linguagens de marcação, como HTML, WML e XML.

(6)

Os componentes web são disponibilizados pelos serviços de uma plataforma de runtime, chamada web container. Um container web provê serviços, como distribuição de requisições, segurança, concorrência e gerenciamento do ciclo de vida, além de dar aos componentes web acesso às APIs, tais como transações com aplicações externas, serviços de mensagen e outros.

Certos aspectos do ambiente de uma aplicação web podem ser configurados quando ela está instalada, ou deployed, no container web. A informação da configuração é mantida num arquivo texto, em formato XML, chamado web application deployment descriptor (DD).

Ciclo de vida de uma aplicação web

Uma aplicação consiste em componente web, arquivos estáticos (imagens, arquivos de áudio etc.) e bibliotecas. O container web fornece muitos serviços de suporte que incrementam as funcionalidades que os componentes web podem fornecer e facilita o desenvolvimento de aplicações. Entretanto, como uma aplicação web deve sempre considerar esses serviços, o processo de criação e execução de uma aplicação web é diferente das tradicionais aplicações de desktop.

O processo de criação, deploying, e execução de uma aplicação web podem ser sumarizados do seguinte modo:

1. Escrever o código de um componente web.

2. Escrever o descritor de deployment da aplicação web.

3. Compilar os componentes da aplicação web e classes de ajuda referenciadas pelos componentes.

4. Opcionalmente, empacotar a aplicação em uma unidade para instalação (deploy).

5. Instalar (fazer o deploy) a aplicação dentro do container web. 6. Acessar uma URL que referencia a aplicação web.

(7)

WEB Modules

Na arquitetura Java EE, os componentes web e os arquivos de conteúdo web estático, como imagens, são chamados de módulos web. Um módulo web é a menor unidade de um recurso que pode ser instalado e usado.

Além dos componentes web e dos recursos web, um módulo web também pode conter outros tipos de arquivos:

 Classes de utilidades executadas no servidor (beans de conexão de banco de dados, carrinhos de compra e outros) normalmente estão em conformidade com a arquitetura de componentes JavaBeans.

 Classes do cliente (applets e classes utilitárias).

Um módulo web tem uma estrutura específica. O diretório no nível mais alto do módulo web é o root da aplicação. O root é onde ficam as páginas JSP, as classes que fazem parte do lado cliente da aplicação, arquivos e recursos web estáticos.

O diretório root contém um subdiretório chamado WEB-INF, que contém os seguintes arquivos e diretórios:

1. web.xml: o descritor do deployment da aplicação web. 2. arquivos de descrição chamados tag library.

3. classes: um diretório que contém as classes que serão executadas apenas no servidor, que são os servlets, classes de utilidade e componentes JavaBeans. 4. tags: um diretório que contém os arquivos de tag, que são a implementação

da bibliotecas de tag.

5. lib: diretório que contém os arquivos JAR ou as bibliotecas chamadas pelas classes que rodam no servidor.

Se o módulo web não contém nenhum Servlet, filtro ou componentes de monitoramento, então, não é necessário usar um descritor de deployment para a aplicação web. Em outras palavras, se o módulo web contém apenas páginas JSP e arquivos estáticos, então, não se faz necessário incluir um arquivo web.xml, como é o caso do exemplo hello.war, que contém apenas as imagens e páginas JSP.

(8)

Um módulo web pode ser instalado como uma estrutura de arquivos, distribuída de acordo com o modo que a aplicação foi implementada, ou eles podem estar empacotados em um arquivo JAR, conhecido como um arquivo Web ARchive (WAR).

A extensão WAR do arquivo empacotado faz com que o servidor de aplicações entenda que ele será usado de modo diferente de um arquivo JAR comum.

Os módulos web são portáveis, ou seja, eles podem ser instalados e executados em qualquer container web que esteja em conformidade com a especificação Java Servlet. Para instalar um arquivo WAR no servidor de aplicações, o arquivo deve conter um descritor para a runtime a ser usada pela aplicação, conhecido como runtime deployment descriptor (ou runtimeDD). Esse descritor é um arquivo XML que contém informação sobre o contexto principal da aplicação web e as interfaces que interligam os nomes dos recursos da aplicação aos nomes dos recursos do servidor de aplicações.

O runtimeDD da aplicação web instalada no servidor de aplicações chama-se sun-web.xml e se encontra no diretório WEB-INF, junto com o applicationDD web. A forma pela qual a estrutura de um módulo web ficará no servidor após sua instalação é mostrado na Figura 3.

(9)

* O QR Code é um código de barras que armazena links às páginas da web. Utilize o leitor de QR Code de sua preferência

para acessar esses links de um celular, tablet ou outro dispositivo com o plugin Flash instalado.

REFERÊNCIAS

GONÇALVES, Antonio. Beginning Java EE 6 Platform with GlassFish 3: From Novice to Professional. United States of America: A Press, 2009.

PIMENTEL, Mariano.; FUCKS, Hugo. Sistemas Colaborativos. Editora Campus, 2011.

Referências

Documentos relacionados

a serem observadas na avaliação das intervenções urbanas e dos equipamentos esporti- vos e de apoio relacionados aos grandes eventos, tendo como base quatro indicadores: o econômico,

§ 3º A Cooperativa Central de Crédito de Santa Catarina e Rio Grande do Sul – Sicoob Central SC/RS poderá, mediante decisão do respectivo Conselho de Administração,

pensa Hjelmslev. Dito de outro modo, definem o modo sintagmático de existência de uma semiótica, que não é outra coisa senão seu modo de funcionamento. E não vemos outra

Este método consiste na utilização de uma abordagem multicritério da Função de Utilidade (UF) em conjunto com a Teoria dos Jogos para modelar problemas complexos em grupos como

A história de hoje foi uma adaptação do conto de Andersen, um autor que organizou diversos contos infantis que, pela narração oral, passavam de geração para geração em seu

É perceptível, desta forma, o constante aumento do aprofundamento dos personagens: os “príncipes” têm agora não só nome e falas, mas personalidades bem desenvolvidas,

Podem treinar tropas (fornecidas pelo cliente) ou levá-las para combate. Geralmente, organizam-se de forma ad-hoc, que respondem a solicitações de Estados; 2)

Nos tempos atuais, ao nos referirmos à profissão docente, ao ser professor, o que pensamos Uma profissão indesejada por muitos, social e economicamente desvalorizada Podemos dizer que