O que são Web Services? Para que servem?
Se acompanha a área da programação de serviços/aplicações certamente que já ouviu falar no termo “Web Services”. Na prática um Web Service é constituído por um ou mais métodos que podem ser acedidos ou invocados por outras aplicações (móveis, para desktop ou para a web), utilizando tecnologias e protocolos Web.
Os Web Services são muito úteis quando pretendemos desenvolver serviços e aplicações de grande escala/distribuídas… mas não só!
Porquê criar Web Services?
Vamos considerar que tem como desafio a construção de um serviço que permita a um conjunto distinto de dispositivos aceder a uma determinada informação. Por exemplo, imagine que tem em casa um Raspberry que tem acoplado um sensor de temperatura que faz medições de 5 em 5 minutos.
O que se pretende é que, a partir de qualquer dispositivo, independentemente do sistema operativo, se consiga aceder a essa informação de uma forma transparente e sem complicações.
Para isso, no Raspberry construiu-se e disponibilizou-se um Web Service (não interessa em que linguagem de programação foi programado) que tem duas funções: a primeira informa a temperatura actual e a segunda diz-nos a média da temperatura para o dia em causa. Tendo em consideração os dois métodos disponibilizados no Web Service, a aplicação cliente só tem de solicitar informação aos mesmo. Como aplicação cliente pode ser uma app para Android, para iOS, uma simples página web ou até uma aplicação para Desktop.
Depois do pedido, o Web Service processa e envia os dados solicitados. Todas as comunicações têm como base o (vulgar) protocolo HTTP/HTTPS para proceder à transferência/transporte de informação. As tecnologias bases para a construção de um Web service são os padrões XML e SOAP que abordaremos num próximo artigo.
Quais as vantagens dos Web Services?
A grande vantagem dos Web Services é que funcionam nos mais diversos sistemas operativos, nos mais diversos tipos de hardware e são bastante flexíveis. Cada aplicação pode ter a sua própria "linguagem", que é traduzida para uma linguagem universal, um formato intermediário como XML, Json, CSV, etc.
No geral o uso de Web Services traz bastantes vantagens das quais se destacam:
- Simplicidade na interoperabilidade de sistemas
- Simples de implementar, com a vantagem de poderem ser construídos em várias linguagens de programação
- Segurança, uma vez que não há uma acesso directo à informação (por exemplo a informação que está na base de dados).
- Redução de custos, um Web Service pode servir vários tipos de aplicações/serviços (reutilização de código)
Actualmente são muitas as empresas que disponibilizam Web Services de forma a que os programadores possam aceder às mais diversas funções e informação.
Este artigo tem mais de um ano
Boa! Aguardo o próximo post sobre o tema 🙂
Boa! Aguardo o próximo post sobre o tema 🙂
Vem uns anitos tarde este artigo, hoje em dia só se usam webservices para integrações de sistemas legacy, já está tudo na viragem para o REST.
Os webservices podem ser SOAP ou REST.
Mas sim, hoje em dia há uma tendência maior para a utilização de webservices REST.
+1
Lá vamos chegar.
Já agora fica aqui um link a falar sobre o assunto.
http://spf13.com/post/soap-vs-rest
Já lá vai o tempo em que eu criava aplicações web com páginas dinâmicas geradas no servidor.
Hoje é Angular2 no cliente e RESTful web servies no servidor, a trocar JSON de trás para a frente.
+1 – O que faz todo o sentido, separar o front-end do back-end onde este é baseado em microserviços(REST). Um bom tema para o pplware 🙂
O problema é que aqui predomina o utilizador de fraco conhecimento e pouco humildes para poderem ter a capacidade de aprender em vez de virem ca mandar postas de pescada podre.
+1
Trabalhas em Dublin?
Mas sim, seria uma excelente ideia, aprofundar esta matéria e discutir técnicas de implementação. Força PPlware, façam algo direcionado aos profissionais.
desafio para uns tutoriais? Manda-me um mail ppinto AT pplware.com
eu ando a aprendert Reactjs, isto nem é o futuro das web apps é mesmo o presente xD
estou a construir uma pequena aplicação [tipo trelo ou jira] para aprofundar o meu conhecimento…
PS: ainda comprei um curso de angular mas não me entendi com o curso, encontrei uns tutoriais na net de react e entendi facilmente, o facto de ter colegas frontenders que trabalham com react também ajudou xD
Olá, gostava de colocar uma questão, ultimamente decidi aprender duas tecnológias diferentes, uma delas referida por si, Angular2 e Ruby on Rails, como sou um total beginner, e não tenho verdadeira experiência com estas tecnologias, queria fazer um projecto mais complexo só para melhorar as minhas skills.
A minha pergunta é, faz sentido usar Angular2 como frontend e RoR como backend? Ou é demasiado overkill, existem tecnologias mais apropriadas para se “juntar” à outra, em cada um dos casos?
Obrigado.
isso esta ok, usas RoR como Backend(tambem quero fazer algo desse género, tenho que aprender Ruby ainda xD) e usas Angular ou React no frontend, é precisamente assim que deve de ser 🙂
Bem obrigado, vou então tentar aprender algumas coisas novas 🙂
Muito bom artigo.
Claro, simples e conciso.
Á espera do próximo
No universo Microsoft, uma plataforma SOA (Service-Oriented Architecture) pode ser implementada com :
WebServices (legacy)
WCF (Windows Comunication Fountadation)
REST (AKA WebApi no mundo Microsoft)
Seria interessante expor mais informação (diferenças vs vantagens) para informar o pessoal
Bora lá….