Olá Pessoal,
É com muito prazer que venho apresentar pra vocês mais um trabalho da minha start-up: a ITS. Estamos trabalhando bastante com o dropbox aqui para soluções corporativas, e até final do ano devemos lançar uma plataforma para comunidade que vai estar usando a tecnologia. Nesse trabalho percebemos que era necessário criar uma API Java para o dropboxAPI. O motivo? Tínhamos muito trabalho sempre que um projeto ia precisar o dropbox API, ai decidi criar uma API que chamei de easyJavaDropboxAPI. Como sabemos, qualidade de software, produtividade e manutenção é um desafio sempre e aqui acreditamos bastante no aprendizado contínuo para melhorar o que fizemos ontem, hoje e amanhã. A seguir explico mais sobre a API e mostro um exemplo simples de uma aplicação Java + easyJavaDropboxAPI.
lets go…
easyJavaDropboxAPI
Tudo começou de uma simples ideia, e enquanto fui dormir com um problema achei a solução durante os sonhos. Pode acreditar, foi verdade isso. Dei inicio aos estudos e achei a solução na api do dropbox. Infelizmente não posso entrar em detalhes do negócio, pois foi para um projeto corporativo que usamos. Outros projetos chegaram e precisamos da API, então certa hora eu disse “pessoal, precisamos criar uma API Java para o dropbox API. Já temos vários projetos usando e vai ser complicado dar manutenção”. Antes de tornar a easyJavaDropboxAPI pública, ela tinha outro nome, easyDropboxAPI. E por que eu deveria usar a easyJavaDropboxAPI e não diretamente API dropbox API?
É dificil responder a pergunta acima, mas vou mostrar os motivos que nos levou aqui na ITS a termos uma API .
Problemas
Produtividade
Estamos crescendo com soluções enterprise usando dropbox API e já estávamos entrando no terceiro projeto quando vimos que o custo de manutenção estava começando a aparecer. No inicio não tínhamos noção do quanto a API poderia ajudar em outros projetos e foi preciso usar em um projeto interno, testar por um período não só a funcionalidade, mas outros fatores de negócio. Por isso que não começamos criando uma API, mas a coisa “virou” e agora queremos ganhar tempo, e com a API é muito simples sair usando em meia dúzia de linhas e em poucos minutos você já está conectado ao dropbox.
Manutenção
Agora não é preciso ficar preocupado com a manutenção do código que conecta com a API do dropbox. Como o dropbox team está sempre atualizando e lançando novas features, temos apenas um único local que vai ter essa feature atualizada e os projetos que precisarem faz o update do .jar para a versão mais recente.
Desenvolvimento Ágil
Na interface temos os métodos mais comuns e objetos do dropbox API que é a base do serviço, então um desenvolvedor novo precisa inicialmente entender pontualmente e à medida que ele for evoluindo vai entrando nos detalhes. Por exemplo, se você pretende listar os arquivos que está no diretório /home do seu dropbox o que precisa ser feito?
1. Saber o que é um token e gerar um;
2. Chamar o método listFiles que retorna todos os arquivos do diretório informado
Cada elemento no list é um arquivo do diretório.
Esses três pontos foram o suficiente para termos API e impactou bastante no dia a dia desenvolvimento.
Vamos ver na prática?
Praticando
1. Crie um simple maven project
2. Adicione a dependência no pom.xml
<dependency> <groupId>com.its.api</groupId> <artifactId>easyJavaDropboxAPI</artifactId> <version>1.0.0</version> </dependency>
3. Adicione o nosso repositório no pom.xml
<repositories> <repository> <id>easyJavaDropboxAPI</id> <url>https://raw.github.com/ITSStartup/easyJavaDropboxAPI/mvn-repo</url> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </snapshots> </repository> </repositories>
4. Crie uma classe Java com o método main
public class DropboxMain { public static void main(String[] args) throws DbxException { String token = "TOKEN HERE"; EasyJavaDropBoxService easyJavaDropBoxService = new EasyJavaDropBoxServiceImpl(path, token); List<DbxEntry> listFiles = easyJavaDropBoxService.listFiles(); for (DbxEntry file : listFiles) { System.out.println(file.name); } } }
5. Gere o token seguindo as instruções:
http://apps.camilolopes.com.br/dpboxapiweb
6. Rode aplicação e verá:
Pronto, os arquivos que tenho na pasta são listados.
Simples, não?
O projeto de exemplo está disponível no repositório da ITS.
E caso queriam saber mais sobre API, visite o repositório:
https://github.com/ITSStartup/easyJavaDropboxAPI
Abracos. See ya!!!