Fonte: SalesNet
Olá Leitor(a), hoje eu vou falar um pouco sobre a nova tecnologia que a Microsoft criou chamada de WebApi. Pra quem trabalha ou já trabalhou com WebService, essa tecnologia veio para tomar lugar do famoso SOAP pesado e funcional.
Não vou mostrar hoje a prática na utilização da tecnologia WebApi, vou tentar apenas te conceituar no assunto para depois usarmos. Tenho um livro que fala sobre Denvolvendo WebServices que fala bastante sobre o SOAP [http://mauriciojunior.org/livro/2/Desenvolvento-WebServices.aspx], nele eu ensino como desenvolver na prática e comunicar aplicações.
Fonte: www.MauricioJunior.org
Vendo o mercado de trabalho, percebo que muitas empresa utilizam ainda essa tecnologia para a comunicação entre plataformas, aplicativos e sistemas. Fiz uma pesquisa em várias empresas e muitas ainda não largaram o pesado SOAP e o WebService. A comunicação entre sistemas para buscar, inserir, alterar e excluir dados pelo WebService ainda é válida, isso porque existem custos para mudar de tecnologia. O protocolo SOAP usa XML e HTTP(s) para trafegar dados, muitas vezes dados abertos e inseguros, isto é, sem qualquer autenticação, criptografia ou token de autorização. É um erro não utilizar segurança nesses casos, alguns artigos foram escritos por mim e estão disponíveis no link www.ecode10.com. Veja alguns links abaixo. O que torna pesado e pode consumir grande tráfego de rede é o XML ou a rederização dele.
Links:
URL do WebService Dinâmica
_http://www.ecode10.com/artigo/876/URL-do-WebService-Dinamica
Consultando CEP via WebService
WebService utilizando soapHeader e token
WebService usando soapHeader
WebService Desenvolvimento Parte 1
WebService Desenvolvimento Parte 2
e-Book Aprendendo a Desenvolver WebService
Código fonte do livro de WebService
Permitir Teste pelo Browser no WebService
Livro de WebService
O WebApi usa REST em vez de usar o protocolo SOAP. É mais leve, mais rápido e ao mesmo tempo consome menos rede para trafegar dados. A nova tecnologia tem a mesma funcionalidade do WebService (em geral), só que mais rápida e consumindo menos. Ela pode comunicar com qualquer plataforma, aplicativo, linguagem ou sistema. O REST significa (Representation State Transfer) ou (Transferência de Estado Representativo), orinigado no ano 2000 por uma tese de doutorado (PHD) escrita por Roy Fielding.
O WebApi no sentido mais amplo, descreve qualquer interface web simples que utiliza XML e HTTP, seguindo de YAML, JSON e texto puro. O acesso pode ser feito pelo client web sem a utilização do SOAP. A resposta pode vir em XML, JSON ou texto puro sem qualquer problema. Existe a possibilidade de utilizar a tecnologia em qualquer plataforma, como por exemplo: no smartphone, na web, no desktop e outras plataformas que irão surgir.
Com o WebApi, as operações básicas para INSERIR, ALTERAR, EXCLUIR e ATUALIZAR estão previstas pelas operações POST, GET, PUT e DELETE. Isto forma o CRUD para a persistência de dados. No momento de criar a WebApi, o sistema cria os métodos de POST, GET, PUT e DELETE de forma automática. Existe um amigo meu que fala o seguinte: "existem alguns indianos que criam de forma automática esses métodos quando utilizamos o Visual Studio 2012". Eu concordo com ele, pois a ferramenta ajuda muito no desenvolvimento, se o usuário seguir passo a passo, a criação fica bem simples.
O WebApi pode ser o futuro? Na minha opinião, essa tecnologia já é o presente. Muitas empresas grandes utilizam essa tecnologia e fornece ao seu usuário maneiras de interagir usando REST com segurança, por exemplo: Amazon, eBay, Yahoo e outras.
Segurança
Falando um pouco de segurança, esse é um problema que ronda todos os desenvolvedores de tecnologia. Se você desenvolve sem usar segurança de dados, comece a desenvolver pois ainda há tempo. Alguns dados hoje valem mais do que dinheiro, em vários filmes você encontrar isso, algumas empresas e pessoas possuem informações confidenciais. Essas informações são buscadas de todo jeito, inclusive usando meios ilícitos como sequestro, chantagem e tudo mais.
Existem várias maneiras de colocar segurança no WebApi, pode ser usado autenticação, token, autorização e mais. Em breve eu vou postar outro artigo mostrando como fazer isso na prática, o importante neste momento é entender que precisa utilizar segurança a todo momento.
WebApi
O WebApi funciona com requisição HTTP pela URL do browser. Muitos aplicativos utilizam o webclient para chamar o HTTP e pegar o valor retornado. Com essa utilização, basta identificar a URI e passar os parâmetros corretos. Por exemplo: http://site/api/usuario. Acessando este link, todos os dados de usuários são retornados. Se você quiser um usuário específico, basta colocar o id. http://site/api/usuario/1 e o retorno é apenas do usuário 1.
O WebApi utiliza a mesma estrutura do MVC Microsoft. O que você sabe de MVC Microsoft é o que será aplicado diretamente com a tecnologia WebApi, isto é, não terá dificuldade em desenvolver.
Bom, esse assunto é bem extenso e um artigo de poucas linhas seria impossível abordar todos os pontos importantes. Eu vou ficar por aqui e qualquer dúvida pode entrar em contato pelo site pessoal www.mauriciojunior.org. Espero que tenha compreendido o conceito.