backend Exemplo de um processamento entre cliente

Propaganda
MÓDULO 9 – 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. 9.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. 9.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. 9.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. 9.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