Visão geral do Node.js no Apigee Edge

Você está visualizando a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
info

É possível hospedar suas APIs do Node.js no Apigee Edge, onde os proxies de API podem fazer chamadas para elas como serviços de destino.

O suporte a Node.js no Apigee Edge permite criar serviços de back-end personalizados para seus proxies em Node.js. Basicamente, o Apigee Edge hospeda seu código Node.js em um ambiente de execução com escopo para uma organização e um ambiente do Apigee. Os proxies de API implantados na mesma organização e ambiente podem chamar APIs baseadas em HTTP expostas pelo aplicativo Node.js.

Opções de implantação do Node.js

O Apigee oferece duas opções para hospedar o código do Node.js: Alvos hospedados e o ambiente de implantação tradicional do Node.js Edge.

Implantar em destinos hospedados

As Alvos hospedados permitem que os aplicativos Node.js sejam executados em um ambiente nativo que não depende de nenhuma tecnologia de execução específica da Apigee. Ele fornece um ambiente de execução de nó nativo para que você possa usar seus pacotes de nó favoritos.

É possível depurar e testar o app localmente antes da implantação e ter a certeza de que a versão implantada vai funcionar exatamente como a local. No momento da implantação, você pode escolher qualquer versão do ambiente de execução do aplicativo para executar o aplicativo em destinos hospedados. Por exemplo, você pode escolher especificamente executar um app Node.js em um ambiente v8.10.0 ou em qualquer outra versão.

A figura a seguir ilustra a arquitetura básica:

O ambiente de execução de alvos hospedados é limitado a uma organização e um ambiente da Apigee e pode servir como destino para qualquer proxy de API implantado nessa mesma organização e ambiente.

Implantar no ambiente tradicional do Node.js incorporado

A abordagem tradicional de implantação do Node.js no Edge depende internamente de um aplicativo de ponte de código aberto chamado Trireme e um interpretador JavaScript chamado Rhino. Esses componentes permitem que o código do Node.js seja executado diretamente no ambiente de execução do Java do Edge.

O ambiente de execução tradicional e incorporado do Node.js é limitado a uma organização e um ambiente da Apigee e pode servir como destino para todos os proxies de API implantados nessa mesma organização e ambiente.

Com essa abordagem, é possível usar um módulo de suporte chamado apigee-access, que permite acessar variáveis, caches, mapas de valores-chave e cotas do fluxo do proxy de API no código do aplicativo Node.js.

Como escolher uma abordagem do Node.js

A Apigee recomenda o uso de destinos hospedados. Os apps Node.js implantados em alvos hospedados não dependem de nenhuma tecnologia de tempo de execução do Node.js específica do Apigee. Seu app Node.js será executado em destinos hospedados exatamente como é executado no ambiente de desenvolvimento local.

Além disso, o suporte do Apigee para a implantação tradicional do Node.js Edge tem limitações:

  • Somente uma versão mais antiga do Node.js (0.10.32) é compatível.
  • Há diferenças sutis no comportamento entre o ambiente padrão do Node.js e o ambiente Trireme/Rhino.
  • A depuração de apps Node.js após a implantação no Edge é difícil.

No momento, o Hosted Targets não oferece suporte ao uso de apigee-access para acessar recursos no contexto do fluxo de proxy, como variáveis de fluxo.

Para saber mais sobre a implantação tradicional do Node.js no Edge, consulte Implantação tradicional do Node.js no Edge.

Casos de uso

Os casos de uso comuns do Node.js no Edge incluem:

  • Criação de APIs e serviços de back-end independentes e altamente personalizados baseados em HTTP.

  • Resolver problemas complexos de otimização para dispositivos móveis com a vantagem de um endpoint de destino scriptável.

  • Criação de serviços compostos e mashups.

  • Desenvolva rapidamente protótipos de novas APIs usando frameworks como o Express.

Próxima etapa

Para decidir qual abordagem de implantação do Node.js é melhor para você, leia as informações gerais: