Baixe o app para aproveitar ainda mais
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 * * * * * * * * * * * * * * * * * * * * * * * * * *
Compartilhar