Want to make creations as awesome as this one?

Transcript

O que é a arquitetura Cliente/Servidor?

O modelo cliente-servidor é uma arquitetura de aplicação distribuída utilizada na computação. Essa estrutura distribui de forma eficiente as tarefas e cargas de trabalho entre os provedores de recursos, chamados servidores, e os solicitantes desses serviços, denominados clientes. Essa abordagem melhora a gestão de recursos e otimiza a comunicação entre sistemas, promovendo uma interação mais eficaz.

Algumas das suas características são:

  • Separação de Funções: O cliente é responsável pela interface com o usuário e pelo processamento de dados, enquanto o servidor gerencia recursos e dados.
  • Comunicação: Clientes e servidores comunicam-se através de redes, utilizando protocolos definidos, como HTTP ou TCP/IP.
  • Escalabilidade: É fácil adicionar mais clientes ou servidores conforme a demanda aumenta, permitindo um crescimento eficiente do sistema.
  • Eficiência: Servidores podem atender a múltiplos clientes simultaneamente, otimizando recursos e minimizando redundâncias.
  • Diversidade de Clientes: Diferentes tipos de clientes (desktop, mobile, web) podem aceder ao mesmo servidor, proporcionando versatilidade na interação.

Conceito de Protocolo

Um protocolo pode ser descrito como um conjunto abrangente de diretrizes e convenções que determinam a forma como a comunicação deve ocorrer entre diferentes dispositivos em uma rede. Este conjunto de regras estabelece não apenas os formatos das mensagens, mas também a sequência em que elas devem ser enviadas, os métodos de transmissão utilizados, bem como os procedimentos necessários para a troca eficiente de informações. O objetivo principal de um protocolo é garantir que sistemas distintos possam se comunicar de maneira eficaz e operar em conjunto de forma harmoniosa, promovendo a interoperabilidade e a funcionalidade em um ambiente de rede complexo.

Os protocolos de rede utilizados hoje-em-dia são vários, mas os mais comuns são: HTTP (Hypertext Transfer Protocol) - Solicita websites e os recursos acompanhando esses mesmos de servidores web. HTTPS (HTTP Secure) - É essencialmente o protocolo HTTP mas com uma criptografia aplicada para proteger dados enviados e recebidos. FTP (File Transfer Protocol) - Utilizado para descarregar e carregar ficheiros entre servidores. SMTP (Simple Mail Transfer Protocol) - Envia emails entre dispositivos.

TCP/IP

A arquitetura TCP/IP é um conjunto de protocolos que define como os dados são transmitidos na internet e em redes. O nome vem dos dois principais protocolos: TCP (Transmission Control Protocol) e IP (Internet Protocol). Algumas das suas caraterísticas são tais como: Interoperabilidade: Permite que dispositivos de diferentes fabricantes se comuniquem entre si. Endereçamento: Utiliza endereços IP para identificar dispositivos na rede, garantindo que os dados cheguem ao destino correto. Escalabilidade: Suporta a expansão da rede, acomodando cada vez mais dispositivos. Robustez: É projetada para ser resistente a falhas, permitindo a retransmissão de dados em caso de perda.

DNS

O DNS (Domain Name System) é um sistema que traduz endereços IP (192.168.1.4) em palavras (www.youtube.com). Este mesmo foi inventado pois o ser humano consegue memorizar palavras mais facilmente.

DHCP

O DHCP (Dynamic Host Configuration Protocol) é um protocolo que automaticamente garante cada IP disponivél a cada dispositivo que entra na rede.

Evolução da arquitetura Cliente/Servidor

A arquitetura Cliente/Servidor existe á varias décadas, sendo concebida para livrar os clientes de várias tarefas, sendo mas é executadas pelo servidor. Ao longo dos anos, novas técnologias foram aparecendo e com a evolução da Internet e das Redes, também foi evoluindo a arquitetura Cliente/Servidor.

Antigamente:

  • Os computadores pessoais eram mais lentos e fracos, tendo capacidades menores do que são hoje
  • A LAN (que foi concebidos na década de 80) era maioritariamente utilizadas nestas redes, mas com velocidades mais baixas.
  • O software funcionava localmente, e os servidores trabalhavam através de sistemas operativos proprietários.

Atualmente:

  • Os computadores pessoais (e não só) já têm capacidades elevadas, sendo cada vez mais rápidos e fortes com cada geração de componentes.
  • Passou a ser utilizado as redes móveis e também a internet de alta-velocidade.
  • As aplicações agora podem ser utilizadas através dos navegadores e os servidores passaram a utilizar sistemas operativos open-source!

Arquitetura SOA

A arquitetura SOA, ou arquitetura orientada a serviços, é uma forma de tornar os componentes de software reutilizáveis e interoperáveis através de interfaces de serviço. Os serviços utilizam padrões de interface comuns e um padrão arquitetónico para que possam ser rapidamente incorporados em aplicações novas. Algumas caracteristicas são:

Reutilização de Serviços: Os serviços são projetados para serem reutilizáveis em diferentes aplicações e contextos, reduzindo a duplicação de esforços e aumentando a eficiência.

Interoperabilidade: SOA permite que diferentes sistemas e tecnologias se comuniquem entre si através de interfaces padronizadas, facilitando a integração de sistemas heterogéneos.

Escalabilidade: A arquitetura SOA é projetada para ser escalável, permitindo que os serviços sejam distribuídos e balanceados conforme a demanda aumenta.

Modularidade: SOA promove a criação de componentes modulares que podem ser desenvolvidos, testados e implantados de forma independente, facilitando a manutenção e a evolução do sistema.

Exemplo da arquitetura Cliente/Servidor

Imaginemos este cenário, onde estamos a aceder ás notas que foram lançadas.O que acontece é:O cliente solicita a página com a informação através to protocolo HTTP (ou HTTPS).Este pedido é enviado através da internet para o(s) servidor(es).O servidor recolhe a página que foi solicitada, e envia-lhe para o cliente, onde é mostrado através do navegador.