Présentation de Node.js sur Apigee Edge

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

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 compatibilité avec Node.js avec Apigee Edge vous permet de créer des services de backend personnalisés pour vos proxys dans Node.js. 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 HTTP exposées par l'application Node.js.

Options de déploiement de Node.js

Apigee propose deux options pour héberger du 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. Il fournit un environnement d'exécution de nœuds natif afin que vous puissiez utiliser vos packages de nœuds préférés.

Vous pouvez déboguer et tester votre application localement avant de la déployer. Vous avez ainsi la certitude 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'exécution de l'application pour l'exécuter 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 dans 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 à tous les proxys d'API déployés dans cette même organisation et ce 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éteur 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 traditionnel et intégré est limité à une organisation et à un environnement Apigee et peut servir de cible à tous les proxys d'API déployés dans cette même organisation et ce même environnement.

Avec cette approche, vous pouvez utiliser un module de soutien appelé apigee-access qui vous permet d'accéder aux variables de flux proxy d'API, aux caches, aux mappages de clés-valeurs et aux quotas à partir de votre code d'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écutera dans des cibles hébergées exactement comme elle s'exécutera 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.
  • Il existe de légères 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 prennent pas en charge l'utilisation de apigee-access pour accéder aux ressources dans le contexte du flux proxy, telles que les variables de flux.

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

Cas d'utilisation

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

  • Création d'API et de services de backend autonomes et hautement personnalisés basés sur HTTP.

  • Résoudre des problèmes d'optimisation complexes pour les mobiles avec un point de terminaison cible pouvant faire l'objet de scripts

  • Créer des services composites et des applications composites

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

Étape suivante

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