API : REST, SOAP, JCO, IDOC
Utilisez les API pour vous connecter et communiquer avec n’importe quelle application logicielle.
Il existe 2 types de protocoles API qui sont populaires.
- API REST : REST repose sur une approche client/serveur qui sépare les front-ends et les back-ends de l’API et offre une flexibilité considérable dans le développement et la mise en œuvre. REST est sans état, ce qui signifie que l’API ne stocke aucune donnée ni aucun état entre les demandes.
- API SOAP : Le protocole d’accès simple aux objets (SOAP) est une norme de messagerie définie par le World Wide Web Consortium et largement utilisée pour créer des API Web, généralement avec XML. SOAP prend en charge un large éventail de protocoles de communication disponibles sur Internet, tels que HTTP,SMTP et TCP/IP.
SAP ne prend pas en charge les protocoles ci-dessus « en l’état », mais dispose d’un protocole légèrement différent pour se connecter au système SAP. Vous trouverez ci-dessous quelques-unes des façons dont la connexion à un système SAP peut être établie :
- SAP Java Connector est un produit middleware proposé par SAP {SAP JCo} qui permet à une application Java (ServiceNow SAP Connector Jar) de communiquer avec les systèmes SAP via le protocole RFC/BAPI. Le JCo SAP prend en charge les deux directions de communication : les appels de fonctions distants entrants (appels Java ABAP) et les appels de fonctions distants sortants (ABAP appelle Java). Lien vers la documentation SAP.
- IDOC : IDoc est un objet SAP qui transporte les données d’une transaction commerciale d’un système à un autre sous la forme d’un message électronique. IDoc est l’acronyme de Document intermédiaire. L’objectif d’un IDoc est de transférer des données ou des informations de SAP vers d’autres systèmes et vice versa.
- OData est un protocole de données ouvertes utilisé dans les technologies Web. OData est utilisé par SAP pour rendre les données SAP accessibles à d’autres plateformes afin que les utilisateurs non SAP puissent également accéder à ces données pour développer des applications web, des sites web, des applications mobiles, etc.