Descripción general de Node.js en Apigee Edge

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

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

La compatibilidad de Node.js con 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 limita a 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 expuestas por la aplicación de Node.js.

Opciones de implementación de Node.js

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

Implementar en Hosted Targets

Los destinos 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 localmente antes de implementarla. Además, ten la certeza de que la versión implementada funcionará exactamente como lo hace de manera 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 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 Hosted Targets se aplica a una organización y 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 de Node.js incorporado tradicional

El enfoque tradicional para implementar Node.js en Edge se basa internamente en 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 Edge para Java.

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

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

Elige un enfoque de Node.js

Apigee le recomienda que considere usar destinos alojados. Las apps de Node.js implementadas en hosts 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 de la misma manera que en tu entorno de desarrollo local.

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

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

Actualmente, Hosted Targets no admite el uso de apigee-access para acceder a recursos en el contexto de flujo del proxy, como variables de flujo.

Para obtener más información sobre la implementación tradicional de Node.js 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:

  • Compilación de API y servicios de backend independientes y altamente personalizados basados en HTTP.

  • Resolver problemas complejos de optimización para dispositivos móviles con la ventaja de un extremo de destino que permite secuencias de comandos

  • Cómo crear servicios compuestos y mashups

  • Desarrollo rápido de prototipos de nuevas API con frameworks como Express

Próximo paso

A fin de decidir qué enfoque de implementación de Node.js es el mejor para ti, lee las descripciones generales: