Sem resumo de edição |
|||
| Linha 1: | Linha 1: | ||
Arquitetura Cliente-Servidor e Internet | Arquitetura Cliente-Servidor e Internet | ||
| Linha 5: | Linha 6: | ||
<br> | <br> | ||
== Mainframe == | == Mainframe == | ||
<br> | <br> | ||
'''Início da arquitetura''' | '''Início da arquitetura''' | ||
<br> | <br> | ||
* Primórdios da computação | * Primórdios da computação | ||
** Mainframes executavam e mantinham toda a informação e processos em um único sistema | ** Mainframes executavam e mantinham toda a informação e processos em um único sistema | ||
** Sistema monolítico e centralizador | ** Sistema monolítico e centralizador | ||
<br> | <br> | ||
* Processo dispendioso: | * Processo dispendioso: | ||
** entrar com os dados | ** entrar com os dados | ||
** realizar processamento | ** realizar processamento | ||
** analisar os resultados | ** analisar os resultados | ||
<br> | <br> | ||
== 1o. modelo de arquitetura == | == 1o. modelo de arquitetura == | ||
<br> | <br> | ||
* Compartilhamento de arquivos e aplicações | * Compartilhamento de arquivos e aplicações | ||
** Inúmeros problemas => concorrência | ** Inúmeros problemas => concorrência | ||
<br> | <br> | ||
* Usuários solicitando arquivos centralizados: | * Usuários solicitando arquivos centralizados: | ||
** gerava baixo processamento | ** gerava baixo processamento | ||
** 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 = | ||
* 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:''' | ||
** cliente => que realiza processamento | ** cliente => que realiza processamento | ||
** 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: | ||
** oferecem serviços a outros subsistemas | ** oferecem serviços a outros subsistemas | ||
<br> | <br> | ||
* Conjunto de clientes: | * Conjunto de clientes: | ||
** solicitam os serviços oferecidos aos usuários | ** solicitam os serviços oferecidos aos usuários | ||
<br> | <br> | ||
* Rede | * Rede | ||
** 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 == | ||
<br> | <br> | ||
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: | ||
** é ativo | ** é ativo | ||
** inicia e termina as conversações com os servidores, solicitando serviços distribuídos | ** 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 | ** normalmente responsável pela entrada e saída de dados e comunicação com o usuário | ||
** torna a rede ‘transparente’ ao usuário | ** torna a rede ‘transparente’ ao usuário | ||
** 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: | ||
** arquivos | ** arquivos | ||
** banco de dados | ** banco de dados | ||
** impressão | ** impressão | ||
** conteúdo | ** conteúdo | ||
** fax | ** fax | ||
** páginas web | ** páginas web | ||
** DNS | ** DNS | ||
** e-mail | ** e-mail | ||
** imagens | ** imagens | ||
** sistemas operacionais | ** sistemas operacionais | ||
** etc | ** etc | ||
<br> | <br> | ||
* Características: | * Características: | ||
** reativo e de execução contínua | ** reativo e de execução contínua | ||
** recebe e responde a solicitações dos Clientes | ** recebe e responde a solicitações dos Clientes | ||
** presta serviços distribuídos | ** presta serviços distribuídos | ||
** atende a diversos Clientes simultaneamente | ** atende a diversos Clientes simultaneamente | ||
** 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]] | ||
| Linha 138: | Linha 231: | ||
* 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çãode 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: | ||
** o código que gera a interface visível do programa faz parte da aplicação Cliente | ** 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 | ** 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 | ** 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: | ||
** regras que definem como os dados serão acessados e processados | ** regras que definem como os dados serão acessados e processados | ||
** 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: | ||
** uma nova versão do programa cada vez que alterações ocorrerem e as regras mudarem | ** 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 | ** atualização de todos os computadores com nova versão, mesmo que sejam centenas ou milhares de clientes | ||
<br> | <br> | ||
* Contribuições: | * Contribuições: | ||
** avanços para a empresa | ** avanços para a empresa | ||
** 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: | ||
** dificuldade de manutenção e no gerenciamento. | ** dificuldade de manutenção e no gerenciamento. | ||
<br> | <br> | ||
== 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 == | ||
* 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> | <br> | ||
= Modelo de 3 camadas = | = Modelo de 3 camadas = | ||
<br> | <br> | ||
'''Problema essencial''' | '''Problema essencial''' | ||
<br> | <br> | ||
* Tres camadas lógicas: | * Tres camadas lógicas: | ||
** apresentação | ** apresentação | ||
** 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 tres sistemas de computador conectados a 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: | ||
** as Regras do Negócio (lógica) foram deslocadas para o Servidor de Aplicações | ** 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 | ** 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 | ** 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 | ** 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. | ** no Servidor de Banco de Dados reside toda informação necessária para o funcionamento da aplicação. | ||
<br> | <br> | ||
* Melhoramentos | * Melhoramentos | ||
** facilidade na atualização das Regras do Negócio | ** facilidade na atualização das Regras do Negócio | ||
** maior flexibilidade, segurança e controle do acesso aos dados | ** maior flexibilidade, segurança e controle do acesso aos dados | ||
** simplicidade na manutenção das aplicações atualizadas | ** simplicidade na manutenção das aplicações atualizadas | ||
** 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 | ||
** continua o problema de atualização da interface de aplicação, cada vez que sejam necessárias mudanças | ** 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. | ** 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.) | ||
<br> | <br> | ||
* 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 tres 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. | ||
<br><br> | <br><br> | ||
= Modelo de n camadas = | = Modelo de n camadas = | ||
== 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 tres 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> | ||
'''Desvantagens ''' | '''Desvantagens ''' | ||
<br> | <br> | ||
* Complexidade | * Complexidade | ||
* Comunicação | * Comunicação | ||
<br> | <br> | ||
== 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''' | ||
<br><br> | <br><br> | ||
[[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 | ||
<br> | <br> | ||
* Oferece recursos de processamento e armazenamento de dados | * Oferece recursos de processamento e armazenamento de dados | ||
<br> | <br> | ||
* Larga escala para organizações de qualquer porte | * Larga escala para organizações de qualquer porte | ||
<br> | <br> | ||
* Grande capacidade e flexibilidade | * Grande capacidade e flexibilidade | ||
<br> | <br> | ||
* Alta segurança | * Alta segurança | ||
<br> | <br> | ||
* 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 | |||
Hosting | |||
<br> | <br> | ||
'''Serviços complementares:''' | '''Serviços complementares:''' | ||
<br> | <br> | ||
* Backup | * Backup | ||
<br> | <br> | ||
* Infra-estrutura de energia | * Infra-estrutura de energia | ||
<br> | <br> | ||
* Segurança | * Segurança | ||
<br> | <br> | ||
* Servidor de endereços | * Servidor de endereços | ||
<br> | <br> | ||
* Suporte 24x7 | * Suporte 24x7 | ||
<br> | <br> | ||
* Acesso Internet. | * Acesso Internet. | ||
<br> | <br> | ||
= Novos rumos = | = Novos rumos = | ||
<br> | <br> | ||
* Sistemas | |||
* Sistemas legados | |||
* Foram desenvolvidos pelas empresas baseados em diversas tecnologias ao longo do tempo. | |||
* Ex: | * Ex: | ||
** Fortran | ** Fortran | ||
** Cobol | ** Cobol | ||
** Clipper | ** Clipper | ||
** Delphi | ** Delphi | ||
** Outras. | ** Outras. | ||
<br> | <br> | ||
* Problemas dos sistemas legados: | * Problemas dos sistemas legados: | ||
** falta de documentação | ** falta de documentação | ||
** carência de especialista em um determinado sistema | ** carência de especialista em um determinado sistema | ||
** ignorância sobre as regras de negócio | ** ignorância sobre as regras de negócio | ||
** dificuldades em interagir com outros sistemas | ** dificuldades em interagir com outros sistemas | ||
** falta de suporte às linguagens | ** falta de suporte às linguagens | ||
** plataformas equipamentos obsoletos. | ** plataformas equipamentos obsoletos. | ||
<br> | <br> | ||
[[Arquivo:ESOF-B12.png]] | [[Arquivo:ESOF-B12.png]] | ||
<br> | <br> | ||
* Questões principais: | * Questões principais: | ||
** Flexibilidade para as mudanças | ** Flexibilidade para as mudanças | ||
** Agilidade para as novas demandas | ** Agilidade para as novas demandas | ||
** Maior qualidade no tempo certo | ** Maior qualidade no tempo certo | ||
** Redução de custos. | ** Redução de custos. | ||
<br><br> | <br><br> | ||
[[Arquivo:ESOF-B13.png]] | [[Arquivo:ESOF-B13.png]] | ||
<br> | <br> | ||
= SOA = | = SOA = | ||
* SOA (''Service Oriented Architecture'') visa integrar sistemas existentes e futuros | |||
* SOA (''Service Oriented Architecture'') visa integrar sistemas existentes e futuros | |||
* agrupa processos de negócios e trata-os como serviços interoperáveis | * agrupa processos de negócios e trata-os como serviços interoperáveis | ||
<br> | <br> | ||
* Características | |||
** Os serviços são novas denominações das aplicações | * Características | ||
** Os serviços são novas denominações das aplicações | |||
** Disponíveis na Internet em forma de padrões abertos | ** Disponíveis na Internet em forma de padrões abertos | ||
** Utiliza WebServices. | ** Utiliza WebServices. | ||
<br> | <br> | ||
* Conceito de Web Services: | * Conceito de Web Services: | ||
** Os WebServices funcionam de forma semelhante a um componente que você instala numa máquina pessoal | ** Os WebServices funcionam de forma semelhante a um componente que você instala numa máquina pessoal | ||
** Esse componente pode ficar residente em qualquer lugar: na sua máquina, na empresa que fornece o serviço, em outro país, etc | ** Esse componente pode ficar residente em qualquer lugar: na sua máquina, na empresa que fornece o serviço, em outro país, etc | ||
** Usando a Internet e o XML para troca de informações, é executado um método desse componente que dispara o processamento no servidor remoto | ** Usando a Internet e o XML para troca de informações, é executado um método desse componente que dispara o processamento no servidor remoto | ||
** A resposta é recebida na sua aplicação. | ** A resposta é recebida na sua aplicação. | ||
<br> | <br> | ||
* SOA trabalha em cima de baixo acoplamento | * SOA trabalha em cima de baixo acoplamento | ||
* Permite uma integração de serviços. | * Permite uma integração de serviços. | ||
<br> | <br> | ||
* Vantagens do SOA: | * Vantagens do SOA: | ||
** Reutilização do software | ** Reutilização do software | ||
** Aumento de produtividade | ** Aumento de produtividade | ||
** Maior agilidade | |||
** Maior agilidade | |||
** Alinhamento com o negócio. | ** Alinhamento com o negócio. | ||
<br> | <br> | ||
= Sopa de Letrinhas = | = Sopa de Letrinhas = | ||
# PC | |||
# SA | # PC: Larissa | ||
# BD | |||
# SP | # SA: Heitor | ||
# SGBD | |||
# WS | # BD: Lucas Carvalho | ||
# HTTP | |||
# SQL | # SP: Rafael Saraceni | ||
# TP | |||
# FTP | # SGBD: Ricardo Berger | ||
# SOA | |||
# | # WS: Antônio | ||
# | |||
# B2B | # HTTP: Lucas Manfrim | ||
# | |||
# J2EE | # SQL: Guilherme Henrique | ||
# .Net | |||
# | # TP: Victor Hugo | ||
# HTML | |||
# XML | # FTP: Igor | ||
# SOA: Estevão | |||
# URL: Marcus | |||
# PDA: Lucas Wesley | |||
# B2B: Wedson | |||
# API: Rafael Alexandre | |||
# J2EE: Fábio | |||
# .Net: Ricardo Vedovato | |||
# ASCII: Emerson | |||
# HTML: Cássio | |||
# XML: Marco Aurélio | |||
Edição das 11h56min de 24 de março 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çã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 legados
- Foram 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 e 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
- Utiliza WebServices.
- Conceito de Web Services:
- Os WebServices funcionam de forma semelhante a um componente que você instala numa máquina pessoal
- Esse componente pode ficar residente em qualquer lugar: na sua máquina, na empresa que fornece o serviço, em outro país, etc
- Usando a Internet e o XML para troca de informações, é executado um método desse componente que dispara o processamento no servidor remoto
- A resposta é recebida na sua aplicação.
- 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
- Alinhamento com o negócio.
Sopa de Letrinhas
- PC: Larissa
- SA: Heitor
- BD: Lucas Carvalho
- SP: Rafael Saraceni
- SGBD: Ricardo Berger
- WS: Antônio
- HTTP: Lucas Manfrim
- SQL: Guilherme Henrique
- TP: Victor Hugo
- FTP: Igor
- SOA: Estevão
- URL: Marcus
- PDA: Lucas Wesley
- B2B: Wedson
- API: Rafael Alexandre
- J2EE: Fábio
- .Net: Ricardo Vedovato
- ASCII: Emerson
- HTML: Cássio
- XML: Marco Aurélio










