Analogies et différences entre API publiques et privées

Par :
Mark O'Neill

mer, 05/06/2013 - 11:04

Les API (Application Programming Interface) Web sont largement utilisées à des fins d'intégration, notamment pour connecter des applications mobiles. Les API se divisent globalement en deux catégories : API publiques (ou OpenAPI) et les API privées (ou EnterpriseAPI). Les API publiques sont accessibles par tous et sont généralement hébergées dans le cloud. Les API privées s'exécutent sur un serveur d'entreprise et leur accès est réservé à un public restreint. En quoi ces deux catégories d'API se distinguent-elles? Une partie de la réponse se trouve dans leurs points communs.  Par Mark O'Neill, Vice Président Innovations Axway.

En général, les entreprises déploient des API pour faciliter l'accès aux applications mobiles. Il s'agit notamment d'autoriser l'usage d'applications internes aux employés, celui d'applications externes aux clients et partenaires. Les API publiques et privées visent le même objectif et dispensent du besoin de gérer directement les systèmes existants, en y substituant de simples interfaces HTTP. Les entreprises interagissent avec une API au lieu d'une connexion directe à une base de données et/ou une file d'attente de messages. Les deux types d'API offrent donc une interface plus ergonomique  pour accéder aux systèmes de gestion existants.

Abordons maintenant leurs différences. Généralement, une API privée est utilisée dans un système fermé où les utilisateurs (le plus souvent les employés) sont répertoriés, dans un annuaire ou une base de données, et leur identité connue. Avec les API publiques, une entreprise souhaite atteindre le plus grand nombre d'utilisateurs, en permettant par exemple, à quiconque de créer une application ou d'appeler son API. Les API publiques intègrent donc en général un aspect « libre-service », avec l'auto-inscription des utilisateurs. Il s'agit d'une différence clé entre les API publiques et privées.

Les API privées mettent souvent plus l'accent sur le contrôle des identités et la sécurité. Les entreprises adoptant ce type d'API vont utiliser leurs bases de données, répertoriant les identités existantes, par exemple des annuaires de personnel, ainsi que les données de connexion aux systèmes du personnel pour garantir leur accès aux API.

API et services financiers

Considérons un exemple de l'utilisation d'API dans une grande société de services financiers où les employés gèrent des fonds de pension et produits similaires. Dans ce scénario, des API privées permettent aux gestionnaires de fonds d'effectuer des opérations et d'accéder aux cours de bourse via des applications mobiles. Ce point est important pour la société car l'employé doit pouvoir travailler de n'importe où, d'un iPad, d'un ordinateur portable au bureau ou de son domicile s'il est télétravailleur. Il s'avère donc crucial de protéger l'accès aux données confidentielles. Cet aspect étant essentiel, le lien à l'annuaire d'entreprise prend toute son utilité. Cette méthode exige une connexion unique entre différents systèmes d'entreprise et une gestion des identités.

Identité

Les API publiques exigent des règles de sécurité strictes. Concernant la gestion des identités, l'attention se portera plutôt sur le fait de permettre une connexion facile aux utilisateurs, en libre-service. Par exemple, si une entreprise déploie une API publique, elle souhaite en général rendre son utilisation aussi facile que possible pour les développeurs. Dans ce cas, l'entreprise souhaite que les développeurs puissent s'inscrire eux-mêmes et se familiariser avec son API pour créer des applications aussi rapidement que possible. Cette solution diffère d'une API privée car celle-ci connaît a priori les identités des utilisateurs et développeurs.

 

Gestion des quotas : gouverner les flux de données

En utilisant des API publiques, les entreprises ouvrent à tous l'accès aux flux de données. Cela peut concerner par exemple, une société de transport qui fournit des informations sur la localisation des trains et bus. Il s'agit bien d'informations publiques. Ce processus impose à la direction de prévenir tout abus de la part de clients qui seraient susceptibles de monopoliser le trafic, provoquer un déni de service ou utiliser le service au détriment d'autres utilisateurs. Gouverner le flux de données consiste à gérer des quotas et limiter le trafic client, et n'autoriser qu'un certain nombre de messages par seconde, minute ou jour. Cette méthode est utilisée en général pour les API publiques.

En utilisant des APIs privées, les entreprises limitent l'accès aux informations à un certain type de client. La sécurité consiste essentiellement à vérifier que les personnes se connectant à l'API sont bien celles qui y ont droit. Cette méthode exige une authentification des identités, d'où la différence avec l'API publique.

REST et SOAP

En raison de la grande variété des types d'applications client, les API publiques doivent être compatibles REST et SOAP afin de s'intégrer à différentes plates-formes mobiles et fournir aux clients un exemple de code de programmation pour appeler l'API d'une application iPhone, Android ou Windows. Ainsi, les API publiques fournissent-elles des exemples de codes REST pour chacune des cibles de technologies « mobile ».

Documentation

Les API publiques mettent l'accent sur une utilisation la plus simple possible d'où l'importance  d'offrir des services de support pour les développeurs. Pour une API privée, les développeurs peuvent être déjà familiarisés à son utilisation. Ayant pu participer à son développement, ils maîtrisent son fonctionnement. En matière d'API publiques, il s'avère vital de fournir cette information aux développeurs pour leur permettre de créer immédiatement des applications.

Perspectives d'avenir

À l'avenir, les entreprises vont continuer à utiliser des API publiques et privées. Elles vont exploiter les API privées pour accompagner leur personnel nomade et les API publiques pour les offrir au grand public. Pour optimiser l'efficacité, assurer la sécurité et favoriser la croissance, l'entreprise peut centraliser la gestion de ses API à travers une plate-forme unique qui évitera d'utiliser une plate-forme pour les API privées et une autre pour les API publiques. Cette démarche présente de nombreux avantages : gain de temps considérable, réduction des risques et baisse des coûts.

Frontières de l'entreprise

Les frontières de l'entreprise s'étendant aux API publiques et privées, il est évident qu'elles sont devenues un moyen de se connecter au monde extérieur plutôt que de s'en isoler. Pour tirer pleinement partie des API, elles doivent être considérées comme un élément clé des frontières de l'entreprise, permettant d'assister tant les utilisateurs externes qu'internes.

Mark O'Neill, Vice Président Innovations Axway

A propos de l'auteur

Mark O'Neill