RSS .92| RSS 2.0| ATOM 0.3
  • Home
  • Artigos
  • Publicações
  • Apresentações
  • Interviews
  • Livros
  • Contact
  • About
  • Introdução

    Este artigo fala sobre web services REST. Esta linha de web services vem se tornando cada vez mais popular e é uma excelente opção para integração este sistemas de diferentes plataformas.

    Neste artigo abordarei os principais conceitos deste tipo de serviços, utilizarei um exemplo de leilão do Mercado Livre para ilustrar o problema, e mostrarei detalhes da arquitetura e implementação.

    Definição

    Surgimento

    Roy Fielding é um dos principais autores do protocolo HTTP, e ele propôs em sua tese de doutorado um estilo de arquitetura que faz extenso uso dos recursos oferecidos por este protocolo.

    Enquanto nos serviços WS-I os recursos do HTTP são muito pouco explorados (inclusive porque o SOAP é independente de transporte), nos serviços REST umas das principais características é a utilização de muitos recursos do HTTP para elaborar um protocolo de comunicação conciso e claro.

    REST ≈ TCP/IP - WS-I ≈ OSI

    WS-I:

    • Muitas especificações antes das implementações
    • Muitos documentos e complexidade para definir as implementações
    • Modelo semelhante a waterfall/cascata

    REST:

    • Conjunto de regras simples
    • Especificações criadas após uso maduro
    • Especificações por grupos de estudo do IETF
    • Modelo incremental de desenvolvimento dos padrões/boas práticas

    Motivação

    Por que implementar serviços REST?

    • Protocolos menos complexos
    • Mais poder e flexibilidade nas comunicações
    • Arquitetura amplamente disponível nas empresas
    • Menos overhead de protocolo

    Quando NÃO implementar serviços REST?

    • Integrações com produtos fechados WS-*
    • Quando WS-Transaction fizer sentido
    • Quando WS-Security fizer sentido
    • Quando não houver API HTTP razoável no servidor e/ou clientes-alvo

    AnteriorÍndicePróxima

    Leave a Reply

    Bruno Pereira is Digg proof thanks to caching by WP Super Cache!