APIs e Microsserviços

28 mar, 2014

Série DropboxAPI: Case com Dropbox API – Parte 05

Publicidade

No artigo de hoje gostaria de compartilhar com vocês uma experiência que tivemos aqui na ITS start-up  usando API do DropBox para resolver alguns problemas e facilitar a vida do usuário. Já apresentei para vocês como usar API do Dropbox. Hoje veremos como fazer umas coisas legais na sua aplicação.

Case 1

Em um projeto aqui na ITS tínhamos que renderizar imagens em algumas páginas da aplicação e queria fazer isso de maneira simples, fácil e transparente para o usuário final. Considerando que o usuário que coloca as imagens não precisa conhecer a aplicação, ou melhor, ele poderia nem ter ideia onde aquela imagem que ele criou seria usada. O foco dele era fazer a criação e depois de pronto disponibilizar a imagem em folder chamado de “live” e pronto.  Essa imagem já estaria atualizada na aplicação automaticamente.

Como resolvemos esse problema sem precisar envolver o design com aplicação? Simples, usando o DropBox. É isso mesmo. Os designers usam o Dropbox para colocar a arte final em uma pasta final onde outro designer faz um review para ver se está ok. Nada de especial aqui, apenas usando o Dropbox de maneira tradicional, só que a arte final desse designer ia ser usada na aplicação e precisamos subir a imagem; como fazer?

  • Via upload na aplicação; ou
  • Colocar a imagem direto no servidor e dar uns tapas na app para reconhecer a nova imagem.

E o que fizemos?

Usamos Dropbox. Para ser sincero, eu fui dormir com esse problema, sonhei, e veio o Dropbox como solução. Passei alguns dias estudando API e fazendo POC para validar a solução.

A solução

A solução é muito simples: o design vai continuar fazendo o trabalho dele como antes, a aplicação apenas vai buscar imagens na pasta “live” que é uma pasta onde tem a versão final da arte. Se o designer fizer alguma alteração nessa imagem, automaticamente ela é atualizada na aplicação. E não precisamos nos preocupar em fazer um novo upload da imagem no servidor  com a versão atualizada, porque há um sync com  a pasta “live”. A esta pasta “live” não é qualquer um que possui acesso, somente designers mais Seniors têm permissão de escrita nessa pasta. Futuramente vamos facilitar a vida dos designers e implementar um esquema de automatizar os deploys de imagem nessa pasta, mas por enquanto ela ocorre manual.

O que ganhamos?

  • Nada de imagem no server, então em uma migração de server eu não preciso ficar preocupado em copiar imagens e, a depender da quantidade e tipo de negócio, pode demorar a cópia. Quantas imagens você acha que o Submarino possui?
  • Mais produtividade para o designer. Ele continua focado no trabalho dele fazendo tudo como antes, sem se preocupar onde e quem vai usar aquela imagem;
  • Atualização automática da imagem na aplicação. Ou seja, subiu a imagem para pasta “live” já está atualizada na aplicação.

Case 2

Esse aqui também foi fantástico em outro projeto que usava  bastante documentos durante o dia. A vida dos usuários era o Microsoft Word aberto, atualizando os documentos publicados, criando novos ou corrigindo. Na versão atual, sempre que um documento é corrigido por uma questão de mudança de lei ou cláusula de contrato, há um prazo de publicação que, a depender da situação, é de até 8hrs a disponibilidade.

Se fosse apenas um documento e se acontecesse isso em um período longo, seria fácil, mas não é assim no dia a dia. Hoje o nosso cliente tem que acessar a aplicação, deletar o arquivo anterior e fazer upload do novo. E pior, é interessante manter o antigo como backup, por questão de segurança o delete não remove o arquivo do servidor, apenas move para uma pasta específica. Então o pessoal que trabalha nesses documentos passava boa parte do tempo fazendo upload, fora que às vezes enfrentavam problemas e demora nesse processo, já que tinham arquivos com 10 mb, como projetos com imagens.

E como resolvemos? Com Dropbox API. Os usuários trabalham no Dropbox com limitação de acesso, vendo apenas aqueles folders de acordo com o departamento.  Eles não precisam mais se preocupar em fazer upload, apenas trabalham nos docs em uma determinada pasta. Seus superiores podem ir avaliando o documento sendo escrito e já dando feedback. Uma vez concluído, vai para uma pasta que representa o arquivo online e pronto, o arquivo já está atualizado em produção e quem fizer o download já pega o arquivo atualizado.

Fantástico, não?!

O que aprendemos? Nessa solução vimos que apenas saber uma tecnologia não é suficiente; é preciso estar envolvido com o negócio do cliente para chegarmos à solução ideal e sabermos se realmente resolve o problema e agrega valor ao dia a dia do nosso cliente. Não resolver um problema apenas por que temos que resolver, mas buscar como solucionar da melhor forma. É  assim que os profissionais na ITS vivem e respiram todos os dias, e sabemos que negócio & TI não estão separados, e sim juntos. Se você for na API do Dropbox é tudo abstrato, o que você vai fazer com ela é uma questão sua. E nós chegamos a essa arquitetura devido ao nível de envolvimento que tínhamos com o negócio, senão ia ser mais uma API disponível como qualquer outra.

Agora temos mais desafios de automatizar alguns trabalhos e permitir que a promoção de uma pasta para outra seja rápida e simples.

Não deixe de conhecer o easyJavaDropboxAPI

Abraços!