Diferença entre Web API e Web Service?

81

Eu ouvi muito sobre Web Services e APIs da Web, existe alguma diferença entre eles ou eles são os mesmos?

    
por Harish Kurup 21.01.2011 / 15:12
fonte

3 respostas

83

Web Services - que é um padrão definido pelo W3C, para que eles possam ser acessados semi-automaticamente ou automaticamente (WSDL / UDDI). A coisa toda é baseada em XML, então qualquer um pode chamá-la. E todos os aspectos do serviço estão muito bem definidos. Há parâmetros de descrição padrão, padrão de passagem de parâmetro, padrão de resposta, padrão de descoberta, etc. etc. Você provavelmente poderia escrever o livro de 2.000 páginas que descreveria o padrão. Existem até alguns padrões "adicionais" para fazer coisas "padrão", como autenticação.

Apesar do fato de que invocação e descoberta automáticas mal funcionam, porque os clientes são bastante pobres e você não tem garantia real de que qualquer serviço possa ser chamado de qualquer cliente.

A API da Web é tipicamente feita como HTTP / REST, nada é definido, a saída pode ser por exemplo. JSON / XML, a entrada pode ser XML / JSON / ou dados simples. Não há padrões para nada = > nenhuma chamada automática e descoberta. Você pode fornecer alguma descrição no arquivo de texto ou PDF, você pode retornar os dados no Windows-1250 em vez de unicode, etc. Para descrever o padrão, seria um folheto de 2 páginas com algumas informações simples e você definiria todo o resto. / p>

A Web está mudando para API / REST da Web. Os serviços da Web não são realmente melhores que a API da Web. Muito complicado de desenvolver e eles comem muito mais recursos (largura de banda e RAM) ... e por causa de todas as conversões de dados (REQUEST- > XML- > DATA- > RESPONSE- > XML- > VALIDATION- > CONVERSION - > DATA) são muito lentos.

No WebAPI você pode compactar os dados, enviá-los compactados e descompactar + descompactar no cliente. No SOAP, você só pode compactar a solicitação de HTML.

    
por 21.01.2011 / 19:16
fonte
20

Um serviço da web permite a comunicação entre máquinas e máquinas via HTTP. Uma API da web é um subconjunto de serviços da web que usam convenções REST (Resumindo o artigo da Wikipédia ). Os conceitos definitivamente se sobrepõem. Eu acredito que ainda há um link na mente da maioria das pessoas de serviço da web - > SOAP / XML-RPC que pode confundir desnecessariamente assuntos.

No final, você terá que fazer algumas perguntas para esclarecer o que as pessoas querem dizer. Nem todo mundo faz uma distinção ou usa os termos de forma intercambiável.

    
por 21.01.2011 / 15:50
fonte
6

Os serviços da Web são uma arquitetura e uma abordagem definidas para um domínio problemático, conforme declarado pelo W3C .

Web services provide a standard means of interoperating between different software applications, running on a variety of platforms and/or framework

A API da Web é um conceito e resume os meios sobre como o conceito é implementado.

Em termos leigos ... a web API é para motor, enquanto o WS é para BMW N53 .

    
por 21.01.2011 / 18:17
fonte