Bem, temos visto a dificuldade que algumas empresas enfrentam para construir a forma de comunicação do seu software com o “mundo externo”. Portanto, levantamos alguns tópicos a serem mentalizados quando você estiver construindo uma API.
Vamos por partes. Pergunte-se:
Por que vou construir uma API?
- Bom, vou fazer uma API para conectar meu sistema com outros! É óbvio!
- Mas por que mesmo? O sentido por trás de conectar meu sistema com outros é evitar uma necessidade futura do usuário redigitar os dados que ele já informou em um dos sistemas. Evitar o retrabalho!
Então, quais dados eu deveria disponibilizar através da minha API?
- Sua API deve disponibilizar acesso aos dados que você processa e tem controle sobre.
- Devemos considerar alguns pontos quanto interagindo com outros sistemas através de dados:
- Completude refere-se ao registro eletrônico de todos os dados úteis necessários. Por exemplo, ao utilizar certo documento, a empresa previamente definiu para o mesmo todos os campos que serão úteis para posteriores extrações de informações. Assim, todos os campos dos documentos daquele tipo devem ser preenchidos nos processos do dia-a-dia, garantindo assim a questão Completude.
- Consistência é a maneira como se controlam os dados de uma forma alinhada entre diferentes sistemas. Por exemplo, a empresa efetua controle de seus clientes utilizando dois aplicativos, onde dados sobre a mesma pessoa ficam duplicados. Sem a centralização do controle sobre os dados dos clientes, acaba-se criando a necessidade de gerenciamento duplicado dos dados, aumentando a complexidade e abrindo grande margem para inconsistências e erros. Então, é preciso definir quem será o responsável pelo controle de quais informações, quando utilizando a API para uma integração. Isto também tende à flexibilização da API, que deve possuir maneiras tanto de leitura como de escrita de dados.
- Acessibilidade dos dados. Os dados devem estar acessíveis facilmente. E isto não exclui controles de segurança de acesso aos dados, o que é essencial. Então sua API deve disponibilizar acesso aos dados de forma controlada, mas de forma legível.
Certo, o que eu disponibilizo então?
- Novamente, os dados que seu sistema processa e tem controle!
- O importante é que, para importar, sua API exija apenas os dados necessários. Nada de sobrecarga; Para exportar, aí sim você disponibiliza o máximo de dados possível.
- Aqui trabalhamos com completude! Trabalhamos pensando em completude da seguinte forma:
- Para meu sistema, o que preciso para fazer meu trabalho?
- Para outros sistemas, o que eu adquiro e processo de informação e que posso disponibilizar? Como ajudo o outro sistema à trabalhar a completude dele?
Neste post http://www.hub2b.com.br/Connect/integracao-de-dados-com-soa-arquitetura-orientada-servicos/ colocamos uma visão um pouco mais técnica a respeito de como arquitetar sua API.
Qualquer dúvida, entre em contato!
Comentários