February 10, 2016
José
Vahl

Construindo APIs Mobile

Uma das principais e mais avançadas aplicações de APIs são dispositivos móveis. Mas como construir APIs mobile? Aprenda nesse artigo da Sensedia.

APIs no seu bolso

Hoje está claro que o canal mobile é muito importante para as empresas e que, devido as suas características únicas, são necessárias APIs especialmente pensadas para ele. Mas a pressão por prazo normalmente faz com que o bom design seja substituído por uma API que funcione num curto espaço de tempo. Isso é um erro porque subestima o papel das APIs mobile na estratégia multi canais.Nesse artigo, vamos explorar a visão do Forrester sobre 14 guidelines, divididas em uma plataforma de engajamento em 4 camadas. Essas guidelines posicionam as APIs mobile no contexto empresarial.Caso você não conheça, a Forrester Research é uma das mais influentes empresas para pesquisa de mercado, especialmente na área de tecnologia.

Fazendo as APIs!

Aplicativos móveis são um dos principais motivadores para quem compra produtos de API Management, e é obvio que essas Apps precisam acessar os dados, transações, nuvem e outros recursos da empresa.A questão do design dessas APIs vai muito além de usar RESTful ou não sobrecarregar mensagens com muitos dados. As APIs mobile estão na intersecção de 3 domínios de design:

  • Design holístico da App mobile: Quando pensamos de forma abrangente, mais do que promover algum tipo de engajamento, a app mobile (e a API que ela acessa) precisa ter preocupações como:
  • responsividade;
  • integridade dos dados;
  • consistência com outros canais;
  • uso offline vs online;
  • uso de recursos do dispositivo (bateria, armazenamento, banda, etc);
  • autenticação/autorização;
  • uso de dados privados (localização, dados sociais, etc);
  • melhorias baseadas no uso;
  • frequência de atualização da app, etc.
  • Design voltado para a experiência multicanal digital: Tipicamente, o engajamento dos clientes acontece por diversos canais e, apesar de cada canal ter suas peculiaridades, a empresa precisa garantir que os usuários tenham experiências coerentes quando usam diferentes canais.
  • Design levando em consideração agilidade e os processos da empresa: As APIs são o pilar da agilidade em negócios para grandes empresas. Ainda que sejam APIs para parceiros, públicas ou internas, uma estratégia de integração moderna precisa ter forte ênfase nas APIs (incluindo os serviços SOA) que proveem uma base comum para as capacidades de negócio disponíveis a todos os processos, clientes ou parceiros.
Uma das principais e mais avançadas aplicações de APIs são dispositivos móveis. Mas como construir APIs mobile? Aprenda nesse artigo da Sensedia.

Na visão do Forrester, os 3 domínios de design se alinham com a plataforma de engajamento em 4 camadas, conforme figura abaixo:

Uma das principais e mais avançadas aplicações de APIs são dispositivos móveis. Mas como construir APIs mobile? Aprenda nesse artigo da Sensedia.

Com esses 3 domínios e 4 camadas em mente, o Forrester identifica processos e práticas para o design de APIs além de princípios para as APIs propriamente ditas.

Guia para identificação de APIs mobile

Antes de começar o design de uma API mobile, é preciso saber como a app mobile irá ser usado e que tipo de recurso ele irá precisar. Para que a perspectiva do design da API seja balanceada, cada um dos 7 itens no guia abaixo está associado a um contra-ponto que precisa ser observado para garantir o balanceamento.1. Ponto: Comece com o design da experiência do usuário, permissões, operação off-line, fluxo do processo, etc. Contra-ponto: Atenção para o design da experiência mobile desalinhada dos outros canais de engajamento.2. Ponto: Parta da intenção do usuário até chegada no design da API Contra-ponto: Cuidado para não desenhar APIs que só servem para um canal3. Ponto: Use os modelos de domínios de negócio para guiar o design de APIs Contra-ponto: Atenção para modelos de negócio antiquados que não levam em consideração a localização ou outras formas de contexto4. Ponto: Inclua aspectos de orientação a dados e orientação a ações do domínio de negócios Contra-ponto: Atenção para modelos de negócios muito restritos que não contemplam variação e evolução5. Ponto: Identifique claramente cada API como sendo específica de um canal, multicanal ou enterprise API Contra-ponto: Cuidado ao assumir que uma API deve ser específica do canal6. Ponto: Pergunte-se “é assim que fazemos negócio?” para manter a questão do multicanal em mente Contra-ponto: Cuidado para não ignorar adaptações técnicas e específicas do canal7. Ponto: Desenhe prevendo o monitoramento da operação e a evolução das apps Contra-ponto: Cuidado para não sobrecarregar os recursos da API com muito monitoramentoOs 7 itens desse guia de identificação se enquadram em 3 grandes temas:

  • Posicione o design da API mobile em um contexto e experiência mais amplos: Cada cenário e processo tem requisitos únicos que precisam ser considerados. Funcionar off-line, por exemplo, pode significar coisas muito diferentes se levarmos em conta o cenário de uso da app.
  • Não permita que as apps mobile dominem o design das APIs: As vezes a pressão por prazo faz com que as APIs mobile sejam priorizadas em detrimento total as questões de multicanal ou APIs corporativas (que cedo ou tarde entrarão nas agendas executivas).
  • Assuma que a API irá evoluir com base no uso: Inclua funcionalidades que permitam entender como os usuários estão consumindo as APIs através do uso das apps.

Guia para implementação de APIs mobile

Depois de identificar quais APIs serão desenhadas para uma estratégia mobile, seguimos com um conjunto de princípios de como as APIs e as apps funcionam juntas. De novo, para cada um dos 7 princípios de design e implementação abaixo, existe um contra-ponto que precisa ser observado.1. Ponto: Varie APIs entre canais quando isso for natural no contexto Contra-ponto: Ao invés de impedir o multicanal, coloque o contexto em parâmetros2. Ponto: Filtre e limpe os dados antes de enviar para o mobile Contra-ponto: Atenção para a proliferação de APIs backend e camadas nas APIs de enterprise3. Ponto: Minimize as idas e voltas ao backend usando agregação e múltiplos recursos Contra-ponto: Cuidado com mensagens muito grandes e com conteúdo que a app não precisa no momento4. Ponto: Considere especificamente o grau de uso off-line necessário Contra-ponto: Cuidado para o uso off-line não causar inconsistência ou frustração para o usuário5. Ponto: Modele interfaces que permitam chamadas assíncronas às APIs Contra-ponto: Cuidado com o uso de operações assíncronas que frustrem o usuário ou prejudiquem a consistência do multicanal6. Ponto: Delegue poder para as APIs que funcionam em background, por exemplo, sincronização de dados Contra-ponto: Atenção para o alto consumo de recursos causado pelas operações em background7. Ponto: Tire vantagem da boa conectividade com a rede Contra-ponto: Não assuma uma boa qualidade de rede em qualquer hora ou lugarAssim como na identificação da API, os 7 princípios da implementação se enquadram em 3 grandes temas:

  • Garanta que o design da interação com o usuário reforça a operação online e offline: É muito fácil fazer cache em dispositivos móveis, mas cuidado para isso não causar um desalinhamento de expectativas com o usuário, relacionado a entrega de mensagens e sincronização de dados. Dica: a UI mobile deve facilitar o entendimento de possíveis inconsistências (mostrar quando foi a ultima sincronização, por exemplo).
Uma das principais e mais avançadas aplicações de APIs são dispositivos móveis. Mas como construir APIs mobile? Aprenda nesse artigo da Sensedia.
  • Use as camadas e a parametrização para atingir objetivos técnicos e de agilidade: Agilidade demanda pureza de design, alinhamento com as melhores práticas, alta coesão e baixo acoplamento. Porém, mobile muitas vezes precisam de otimizações que violam esses conceitos (combinação de várias entidades em um request para minimizar o vai e vem, por exemplo). Nesses casos, uma estratégia é criar uma camada extra de API, específica para o canal, que direciona para as demais.
  • Observe a utilização dos recursos pelo mobile: Uma melhor experiência do usuário com a app exige o uso de vários recursos como: localização, dados locais, sincronização offline, integração social, monitoramento do wi-fi, etc. Mas esses recursos consomem muita bateria e podem incomodar os usuários mais avançados. Uma abordagem integrada para a app mobile e a API ajuda a entender, monitorar, gerenciar e otimizar como os recursos do dispositivo são usados.

Use agilidade + arquitetura para direcionar a colaboração

A agilidade é muito importante quando ciclos rápidos de upgrade são necessários, mas é desafiador unir essa agilidade envolvendo um contexto mais amplo de APIs corporativas ou multicanais. O Forrester identifica alguns aspectos importantes da colaboração em arquiteturas multi-níveis:

  • O time do projeto mobile é que sabe o que a app deve entregar de fato, mas somente a visão holística dos arquitetos e líderes de design entende as necessidades de todas as camadas;
  • Os arquitetos precisam entender quais são os dados e transações necessárias para uma experiência digital coerente entre todos os canais;
  • A API corporativa deve materializar as principais regras de negócio que são válidas para todos os contextos. Os arquitetos de negócio devem colaborar com os arquitetos de domínio mais específicos, como o mobile, para negociar as adaptações específicas dos canais.

Quando o time de mobile constrói a API isoladamente, a chance de uma entrega mais rápida é maior. Porém, isso gera um passivo para o futuro, já que pode haver inconsistências de negócio e retrabalho.Portanto, garanta que os times mobile e corporativo entendam as 3 categorias de APIs e tenham isso em mente no momento do design.

Alguns pensamentos finais para sua API

Existem mais de 1 bilhão de smartphones no mundo. Simples: APIs para mobile são muito importantes! Portanto, garanta que o design de APIs mobile esteja alinhado com outros níveis na empresa. Ou seja, tenha uma discussão mais ampla para não pagar o preço de um retrabalho no futuro.Além disso, o entendimento do uso das APIs no mobile é muito importante para a evolução: programe-se para monitorar e evoluir de forma rápida.Por fim, uma visão simplista do design da API mobile acelera a primeira entrega, mas complica a evolução.Agora, vá e construa APIs incríveis!----Gostou do artigo? Que tal receber todas as novidades da Sensedia no conforto do seu email? Mais de 7000 pessoas já fazem isso. Não mandamos spam, apenas a nata do conhecimento sobre APIs e serviços! Inscreva-se:[contact-form-7 id="1069" title="Formulário de contato 1"]E mais, construir APIs mobile não é tudo! APIs RESTful são a base para uma estratégia digital que gere negócios e inovação. Quer saber como construir uma API de primeira? Confira nosso Webinar de Design de APIs, clicando aqui ou na imagem abaixo:

Clique para assistir o webinar de Design de APIs

Obrigado pela leitura!

Voltar ao arquivo