Your SlideShare is downloading. ×
0
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente servidor

6,983

Published on

Desenvolvimento de Sistemas Cliente/Servidor

Desenvolvimento de Sistemas Cliente/Servidor

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,983
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
204
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Desenvolvimento de Sistemas Cliente/Servidor UNICEUMA Departamento de Informática Prof. Msc. Eduardo Freire [email_address]
  • 2. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>Componentes da Arquitetura Cliente / Servidor </li></ul><ul><ul><li>Conforme visto, a arquitetura Cliente/Servidor é composta de dois componentes físicos que se comunicam através da rede </li></ul></ul><ul><ul><ul><li>A estação de trabalho do usuário </li></ul></ul></ul><ul><ul><ul><li>O servidor (de banco de dados, de aplicação, de arquivos, etc.) </li></ul></ul></ul><ul><ul><li>Para se estabelecer a comunicação entre esses dois componentes são utilizadas várias camadas de software que são instaladas em cada componente físico </li></ul></ul>
  • 3. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>Componentes da Arquitetura Cliente / Servidor </li></ul><ul><ul><li>A estação de trabalho cliente deve ter, além da aplicação final, vários outros elementos para acessar os recursos e serviços do servidor através de rede </li></ul></ul>SERVIDOR Serviços MIDDLEWARE Serviços Específicos Protocolos de Comunicação SO de Rede CLIENTE Aplicações Bibliotecas para acesso ao servidor
  • 4. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>Componentes da Arquitetura Cliente / Servidor </li></ul><ul><ul><li>Os sistemas que rodam nos dois lados devem ser organizados por meio de camadas de software que é logicamente, uma posição entre um alto nível – camada que consiste a interação do usuário com a aplicação – e a camada que fica abaixo do sistema operacional </li></ul></ul><ul><ul><li>Note que, logicamente, a camada do middleware estende máquinas múltiplas excedentes </li></ul></ul>
  • 5. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>Componentes da Arquitetura Cliente / Servidor </li></ul><ul><ul><li>Exemplo: Arquitetura Cliente / Servidor para um servidor de Banco de Dados (SGBD) </li></ul></ul><ul><ul><ul><li>A arquitetura pode ser composta por três componentes (camadas) </li></ul></ul></ul><ul><ul><ul><ul><li>Cliente </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Middleware </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Servidor </li></ul></ul></ul></ul><ul><ul><ul><li>O cliente deve ter a aplicação final e outro componente (o Database Engine), para acessar a base de dados em um SGBD através de rede </li></ul></ul></ul>
  • 6. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>Componentes da Arquitetura Cliente / Servidor </li></ul><ul><ul><li>Exemplo: Arquitetura Cliente / Servidor para um servidor de Banco de Dados (SGBD) </li></ul></ul>
  • 7. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>Componentes da Arquitetura Cliente / Servidor </li></ul><ul><ul><li>Exemplo: Arquitetura Cliente / Servidor para um servidor de Banco de Dados (SGBD) </li></ul></ul><ul><ul><ul><li>Database Engine </li></ul></ul></ul><ul><ul><ul><ul><li>biblioteca fornecida pelo fornecedor da ferramenta de desenvolvimento com o objetivo de fornecer uma forma única e transparente da aplicação acessar diferentes bases de dados </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Ex: BDE (Borland Database Engine) </li></ul></ul></ul></ul></ul>
  • 8. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>Componentes da Arquitetura Cliente / Servidor </li></ul><ul><ul><li>Exemplo: Arquitetura Cliente / Servidor para um servidor de Banco de Dados (SGBD) </li></ul></ul><ul><ul><ul><li>SQL Links </li></ul></ul></ul><ul><ul><ul><ul><li>“ Driver” fornecido também pelo fornecedor da ferramenta de desenvolvimento responsável pela comunicação do Database Enginer com uma base de dados específica </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Sua principal característica é traduzir os comandos utilizados pelo Database Enginer para comandos conhecidos pela base de dados utilizada </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Ex.: SQL links para acessar Oracle, Sybase, MS SQL Server, Interbase, etc. </li></ul></ul></ul></ul></ul>
  • 9. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>Componentes da Arquitetura Cliente / Servidor </li></ul><ul><ul><li>Exemplo: Arquitetura Cliente / Servidor para um servidor de Banco de Dados (SGBD) </li></ul></ul><ul><ul><ul><li>SQL Links </li></ul></ul></ul><ul><ul><ul><ul><li>A aplicação pode optar por utilizar o padrão ODBC para acessar a base de dados, ao invés de utilizar SQL Links (acesso nativo) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Entretanto, o acesso feito pelos SQL Links ainda possui um desempenho superior em relação ao acesso feito via “driver” ODBC </li></ul></ul></ul></ul>
  • 10. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>Componentes da Arquitetura Cliente / Servidor </li></ul><ul><ul><li>Exemplo: Arquitetura Cliente / Servidor para um servidor de Banco de Dados (SGBD) </li></ul></ul><ul><ul><ul><li>Client do Banco de Dados </li></ul></ul></ul><ul><ul><ul><ul><li>API fornecida pelo fornecedor do SGDB e instalada na estação cliente para estabelecer a comunicação com o banco de dados </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Nessa API se encontram as funções de acesso a base de dados </li></ul></ul></ul></ul><ul><ul><ul><ul><li>É também, responsável por utilizar um determinado protocolo de rede para encontrar o servidor de banco para que a aplicação possa acessá-lo enviando comandos e buscando os dados </li></ul></ul></ul></ul>
  • 11. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>Componentes da Arquitetura Cliente / Servidor </li></ul><ul><ul><li>Exemplo: Arquitetura Cliente / Servidor para um servidor de Banco de Dados (SGBD) </li></ul></ul><ul><ul><ul><li>Client do Banco de Dados </li></ul></ul></ul><ul><ul><ul><ul><li>API fornecida pelo fornecedor do SGDB e instalada na estação cliente para estabelecer a comunicação com o banco de dados </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Nessa API se encontram as funções de acesso a base de dados </li></ul></ul></ul></ul><ul><ul><ul><ul><li>É também, responsável por utilizar um determinado protocolo de rede para encontrar o servidor de banco para que a aplicação possa acessá-lo enviando comandos e buscando os dados </li></ul></ul></ul></ul>
  • 12. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>Componentes da Arquitetura Cliente / Servidor </li></ul><ul><ul><li>Exemplo: Arquitetura Cliente / Servidor para um servidor de Banco de Dados (SGBD) </li></ul></ul><ul><ul><ul><li>Protocolo de Rede </li></ul></ul></ul><ul><ul><ul><ul><li>Softwares responsáveis pela transmissão dos dados pela rede entre a máquina cliente e o servidor </li></ul></ul></ul></ul>
  • 13. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>Arquitetura Cliente / Servidor </li></ul><ul><ul><li>Distribuição Vertical </li></ul></ul><ul><ul><ul><li>Arquiteturas cliente/servidor multithread são a consequência da divisão de aplicações que rodam na interface do usuário, onde vários componentes são processados </li></ul></ul></ul><ul><ul><ul><li>Normalmente as diferentes partes correspondem diretamente com a organização lógica de aplicações, ou seja, em muitos ambientes de negócios, o processamento distribuído é equivalente à organização de uma aplicação cliente-servidor em uma arquitetura multithread </li></ul></ul></ul>
  • 14. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>Arquitetura Cliente / Servidor Multithread </li></ul><ul><ul><li>Distribuição Vertical </li></ul></ul><ul><ul><ul><li>Este tipo de distribuição é conhecido como distribuição vertical , que se caracteriza pelo fato de componentes diferentes se localizam logicamente em diferentes máquinas </li></ul></ul></ul>
  • 15. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>Arquitetura Cliente / Servidor Multithread </li></ul><ul><ul><li>Distribuição Horizontal </li></ul></ul><ul><ul><ul><li>Entretanto, a distribuição vertical não é o único caminho para a organização de aplicações cliente-servidor ,e em muitos casos nem é o mais interessante. </li></ul></ul></ul><ul><ul><ul><li>Nas arquiteturas modernas, é comum que a distribuição de cliente e servidores pode ser logicamente em componentes diferentes mas rodando numa mesma máquina. </li></ul></ul></ul><ul><ul><ul><li>Esta distribuição conhecida como distribuição horizontal </li></ul></ul></ul>
  • 16. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>Arquitetura Cliente / Servidor Multithread </li></ul><ul><ul><li>Distribuição Horizontal </li></ul></ul><ul><ul><ul><li>Nesse tipo de distribuição, um cliente ou um servidor pode ser fisicamente dividido em partes lógica, mas cada parte roda em sua própria máquina </li></ul></ul></ul>
  • 17. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>Arquitetura Cliente / Servidor Multithread </li></ul><ul><ul><li>Distribuição Horizontal </li></ul></ul><ul><ul><ul><li>Um exemplo de distribuição horizontal de um serviço web </li></ul></ul></ul>
  • 18. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>Estrutura de uma aplicação Cliente / Servidor </li></ul><ul><ul><li>Como foi visto, o ambiente cliente servidor permite que a aplicação seja distribuída entre dois componentes físicos </li></ul></ul><ul><ul><ul><li>A estação cliente </li></ul></ul></ul><ul><ul><ul><li>O servidor de recursos/serviços </li></ul></ul></ul><ul><ul><li>Entretanto, logicamente podemos identificar três camadas distintas dentro de uma aplicação </li></ul></ul><ul><ul><ul><li>Apresentação </li></ul></ul></ul><ul><ul><ul><li>Lógica do Negócio </li></ul></ul></ul><ul><ul><ul><li>Gerenciamento do Recurso/Serviço </li></ul></ul></ul>
  • 19. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>Estrutura de uma aplicação Cliente / Servidor </li></ul><ul><ul><li>Camadas </li></ul></ul>
  • 20. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>Estrutura de uma aplicação Cliente / Servidor </li></ul><ul><ul><li>Camadas </li></ul></ul><ul><ul><ul><li>Apresentação </li></ul></ul></ul><ul><ul><ul><ul><li>Composta por componentes responsáveis pela interação da aplicação com o usuário final </li></ul></ul></ul></ul><ul><ul><ul><ul><li>É responsabilidade dessa camada receber os dados e comandos do usuário e devolver-lhe informações através de elementos visuais como consultas, gráficos, relatórios e etc. </li></ul></ul></ul></ul>
  • 21. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>Estrutura de uma aplicação Cliente / Servidor </li></ul><ul><ul><li>Camadas </li></ul></ul><ul><ul><ul><li>Lógica do Negócio </li></ul></ul></ul><ul><ul><ul><ul><li>Parte da aplicação responsável por manter as regras de negócio da empresa </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Essa camada recebe as informações da camada de interface (Apresentação) e executa as operações e validações necessárias para enviá-los servidor </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Da mesma forma, extrai as informações do servidor de acordo com as regras de negócio da aplicação e os envia para elementos da interface para que sejam exibidos </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Portanto, essa camada é responsável em interligar a interface visual com o servidor, ou seja, é a parte funcional da aplicação </li></ul></ul></ul></ul>
  • 22. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>Estrutura de uma aplicação Cliente / Servidor </li></ul><ul><ul><li>Camadas </li></ul></ul><ul><ul><ul><li>Gerenciamento do Recurso/Serviço </li></ul></ul></ul><ul><ul><ul><ul><li>Parte da aplicação responsável pelo acesso às informações do servidor </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Como já foi visto anteriormente, grande parte dessa camada é implementada pelo próprio servidor do recurso / serviço </li></ul></ul></ul></ul>
  • 23. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>Estrutura de uma aplicação Cliente / Servidor </li></ul><ul><ul><li>Camadas </li></ul></ul><ul><ul><ul><li>Gerenciamento do Recurso/Serviço </li></ul></ul></ul><ul><ul><ul><ul><li>Vejamos o caso de um SGBD </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Normalmente o acesso aos serviços é feito através de SQL </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Porém, é também necessário um conjunto de comandos para enviar as sentenças SQLs e gerenciar a comunicação entre a aplicação e o servidor </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Esses comandos se encontram em bibliotecas disponibilizadas pelos próprios fornecedores de banco de dados que são instaladas em cada estação de trabalho </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Além disso cada fabricante de ferramentas de desenvolvimento fornece também métodos e componentes capazes de simplificar e tornar mais transparente o acesso aos diversos SGDBs </li></ul></ul></ul></ul></ul>
  • 24. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>Estrutura de uma aplicação Cliente / Servidor </li></ul><ul><ul><li>Camadas </li></ul></ul><ul><ul><ul><li>Vantagens da organização em camadas </li></ul></ul></ul><ul><ul><ul><ul><li>A divisão da aplicação nessas três camadas lógicas possibilita a organização e padronização da codificação e construção da aplicação, além de proporcionar uma maior facilidade de manutenção e evolução para novas fases da arquitetura Cliente/Servidor </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Como já foi visto, a tendência da arquitetura Cliente/Servidor é retirar cada vez mais parte do processamento da aplicação realizado pelas estações de trabalho clientes e centralizá-lo em servidores, provendo um melhor gerenciamento do processo e facilitando a evolução da funcionalidade que foi distribuída </li></ul></ul></ul></ul>
  • 25. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>Estrutura de uma aplicação Cliente / Servidor </li></ul><ul><ul><li>Camadas </li></ul></ul><ul><ul><ul><li>Vantagens da organização em camadas </li></ul></ul></ul><ul><ul><ul><ul><li>A distribuição da aplicação em camadas lógicas possibilita também que cada camada possa evoluir independente das outras desde que se mantenha a interface entre elas </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Por exemplo, pode-se alterar as regras de negócio para atender as necessidades do mercado sem necessariamente ter que modificar a camada de interface ou a camada de gerenciamento de dados </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Por outro lado, pode-se evoluir a apresentação para novas tecnologias como multimídia, sem precisar alterar as regras de negócio </li></ul></ul></ul></ul>
  • 26. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>Estrutura de uma aplicação Cliente / Servidor </li></ul><ul><ul><li>Camadas </li></ul></ul><ul><ul><ul><li>Vantagens da organização em camadas </li></ul></ul></ul><ul><ul><ul><ul><li>Evoluções tecnológicas, como a distribuição da base de dados na camada de gerenciamento de dados pode ser feita de forma transparente das demais camadas </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Portanto, esses tipos de distribuição tornam as aplicações mais escaláveis para suportar futuras implementações possibilitando um tempo de vida muito mais longo </li></ul></ul></ul></ul>
  • 27. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>As características dos componentes Cliente / Servidor </li></ul><ul><ul><li>Clientes </li></ul></ul><ul><ul><ul><li>É programa aplicativo arbitrário que se torna um cliente temporariamente quando for necessário acesso remoto, mas pode executar outros processamentos locais </li></ul></ul></ul><ul><ul><ul><li>É diretamente invocado por usuário e executa somente para uma sessão </li></ul></ul></ul><ul><ul><ul><li>Executa localmente em um computador pessoal </li></ul></ul></ul>
  • 28. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>As características dos componentes Cliente / Servidor </li></ul><ul><ul><li>Clientes </li></ul></ul><ul><ul><ul><li>Inicia ativamente a comunicação com um servidor </li></ul></ul></ul><ul><ul><ul><li>Pode acessar múltiplos serviços quando necessário, mas contata ativamente um servidor remoto de cada vez </li></ul></ul></ul><ul><ul><ul><li>Não exige hardware especial </li></ul></ul></ul>
  • 29. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>As características dos componentes Cliente / Servidor </li></ul><ul><ul><li>Servidor </li></ul></ul><ul><ul><ul><li>É um programa privilegiado de propósito especial dedicado a fornecer um serviço, mas pode tratar de múltiplos clientes remotos ao mesmo tempo </li></ul></ul></ul><ul><ul><ul><li>É automaticamente invocado quando um sistema inicializa e continua a executar ao longo de muitas sessões </li></ul></ul></ul><ul><ul><ul><li>Roda em um computador compartilhado </li></ul></ul></ul>
  • 30. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>As características dos componentes Cliente / Servidor </li></ul><ul><ul><li>Servidor </li></ul></ul><ul><ul><ul><li>Espera passivamente pelo contato de clientes remotos arbitrários </li></ul></ul></ul><ul><ul><ul><li>Aceita contato de clientes arbitrários, mas oferece um único serviço </li></ul></ul></ul><ul><ul><ul><li>Exige hardware poderoso e um sistema operacional sofisticado </li></ul></ul></ul>
  • 31. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>A interação Cliente / Servidor </li></ul><ul><ul><li>Existem diversas formas de interação Cliente / Servidor, permitindo que as informações fluam em ambas as direções </li></ul></ul><ul><ul><li>Em geral, clientes enviam as informações e o servidor responde </li></ul></ul>
  • 32. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>A interação Cliente / Servidor </li></ul><ul><ul><li>Porém outras formas de interações são possíveis </li></ul></ul><ul><ul><ul><li>Um único computador da classe servidor pode oferecer múltiplos serviços ao mesmo tempo, um programa de servidor separado é necessário para atender cada serviço </li></ul></ul></ul><ul><ul><ul><li>A execução de muitos servidores em uma única máquina servidora é prática porque um servidor não consome muito recurso de processamento enquanto fica esperando uma chamada </li></ul></ul></ul>
  • 33. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>A interação Cliente / Servidor </li></ul><ul><ul><li>Múltiplas cópias de um servidor para um único serviço </li></ul></ul><ul><ul><ul><li>Um servidor capaz de atender várias solicitações ao mesmo tempo para um mesmo tipo de serviço suporta concorrência </li></ul></ul></ul><ul><ul><ul><li>Na verdade, são executadas copias (threads) do mesmo programa aplicativo na mesma máquina para cada cliente solicitante </li></ul></ul></ul><ul><ul><ul><li>Esta técnica é muito importante para alguns serviços que transferem arquivos por exemplo </li></ul></ul></ul>
  • 34. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>A interação Cliente / Servidor </li></ul><ul><ul><li>Servidor dinâmico </li></ul></ul><ul><ul><ul><li>A maioria dos servidores concorrentes operam dinamicamente </li></ul></ul></ul><ul><ul><ul><li>Um servidor é construído para operar em duas etapas </li></ul></ul></ul><ul><ul><ul><ul><li>Primeiro para receber as chamadas ou requisições </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Segundo para responder as chamadas realizadas </li></ul></ul></ul></ul><ul><ul><ul><li>O processo é simples, para cada solicitação recebida pela primeira etapa, a aplicação principal cria uma thread (cópia) de um servidor dedicado para atender aquela chamada </li></ul></ul></ul>
  • 35. Desenvolvimento de Sistemas Cliente/Servidor – A estrutura dos sistemas Cliente / Servidor <ul><li>A interação Cliente / Servidor </li></ul><ul><ul><li>Outras interações... </li></ul></ul><ul><ul><ul><li>Um aplicativo cliente, pode fazer o contato com diversos servidores </li></ul></ul></ul><ul><ul><ul><li>Um aplicativo cliente não precisa ser restrito a um único servidor para buscar suas informações </li></ul></ul></ul><ul><ul><ul><ul><li>Ex: para busca de data e hora </li></ul></ul></ul></ul><ul><ul><ul><li>Um servidor, pode executar outras tarefas, como ser clientes de outros servidores </li></ul></ul></ul><ul><ul><ul><ul><li>Ex: um servidor de BD querendo autenticar em um servidor de Rede </li></ul></ul></ul></ul>

×