| Linha 370: | Linha 370: | ||
O uso da arquitetura em | O uso da arquitetura em três camadas, como no exemplo, permite otimizar a transferência de informações entre o servidor Web e o servidor de banco de dados. | ||
<br><br> | <br><br> | ||
| Linha 380: | Linha 380: | ||
Um ''middleware'' eficaz que aceite consultas de banco de dados em SQL (''Structured Query Language'') é utilizado para manejar a recuperação de informações a partir do banco de dados. | Um ''middleware'' eficaz que aceite consultas de banco de dados em SQL (''Structured Query Language'') é utilizado para manejar a recuperação de informações a partir do banco de dados. | ||
<br><br> | <br><br> | ||
= Modelo de n camadas = | = Modelo de n camadas = | ||
Edição das 22h09min de 27 de abril de 2011
Arquitetura Cliente-Servidor e Internet
Cliente-Servidor
Mainframe
Início da arquitetura
- Primórdios da computação
- Mainframes executavam e mantinham toda a informação e processos em um único sistema
- Sistema monolítico e centralizador
- Processo dispendioso:
- entrar com os dados
- realizar processamento
- analisar os resultados
1o. modelo de arquitetura
- Compartilhamento de arquivos e aplicações
- Inúmeros problemas => concorrência
- Usuários solicitando arquivos centralizados:
- gerava baixo processamento
- comprometia integridade da informação
- Degrau para o próximo passo:
- separou clientes e servidores de arquivo
Modelo de 2 camadas
- Surgiu para suprir as necessidades da arquitetura de compartilhamento de arquivos
- Duas camadas desta arquitetura:
- cliente => que realiza processamento
- servidor => que armazena o conteúdo
- Ganho:
- permitir uma maior concorrência
- Problema:
- escalabilidade
Componentes principais
- Conjunto de Servidores:
- oferecem serviços a outros subsistemas
- Conjunto de clientes:
- solicitam os serviços oferecidos aos usuários
- Rede
- servem de meio de comunicação entre os clientes e os servidores
Clientes
Equipamentos ligados em rede que demandam as requisições ao servidor. Podem ser microcomputadores desktop, notebooks ou qualquer dispositivo com interface de rede.
- O cliente possui algumas características básicas:
- é ativo
- inicia e termina as conversações com os servidores, solicitando serviços distribuídos
- normalmente responsável pela entrada e saída de dados e comunicação com o usuário
- torna a rede ‘transparente’ ao usuário
- quando operado por usuários, interessante ter interface user-friendly.
Servidores
Equipamentos ligados em rede com com maior poder de processamento e armazenamento para os mais variados serviços.
- Exemplos. Servidores de:
- arquivos
- banco de dados
- impressão
- conteúdo
- fax
- páginas web
- DNS
- imagens
- sistemas operacionais
- etc
- Características:
- reativo e de execução contínua
- recebe e responde a solicitações dos Clientes
- presta serviços distribuídos
- atende a diversos Clientes simultaneamente
- pode crescer em armazenamento e processamento.
Redes de computadores
Consiste de dois ou mais computadores e outros dispositivos conectados entre si de modo a permitir o compartilhamento de serviços como dados, impressoras, mensagens , etc.
Existem várias formas e recursos de vários equipamentos que podem ser interligados e compartilhados, mediante a:
- meios de acesso [Wi-Fi, Bluetooth, WiMax, Satélite, 3G, FO, RFId, etc]
- protocolos [ftp, http, ssh, telnet, etc]
- requisitos de segurança [https, chaves de criptografia, senhas, hard-lock, firewall, etc].
A topologia mais usada é o barramento mas ainda existem conexões em anel, estrela e outras e existem vários tipos de redes como as baseadas em:
- conexão via cabo ou FO: PAN, LAN, MAN, WAN
- conexão sem fio: WPAN, WLAN, WMAN, WWAN.
Exemplo:
Serviço de Publicação de mídia
Aplicação Cliente responde pelas seguintes funções:
- Apresentação:
- o código que gera a interface visível do programa faz parte da aplicação Cliente
- formulários, menus e demais elementos visuais nele estão contidos
- alteração na interface do programa requer a geração de uma nova versão para todos os computadores
- Lógica do Negócio:
- regras que definem como os dados serão acessados e processados
- toda a Lógica do Negócio fica no Cliente.
- É necessária:
- uma nova versão do programa cada vez que alterações ocorrerem e as regras mudarem
- atualização de todos os computadores com nova versão, mesmo que sejam centenas ou milhares de clientes
- Contribuições:
- avanços para a empresa
- uso efetivo dos sistemas de rede na arquitetura distribuída
- Limitações:
- dificuldade de manutenção e no gerenciamento.
Modelo cliente-gordo
- O servidor é responsável somente pelo gerenciamento de dados
- O software do cliente implementa a lógica da aplicação e as interações com o usuário do sistema
- Sua desvantagem é ter sistema de gerenciamento mais complexo
Modelo cliente-magro
- Todo o processamento da aplicação e gerenciamento de dados é realizado no servidor
- O cliente é responsável apenas por executar o software de apresentação
- Tem a desvantagem de atribuir uma grande carga de processamento à rede e ao servidor.
Advento da linguagem Java
- Possibilidade de recorrer a applets (pequenos aplicativos) por download
- Permitiu desenvolvimento de um modelo cliente-servidor intermediário
- Interface em web browser
Modelo de 3 camadas
Problema essencial
- Tres camadas lógicas:
- apresentação
- processamento das aplicações
- gerenciamento de dados
- Devem ser mapeadas em dois ou mais sistemas de computadores
Evolução
- retira as Regras do Negócio do cliente e as centraliza em um determinado ponto, o qual é chamado de servidor de aplicações
- o acesso ao Banco de Dados é feito através das regras contidas no Servidor de Aplicações
- traz facilidade de atualização das mesmas, pois estão centralizadas em um único ponto
- Não significa necessariamente que haja três sistemas de computador conectados à rede
- um único servidor (parrudo) pode executar tanto o processamento dos SAs e SGBDs
- Se a necessidade aumentar, é relativamente simples separá-las em servidores diferentes e executá-los em processos separados.
Tres camadas
- Clientes
- Servidores de Aplicações
- Servidores de Dados
- Características:
- as Regras do Negócio (lógica) foram deslocadas para o Servidor de Aplicações
- ali é determinada a maneira como os dados serão utilizados
- todo o acesso do cliente ao Banco de Dados é feito de acordo com as regras contidas no Servidor de Aplicações
- não é possível o acesso ao Banco de Dados sem primeiramente passar pelo Servidor de Aplicações
- no Servidor de Banco de Dados reside toda informação necessária para o funcionamento da aplicação.
- Melhoramentos
- facilidade na atualização das Regras do Negócio
- maior flexibilidade, segurança e controle do acesso aos dados
- simplicidade na manutenção das aplicações atualizadas
- garantia de acesso às alterações para todos os usuários
- Falha
- continua o problema de atualização da interface de aplicação, cada vez que sejam necessárias mudanças
- as alterações nela são menos frequentes do que as que ocorrem nas Regras do Negócio.
Exemplo:
Sistema de operações bancárias na Internet
- Banco de dados dos usuários do banco hospedado em um servidor (mainframe) fornece serviços de gerenciamento de dados
- Servidor web fornece os serviços de aplicativos como recursos para transferir dinheiro, gerar extratos e pagar contas
- O computador do usuário com um browser é o cliente.
- O sistema é escalonável pois permite adicionar facilmente novos servidores web à medida que o número de clientes aumenta.
Servidor Web
- A expressão servidor web pode significar duas coisas: [Wikipedia]
- 1. {SW} Um programa de computador responsável por aceitar pedidos HTTP de clientes, geralmente os navegadores, e servi-los com respostas HTTP, incluindo opcionalmente dados, que geralmente são páginas web, tais como documentos HTML com objetos embutidos (imagens, vídeos, frames, etc.)
- 2. {HW} Um computador que executa um programa que provê a funcionalidade descrita acima.
Sistema de operações bancárias na Internet
Arquitetura de um sistema financeiro na Internet
O uso da arquitetura em três camadas, como no exemplo, permite otimizar a transferência de informações entre o servidor Web e o servidor de banco de dados.
As conversações entre os sistemas não precisam ter como base os padrões da Internet mas podem utilizar protocolos de comunicação de nível inferior e mais rápidos
Um middleware eficaz que aceite consultas de banco de dados em SQL (Structured Query Language) é utilizado para manejar a recuperação de informações a partir do banco de dados.
Modelo de n camadas
Introdução
Ampliação do modelo cliente-servidor de tres camadas para uma variante com várias camadas adicionando servidores
Utilizados quando as aplicações precisam acessar diferentes BDs
Um servidor de integração ou processador de transações (TP) é colocado entre o servidor de aplicações e os servidores de banco de dados
“Monitor de transações é uma espécie de serviço de enfileiramento de mensagens. O cliente conecta-se ao TP monitor em vez de se conectar ao servidor de banco de dados”
“A transação é aceita pelo monitor, e enfileirada, em seguida, ele assume a responsabilidade pela gestão e a correta realização”.
Vantagens
- Serviços
- Recursos
- Protocolos
- Localização
- Descentralização
- Escalabilidade
- Integridade
Desvantagens
- Complexidade
- Comunicação
Pool de Servidores
Exemplo:
Pool de servidores prestando serviço de aplicação web com aplicações diversificadas
Data Center
Característica do Data Center
- Modalidade de serviço de valor agregado
- Oferece recursos de processamento e armazenamento de dados
- Larga escala para organizações de qualquer porte
- Grande capacidade e flexibilidade
- Alta segurança
- Hardware e software adequados à necessidade
Data Center
Serviços básicos:
- Co-location
- Hosting
Serviços complementares:
- Backup
- Infra-estrutura de energia
- Segurança
- Servidor de endereços
- Suporte 24x7
- Acesso Internet.








