SEPI - Sistema de Ensino Presencial Integrado

Propaganda
MÓDULO 13 – ARQUITETURA DE BANCO DE DADOS CLIENTE/SERVIDOR
Depois de falarmos no capítulo anterior sobre algumas arquiteturas de banco de
dados existentes, vamos dedicar este capítulo a arquitetura mais utilizada
atualmente. Na arquitetura cliente/servidor, são utilizados computadores pessoais e
servidores conectados em uma rede local em que o processamento é dividido entre
clientes e servidores.
Relembrando os conceitos de rede local (LAN) vistos na disciplina de Redes, uma
rede local é uma tida como uma organização de computadores conectados através
de uma rede. Quando falamos em local, significa dizer que os computadores devem
estar localizados próximos uns dos outros, dentro de um prédio ou em um prédio
vizinho. Umas das principais vantagens de um LAN é o compartilhamento de
recursos, então certamente também podemos compartilhar os dados existentes nos
bancos de dados.
Quando utilizamos um banco de dados na arquitetura cliente/servidor, todo o
processamento é feito no computador cliente que roda o aplicativo que utiliza o
banco de dados, e o computador servidor é responsável por hospedar o SGBD
propriamente dito ou parte dele. A maioria das estruturas que utilizam a arquitetura
cliente/servidor dedicam um computador exclusivo para rodar o SGBD.
O aplicativo de banco de dados existente no computador cliente é chamado de
front-end, sendo responsável pelo processamento de entrada e saída dos dados
dos usuários. O sistema back-end existente no servidor é responsável por
manipular o processamento dos dados e acesso ao disco.
Exemplo de um processamento entre cliente e servidor.

O usuário localizado no computador cliente gera uma consulta de dados para
o servidor de banco de dados. O servidor de banco de dados executa a
pesquisa e retorna somente os dados que foram solicitados pelo usuário.
Podemos observar que existe uma grande vantagem nesse tipo de arquitetura que é
a divisão de processamento entre dois sistemas, o que aproveita muito bem as
características de cada hardware para cada aplicação específica.
13.1 Abordagem duas camadas
Na abordagem duas camadas são utilizados softwares para tornar a localização dos
dados transparente para o usuário que utiliza o computador cliente. Essa
transparência é necessária, pois quando o usuário faz uma consulta no computador
cliente, o software verifica primeiro se os dados solicitados estão no disco rígido do
próprio PC do cliente. Se estiverem, os dados serão recuperados e a consulta é
finalizada, se não, o software procura por esses dados automaticamente no servidor.
13.2 Abordagem três camadas
A abordagem três camadas é bem mais sofisticada. Se o software não encontrar os
dados no disco rígido local ou no servidor localizado na LAN, ele pode deixar a LAN
através de um gatway e procurar os dados, por exemplo, em um mainframe que
pode ser alcançado a partir de muitas LAN`s.
Um outro exemplo de abordagem três camadas é aquela que utiliza os seguintes
computadores:
Computadores clientes;
Servidores de aplicação;
Servidores de banco de dados.
Nessa abordagem a interação inicial é feita pelo computador cliente, mas ele agora
pode solicitar uma variedade de aplicações que podem ser executadas pelo servidor
de aplicação. O servidor de aplicação depende do servidor de banco de dados para
fornecer os dados necessários para a aplicação.
13.3 Definição consensual da arquitetura cliente/servidor

Consiste em um processo realizado no cliente e outro no servidor que podem
ser distinguido um do outro, embora interajam totalmente;

Tanto cliente como servidor podem operar em diferentes plataformas;

Tanto a plataforma cliente como a plataforma servidora podem ser
atualizadas sem que a atualização de uma dependa da atualização da outra;

O servidor pode atender a vários clientes simultaneamente e em alguns casos
um cliente pode acessar vários servidores;

A ação em geral é iniciada pelo cliente e não pelo servidor.

A interface gráfica amigável geralmente reside no computador cliente.

O servidor de banco de dados deve fornecer proteção e segurança aos
dados.
13.4 Vantagens e desvantagens da arquitetura cliente/servidor
A crescente popularidade da arquitetura cliente/servidor se deve principalmente a
evolução dos processadores, o que permite a eles a realização de trabalhos que
anteriormente eram realizados apenas pelos mainframes. Essa evolução dos
microprocessadores aliada as modernas técnicas de rede, permitiu a conexão de
vários computadores clientes a um potente computador que funciona como servidor,
substituindo com economia os sistemas centralizados.
É característica básica da arquitetura cliente/servidor tirar o máximo de vantagens
dos recursos computacionais, permitindo que plataformas diferentes trabalhem
juntas onde cada uma faz o trabalho que melhor executa. Podemos combinar
diferentes produtos de softwares para clientes, com diferentes produtos de softwares
para servidores. Essa é uma vantagem para os fornecedores, pois eles podem
interagir com o máximo de produtos complementares possíveis, aumentando assim
a opção de produtos.
Da mesma forma que existem vantagens, existe também as desvantagens da
arquitetura cliente/servidor e uma das principais desvantagens na sua utilização é a
sua complexidade. Com a sua complexidade, é difícil detectar os problemas quando
o sistema falha. A independência de aplicativos também tem o seu lado negativo,
pois a existência de vários front-ends no banco de dados aumenta a quantidade
necessária de suporte à programação, pois variados códigos de programas devem
ser desenvolvidos e mantidos. As alterações na estrutura do banco de dados podem
causar problemas nos front-ends que utilizam diferentes plataformas.
A arquitetura cliente/servidor está sendo rapidamente incorporada aos sistemas de
gerenciamento de banco de dados relacionais comerciais. A sua incorporação
constitui na adequação dos SGBD`s para a divisão dos níveis clientes e servidores.
Assim, alguns computadores podem rodar apenas o software cliente, outros podem
ser máquinas servidoras dedicadas que rodam apenas o software servidor, enquanto
outros computadores podem suportar ambos os módulos cliente e servidor.
Download