Tag Archives: webapi

WebApi Rest – Excites!

WebApp Saga

O que nós ganhamos!

Conheça o que ganhamos com este modelo arquitetural, o estilo rest.

Leveza e Simplicidade

Apresentado como uma alternativa para a troca de dados.

O REST chega como uma opção mais LEVE e SIMPLES quando comparada ao SOAP. Embora o SOAP ainda seja bastante utilizado, o REST vem aumentando novos adeptos a cada dia.

A sua simplicidade ajudou a torná-lo o principal método para acessar serviços da Web em APPs.

Implementações HTTP

Atualmente possui implementações apenas relacionada ao HTTP, porém, ele não está restrito apenas ao HTTP.

Implementações Existentes

Grandes players como Node.js, .NET, Java e Ruby, já possuem as suas implementações REST. Isso mostra o poder do REST.

No universo .NET por exemplo, podemos construir serviços HTTP baseados em REST com WCF e o Asp.Net Web API Framework.

ASP.NET Web API por exemplo, é um framework para a construção de web APIs NET(HTTP Services) em cima da plataforma .NET, permitindo que uma aplicação possa ser acessada por vários clientes em muitas plataformas.

Além do REST, também temos esses recursos para gerenciar serviços na web:

  • SOAP
  • ASP .NET Web Services (ASMX)
  • ASP .NET Web API
  • WCF

Os 3 pilares

RESTfull Web Services, serviços que seguem esta arquitetura.

O REST é baseado em 3 pilares:

Na representação esquemática do modelo REST temos:  Resources, URI e Representação.

Resources

O REST se contrapõe a arquitetura SOAP.

Diferente do SOAP que é baseado em Ações, o REST é baseado em Recursos, um elemento (conjunto de dados) do qual uma aplicação depende, representando normalmente um item do negócio.

Resources pode ser qualquer coisa que tenha um URI, sendo um mapeamento conceitual para uma ou mais unidades.

Um recurso pode ser um Serviço que interage com qualquer coisa:

  • CatálogoWeb
  • ECommerce ou Sistema interno (tipo CRM)
  • Dispositivo (tipo Impressora)
  • ..

URI

Quando realizamos requisições Web, precisamos dizer o caminho da mesma, o URI (Unified Resource Identifier) um identificador único de um recurso.

Representação

A representação é um estado instantâneo de um recurso em um ponto no tempo.

Sempre que um cliente HTTP for requisitar um resource, a sua representação será  retornada, e NÃO o próprio recurso.

{
"nome": "Aldo",
"email": "wa@gmail.com"
}

É isso mesmo! utilize JSON ou XML para representar os dados associados a um recurso.

A representação do resource será retornado para o cliente como HTML, XML, JSON, TXT, etc…

As Regras do Jogo

O REST NÃO É uma tecnologia ou padrão, mas, sim um conjunto de restrições e regras proposto por Roy Fielding como:

  • Stateless (sem estado), não deve haver monitoração de estado *
  • Cliente Servidor deve possuir um relacionamento modelo cliente/servidor
  • Cache
  • Interface Uniforme
  • Layered System dividido em Camadas
  • Código sob demanda (opcional)

(*) As Interações sem estado não armazenam nenhum contexto de cliente no servidor entre as requisições. O cliente mantém o estado da sessão.

Asp.NET MVC – WebAPI

WebAPI – Step One

Overview

Conheça e entenda superficialmente a WebAPI, explore o contexto em que ela atua e alguns conceitos básicos. Vamos lá:

Conjunto de Serviços

Em geral, uma WebAPI é uma série de serviços expostos via web para integrar uma aplicação a diversos tipos de clientes que queiram consumir os serviços.

Ou seja, uma WebApi nos permite criar/disponibilizar serviços HTTP para que os mesmos possam ser consumidos por muitas plataformas.

Para que serve?

Expor serviços via HTTP possibilitando uma ampla gama de dispositivos para acessá-los e consumi-los de forma direta.

Os clientes podem ser:

  • Browsers
  • Smartphones
  • Tablets
  • Appps Desktop tradicionais
  • etc…

Facebook e Twitter são exemplos de Web APIs famosas.

Modos Operandi?

Esses serviços são usados como requisições HTTP e retornam uma resposta em um formato específico como JSON(padrão), XML, REST ou outro formato que podemos definir.

Essa resposta pode ser uma informação de um repositório de dados (como MongoDB), o retorno de uma operação, etc.

Conclusão

Agora podemos usufruir mais do protocolo HTTP, utilizado apenas para servir páginas. Ela é também uma plataforma inteligente para construir APIs para expor serviços e dados.

O HTTP é simples, flexível e onipresente. Praticamente qualquer plataforma tem uma biblioteca HTTP, então os serviços HTTP podem atingir uma ampla gama de clientes.

Por hoje é só. Já temos um bom resumo da Web API, e seus conceitos básicos.