Descripción general de Node.js en Apigee Edge

Estás viendo la documentación de Apigee Edge.
Ve a la documentación de Apigee X.
info

Puedes alojar tus APIs de Node.js en Apigee Edge, donde los proxies de API pueden llamarlas como servicios de destino.

La compatibilidad con Node.js en Apigee Edge te permite compilar servicios de backend personalizados para tus proxies en Node.js. En esencia, Apigee Edge aloja tu código de Node.js en un entorno de ejecución que se ajusta al alcance de una organización y un entorno de Apigee. Los proxies de API que se implementan en la misma organización y entorno pueden llamar a las APIs basadas en HTTP que expone la aplicación de Node.js.

Opciones de implementación de Node.js

Apigee proporciona dos opciones para alojar código de Node.js: objetivos alojados y el entorno de implementación tradicional de Edge de Node.js.

Implementa en destinos alojados

Los objetivos alojados permiten que las aplicaciones de Node.js se ejecuten en un entorno nativo que no depende de ninguna tecnología de tiempo de ejecución específica de Apigee. Te proporciona un entorno de ejecución de nodos nativo para que puedas usar tus paquetes de nodos favoritos.

Puedes depurar y probar tu app de forma local antes de implementarla y asegurarte de que la versión implementada funcione exactamente como lo hace de forma local. En el momento de la implementación, puedes elegir cualquier versión del entorno de ejecución de la aplicación para ejecutarla en destinos alojados. Por ejemplo, puedes elegir ejecutar una app de Node.js en un entorno v8.10.0 o cualquier otra versión.

En la siguiente figura, se ilustra la arquitectura básica:

El entorno de ejecución de los destinos alojados tiene el alcance de una organización y un entorno de Apigee, y puede servir como destino para cualquier proxy de API que se implemente en esa misma organización y entorno.

Implementa en el entorno tradicional de Node.js incorporado

El enfoque tradicional para implementar Node.js en Edge depende internamente de una aplicación de puente de código abierto llamada (Trireme) y un intérprete de JavaScript llamado (Rhino). Estos componentes permiten que el código de Node.js se ejecute directamente en el entorno de ejecución de Java de Edge.

El entorno de ejecución tradicional y embebido de Node.js se limita a una organización y un entorno de Apigee, y puede servir como objetivo para cualquier proxy de API que se implemente en esa misma organización y entorno.

Con este enfoque, puedes usar un módulo de compatibilidad llamado apigee-access que te permite acceder a las variables de flujo del proxy de API, las cachés, los mapas de par clave-valor y las cuotas desde el código de tu aplicación de Node.js.

Elige un enfoque de Node.js

Apigee recomienda que consideres usar destinos alojados. Las apps de Node.js que se implementan en destinos alojados no dependen de ninguna tecnología de tiempo de ejecución de Node.js específica de Apigee. Tu app de Node.js se ejecutará en destinos alojados exactamente como se ejecuta en tu entorno de desarrollo local.

Además, la compatibilidad de Apigee con la implementación tradicional de Node.js Edge tiene limitaciones:

  • Solo se admite una versión anterior de Node.js (0.10.32).
  • Existen diferencias sutiles en el comportamiento entre el entorno estándar de Node.js y el entorno de Trireme/Rhino.
  • La depuración de apps de Node.js después de que se implementan en Edge es difícil.

Actualmente, los destinos alojados no admiten el uso de apigee-access para acceder a recursos en el contexto de flujo de proxy, como las variables de flujo.

Para obtener más información sobre la implementación tradicional de Node.js en Edge, consulta Implementación tradicional de Node.js en Edge.

Casos de uso

Estos son algunos casos de uso comunes de Node.js en Edge:

  • Compila APIs y servicios de backend independientes y altamente personalizados basados en HTTP.

  • Resolver problemas de optimización complejos y para dispositivos móviles con la ventaja de un extremo de destino programable

  • Compila servicios compuestos y mashups.

  • Desarrollar rápidamente prototipos de nuevas APIs con frameworks como Express

Próximo paso

Para decidir qué enfoque de implementación de Node.js es el mejor para ti, lee los resúmenes: