Node.js: Extending the Programmability of the Apigee API Platform
Today, we are expanding the programmability of the platform by introducing native Node.js capability, including support for NPM modules and most Node.js features. Developers can deploy unmodified Node.js applications on the Apigee platform, opening up new possibilities for tasks like customizing existing APIs for different devices or combining multiple slow back-end API calls into a smaller number of faster API calls. Running on Apigee, these applications have the benefit of Apigee's enterprise-grade cloud operations.
Node.js developers have access to the platform’s enterprise-grade app development environment including:
Ability to enrich apps with security, traffic management, protocol transformation logic, and so on, using the 30+ existing policies
A GUI and REST API for development, deployment and management
Revision support for iterative development
Virtual deployment environments
Visual tracing tool for easy debugging
- Powerful metrics and analytics for business and operations
How does it work?
When you upload a Node.js app to the Apigee platform it is configured as a "target" so instead proxying a back-end service, the platform proxies the Node.js app.
Many popular node modules, including Express, Argo, and Usergrid are also packaged automatically to make including and uploading dependent modules easy.
Support for Node.js applications enables developers to:
Build new APIs that proxy other APIs using frameworks like Argo, Express, and others.
Build a mobile app backend with API data services
Build "mash-ups" and composite services by orchestration or aggregation of existing APIs and web services
Rapidly mock up and prototype new APIs quickly using a web framework like Express or an API framework like Argo
Note: While we support third-party Node modules, the Apigee Cloud doesn’t host any third-party software, so you won’t be able to use software solutions unless they are accessible remotely over HTTP or HTTPS.
Getting started (GUI and CLI tools)
The Apigee platform makes it easy to create sample Node.js apps or upload your existing Node.js app to the Apigee Cloud Platform.
You can create your first Node.js app and expose it through the Apigee UI. A new wizard allows you to create a new Node.js based API Proxy. (The GUI will be enhanced soon to allow you to upload and configure your Node apps.)
You can upload your node.js app through the new Command Line Interface (CLI) tool. The CLI helps you to package and upload your complete Node.js app and its dependent node packages to the Apigee Cloud Platform and make it available as an API for you to use as your mobile app backend or an API for your target developer community to develop against.
apigeetool deploynodeapp -n nodeapp -d nodeapp -m server.js -o testorg -e test -u USERNAME -p PASSWORD
See the product documentation for details about developing Node.js applications for the API Platform: http://apigee.com/docs/api-platform/content/developing-nodejs-applications-api-platform
You can access Node.js API proxy samples here: https://github.com/apigee/node-samples