(12 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
Arquitetura Cliente-Servidor e Internet
Arquitetura Cliente-Servidor e Internet




= Cliente-Servidor =
= Cliente-Servidor =
<br>


<br>


== Mainframe ==
== Mainframe ==
Linha 11: Linha 12:
'''Início da arquitetura'''
'''Início da arquitetura'''
<br>
<br>


* Primórdios da computação
* Primórdios da computação
Linha 29: Linha 31:
** Inúmeros problemas => concorrência
** Inúmeros problemas => concorrência
<br>
<br>


* Usuários solicitando arquivos centralizados:
* Usuários solicitando arquivos centralizados:
Linha 34: Linha 37:
** comprometia integridade da informação
** comprometia integridade da informação
<br>
<br>


* Degrau para o próximo passo:
* Degrau para o próximo passo:
** separou clientes e servidores de arquivo
** separou clientes e servidores de arquivo
<br>
<br>


= Modelo de 2 camadas =
= Modelo de 2 camadas =
Linha 43: Linha 48:
* Surgiu para suprir as necessidades da arquitetura de compartilhamento de arquivos
* Surgiu para suprir as necessidades da arquitetura de compartilhamento de arquivos
<br>
<br>


* '''Duas camadas desta arquitetura:'''
* '''Duas camadas desta arquitetura:'''
Linha 48: Linha 54:
** servidor => que armazena o conteúdo
** servidor => que armazena o conteúdo
<br>
<br>


[[Arquivo:ESOFB2.png]]
[[Arquivo:ESOFB2.png]]
<br>


<br>
* Ganho:
* Ganho:
** permitir uma maior concorrência
** permitir uma maior concorrência
<br>
<br>


* Problema:
* Problema:
** escalabilidade
** escalabilidade
<br>
<br><br>


<br>


== Componentes principais ==
== Componentes principais ==
<br>
<br>


* Conjunto de Servidores:
* Conjunto de Servidores:
Linha 76: Linha 84:
** servem de meio de comunicação entre os clientes e os servidores
** servem de meio de comunicação entre os clientes e os servidores
<br>
<br>


== Clientes ==
== Clientes ==
Linha 82: Linha 91:
Equipamentos ligados em rede que demandam as requisições ao servidor. Podem ser microcomputadores desktop, notebooks ou qualquer dispositivo com interface de rede.
Equipamentos ligados em rede que demandam as requisições ao servidor. Podem ser microcomputadores desktop, notebooks ou qualquer dispositivo com interface de rede.
<br>
<br>


* O cliente possui algumas características básicas:
* O cliente possui algumas características básicas:
Linha 90: Linha 100:
** quando operado por usuários, interessante ter interface ''user-friendly''.
** quando operado por usuários, interessante ter interface ''user-friendly''.
<br>
<br>


== Servidores ==
== Servidores ==
<br>
<br>


Equipamentos ligados em rede com com maior poder de processamento e armazenamento para os mais variados serviços.
Equipamentos ligados em rede com com maior poder de processamento e armazenamento para os mais variados serviços.
<br><br>
<br><br>


* Exemplos. Servidores de:
* Exemplos. Servidores de:
Linha 110: Linha 123:
** etc
** etc
<br>
<br>


* Características:
* Características:
Linha 118: Linha 132:
** pode crescer em armazenamento e processamento.
** pode crescer em armazenamento e processamento.
<br>
<br>


== Redes de computadores ==
== Redes de computadores ==
<br>
<br>


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.
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.
<br><br>
<br><br>


Existem várias formas e recursos de vários equipamentos que podem ser interligados e compartilhados, mediante a:
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]
* meios de acesso [Wi-Fi, Bluetooth, WiMax, Satélite, 3G, FO, RFId, etc]
* protocolos [ftp, http, ssh, telnet, etc]
* protocolos [ftp, http, ssh, telnet, etc]
* requisitos de segurança [https, chaves de criptografia, senhas, ''hard-lock'', firewall, etc].
* requisitos de segurança [https, chaves de criptografia, senhas, ''hard-lock'', firewall, etc].
<br><br>
<br><br>


[[Arquivo:ESOF-B8.png]]
[[Arquivo:ESOF-B8.png]]
<br><br>
<br><br>


Linha 138: Linha 158:


* conexão via cabo ou FO: PAN, LAN, MAN, WAN
* conexão via cabo ou FO: PAN, LAN, MAN, WAN
* conexão sem fio: WPAN, WLAN, WMAN, WWAN.
* conexão sem fio: WPAN, WLAN, WMAN, WWAN.
<br><br>
<br><br>


'''Exemplo:'''
'''Exemplo:'''
<br><br>
<br><br>


Serviço de Publicaçãode mídia
 
Serviço de Publicação de mídia
<br><br>
<br><br>


[[Arquivo:ESOF-B3.png]]
[[Arquivo:ESOF-B3.png]]
<br>
<br>


Aplicação Cliente responde pelas seguintes funções:
Aplicação Cliente responde pelas seguintes funções:
<br>
<br><br><br>
<br><br>
 


* Apresentação:
* Apresentação:
Linha 159: Linha 184:
** alteração na interface do programa requer a geração de uma nova versão para todos os computadores
** alteração na interface do programa requer a geração de uma nova versão para todos os computadores
<br>
<br>


* Lógica do Negócio:
* Lógica do Negócio:
Linha 164: Linha 190:
** toda a Lógica do Negócio fica no Cliente.
** toda a Lógica do Negócio fica no Cliente.
<br>
<br>


* É necessária:
* É necessária:
Linha 169: Linha 196:
** atualização de todos os computadores com nova versão, mesmo que sejam centenas ou milhares de clientes
** atualização de todos os computadores com nova versão, mesmo que sejam centenas ou milhares de clientes
<br>
<br>


* Contribuições:
* Contribuições:
Linha 174: Linha 202:
** uso efetivo dos sistemas de rede na arquitetura distribuída
** uso efetivo dos sistemas de rede na arquitetura distribuída
<br>
<br>


* Limitações:
* Limitações:
Linha 180: Linha 209:


== Modelo cliente-gordo ==
== Modelo cliente-gordo ==


* O servidor é responsável somente pelo gerenciamento de dados
* 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
* 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
* Sua desvantagem é ter sistema de gerenciamento mais complexo
<br>
<br>


== Modelo cliente-magro ==
== Modelo cliente-magro ==
<br>


* Todo o processamento da aplicação e gerenciamento de dados é realizado no servidor
* 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
* 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.
* Tem a desvantagem de atribuir uma grande carga de processamento à rede e ao servidor.
<br>
<br>


== Advento da linguagem Java ==
== Advento da linguagem Java ==
<br>
<br>


* Possibilidade de recorrer a applets (pequenos aplicativos) por download
* Possibilidade de recorrer a applets (pequenos aplicativos) por download
* Permitiu desenvolvimento de um modelo cliente-servidor intermediário
* Permitiu desenvolvimento de um modelo cliente-servidor intermediário
* Interface em web browser
* Interface em web browser
<br>
<br><br>




= Modelo de 3 camadas =
<br>
<br>


= Modelo de 3 camadas =
<br>


'''Problema essencial'''
'''Problema essencial'''
<br>
<br>


* Tres camadas lógicas:
* Tres camadas lógicas:
Linha 214: Linha 254:
** processamento das aplicações
** processamento das aplicações
** gerenciamento de dados
** gerenciamento de dados
Devem ser mapeadas em dois ou mais sistemas de computadores
* Devem ser mapeadas em dois ou mais sistemas de computadores
<br><br>
<br><br>


== Evolução ==
== Evolução ==
<br>
<br>
* retira as Regras do Negócio do cliente e as centraliza em um determinado ponto, o qual é chamado de servidor de aplicações
* 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
* 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
* traz facilidade de atualização das mesmas, pois estão centralizadas em um único ponto
<br>
<br>


* Não significa necessariamente que haja tres sistemas de computador conectados a rede
 
* 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
** um único servidor (parrudo) pode executar tanto o processamento dos SAs e SGBDs
<br>
<br>


* Se a necessidade aumentar, é relativamente simples separá-las em servidores diferentes e executá-los em processos separados.
* Se a necessidade aumentar, é relativamente simples separá-las em servidores diferentes e executá-los em processos separados.
<br>
<br><br>
<br>


== Tres camadas ==
== Tres camadas ==
<br>
<br>


* Clientes
* Clientes
* Servidores de Aplicações
* Servidores de Aplicações
* Servidores de Dados
* Servidores de Dados
<br>
<br>


[[Arquivo:ESOF-B4.png]]
[[Arquivo:ESOF-B4.png]]
<br>
<br>


* Características:
* Características:
Linha 250: Linha 300:
** no Servidor de Banco de Dados reside toda informação necessária para o funcionamento da aplicação.
** no Servidor de Banco de Dados reside toda informação necessária para o funcionamento da aplicação.
<br>
<br>


* Melhoramentos
* Melhoramentos
Linha 257: Linha 308:
** garantia de acesso às alterações para todos os usuários
** garantia de acesso às alterações para todos os usuários
<br>
<br>


* Falha
* Falha
Linha 262: Linha 314:
** as alterações nela são menos frequentes do que as que ocorrem nas Regras do Negócio.
** as alterações nela são menos frequentes do que as que ocorrem nas Regras do Negócio.
<br>
<br>


Exemplo:
Exemplo:
<br>
<br><br>
<br>
 


== Sistema de operações bancárias na Internet ==
== Sistema de operações bancárias na Internet ==
<br>
<br><br>
<br>


* Banco de dados dos usuários do banco hospedado em um servidor (mainframe) fornece serviços de gerenciamento de dados
* Banco de dados dos usuários do banco hospedado em um servidor (mainframe) fornece serviços de gerenciamento de dados
<br>
<br>


* Servidor web fornece os serviços de aplicativos como recursos para transferir dinheiro, gerar extratos e pagar contas
* Servidor web fornece os serviços de aplicativos como recursos para transferir dinheiro, gerar extratos e pagar contas
<br>
<br>


* O computador do usuário com um browser é o cliente.
* O computador do usuário com um browser é o cliente.
<br>
<br>


* O sistema é escalonável pois permite adicionar facilmente novos servidores web à medida que o número de clientes aumenta.
* O sistema é escalonável pois permite adicionar facilmente novos servidores web à medida que o número de clientes aumenta.
<br><br>
<br><br>


== Servidor Web ==
== Servidor Web ==
<br>
<br>


* A expressão servidor web pode significar duas coisas: [Wikipedia]
* A expressão servidor web pode significar duas coisas: [Wikipedia]
<br>
<br>


* 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.)
* 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.)
Linha 293: Linha 351:


* 2. {HW} Um computador que executa um programa que provê a funcionalidade descrita acima.
* 2. {HW} Um computador que executa um programa que provê a funcionalidade descrita acima.
<br>
<br><br>
<br>
 


'''Sistema de operações bancárias na Internet'''
'''Sistema de operações bancárias na Internet'''
<br>
<br>


[[Arquivo:ESOF-B5.png]]
[[Arquivo:ESOF-B5.png]]
<br>
<br>


== Arquitetura de um sistema financeiro na Internet ==
== Arquitetura de um sistema financeiro na Internet ==
<br><br>
<br><br>


[[Arquivo:ESOF-B6.png]]
[[Arquivo:ESOF-B6.png]]
<br><br>
<br><br>


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.
 
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>


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
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
<br><br>
<br><br>


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.
Linha 318: Linha 382:


= Modelo de n camadas =
= Modelo de n camadas =
<br>


== Introdução ==
== Introdução ==
<br>
<br>


Ampliação do modelo cliente-servidor de tres camadas para uma variante com várias camadas adicionando servidores
Ampliação do modelo cliente-servidor de três camadas para uma variante com várias camadas adicionando servidores
<br><br>
<br><br>


Utilizados quando as aplicações precisam acessar diferentes BDs
Utilizados quando as aplicações precisam acessar diferentes BDs
<br><br>
<br><br>


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
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
<br><br>
<br><br>


“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”
“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”
<br><br>
<br><br>


“A transação é aceita pelo monitor, e enfileirada, em seguida, ele assume a responsabilidade pela gestão e a correta realização”.
“A transação é aceita pelo monitor, e enfileirada, em seguida, ele assume a responsabilidade pela gestão e a correta realização”.
<br><br>
<br><br>


'''Vantagens'''
'''Vantagens'''
<br>
<br>


* Serviços
* Serviços
* Recursos
* Recursos
* Protocolos
* Protocolos
* Localização
* Localização
* Descentralização
* Descentralização
* Escalabilidade
* Escalabilidade
* Integridade
* Integridade
<br>
<br>
Linha 352: Linha 429:
'''Desvantagens '''
'''Desvantagens '''
<br>
<br>
* Complexidade
* Complexidade
* Comunicação
* Comunicação
<br>
<br>
Linha 358: Linha 437:
== Pool de Servidores ==
== Pool de Servidores ==
<br>
<br>


'''Exemplo:'''
'''Exemplo:'''
<br><br>
<br><br>


'''Pool de servidores prestando serviço de aplicação web com aplicações diversificadas'''
'''Pool de servidores prestando serviço de aplicação web com aplicações diversificadas'''
Linha 366: Linha 447:


[[Arquivo:ESOF-B7a.png]]
[[Arquivo:ESOF-B7a.png]]
<br><br><br>


<br><br><br>


== Data Center ==
== Data Center ==
<br><br>
<br><br>


[[Arquivo:ESOF-B9.png]]
[[Arquivo:ESOF-B9.png]]
<br><br>
<br><br>


[[Arquivo:ESOF-B10.png]]
[[Arquivo:ESOF-B10.png]]
<br><br>
<br><br>


'''Característica do Data Center'''
'''Característica do Data Center'''
<br>
<br>


* Modalidade de serviço de valor agregado
* Modalidade de serviço de valor agregado
Linha 398: Linha 483:
* Hardware e software adequados à necessidade
* Hardware e software adequados à necessidade
<br><br>
<br><br>


Data Center
Data Center


'''Serviços básicos: '''
'''Serviços básicos: '''
<br>
<br>


Co-location
* Co-location
Hosting
 
* Hosting
<br>
<br>


'''Serviços complementares:'''
'''Serviços complementares:'''
Linha 428: Linha 517:
* Acesso Internet.
* Acesso Internet.
<br>
<br>
= Novos rumos =
<br>
* 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.
<br>
[[Arquivo:ESOF-B12.png]]
<br>
* Questões principais:
** Flexibilidade para as mudanças
** Agilidade para as novas demandas
** Maior qualidade no tempo certo
** Redução de custos.
<br><br>
[[Arquivo:ESOF-B13.png]]
<br>
= SOA =
* SOA (''Service Oriented Architecture'') visa integrar sistemas existentes e futuros
* agrupa processos de negócios e trata-os como serviços interoperáveis
<br>
* 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
<br>
* SOA trabalha em cima de baixo acoplamento
* Permite uma integração de serviços.
<br>
* Vantagens do SOA:
** Reutilização do software
** Aumento de produtividade
** Maior agilidade
** Maior
** Alinhamento com o negócio.
<br>
= Sopa de Letrinhas =
# PC
# SA
# BD
# SP
# SGBD
# WS
# HTTP
# SQL
# TP
# FTP
# SOA
# SOAP
# EAI
# B2B
# WSDL
# J2EE
# .Net
# ESB
# HTML
# XML

Edição atual tal como às 22h14min 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
    • 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çã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 três 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.