Condé Demo – Usando as APIs PutBlock/PutBlockList para uploads em um Blob

Boa tarde a todos !

A “Condé Demo” de hoje foi fruto de uma reunião de arquitetura com um ISV que desenvolveu um produto para marketing promocional de campo. Basicamente, o produto consiste de registrar através de vídeos/fotos ações de marketing de guerrilha dentro de bares/resturantes. Você sabe quando aquela modelo vai até a sua mesa de bar oferecer aquela garrafa de uísque com desconto “imperdível” ? Bem isto é uma ação de marketing de guerrilha.

A motivação para a “Condé Demo”

Este produto foi desenvolvido sobre o Azure, com intuito de hospedar os vídeos/fotos registrados em uma ação de marketing, além é claro da aplicação de visualização de vídeos/fotos. Basicamente o fluxo de publicação, utilizando o Azure, segue o exemplo abaixo:

 

image

Esta abordagem é totalmente aceita, porém começaram a surgir alguns problemas na abordagem:

  • E se a conexão entre o celular e a webrole cai no meio de um upload ?
  • Como enviar múltiplas vídeos/fotos ao mesmo tempo e garantir que chegam até o Blob?
  • Como fazer upload a partir de celulares que tem browsers limitados?

Assim, após a reunião com o time de desenvolvimento, dicustimos algumas sugestões para otimizar o processo de upload, e chegamos juntos as seguintes :

  • Realizar o upload direto do celular para o Blob através das APIs REST que a Microsoft disponibilizou.
  • Através das APIs PutBlock e PutBlockList, a aplicação do celular pode fazer o upload através de blocos. Com isto se a rede de telefonia, por alguma razão ficasse indisponível, a aplicação poderia retornar o upload a partir do ponto exato.
  • Para os celulares que não rodam .NET Framework, poderiam trabalhar com Shared Signatures, afim de promover a interoperabilidade.

O resultado da nova arquitetura ficou assim:

image

Condé Demo

Achei interessante registrar passo-a-passo como utilizar o recurso de PutBlock/PutBlockList dentro de uma demonstração. Para baixar o código-fonte desta demonstração, basta acessar o link: https://cid-9937d7265a1b7578.office.live.com/self.aspx/.Public/CondeDemoPutBlockPutBlockList/t201006131218.zip

Get Microsoft Silverlight

abs e T+
Condé

versão 1.3