ESOF - 23/03/11

Revisão de 23h08min de 23 de março de 2011 por Lclaudio (discussão | contribs) (Criou página com 'Arquitetura Cliente-Servidor e Internet = Cliente-Servidor = <br> == Mainframe == <br> '''Início da arquitetura''' <br> * Primórdios da computação ** Mainframes executa...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)

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
    • e-mail
    • 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çãode 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 tres sistemas de computador conectados a 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 tres 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.


Novos rumos


  • Sistemas legadosForam desenvolvidos pelas empresas baseados em diversas tecnologias ao longo do tempo.
  • Ex:
    • Fortran
    • Cobol
    • Clipper
    • Delphi
    • Outras.
  • Problemas dos sistemas legados:
    • falta de documentação
    • carência de especialista em um determinado sistema
    • ignorância sobre as regras de negócio
    • dificuldades em interagir com outros sistemas
    • falta de suporte às linguagens
    • plataformas equipamentos obsoletos.



  • Questões principais:
    • Flexibilidade para as mudanças
    • Agilidade para as novas demandas
    • Maior qualidade no tempo certo
    • Redução de custos.





SOA

  • SOA (Service Oriented Architecture) visa integrar sistemas existentes e futuros agrupa processos de negócios trata-os como serviços interoperáveis


  • Características Os serviços são novas denominações das aplicações Disponíveis na Internet em forma de padrões abertos
  • Conceito de Web Services:
    • SOAP
    • WSDL


  • SOA trabalha em cima de baixo acoplamento
  • Permite uma integração de serviços.



  • Vantagens do SOA:
    • Reutilização do software
    • Aumento de produtividade
    • Maior agilidade Maior
    • Alinhamento com o negócio.


Sopa de Letrinhas

  1. PC
  2. SA
  3. BD
  4. SP
  5. SGBD
  6. WS
  7. HTTP
  8. SQL
  9. TP
  10. FTP
  11. SOA
  12. SOAP
  13. EAI
  14. B2B
  15. WSDL
  16. J2EE
  17. .Net
  18. ESB
  19. HTML
  20. XML