Este livro aborda a criação de Web Services em C#, utilizando a mais recente tecnologia da Microsoft, ASP.NET Web API. Ele é um framework que torna simples a criação de serviços a serem consumidos por uma variada gama de clientes, incluindo browsers, dispositivos móveis ou qualquer equipamento capaz de acessar recursos através de HTTP
A utilização de serviços REST é uma tendência que vem crescendo muito nos últimos anos, principalmente em APIs públicas, e ASP.NET Web API é a plataforma ideal para a criação de aplicações RESTful sob a plataforma .NET da Microsoft.
Para hospedagem dos serviços que serão gerados ao longo dos projetos deste livro, será utilizada a plataforma de computação nas nuvens Azure, que permite a criação de sites, banco de dados e outros recursos e aplicações
Ao longo deste livro, será desenvolvido um projeto exemplo para explicação dos conceitos de Web API. Trata-se de um provedor de serviços de vendas para uma loja virtual fictícia, que será responsável por gerenciar os produtos e pedidos de seus clientes, com integração com o serviço de cálculo de preço e prazo dos Correios e consulta à base de dados dos clientes por meio de serviços.
Os principais conceitos a serem abordados serão:
- Criação de projetos no Visual Studio com Web API;
- Como depurar aplicações localmente com o IIS;
- Como depurar aplicações no Azure;
- Criação e configuração de recursos no Azure;
- Gerenciamento de recursos criados no Azure;
- Integração de serviços Web API com banco de dados, utilizando o Entity Framework;
- Criação do serviço de gerenciamento de produtos da loja virtual;
- Criação do serviço de gerenciamento de usuários de acesso;
- Autenticação e autorização de acesso aos serviços e suas operações utilizando OAuth 2;
- Criação do serviço de pedidos da loja virtual;
- Configuração de rotas para acesso aos serviços da aplicação;
- Consulta ao serviço SOAP dos Correios para cálculo de preço e prazo;
- Consulta ao serviço REST de informações dos clientes.
Este livro foi escrito para programadores com conhecimento em qualquer linguagem orientada a objetos, não necessariamente ou exclusivamente C#. Os conceitos específicos dessa linguagem, dos frameworks a serem usados e APIs serão tratados levando em conta que o leitor não possui nenhum conhecimento deles.
Porém, isso será feito sem deixar que os mais avançados e experientes leitores, que já conheçam o framework Web API, tenham uma experiência tediosa ao longo dos capítulos, pois os conceitos básicos necessários serão apresentados juntamente com os da tecnologia foco deste livro.
Também não é necessário, de antemão, conhecer os conceitos envolvidos na criação de Web Services ou a plataforma de computação nas nuvens Microsoft Azure. Tudo será mostrado de forma didática e prática.
Aos leitores mais experientes, principalmente nas outras tecnologias da plataforma .NET, aproveitem para fazerem os exercícios propostos, com alguns desafios mais avançados.