Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula 2 – Visão Geral do Ambiente Servidor 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: 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. 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; Cliente: • 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. Servidor: • 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”. 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. Servidores Java 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. 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].
Compartilhar