- Interface de programmation
-
Pour les articles homonymes, voir API.
Une interface de programmation (Application Programming Interface ou API) est une interface fournie par un programme informatique. Elle permet l'interaction des programmes les uns avec les autres, de manière analogue à une interface homme-machine, qui rend possible l'interaction entre un homme et une machine.
Du point de vue technique une API est un ensemble de fonctions, procédures ou classes mises à disposition par une bibliothèque logicielle, un système d'exploitation ou un service. La connaissance des API est indispensable à l'interopérabilité entre les composants logiciels.
Sommaire
Description
Dans le cas typique d'une bibliothèque, il s'agit généralement de fonctions considérées comme utiles pour d'autres composants.
Une interface en tant que telle est quelque chose d'abstrait ; les composants réalisant celle-ci étant des mises en œuvre (ou implémentation). Idéalement, il peut y avoir plusieurs mises en œuvre pour une même interface. Par exemple, sous UNIX, la libc définit des fonctions de base utilisées par pratiquement tous les programmes et est fournie par des mises en œuvre propriétaires ou libres, sous différents systèmes d'exploitation.
Une interface communément utilisée peut parfois devenir une norme. La libc est par exemple une norme POSIX.
Exemples d'API
- Graph API
Exemples en fonction du domaine applicatif
- graphismes 3D : OpenGL, Direct3D (partie de DirectX)
- manipulation de documents XML : SAX (Simple API for XML) et DOM (Document Object Model)
- accès à des bases de données : ODBC, JDBC
Fonctions des interfaces de programmation en Java
Les interfaces de programmation peuvent avoir plusieurs fonctions. Par exemple, dans J2EE, on trouve les fonctions suivantes :
- API de communication synchrone / asynchrone
- API de connexions (annuaires, bases de données, progiciels de gestion intégrés)
- API de gestion des transactions
- API de gestion des courriels
- API de sérialisation par XML
- API d'analyse XML
- API de gestion des registres XML (par exemple ebXML)
Des API peuvent servir à simplifier l'accès à d'autres API
- API JAXP permet facilement l'accès à différentes implémentations des API SAX et DOM (XML4J, Apache Xerces).
Données véhiculées
Les interfaces de programmation peuvent véhiculer des métadonnées.
- Dans les interfaces prévues par les progiciels de gestion intégrée
- Exemples : Oracle 9i Metadata API et Relational metadata API de SAP
- Dans les langages de programmation
- Exemple du langage Java : API d'accès et de traitement des données enregistrées dans une source de données
- Dans les systèmes décisionnels
- Exemple : Métadonnées dans les API de SAS
- Dans les bases de données relationnelles
- Exemple : DB2 Cube
- Dans les applications d'ingénierie des connaissances
- Exemple : Loading metadata to Livelink using Bulk Loader API's (en)
- etc.
Voir aussi
Liens externes
Wikimedia Foundation. 2010.