30 Março 2017

Em busca do Nirvana via API

TOPdesk Software - APICom o crescimento vertiginoso do uso de mobile apps e com o surgimento da IoT (Internet of things), ficou claro que APIs (Application Programming Interface) se tornariam a abordagem padrão de compartilhar informações atualizadas e integrar sistemas entre si de forma desacoplada.

O mercado tem percebido que o uso de sistemas multidisciplinares é custoso, uma vez que a empresa proprietária investiu muitas e muitas horas no desenvolvimento do mesmo. A correção de bugs é igualmente cara e exige mais recursos de tempo e esforço, uma vez que um sistema desse porte, devido à quantidade de logica envolvida, acarreta problemas igualmente grandes e complexos. Outro problema inerente destes sistemas é a inércia muito grande para a adição de novas funcionalidades ou na troca para novas tecnologias. Hoje sabemos que a melhor prática no desenvolvimento de software é a separação de responsabilidades (SoC).

A arquitetura SOA (Service-Oriented Architecture), quando concebida, trouxe o início desta quebra de paradigma com o conceito de desacoplamento ao padronizar a linguagem de troca de informações entre os extremos do sistema, mas, ainda assim, acreditava-se que centralizar toda essa comunicação em um canal só, chamado de Enterprise Service Bus, facilitaria a vida das pessoas.

No entanto, centralizar acarreta novamente os mesmos problemas de sistemas multidisciplinares: se o único canal de comunicação fica indisponível, o impacto causado nos negócios da empresa é alto; o pessoal responsável pela manutenção é bastante especializado e de difícil oferta no mercado; o esforço para manutenção e testes para saber se tudo está ok é alto. 

Em busca do Nirvana via API

 

 

 

 

 

 

 

 

Fig. 1: Uma solução multidisciplinar demais

 O princípio da separação de responsabilidades define, em linhas gerais, que devemos ter cada solução atendendo somente um problema. Ou seja, uma solução de service desk deve atender às necessidades de service desk, assim como uma solução de RH se preocupa em atender às necessidades dos processos de RH. E se acontecer de precisarmos dos dados de RH no service desk? Neste caso, criamos uma outra solução que integra a comunicação entre as duas soluções anteriores. Se seguirmos esta abordagem para todos os problemas em uma organização, teremos no final um mapa de micro serviços interligados.

Cada micro serviço, usando APIs, é capaz de descobrir outros serviços, conectar-se e coletar informações dos mais diferentes serviços para processar suas demandas.
Adicionando a este cenário um serviço que monitore a disponibilidade destes micro serviços, e que, se for o caso, reinicie o serviço correspondente, teremos o tempo mínimo de indisponibilidade de um pequeno serviço, e o impacto nos negócios se torna igualmente mínimo.

Esta tem sido a maior demanda que temos encontrado em nosso dia a dia como desenvolvedores para clientes no Brasil: criar integrações entre produtos. Há um tempo atrás, este trabalho demandava muito tempo, já que o desenvolvedor deveria conhecer como cada produto a ser integrado funciona para então desenvolver a integração. Graças às APIs, o esforço inicial se tornou drasticamente menor, já que o desenvolvedor necessita somente entender como interagir com esta interface para se autenticar, ler ou editar dados. Uma vez que também a criação de APIs siga uma metodologia padrão, a curva de aprendizado desta interface se torna ainda menor.

Com esta visão, foi criada a Open API Initiative (OAI), focada em “criar, evoluir e promover um formato de descrição de API independente de quem desenvolveu, baseada na especificação do Swagger”. Se a API é criada de forma sistematizada, um determinado software destinado a consumir dados desta API, pode descobrir automaticamente como acessar o recurso em questão, como, por exemplo, chamados, mudanças, reservas etc. Em um ambiente de service desk.

Em busca do Nirvana via API

Portanto, hoje as corporações possuem duas possiblidades para resolver uma necessidade no seu negócio:

 

  1. Uma solução só que atenda o máximo de necessidades possíveis:
    • Esta solução pode não atender completamente certos detalhes do seu negócio, já que foi desenvolvida para ser uma solução multi-propósito
    • Uma grande parcela do negócio da empresa se torna dependente desta solução, aumentando o risco em caso de indisponibilidade
    • A aderência de uma ferramenta complexa é difícil para os usuários finais

 

  1. Uma solução ótima para cada necessidade, que seja integrável com as demais soluções:
    • O mix de softwares se torna a combinação ideal para o negócio da empresa;
    • As pessoas trabalham de forma efetiva, dentro da sua competência, e o ambiente corporativo é mais controlável, em vez de uma grande caixa preta;
    • Curva de aprendizado menor em cada solução, o usuário tem a sensação de completar etapas mais rapidamente

Para os casos em que os usuários precisem trabalhar com dados provenientes de diferentes fontes, novamente suprimos esta necessidade com o uso de APIs: é possível, por exemplo, ter um dashboard que agregue estas informações atualizadas e em até diferentes visualizações, dependendo do perfil do usuário, tal como a experiência que o consumidor possui em um site como Amazon ou Netflix.

Podemos concluir que as APIs são a solução definitiva para a integração entre softwares, otimizando tempo de acesso à informação, reduzindo retrabalho ou redundância, e agilizando os processos corporativos.

Gostou deste artigo? Acreditamos que vá se interessar por este outro...

O melhor serviço é o autoatendimento

 

Comments

Stay Updated on Blog Content

Share this blog:

Want to know what is coming up?

Visit our roadmap!