Você está na página 1de 20

Arquitetura cliente-

servidor
Yana Matiyshena
Arquitetura cliente-servidor
Como funciona?
• A tecnologia cliente/servidor é uma arquitetura na qual o processamento da informação é dividido em módulos
ou processos distintos. Um processo é responsável pela manutenção da informação (servidores) e outros
responsáveis pela obtenção dos dados (os clientes).

• Os processos cliente enviam pedidos para o processo servidor, e este por sua vez processa e envia os resultados
dos pedidos.

• Os Servidores Web, existem para servir páginas web ou outros serviços, conforme sejam requisitadas por um
utilizador num computador ligado à internet. É esta a função mais básica dos Servidores. Eles ficam ligados na
internet e aguardam. Podem ser encontrados através de um url ou IP e quando são contactados respondem
(servem) uma página web, um webservice, ou outro tipo de conteúdo, como por exemplo xml.

• Estes servidores são na realidade computadores, mas em vez de servirem para um utilizador, a sua função é
outra. Com muita frequência nem precisam de um monitor e apenas servem para guardar informação (em bases
de dados) e executar procedimentos (programação) que interagem com os utilizadores que os contactam.

• É no servidor que normalmente ficam os sistemas mais pesados da rede, tais como o banco de dados. As
máquinas clientes são menos poderosas, pois não rodam aplicativos que requerem tantos recursos das
máquinas.

• O importante em uma máquina em arquitetura Cliente/Servidor não é que todas as máquinas sejam do mesmo


fabricante ou do mesmo tipo. O que realmente é importante, é o fato de todas as máquinas poderem se
interligar pela rede, com o mesmo tipo de protocolo de acesso (TCP/IP, NetBEUI).
Aplicações do lado do cliente:
Browsers(vantagens e desvantagens)
• No caso das páginas web, a comunicação estabelecida com os servidores é interpretada pelos Browsers. São eles que
contactam o servidor. Quando nós introduzimos um endereço web (URL) na barra de endereços de nosso browser
(Internet Explorer, Chrome, Firefox, etc), o que o browser faz é enviar uma solicitação ao servidor que gere aquele
URL. De seguida, os Servidores servem o conteúdo que o nosso browser põe legível e bonitinho para vermos no
nosso ecrã.

1.Google Chrome-é o browser mais utilizado no mundo e em Portugal.

Vantagens do Chrome

✅ Compatível com todas as plataformas e equipamentos

✅ Sincronização entre equipamentos com a conta Google

✅ Grande biblioteca de extensões

Desvantagens do Chrome

❌ Utiliza mais recursos do que outros navegadores de internet (por exemplo, memória RAM)

❌ Versão para PC não é tão rápida como a versão mobile


Aplicações do lado do cliente:
browsers(vantagens e desvantagens)
2.Safari

O segundo browser mais utilizado em Portugal é o Safari. O Safari é o navegador de internet ideal para os
equipamentos do ecossistema Apple: macOS e iOS. Este browser de internet foi desenvolvido pela Apple
especificamente para os seus dispositivos e já vem instalado nos equipamentos da marca. O Safari é o navegador mais
rápido a abrir páginas em macOS.

Vantagens do Safari

✅ Desenhado para dispositivos Apple

✅ Rápido a abrir páginas em macOS

✅ Intuitivo e de utilização simples

Desvantagens do Safari

❌ Não é possível utilizar a Siri para macOS

❌ Pouco nível de personalização da barra de ferramentas


Aplicações do lado do cliente:
browsers(vantagens e desvantagens)
3.Edge

O terceiro navegador de internet mais utilizado em Portugal é o Edge. Mas, a nível mundial, o 3º lugar varia ligeiramente entre
o Edge e o Firefox.O Edge é um dos browsers de internet mais usados e veio substituir o Internet Explorer. Foi desenvolvido
para o Windows 10 e vem instalado por defeito nos equipamentos Windows.O Edge está desenvolvido de forma a suportar
extensões do Chrome e também lhe permite importar a barra de ferramentas e favoritos do Chrome.Uma das grandes
vantagens do Edge é o facto de utilizar menos recursos. Quando comparado com o Chrome em situações idênticas, o Edge
utiliza menos memória RAM do que Chrome.

Vantagens do Edge

✅ Compatível com Android e iOS

✅ Suporta extensões do Chrome

✅ É o navegador mais rápido no Windows 10

Desvantagens do Edge

❌ Poucas extensões disponíveis (mas é compatível com extensões do Chrome)

❌ Sem possibilidade de sincronização móvel


Aplicações do lado do servidor:
A função básica dum servidor web é armazenar informações e estar sempre ligado à Internet
e, quando solicitado, executar procedimentos que possibilitam a interação com os usuários.
De uma forma um pouco mais técnica, podemos dizer que se trata de uma máquina e/ou
software que recebe uma requisição de protocolo HTTP através de um navegador e devolve
uma resposta HTTP na forma de páginas da web com seus textos, documentos, imagens, etc.
Atualmente, três servidores web são as forças dominantes no mercado de servidores web:
• Apache.
• NGINX.
• Microsoft IIS
Aplicações do lado do servidor:
1.Apache
Programa open source e gratuito desenvolvido em 1995, é atualmente o mais popular e
utilizado por cerca de 50% do mercado. Permite ser instalado na maioria dos sistemas
operacionais como Windows, Linux, Mac OS X, Unix e outros. É considerado mais estável que
seus concorrentes.
2. NGINX:
É o servidor web que mais tem crescido no mercado nos últimos anos. Também é um
programa open source e gratuito, utilizado atualmente por cerca de um terço dos sites
existentes.
É reconhecido no mercado por sua rapidez. Sua aplicação é recomendada para sites com
grande tráfego, pois minimiza o uso de recursos. Sites de enorme acesso como Netflix,
Airbnb, WordPress e Dropbox estão entre seus usuários.
Aplicações do lado do servidor:
3. Microsoft IIS
O IIS, sigla para Internet Information Services, é um provedor criado pela Microsoft que funciona sob o
sistema operacional Windows Server. Não é um open source e é pago. Estima-se que um pouco mais de
10% dos sites existentes utilizem o IIS. Muitos que já trabalham em um ambiente Microsoft preferem
naturalmente optar pelo IIS. Há outros casos em que a decisão pela utilização deste servidor está mais
ligada a requisitos de seus próprios clientes.
Por outro lado, há clientes que reclamam do fato do IIS estar vinculado ao sistema operacional Windows e
desta maneira estar frequentemente sujeito a vulnerabilidades de segurança.
4. Tomcat
O Tomcat, ou Apache Tomcat, tem como principal finalidade servir como uma alternativa de
desenvolvimento às linguagens PHP e ASP.net que são as principais linguagens em uso no contexto
existente de criação e hospedagem de sites.
Por isso está voltado para servir páginas que utilizam a linguagem Java.
É bastante utilizado e tem apoio da comunidade de Tecnologia.
Apache
• Vantagens: • Desvantagens:
• Open source.
• O nível de segurança pode ser
• Gratuito mesmo para uso comercial reduzido devido à disponibilidade de
• Reconhecido por sua estabilidade e diversas formas de configuração
confiabilidade
• Desempenho pode ser afetado com
• Grande número de usuários
tráfego muito elevado
• Suporte técnico
• Frequentes atualizações e novas
funcionalidades de segurança
• Flexibilidade de uma estrutura em módulos
• Facilidade de configuração
• Suporte a diversas plataformas
NGINX:
• Vantagens: • Desvantagens:
• Melhor desempenho das conexões
• Não é tão simples como parece
• Arquitetura modular e sofisticada trabalhar e desenvolver os módulos
• Configuração flexível
do servidor NGINX

• Execução de diferentes funções sem interrupção


do serviço ao cliente
• Redução de consumo de recursos
• Customização simplificada
• Níveis de segurança melhorados
• Requisições simultâneas
• Performance
• Código aberto
• Gratuito​
Microsoft IIS
• Vantagens: • Desvantagens:
• Ótima performance com serviços e • Não é gratuito
ferramentas Windows, em função de
terem a mesma origem • Não é Open Source
• Gerenciamento simples de sites e
aplicativos • Utiliza mais recursos que seus
concorrentes
• Facilita bastante a implantação de novos
sites • Apesar das correções frequentes,
apresenta vulnerabilidades
• Fácil solução de problemas
• Manutenção facilitada
• Vinculação com o sistema
operacional Windows
• Dispõe de várias funções e é bastante
customizável
Tomcat

• Vantagens: • Desvantagens:
• Leve e Estável. Consome poucos • Configurações personalizadas
recursos para rodar requerem uma curva de
aprendizado
• Fácil de instalar e configurar
• Não dispõe de todas as
• Disponibilidade de documentação funcionalidades avançadas que os
na Internet desenvolvedores necessitam
• Atende bem aos requisitos de • Troubleshooting não é muito fácil de
segurança usar
• Open source
As tecnologias client-side
As tecnologias client-side dividem-se em:
Marcação: trata-se da linguagem de marcação HTML, responsável por definir o que representa cada conteúdo em uma página e criar
as ligações (links) para outros conteúdos;
HTML5 (Hypertext Markup Language, versão 5) é uma linguagem de marcação para a World Wide Web e é uma tecnologia chave da
Internet, originalmente proposto por Opera Software.É a quinta versão da linguagem HTML. Esta nova versão traz consigo
importantes mudanças quanto ao papel do HTML no mundo da Web, através de novas funcionalidades como semântica e
acessibilidade. Possibilita o uso de novos recursos antes possíveis apenas com a aplicação de outras tecnologias. Sua essência tem sido
melhorar a linguagem com o suporte para as mais recentes multimídias, enquanto a mantém facilmente legível por seres humanos e
consistentemente compreendida por computadores e outros dispositivos (navegadores, parsers etc).
Apresentação: refere-se à tecnologia CSS, que é uma linguagem de estilo utilizada para definir a aparência de documentos escritos em
HTML. Como já mencionado, seu principal benefício é prover a separação entre o formato visual e o conteúdo de um documento;
CSS3 é a terceira mais nova versão das famosas Cascading Style Sheets (ou simplesmente CSS), pela qual se define estilos para um
projeto web (página de internet). Com efeitos de transição, imagem, imagem de fundo/background e outros, pode-se criar estilos
únicos para seus projetos web, alterando diversos aspectos de design no layout da página.
A principal função do CSS3 é abolir as imagens de plano/Background de fundo, bordas arredondadas, apresentar transições e efeitos
para criar animações de vários tipos, como um simples relógio de ponteiros.
Comportamento: trata-se do JavaScript, utilizado para trazer mais dinamismo às páginas web através de recursos como controle de
eventos, manipulação de elementos DOM e seus conteúdos, entre outras funcionalidades.
As tecnologias server-side
As tecnologias server-side dividem-se em:
O PHP é uma das linguagens de programação mais utilizados por desenvolvedores web no mundo.
A tecnologia foi criada para que pudesse acompanhar o número de visitas em um site. A linguagem
é muito utilizada por desenvolvedores back-end, sendo importante na construção de aplicações
web e praticamente invisível para os usuários comuns.
Uma página com código PHP facilita os usuários a procurarem e encontrarem informações na web.
Basicamente, essa linguagem faz parte da arquitetura básica das aplicações web, sendo
importante para o envio e o recebimento das requisições feitas por navegadores a servidores.
Além de ser usado em sites, o PHP também é bastante utilizado na parte de back-end das
aplicações móveis.Mesmo não sendo uma linguagem própria para isso, o PHP pode ajudar o
programador a alcançar os resultados desejados, fazendo com que comandos sejam executadas
sem demorar pelo servidor da aplicação.
As tecnologias server-side
ASP.net
Essa plataforma foi criada pela Microsoft para o desenvolvimento de aplicações web e pode
ser usada tanto em Windows como em Linux.
Assim como o ASP, o ASP.net serve para gerar páginas dinâmicas em consultas a bancos de
dados, sejam eles SQL Server ou de um provedor específico.
Como sucessora do ASP, essa linguagem se destaca por permitir o uso de outras linguagens
como o C# e o C++.
Através dessa tecnologia é possível usar ferramentas profissionais e gratuitas como o Visual
Web Developer, também criado pela Microsoft.
O ASP.net é muito utilizado na criação de lojas virtuais, ERPs e portais de notícias
As tecnologias server-side
JSP é o acrônimo para Java Server Pages, uma linguagem criada pela SUN gratuita, JSP é uma
linguagem de script com especificação aberta que tem como objetivo primário a geração de
conteúdo dinâmico para páginas da Internet.
Podemos ao invés de utilizar HTML para desenvolver páginas Web estáticas e sem funcionalidade,
utilizar o JSP para criar dinamismo. É possível escrever HTML com códigos JSP embutidos.
Como o HTML é uma linguagem estática, o JSP será o responsável por criar dinamismo. Por ser
gratuita e possuir especificação aberta possui diversos servidores que suportam a linguagem,
entre eles temos: Tomcat, GlassFish, JBoos, entre outros.
O JSP necessita de servidor para funcionar por ser uma linguagem Server-side script, o usuário não
consegue ver a codificação JSP, pois esta é convertida diretamente pelo servidor, sendo
apresentado ao usuário apenas codificação HTML.
Assim, pode-se definir o JSP como uma tecnologia que provê uma maneira simples e prática de
desenvolver aplicações dinâmicas baseadas em web, sendo independente de Plataforma de
Sistema Operacional.
As tecnologias server-side
O Node.js é um runtime — aplicação que possibilita o processamento, a renderização e a
execução de elementos escritos em linguagem não suportada nativamente pelo sistema —
que permite, ao programador, desenvolver aplicações JavaScript diretamente do servidor.
Em outras palavras, ao instalar Node.js em ambiente server-side, ganha-se a possibilidade de
usufruir de vários aspectos e elementos do JavaScript que facilitam a vida do desenvolvedor,
tais como:
sintaxe;
semântica;
rapidez; e
gama de recursos.
Front-end vs Back-end
• Basicamente, quando falamos dos • O desenvolvedor front-end, como o nome
“bastidores”, ou seja, o servidor e o banco de já diz, está no front com o usuário - na
dados que ajudam a fornecer as informações parte visível a ele das aplicações e sites.
ao usuário de uma interface, falamos do back- Essa área cuida da usabilidade, efeitos
end. “Back” é a parte do site que não tem visuais, velocidade de carregamento,
contato direto com o usuário. interação direta com o usuário e toda a
• Quem prefere se especializar como experiência dele (UX) naquele site ou app.
desenvolvedor back-end vai atuar com lógica,
funcionalidade do site, regras, segurança e • Por não utilizar uma programação mais
integridade de banco de dados. Ou seja, viver complexa, o HTML, CSS e Javascript são as
os “bastidores da internet” requer muita linguagens que se usam.
paciência, cuidado e concentração. Entre as
linguagens mais comuns de back-end, Quando o profissional de programação atua
podemos citar: HTML, CSS, C, C++, C#, PHP, nas mais diversas partes do projeto, ou tem
Ruby, Rails, C#, Swift, Node, Python, conhecimento tanto de back-end quanto de
JavaScript e a sintaxe e semântica (que se front-end, ele é chamado de Desenvolvedor
aproximam da linguagem humana). Full Stack.
Conclusão
Numa tipologia cliente/servidor existem estas três entidades básicas distintas:
O cliente, com o seu software aplicacional especifico, que lhe possibilita a comunicação com o servidor;
O servidor, com o seu software aplicacional especifico que lhe permite receber a mensagem, interpreta-la e devolver a
resposta para o cliente;
E a rede, componente de hardware que permite a comunicação entre o cliente e o servidor.
Para aceder a uma página WWW, o utilizador usa um Browser WWW( por exemplo, Internet Explorer, Netscape, ...) que
funciona como cliente em relação a um servidor WWW, a comunicação é feita sobre TCP/IP, onde é usado um protocolo de
alto nível denominado HTTP (Hipertext Transfer Protocol).
Existem dois tipos de linguagens para desenvolvermos para internet: as linguagens client-side e as linguagens server-side.
(front-end e back-end).
As linguagens server-side são linguagens que o SERVIDOR entende. Isso quer dizer que o programador vai escrever um código
onde o servidor vai processá-lo e então vai mandar para o seu navegador a resposta.
As linguagens client-side são linguagens onde apenas o seu NAVEGADOR vai entender. Quem vai processar essa linguagem
não é o servidor, mas o browser.
Por exemplo: se criarmos um script em linguagem back-end (PHP, Asp, Java, Ruby, etc) que apenas calcula a soma de 2 + 2,
será o SERVIDOR (ou back, o server) que calculará este resultado. Se fizermos esse cálculo em alguma linguagem front-end,
como o JavaScript, quem calculará essa conta é o BROWSER do usuário.
Webgrafia
1. https://www.cloudflare.com/learning/serverless/glossary/client-side-vs-server-side/
2. https://pt.wikipedia.org/wiki/Linguagem_client-side
3. https://www.bbc.co.uk/bitesize/guides/znkqn39/revision/3
4. https://richardoliveira.wordpress.com/2010/03/22/client-side-e-server-side/
5. https://blog.betrybe.com/javascript/
6. https://pt.wikipedia.org/wiki/HTML
7. https://www.w3schools.com/css/
8. https://en.wikipedia.org/wiki/CSS
9. https://pt.wikipedia.org/wiki/PHP
10. https://www.treinaweb.com.br/blog/o-que-e-front-end-e-back-end

Você também pode gostar