Imagine que você está desenvolvendo um aplicativo da Web e decide desacoplar a funcionalidade da apresentação do aplicativo, porque ele oferece maior liberdade.
Você cria uma API e permite que outras pessoas implementem seus próprios front-ends também. O que você acabou de fazer aqui é implementar uma metodologia SOA , ou seja, usar serviços da web.
Os serviços da Web tornam os blocos funcionais acessíveis através de protocolos padrão da Internet, independentemente de plataformas e linguagens de programação.
Portanto, você cria um mecanismo de intercâmbio entre o back-end (serviço da web) que processa e gera algo útil e o front-end (que consome os dados), que pode ser qualquer coisa. (Um aplicativo da Web, móvel ou de desktop ou outro serviço da Web). A única limitação aqui é que o front-end e o back-end devem "falar" o mesmo "idioma".
É aí que entram o SOAP e o REST. São maneiras padrão pelas quais você escolhe se comunicar com o serviço da web.
SABONETE:
O SOAP usa XML internamente para enviar e receber dados. As mensagens SOAP têm estrutura rígida e o XML de resposta precisa ser analisado.
WSDL é uma especificação de quais solicitações podem ser feitas, com quais parâmetros e o que eles retornarão. É uma especificação completa da sua API.
DESCANSAR:
REST é um conceito de design.
A World Wide Web representa a maior implementação de um sistema em conformidade com o estilo de arquitetura REST.
Não é tão rígido quanto o SOAP. Os serviços da web RESTful usam URIs e métodos padrão para fazer chamadas para o serviço da web. Quando você solicita um URI, ele retorna a representação de um objeto, no qual você pode executar operações (por exemplo, GET, PUT, POST, DELETE). Você não está limitado a escolher XML para representar dados, você pode escolher qualquer coisa realmente (JSON incluído)
A API REST do Flickr vai além e permite retornar imagens também.
JSON e XML , são funcionalmente equivalentes e opções comuns. Também existem estruturas baseadas em RPC, como GRPC baseado em Protobufs e Apache Thrift, que podem ser usadas para comunicação entre os produtores e consumidores de API. O formato mais comum usado pelas APIs da web é JSON, pois é fácil de usar e analisar em todos os idiomas.
WSDL : significa o serviço Web Language Description
No SOAP (protocolo de acesso a objetos simples), quando você usa o serviço da Web e adiciona um serviço da Web ao seu projeto, os aplicativos cliente não conhecem as funções do serviço da Web. Hoje em dia é algo antiquado e para cada tipo de cliente diferente você precisa implementar
WSDL
arquivos diferentes . Por exemplo, você não pode usar o mesmo arquivo para.Net
ephp
cliente. OWSDL
arquivo tem algumas descrições sobre as funções de serviço da web. O tipo deste arquivo éXML
.SOAP
é uma alternativa paraREST
.REST : representa transferência de estado representacional
É outro tipo de serviço de API, é realmente fácil de usar para clientes. Eles não precisam ter extensão de arquivo especial, como
WSDL
arquivos. A operação CRUD podem ser implementadas por diferentesHTTP Verbs
(GET para a leitura, POST para a Criação, PUT ou patch para atualizar e DELETE para apagar o documento desejado), eles são baseados emHTTP
protocolo e na maioria das vezes a resposta está emJSON
ouXML
formato. Por outro lado, o aplicativo cliente precisa chamar exatamente o relacionadoHTTP Verb
por meio de nomes e tipos de parâmetros exatos. Por não ter um arquivo especial para definição,WSDL
é um trabalho manualmente usando o nó de extremidade. Mas não é grande coisa, porque agora temos muitos plugins para diferentes IDEs para gerar a implementação do lado do cliente.SOA : significa arquitetura orientada a serviços
Inclui toda a programação com conceitos e arquitetura de serviços da web. Imagine que você deseja implementar um aplicativo em larga escala. Uma prática pode ser ter alguns serviços diferentes, chamados microsserviços, e todo o mecanismo do aplicativo chamaria o serviço da Web necessário no momento certo. Tanto os serviços web
REST
como os daSOAP
web sãoSOA
.JSON : significa
javascript Object Notation
Quando você serializa um objeto para javascript, o tipo de formato do objeto é JSON. imagine que você tem a classe humana:
e você tem algumas instâncias desta classe:
Quando você serializa o objeto h1 para JSON, o resultado é:
javascript
pode avaliar esse formato poreval()
função e criar uma matriz associativa a partir dessaJSON
sequência. Este é um conceito diferente em comparação com outros conceitos que descrevi anteriormente.fonte