Présentation de Node.js sur Apigee Edge

Vous consultez la documentation Apigee Edge.
Accédez à la documentation**Apigee X**.
info

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

La compatibilité avec Node.js sur Apigee Edge vous permet de créer des services de 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 le même environnement peuvent appeler des API basées sur HTTP exposées par l'application Node.js.

Options de déploiement Node.js

Apigee propose deux options pour héberger le code Node.js : les cibles hébergées et l'environnement de déploiement Node.js Edge 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. Elles vous fournissent un environnement d'exécution de nœud natif, ce qui vous permet d'utiliser vos packages de nœuds 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 d'environnement d'exécution d'application pour exécuter votre application dans des cibles hébergées. Par exemple, vous pouvez choisir spécifiquement d'exécuter 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, et peut servir de cible pour tous les proxys d'API déployés dans cette même organisation et cet même 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 cet même environnement.

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

Choisir une approche Node.js

Apigee vous recommande d'envisager 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écutera dans des cibles hébergées exactement comme dans votre environnement de développement local.

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

  • Seule une ancienne version de Node.js (0.10.32) est compatible.
  • Il existe de subtiles différences de comportement entre l'environnement Node.js standard et l'environnement Trireme/Rhino.
  • Il est difficile de déboguer les applications Node.js après leur déploiement sur Edge.

Actuellement, les cibles hébergées ne sont pas compatibles avec l'utilisation d'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 traditionnel de Node.js Edge, consultez la page Déploiement traditionnel de Node.js sur Edge.

Cas d'utilisation

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

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

  • Résoudre des problèmes complexes et d'optimisation mobile grâce à un point de terminaison cible scriptable.

  • 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 déterminer quelle approche de déploiement Node.js vous convient le mieux, consultez les présentations suivantes :