Présentation de Node.js sur Apigee Edge

Vous consultez la documentation d'Apigee Edge.
Accédez à la documentation sur Apigee X.
info

Vous pouvez héberger vos API Node.js sur Apigee Edge, où les proxys d'API peuvent les appeler en tant que services cibles.

La prise en charge de Node.js sur Apigee Edge vous permet de créer des services backend personnalisés pour vos proxys dans Node.js. En substance, Apigee Edge héberge votre code Node.js dans un environnement d'exécution limité à une organisation et à un environnement Apigee. Les proxys d'API déployés dans la même organisation et dans le même environnement peuvent appeler les API basées sur HTTP exposées par l'application Node.js.

Options de déploiement Node.js

Apigee propose deux options d'hébergement du code Node.js: les cibles hébergées et l'environnement de déploiement Edge Node.js traditionnel.

Déployer sur des cibles hébergées

Les cibles hébergées permettent aux applications Node.js de s'exécuter dans un environnement natif qui ne dépend d'aucune technologie d'exécution spécifique à Apigee. Il fournit un environnement d'exécution Node natif, ce qui vous permet d'utiliser vos packages Node préférés.

Vous pouvez déboguer et tester votre application localement avant de la déployer, et être sûr que la version déployée fonctionnera exactement comme elle le fait localement. Au moment du déploiement, vous pouvez choisir n'importe quelle version de l'environnement d'exécution de l'application pour exécuter votre application dans des cibles hébergées. Par exemple, vous pouvez choisir d'exécuter spécifiquement une application Node.js dans un environnement v8.10.0 ou toute autre version.

La figure suivante illustre l'architecture de base:

L'environnement d'exécution des cibles hébergées est limité à une organisation et à un environnement Apigee. Il peut servir de cible pour tous les proxys d'API déployés dans cette même organisation et dans cet environnement.

Déployer dans l'environnement Node.js intégré traditionnel

L'approche traditionnelle du déploiement de Node.js sur Edge repose en interne sur une application de pont Open Source appelée (Trireme) et sur un interprète JavaScript appelé (Rhino). Ces composants permettent au code Node.js de s'exécuter directement dans l'environnement d'exécution Java Edge.

L'environnement d'exécution Node.js intégré traditionnel est limité à une organisation et à un environnement Apigee, et peut servir de cible pour tous les proxys d'API déployés dans cette même organisation et dans cet environnement.

Avec cette approche, vous pouvez utiliser un module secondaire appelé apigee-access qui vous permet d'accéder aux variables de flux du proxy d'API, aux caches, aux mappages de valeurs-clés et aux quotas à partir du code de votre application Node.js.

Choisir une approche Node.js

Apigee vous recommande d'utiliser des cibles hébergées. Les applications Node.js déployées sur des cibles hébergées ne dépendent d'aucune technologie d'exécution Node.js spécifique à Apigee. Votre application Node.js s'exécute dans les cibles hébergées exactement comme dans votre environnement de développement local.

De plus, la compatibilité d'Apigee avec le déploiement Edge Node.js traditionnel présente des limites:

  • Seule une ancienne version de Node.js (0.10.32) est compatible.
  • Le comportement de l'environnement Node.js standard diffère légèrement de celui de l'environnement Trireme/Rhino.
  • Le débogage des applications Node.js après leur déploiement sur Edge est difficile.

Actuellement, les cibles hébergées n'acceptent pas l'utilisation de apigee-access pour accéder aux ressources dans le contexte du flux de proxy, telles que les variables de flux.

Pour en savoir plus sur le déploiement Edge Node.js traditionnel, consultez la section Déploiement Node.js traditionnel sur Edge.

Cas d'utilisation

Voici quelques cas d'utilisation courants de Node.js sur Edge:

  • Créer des API et des services backend autonomes hautement personnalisés basés sur HTTP

  • Résolution de problèmes d'optimisation complexes et mobiles avec l'avantage d'un point de terminaison cible pouvant être scripté.

  • Créer des services composites et des mashups

  • Développer rapidement des prototypes de nouvelles API à l'aide de frameworks tels que Express.

Étape suivante

Pour choisir l'approche de déploiement Node.js qui vous convient le mieux, consultez les présentations suivantes: