close

Serviço de internet

Ir para a navegação Ir para a pesquisa

Um web service (em inglês, web service ou web services ) é uma tecnologia que usa um conjunto de protocolos e padrões usados ​​para trocar dados entre aplicativos. Diferentes aplicativos de software desenvolvidos em diferentes linguagens de programação e executados em qualquer plataforma podem usar serviços da Web para trocar dados em redes de computadores , como a Internet . A interoperabilidade é alcançada através da adoção de padrões abertos . As organizações OASIS e W3C são os comitês responsáveis ​​pela arquitetura e regulamentação dos serviços Web.

O W3C define um serviço web como:

Um serviço da Web é um sistema de software projetado para oferecer suporte à interação máquina a máquina em uma rede de maneira interoperável. Possui uma interface descrita em um formato que pode ser processado por um computador (especificamente em WSDL ), por meio do qual é possível interagir com ele por meio da troca de mensagens SOAP , normalmente transmitidas usando serialização XML sobre HTTP em conjunto com outros padrões web .
W3C [ 1 ]

Para melhorar a interoperabilidade entre diferentes implementações de serviços da web, foi criada a organização WS-I , encarregada de desenvolver vários perfis para definir esses padrões de forma mais exaustiva. É uma máquina que atende as solicitações dos clientes web e envia os recursos solicitados.

Arquitetura

Image
Arquitetura de Serviços Web SOAP

Existem três partes na arquitetura de serviços da Web: o provedor de serviços da Web, o solicitante do serviço da Web e o editor. O provedor de serviços envia ao editor de serviços um arquivo WSDL com a definição do serviço da web. O solicitante do serviço entra em contato com o editor e descobre quem é o provedor (protocolo WSDL) e entra em contato com o provedor ( protocolo SOAP ). O provedor valida a solicitação de serviço e envia os dados estruturados em formato XML usando o protocolo SOAP. O arquivo XML é validado novamente pelo solicitante do serviço usando um arquivo XSD .

Normas empregadas

  • Web Services Protocol Stack : conjunto de serviços e protocolos de web services.
  • XML ( Extensible Markup Language ): formato padrão para os dados a serem trocados.
  • SOAP ( Simple Object Access Protocol ) ou XML-RPC ( XML Remote Procedure Call ): protocolos sobre os quais a troca é estabelecida.
  • Outros protocolos: Os dados XML também podem ser enviados de um aplicativo para outro usando protocolos normais, como Hypertext Transfer Protocol ( HTTP ), File Transfer Protocol (FTP) ou Simple Mail Transfer Protocol (SMTP).
  • WSDL ( Web Services Description Language ): é a linguagem de interface pública para serviços web. É uma descrição baseada em XML dos requisitos funcionais necessários para se comunicar com serviços da web.
  • UDDI ( Universal Description, Discovery and Integration ): protocolo para publicação de informações de serviços web. Permite verificar quais serviços da web estão disponíveis.
  • WS-Security ( Web Service Security ): protocolo de segurança aceito como padrão pela OASIS ( Organization for the Advancement of Structured Information Standards ). Garante a autenticação dos atores e a confidencialidade das mensagens enviadas.
  • REST ( Representational State Transfer ): estilo arquitetural que, utilizando o protocolo HTTP , disponibiliza uma API que utiliza cada um de seus métodos (GET, POST, PUT, DELETE, etc.) site de serviço e cliente.
  • GraphQL, arquitetura alternativa ao REST.

Vantagens dos serviços web

  • Eles fornecem interoperabilidade entre aplicativos de software, independentemente de suas propriedades ou das plataformas nas quais estão instalados.
  • Os serviços da Web promovem padrões e protocolos baseados em texto, que facilitam o acesso ao seu conteúdo e a compreensão de como eles funcionam.
  • Eles permitem que serviços e softwares de diferentes empresas localizadas em diferentes localizações geográficas sejam facilmente combinados para fornecer serviços integrados.

Desvantagens dos serviços web

  • Para realizar transações , elas não podem ser comparadas em seu grau de desenvolvimento com os padrões abertos de computação distribuída como CORBA ( Common Object Request Broker Architecture ).
  • Seu desempenho é ruim quando comparado a outros modelos de computação distribuída, como Java Remote Method Invocation (RMI), CORBA ou Distributed Component Object Model (DCOM). É uma das desvantagens de adotar um formato baseado em texto. E é que entre os objetivos do XML não está a concisão ou a eficiência do processamento.
  • Ao confiar no HTTP, eles podem contornar as medidas de segurança baseadas em firewall cujas regras tentam bloquear ou auditar a comunicação entre programas em ambos os lados da barreira.

Razões para criar serviços da Web

A principal razão para usar serviços da Web é que eles podem ser usados ​​com HTTP sobre TCP ( Transmission Control Protocol ) na porta de rede 80. Como as organizações protegem suas redes com firewalls (que filtram e bloqueiam muito tráfego da Internet), elas fecham quase todas as portas TCP exceto 80, que é precisamente o usado pelos navegadores da web . Os serviços da Web usam essa porta pelo simples motivo de não serem bloqueados. É importante observar que os serviços da Web podem ser usados ​​em qualquer protocolo, no entanto, o TCP é o mais comum.

Outra razão é que, antes do SOAP existir , não havia boas interfaces para acessar a funcionalidade de outros computadores em rede. As que existiam eram ad hoc e pouco conhecidas, como Electronic Data Interchange (EDI), Remote Procedure Call (RPC), ou outras APIs .

Uma terceira razão pela qual os serviços da Web são muito úteis é que eles podem fornecer grande independência entre o aplicativo que usa o serviço da Web e o próprio serviço. Desta forma, as mudanças ao longo do tempo em um não devem afetar o outro. Essa flexibilidade se tornará cada vez mais importante, pois a tendência de construir grandes aplicativos a partir de componentes distribuídos menores se torna mais comum a cada dia.

Espera-se que nos próximos anos a qualidade e a quantidade dos serviços oferecidos melhorem com base nos novos padrões.

Plataformas

Servidores de aplicativos para serviços da Web:

Veja também

Referências

  1. ^ "Glossário de Serviços da Web § serviço da Web" . W3C . 11 de fevereiro de 2004 . Recuperado em 24 de junho de 2018 . 

Links externos