Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Ao final desta aula, você será capaz de: 1. Identificar os conceitos das principais arquiteturas Web; 2. Experimentar os procedimentos de instalação e configuração dos servidores Java. Introdução Nesta aula, abordaremos a visão geral do ambiente cliente servidor. Também, serão abordados: o modelo cliente servidor e as principais arquiteturas Web. Finalmente, serão apresentados os servidores Java e os arquivos de configuração para o GlassFish e o TomCat. Arquiteturas Web Segundo KERLAN, no início, a computação distribuída era associada a redes de computadores que utilizavam algum sistema operacional de rede, como, por exemplo, o Netware e caracterizavam-se, fundamentalmente, como servidores de arquivos. Nesse modelo, há necessidade de transferência integral de todos os arquivos, sejam programas ou dados, para execução pelo cliente, pois foi projetado para atender clientes sem disco local. Entretanto, rapidamente, a computação distribuída passou a envolver serviços baseados em aplicativos cliente/servidor que caracterizam a arquitetura de aplicação Web. O cliente envia uma solicitação, o processamento é geralmente feito na máquina servidora remota e, nesse caso, somente os resultados são devolvidos ao cliente. Dessa forma, minimiza- se o tráfego de informações a rede. Vejamos a figura abaixo, elaborada por LIMA, onde podemos visualizar a arquitetura básica de uma aplicação Web com um navegador (cliente Web) realizando uma requisição a um servidor Web. Um servidor Web pode ter várias aplicações que se conectam a vários bancos de dados: 1 - Na primeira fase, o cliente Web realiza a requisição. 2 - Na segunda fase, o servidor Web recebe a requisição do cliente. 3 - A comunicação entre servidor Web e a aplicação Web é realizada na terceira fase. 4 - Uma consulta aos dados do banco de dados é realizada na fase 4 pela aplicação Web. 5 - A resposta é enviada na fase 5. 6 - A aplicação Web retorna com a resposta para o servidor Web na etapa 6. 7 - O cliente Web recebe a resposta do servidor na fase 7. 8 - Finalmente, o cliente Web recebe a resposta pela requisição inicial (fase 8). Características das aplicações Web Eis algumas características da arquitetura das aplicações Web: O servidor Web pode atender a diversos clientes simultaneamente. 2 Um browser Web o qual recebe, trata e apresenta um arquivo recebido no formato HTML, é responsável pela padronização e definição da interface com o usuário. Todos os serviços Web baseiam-se no modelo cliente/servidor. A comunicação é baseada no protocolo HTTP – protocolo para transferência de informações na Web. Arquiteturas Mainframes Segundo SANTOS[6], as arquiteturas mainframe possuem as seguintes características: • Processamento centralizado. • Terminais burros. • Redes de comunicação lentas. Apesar da facilidade de gerência da segurança, de usuários e das aplicações, essa arquitetura apresenta as seguintes desvantagens: Processamento centralizado (há uma máquina que concentra todos os dados, todo processamento e fornece as informações necessárias). Alto custo. Arquitetura de hardware, software e comunicação totalmente proprietária. Usuário sem autonomia (todo o processamento é realizado no mainframe; o terminal é apenas um meio de entrada e visualização de informações). Arquiteturas cliente servidor A maioria das aplicações da Internet utiliza o modelo de interação chamado “cliente/servidor”. Pode-se afirmar que a arquitetura cliente servidor implementa uma separação lógica de funções baseada no conceito de serviço, onde: ►Cliente: é um software executado em um host que solicita informações a outro programa, normalmente através da rede; • Inicia a solicitação; • Aguarda a resposta; • Também denominado de “front-end” ou “workstation”. ►Servidor: é um software que fica em espera, aguardando solicitações de clientes e que fornece os dados solicitados quando recebe uma solicitação de um cliente. • Passivo (aguarda as solicitações dos clientes); • Ao receber uma solicitação, processa e envia a resposta; • Pode interagir com vários clientes ao mesmo tempo; • Também denominado de “back-end”. 3 Arquitetura em camadas Segundo BUENO, a Arquitetura em Camadas estimula a organização da arquitetura do sistema em um conjunto de camadas coesas com fraco acoplamento entre elas. Pode-se afirmar que cada camada oferece um conjunto de serviços ao nível imediatamente inferior, através de uma interface, usando funções realizadas no próprio nível. UI (Interface com Usuário) - Reúne classes do sistema com as quais os usuários interagem. Negócio - Reúne classes do sistema que agregam regras de negócio e serviços. Dados - Responsável por armazenamento e recuperação de dados persistentes. Comunicação - Responsável por distribuição do sistema em diversas máquinas. Essa arquitetura, apesar de ter como desvantagem o aumento no número de classes existentes no sistema, apresenta as seguintes vantagens: organização de código (no que diz respeito à interface com o usuário (UI), comunicação, negócio e dados); possibilita a alteração de implementação de uma camada sem afetar a outra, desde que a interface entre as mesmas seja mantida; permite que uma camada trabalhe com diferentes versões de outra camada. TomCat Segundo D’ AVILA, o Tomcat é um servidor de aplicações Java para web ou um Container Web. É software livre e de código aberto, surgido dentro do conceituado projeto Apache Jakarta e que teve apoio da Sun Microsystems como Implementação de Referência (RI) para as tecnologias Java Servlet e JavaServer Pages (JSP). Pode atuar como servidor web/HTTP, ou pode funcionar integrado a um servidor web dedicado como o Apache httpd ou o Microsoft IIS. Hoje, o Tomcat tem seu próprio projeto de desenvolvimento independente, dentro da Apache Software Foundation. É robusto e suficiente para ser utilizado mesmo em um ambiente de produção. GlassFish Enterprise Server GlassFish trata-se de um servidor de aplicações de código aberto para a plataforma Java. Foi desenvolvido como implementação de referência do padrão Java EE 6 e, agora , conta com novas funcionalidades que adicionam características como alta disponibilidade, escalabilidade e tolerância a falhas, que são essenciais para um servidor de produção que hospede aplicações de médio e grande porte. 4 O servidor GlassFish coloca uma fonte livre, aberta, comercial, ao nível de implementação do Java EE, nas mãos da comunidade [ORT], [SILVA]. Para essa aula, sugerimos que acesse: Saiba mais sobre TomCat: http://tomcat.apache.org/ Saiba mais sobre GlassFish: http://glassfish.java.net/V Nesta aula, você: Compreendeu as principais arquiteturas Web; Aprendeu os procedimentos de instalação e configuração dos servidores Java. Na próxima aula, você vai estudar: Tecnologia Servlet: introdução; criação de aplicativos Web baseados nesta tecnologia. 1. O incorreto está em: 1) Na arquitetura das aplicações Web, a comunicação é baseada no protocolo MIME. 2) Software cliente também pode ser denominado de front-end ou workstation. 3) Arquitetura em camadas tem como desvantagem o aumento do número de classes existentes no sistema. 4) GlassFish é um ambiente estruturado para o desenvolvimento de um servidor de aplicativos de código aberto. 5) Tomcat é um servidor de aplicação Java para web. 2.(UPENET/IAUPE - 2007) Analise as seguintes afirmações sobre Implementação de Arquitetura em Camadas.I. Um disseminado tipo de arquitetura de software é a Arquitetura em Camadas. Nessa arquitetura, os elementos estão dispostos em 3 camadas (apresentação, negócio e dados). II. Na arquitetura em camadas, os elementos ficam dispostos um sobre o outro, como camadas de uma lasanha. O elemento que se encontra na camada acima utiliza os serviços do elemento da camada abaixo, e um elemento só se relaciona com o elemento da camada imediatamente acima e com o elemento da camada imediatamente abaixo, se houver. III. Um dos objetivos dessa arquitetura é que mudanças na implementação dos serviços de uma camada não devem afetar as demais, desde que as interfaces dos serviços oferecidos pelas camadas não sejam alteradas. Assinale a alternativa que contém a(s) afirmação(ões) CORRETA(S). 1) Apenas I. 2) Apenas I e II. 3) Apenas II e III. 5 4) Apenas III. 5) I, II e III. 3.(FGV 2008) O Apache é um servidor Web extremamente configurável, robusto e de alta performance desenvolvido com o objetivo de criar um servidor web com características para alto desempenho e com código fonte disponível gratuitamente via Internet. Por padrão, no ambiente Linux seus arquivos de configuração residem no diretório / etc. / apache. O Apache disponibiliza uma gama de utilitários, um deles que funciona como um Shell script que faz interface com o Apache de forma mais amigável e outro utilizado para criar / e gerenciar senhas criptografadas Crypto/MD5. Esses utilitários são, respectivamente: 1) Apachectl e htdigest. 2) Apacheshell e htmd5. 3) Apachescript e htcrypto. 4) Apachesetup e htpasswd. 5) Apacheconfig e htmanage. 4.Considere as afirmativas abaixo: I - Na arquitetura J2EE, o container web Apache Tomcat permite a execução de páginas JSP e servlets, que são classes Java que processam dinamicamente as requisições e constroem respostas na forma de páginas HTML. II - O Tomcat e o Glassfish, servidores de aplicações Java (conteiner servlet), são open source e compatíveis com aplicações escritas na arquitetura JEE 6; no entanto, ao contrário do Tomcat, o Glassfish não suporta executar aplicações escritas em JSP (Java server pages). III - Na qualidade de servidor de aplicações Java para web, o Tomcat é parte da plataforma J2EE, que abrange as tecnologias Servlet e JSP, incluindo as tecnologias de apoio relacionadas, tais como Realms e segurança, JNDI Resources e JDBC DataSources. O Tomcat tem a capacidade de atuar também como servidor web/HTTP ou pode funcionar integrado a um servidor web dedicado, tais como o Apache httpd ou o Microsoft IIS. O correto está em: 1) I, apenas. 2) I e III, apenas. 3) II e III, apenas. 4) II, apenas. 5) III, apenas. 6) I, II e III. 6 5.(FCC - 2010) O ambiente necessário para a execução de aplicações web desenvolvidas com as tecnologias Java Servlet e JSP é fornecido pelo container Web: 1) Tomcat. 2) Apache. 3) IIS. 4) Servlet. 5) Bean.
Compartilhar