Definição e classificação por tipo da Interface de Programação de Aplicativos (API)

O que é API? E quais os tipos de API que existem?m_dafe42a2-501c-4627-8519-ad8dce2906a4

Maria, em “A Noviça Rebelde”, sabiamente nos diz: “Vamos começar bem do começo. Um lugar muito bom para começar. Ao ler, você começa com A-B-C. Ao cantar, você começa com dó-ré-mi”. Com a ordem da definição de API é a mesma coisa.

Interface de Programação de Aplicativos (API)

Uma API contém os meios com os quais o desenvolvedor do software fornece acesso aos dados ou processos de um programa para outro. A Documentação de API lista os métodos e exigências para os processos de interface e de troca de dados. Com o crescimento da internet, de aplicativos para dispositivos móveis, e do projeto orientado ao serviço dos aplicativos, as API tornaram-se onipresentes.

A diferença entre API e SDK

Enquanto a API está focada primariamente nos métodos de interação de dados e camadas lógicas de um aplicativo, o Kit de desenvolvimento de software (SDK) geralmente oferece meios para variar também a interface com o usuário. A finalidade da API é a integração e a troca de dados, enquanto que do SDK normalmente é a personalização do aplicativo.

As API fornecem dados que geralmente necessitam de desambiguação e intermediação antes de serem exportados para outra API que aguarda receber os dados? Por quê? Como os dados são formatados de forma diferente, os nomes, tipos do campo e layouts lógicos são todos diferentes. Além disso, as estruturas físicas do arquivo e os métodos de transporte de dados podem ser completamente diferentes. Como podemos “gerenciar” todas estas diferenças nas APIs de uma empresa?

Primeiro, precisamos reconhecer que nem todas as APIs são parecidas em sua finalidade ou forma. Não são apenas variações dos tipos de APIs, algumas são mal projetadas e mal documentadas, enquanto outras funcionam muito bem e de acordo com suas especificações escritas.

Quantos tipos de API existem?

As API variam de formas importantes dependendo de que tipo de mecanismo de transporte é baseado em hipertexto, código-fonte ou funções binárias. Serviços API para internet. Atualmente, muitas API são baseadas geralmente em Serviços de webresidentes em hipertexto-padrão, como REST, SOAP, XML-RPC e JSON-RPC. Os Serviços API para web são normalmente utilizados em aplicações de web como parte de uma abordagem de Arquitetura orientada a Serviços (SOA) geralmente preferida por empresas grandes.

O Protocolo Simples de Acesso aObjetos (SOAP) baseado em Serviços de Web é baseado no protocolo WC3. O WC3 estabelece que o “SOAP é um protocolo mais leve para a troca de informações em um ambiente descentralizado e distribuído”. Geralmente está associado à Linguagem de Descrição de Serviços Web (WSDL) e UDDI. A WSDL é definida como uma linguagem baseada em XML para descrever os serviços web. A WSDL permite saber o que esperar que o Serviço web faça. A WSDL pode ser lida tanto por maquina como por humanos, bem como o SOAP ea UDDI. A especificação de Descrição, Descoberta e Integração Universal (UDDI) é um meio de fornecer um diretório de serviços web disponíveis. Percebi que chamar os serviços web REST de “padrão” não é preciso.

Os Serviços web RESTful são qualquer serviço do grupo de abordagens que se molda aos princípios da arquitetura de Transferência de Estado Representativo (REST). Os princípios REST pedem uma arquitetura de cliente/servidor stateless geralmente com baseem HTTP. Eles se moldam aos Indicadores de Recurso Universal (URI) e usam os métodos CRED de PUT, GET, POST e DELETE. Os recursos são representados e, portanto, são desacoplados de suas fontes. As mensagens são autodescritivas. As interações Stateful são atingidas por meio de hiperlinks. Devido à mensagem de solicitação ser autocontrolada, todas as interações com recursos são stateless. O estado de transferência explícito é utilizado para atingir as interações stateful. Utiliza a transferência XML ou JSON.

API dos Códigos-Fonte

As APIs dos códigos-fonte oferecem bibliotecas de objetos, classes etc. As API dos códigos-fonte geralmente são utilizadas no desenvolvimento de projetos para criar um aplicativo composto. As chamadas são feitas de acordo com as normas do ambiente do aplicativo, como J2EE ou .NET.

API de Legado

Uma variedade de abordagens de legado para os aplicativos de interfaces utilizarem arquivos unidimensionais, protocolos de objeto remoto, interfaces de sistema operacional, API de hardwares, protocolos de comunicação, filas de mensagem e outros meios. Referir-se a eles como legado não significa ter um tom pejorativo, mas uma forma de agrupar uma variedade de protocolos antigos, de longa duração e estabelecidos de alguma forma. Um bom exemplo de tipo de API de legado seria (Arquitetura de intermediador de solicitação de objeto COMUM) CORBA. Os tipos de objeto CORBA podem ocorrer em diversas ocasiões. Por isso, enquanto o tipo de objeto não muda, cada ocasião onde o tipo de objeto do cliente é associado aos seus dados por meio de token.

Para descobrir a forma mais inteligente para gerenciar a integração do aplicativo da empresa, é preciso ver como as organizações de TI mais eficientes gerenciam os desafios da complexidade, segurança, escalabilidade de integração e demandas de recurso. Também é preciso olhar o seu projeto mais de perto para identificar as brechas do processo. Descobrir as abordagens de melhores práticas à segurança da API e as abordagens de melhores práticas à escalabilidade da API estão no topo de muitasprioridades de TI das organizações. Entretanto, a necessidade da eficiência da integração dos processos comerciais e uma abordagem bem arquitetada para a integração do aplicativo é importante da mesma forma.

Maria: Agora, crianças: Do, ré, mi, fá, sol e assim por diante são as ferramentas que utilizamos para fazer uma música. Depois que tiverem estas notas em suas cabeças, podem cantar um milhão de melodias diferentes misturando-as.

Artigo Original

Glenn Johnson
Glenn Johnson – Senior Vice Presidente da Magic Software Américas.

 

Deixe um comentário

O seu endereço de e-mail não será publicado.