Crie um Microblog estilo Twitter - Parte 1
Crie um Microblog estilo Twitter - Parte 2
Neste artigo vamos criar uma aplicação completa de microblog utilizando ASP.NET. Este artigo está dividido em 3 etapas. Nesta terceira e última etapa vamos criar um serviço web baseado em REST, utilizando o ADO.NET Data Services, também conhecido como Astória.
Para que serve
O objetivo desta série de artigos é abordar todas as etapas de um projeto web, desde a criação do layout, montagem do HTML, criação da base de dados, estruturação da camada de acesso a dados, integração dos objetos com a camada de apresentação e finalmente a criação de serviços REST para expor informações desejadas.
Em que situação o tema é útil
Saber todas as etapas de um projeto web é essencial para qualquer programador. Desde a montagem do HTML a partir de uma imagem criada por um designer até a publicação no servidor de produção, existem muitas atividades que um bom desenvolvedor deve conhecer. Atrás de um exemplo prático veremos diversas boas práticas que podem lhe ajudar e muito a desenvolver produtos com mais qualidade.
Resumo do DevMan
Neste artigo vamos construir um microblog do início ao fim. Desde os conceitos mais básicos, passando pelo layout, montagem do HTML, banco de dados, camada de acesso a dados, integração com telas de apresentação, utilização de AJAX e até mesmo a criação de um serviço REST. É fundamental para qualquer profissional de TI conhecer as principais etapas de um projeto web. Nestes três artigos, veremos em detalhes como criar as principais partes que englobam o projeto, desde o “papel em branco” até a publicação da aplicação pronta em produção.
Na primeira parte deste artigo começamos com uma análise de alguns cenários típicos de projeto. Iniciamos a parte prática com a criação do layout em um editor de imagem, tranformamos o layout em HTML e validamos sua construção no W3C. Por fim, criamos a base da nossa plataforma AJAX.
Na segunda etapa criamos a base de dados, as entidades e classes utilizando o Entity Framework, cuja principal função é criar entidades conceituais (Entity Data Model) a partir de uma fonte de dados. Criamos a base de dados, a camada de autenticação (Figura 1), classes do repositório e integração com as telas (Figura 2 e Figura 3). Vimos também um pouco de LINQ e seus princípios.
Nesta terceira e última etapa do artigo vamos escrever um serviço web com autenticação personalizada, baseado nos princípios REST. Para o serviço vamos utilizar o ADO.NET Data Services (codinome Astória). Usando o REST, vamos simular a criação de uma API para o nosso DevTwit, tornando-o aberto para integração com sistemas de terceiros (como faz o Twitter). Faremos, inclusive, uma aplicação externa ao DevTwit que usará sua própria API.
Antes de aplicarmos as técnicas ao DevTwit, vamos examinar alguns fundamentos da arquitetura e tecnologias envolvidas, como IHttpModule (que será usado na parte se segurança), Web Services, RPC, REST, ADO.NET Data Services, detalhes sobre a segurança no REST e mais. Todos esses fundamentos são essencias e importantes para um perfeito entendimento da parte prática deste artigo.
Figura 1. Tela de autenticação do DevTwit
Figura 2. DevTwit com os posts principais, paginação e contador de caracteres
Figura 3. Respondendo um post específico
Web Services
Web services são uma maneira simples de integrar sistemas, utilizando como base um arquivo texto, estruturado, capaz de ser lido por praticamente qualquer plataforma. Hoje, temos inúmeros exemplos de sistemas que trabalham com Web Services. Desde uma loja virtual, que deseja capilarizar suas vendas, permitindo que outros web sites façam revendas, utilizando o seu mecanismo de pagamento e regras de negócios. Sistemas voltados à medicina e pesquisas também utilizam bastante esta tecnologia. Temos até serviços de informação, como busca de endereço através do CEP, consulta ao SERASA, cotações etc. Existem inúmeras formas de integrar sistemas através da web utilizando serviços, que podem ser tanto simples como mais complexos, dependendo da tecnologia aplicada.
RPC (Remote Procedure Call) significa chamada de procedimento remoto, utilizado para criação de aplicativos cliente/servidor. O RPC é um estilo (sendo o SOAP o protocolo mais utilizado) para criação de aplicativos cliente/servidor. O serviço permite que métodos (funções ou procedimentos) sejam invocados de outra máquina, como se estivessem trabalhando localmente. Isto permite criar serviços web focados nas operações, como carregarCliente(), adicionarCompra(), excluirRevista(), entre outros.
Qualquer plataforma que forneça uma comunicação HTTP e consiga trabalhar com arquivos XML pode implementar o SOAP de forma simples, dando uma grande vantagem de independência de plataforma. Por usar prioritariamente o transporte HTTP ele consegue ser transportado sem requisitar nenhuma configuração especial em redes e firewall. Em suma, se houver acesso à internet disponível, o web service poderá ser acessado. O web service pode ser projetado para trabalhar com diversos servidores (web farms), possibilitando assim um ganho de escalabilidade nunca antes visto.
REST
REST significa Representational State Transfer. É um conjunto de diretrizes de desenvolvimento de software para distribuição de sistemas hipermídia distribuídos que trabalham em cima do HTTP. O termo se originou no ano de 2000 em uma tese de doutorado de Roy Fielding, um dos principais autores da especificação do protocolo HTTP. O REST baseia-se nas requisições HTTP (POST, PUT, GET e DELETE).
Estes dados podem ser representados por JSON ou XML, definidos através do content-type. O content-type do HTTP define o tipo do conteúdo da resposta, como por exemplo, HTML, JPEG, XML, entre outros.
Quando os protocolos de comunicação foram surgindo, como exemplo, CORBA e SOAP, um movimento contra estes protocolos surgiu, alegando que eles não entendiam os princípios básicos de comunicação via Internet. O HTTP havia sido projetado para atender todas as necessidades que o CORBA, SOAP e outros procuravam suprir. O REST, por se basear em comunicação voltada a HTTP, é facilmente integrado com outros sistemas independente da plataforma.
...Confira outros conteúdos:
Teste unitário com NUnit
Como migrar projetos do ASP.NET MVC...
Crie relatórios com o Stimulsoft...
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 54,90
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 54,90 /mês
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.