Buscar

ACS02 - Histórico e Conceitos Básicos

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Arquitetura Cliente/Servidor
Parte 02
Histórico e Conceitos Básicos
*
*
Histórico
Sistemas Centralizados
Os dados e as funcionalidades dos aplicativos de cada organização residiam em mainframes
Inicialmente os usuários não tinham nenhum contato direto com os sistemas
Mais tarde, os usuários passaram a trabalhar em terminais de mainframes, apelidados de “terminais burros” por serem dispositivos sem nenhuma capacidade de processamento local
*
*
Histórico
Sistemas Centralizados (cont.)
*
*
Histórico
Microcomputadores Isolados
A evolução tecnológica proporcionou aos usuários finais alguma capacidade de processamento local
Embora esta capacidade ainda fosse muito limitada, era melhor que nos sistemas centralizados
Cada microcomputador era uma unidade isolada, não havendo ligação direta entre eles e nem com o mainframe
*
*
Histórico
Microcomputadores Isolados (cont.)
*
*
Histórico
LANs (Local Area Networks)‏‏
Os arquivos críticos e programas essenciais migraram para servidores de arquivos
Aumento na segurança do ambiente
Algumas aplicações possuíam todo o seu processamento em estações de usuário final
Sistemas que dependiam de bancos de dados corporativos ainda residiam no mainframe
Alguns serviços permaneceram centralizados, pois a tecnologia de distribuição ainda não era suficiente para atender suas necessidades (exemplo: impressão corporativa)
*
*
Histórico
Nascimento da Arquitetura Cliente/Servidor
Objetivo: 
Integrar sistemas que usavam bancos de dados corporativos aos microcomputadores de usuários
Esta arquitetura separa as aplicações corporativas e o processamento de transações em duas partes:
Execução no SERVIDOR
Mais segureança
Garantia de integridade 
Execução no CLIENTE
Interface amigavel
Exibição personalizada
Problema:
A solução tem um custo alto de suporte e manutenção
*
*
Histórico
Internet
É o surgimento de um novo modelo para integração de sistemas
Trabalha com padrões abertos, o que permite independência de fornecedores
Adoção em larga escala de HTML e outras tecnologias associadas
Surgimento de grupos de trabalho colaborativo sem dependência geográfica
Corporações adotam o modelo em seus ambientes e o adaptam (Intranet) em número cada vez maior
Baixo custo
Facilidade de implementação
*
*
Histórico
Amadurecimendo da arquitetura Cliente/Servidor
As empresas se empenham em obter aumento na produtividade e melhor relação custo-belenfício da tecnologia
Começam a ocorrer revisões de processos internos e estruturas nas empresas (reengenharia)‏
DOWNSIZING (redução de plataforma)‏
Grande parte das empresas apresentem resultados positivos
Reduções de custos / Processos mais eficientes
Ainda assim, algumas empresas se arrependeram de implementar o DOWNSIZING (levadas pela euforia inicial do mercado)‏
O principal motivo para esta distorção foi a falha em analisar se a empresa precisava ou mesmo suportava o processo
*
*
Cliente/Servidor
A solução técnica ideal:
CLIENTE é qualquer equipamento (ou processo) que depende de outro para executar seu trabalho
SERVIDOR é este outro equipamento (ou processo) que atende ao cliente
Para que esta relação de solicitação e atendimento aconteça, é necessária a existência de meios de conexão entre as duas partes (meios públicos, privados ou mistos)‏
Qualquer equipamento (ou processo) pode atuar como cliente ou servidor, dependendo do momento, devido à troca de informações
CLIENTES solicitam serviços
SERVIDORES fornecem serviços
*
*
Cliente/Servidor Distribuído
É o estágio mais complexo da computação distribuída proporcionado pelo modelo Cliente/Servidor
Pode conectar:
Diversos tipos de redes
Pontos geograficamente dispersos
Configurações heterogêneas (hardware, software ou ambos)‏
Um usuário conectado a este ambiente pode recuperar dados, processar informações ou disparar processos espalhados por um ambiente sem limitações de tamanho ou localização, agindo como se todos os recursos necessários estivessem em sua máquina.
*
*
Resumo da Evolução
Modelos
Centralizado
Centralizado Multiterminal
Cliente/Servidor Local
Máquinas setoriais
Redução de custo
Cliente/Servidor Multiplataforma
Dados no mainframe
Gateways conectando redes
Cliente/Servidor Distribuído
Redes, hardware e software heterogêneos
Pouquíssima ou nenhuma restrição geográfica
SGBDs e arquivos distribuídos
*
*
Arquitetura em Camadas
Duas camadas ou 2-tier
O cliente comunica-se diretamente com o servidor
O servidor hospeda a base de dados
A lógica da aplicação pode ser distribuída pelo modelo das seguintes maneiras:
Totalmente no cliente ou
Dividida entre o cliente e o servidor
A aplicação que é executada no cliente precisa ser instalada em todas as máquinas que podem vir a se tornar clientes
Quaisquer alterações na lógica da aplicação afetam o cliente e sua base de dados
*
*
Arquitetura em Camadas
Duas Camadas (2-tier)‏
CLIENTE
SERVIDOR
PROCESSAMENTO
PROCESSAMENTO
PROCESSAMENTO
DADOS
DADOS
*
*
Arquitetura em Camadas
Três camadas (3-tier ou n-tier)
Uma ou mais camadas são criadas entre o cliente e o servidor
O cliente é responsável apenas pela interface com o usuário final
Alterações na lógica da aplicação se tornam mais “regionais”:
As modificações que não se refiram a interface ou a forma como os dados estão armazenados podem ser feitas sem afetar o cliente ou o SGBD
Alterações na estrutura dos dados podem ser feitas sem que o restantes do ambiente seja afetado
Alterações de interface podem ser realizadas sem que o banco de dados ou sua lógica de aplicação seja afetada
*
*
Arquitetura em Camadas ‏
Três Camadas (3-tier ou n-tier)‏
CLIENTE
SERVIDOR BANCO DE DADOS
SERVIDOR APLICAÇÕES
*
*
Arquitetura em Camadas‏
Três Camadas (3-tier ou n-tier)‏
CLIENTE
SERVIDOR BANCO DE DADOS
SERVIDOR WEB
CLIENTE
CLIENTE
SERVIDOR WEB
SERVIDOR APLICAÇÕES
SERVIDOR APLICAÇÕES
SERVIDOR BANCO DE DADOS
SERVIDOR BANCO DE DADOS
SERVIDOR APLICAÇÕES
SERVIDOR BANCO DE DADOS
*
*
Vantagens da ACS
*
*
Mais Vantagens da ACS
*
*
Desvantagens
*
*
Conceitos e Terminologias
Cliente e Servidores
O paradigma cliente/servidor considera que:
Um cliente é quem inicia uma comunicação ponto-a-ponto
Um servidor é qualquer programa que aguarda por requisições vindas de algum cliente
*
*
Conceitos e Terminologias
Privilégios e complexidade
Servidores normalmente precisam executar acesso a dados, grandes volumes de computação e manipulação de protocolos. Isso tudo exige privilégios especiais no ambiente.
O cliente não precisa ter estes mesmos privilégios, já que suas necessidades são bem mais simples
Para funcionar com mais eficiência os servidores geralmente tentam trabalhar com as requisições de forma concorrente, o que torna o projeto e a implementação de servidores muito mais complexos que os clientes
*
*
Conceitos e Terminologias
Tipos de interação
Ao se projetar uma aplicação cliente/servidor, os desenvolvedores devem estabelecer de que forma os servidores vão interagir com cada cliente. 
Isso define o grau de disponibilidade que a aplicação terá.
*
*
Conceitos e Terminologias
Tipos de interação
*
*
Conceitos e Terminologias‏
Controle de estado
As informações que o servidor mantém sobre a situação atual da interação dele com o cliente é chamada de state information (informação de estado)‏
*
*
Conceitos e Terminologias‏
Controle de estado
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais