Dúvida API x Web Service

1 resposta
B

Olá pessoal,
Gostaria de tirar uma dúvida referente aos conceitos de API (para web) e as diferenças para web service.

Eu semprei achei que o conceito de api, fosse uma especificação de métodos, operações de algo que podemos usar. Por exemplo ao baixarmos os jar de algum sistema e temos as especificações de alguma classe métodos etc. Estou correto?

Agora, lendo ultimamente vejo as API, do google, facebook, twitter etc… Gostaria de saber qual a diferença dessas api’s para web services? Ou estas apis são api’s normal, porém por estarem disponíveis na web, são chamadas de web service?

Estive vendo alguns exemplos de api, e estava olhando a do google translate.

Toda (ou no geral) segue o mesmo tipo de chamada?

URL url = new URL("https://ajax.googleapis.com/ajax/services/language/translate?" +
                  "v=1.0&q=Hello,%20my%20friend!&langpair=en%7Ces&key=INSERT-YOUR-KEY&userip=INSERT-USER-IP");
URLConnection connection = url.openConnection();
connection.addRequestProperty("Referer", /* Enter the URL of your site here */);

String line;
StringBuilder builder = new StringBuilder();
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
while((line = reader.readLine()) != null) {
 builder.append(line);

Ex: Copiado do google
Ou seja, faço uma coloco a URL com os parametros que quiser, e a resposta da API (digo, esta do google e outras tb). Pego com o getInputStream, ou seja, sempre leio como String e trato como o formato retornado de fato? Neste caso um json?

Pessoal,
Obrigado pela ajuda,
Bruno

1 Resposta

L

Imagine que você tem um sistema com uma série de funcionalidades. Você pode pegar todas essas funcionalidades e criar uma interface para acessá-las, disponibilizando-as para outrem.

Esta interface para o conjunto de funcionalidades é sua API. Ela deve ser implementada para que funcione quando o cliente fizer uma chamada.

Só que você quer disponibilizar esta interface (API) via web para o cliente, porém não consegue disponibilizar os “objetos” que são a implementação da sua API via http.
O cliente solicita ao teu servidor um recurso seu (via url), que acionará um método de sua API, que disponibilizará o resultado em um formato comum que qualquer tipo de sistema deva saber entender: XML. Esta estrutura de comunicação e protocolo é o teu Web Service.

Criado 28 de junho de 2011
Ultima resposta 28 de jun. de 2011
Respostas 1
Participantes 2