Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Visão geral da JET

O Juniper Extension Toolkit (JET) oferece uma interface programática moderna para desenvolvedores de aplicativos de terceiros em dispositivos Junos. Ela se concentra em fornecer uma interface baseada em padrões para o sistema operacional Junos (Junos OS) da Juniper Networks e o Junos OS Evolved para personalizar a funcionalidade do plano de gerenciamento e controle.

A JET também inclui um conjunto de ferramentas, juntamente com bibliotecas e outras ferramentas para permitir que os desenvolvedores escrevam aplicativos JET no dispositivo.

Benefícios da JET

  • Oferece APIs para interagir com qualquer dispositivo Junos.

  • Oferece suporte ao desenvolvimento de API em vários idiomas.

  • Fornece ferramentas para desenvolver aplicativos que são executados em dispositivos Junos.

  • Usa um método de notificação de eventos que permite que os aplicativos JET respondam a eventos selecionados do sistema.

Arquitetura JET

JET é uma estrutura que permite que os desenvolvedores criem aplicativos que ampliam a funcionalidade do Junos OS e do Junos OS Evolved. Por exemplo, um aplicativo JET pode estender o Junos CLI adicionando um novo comando operacional para mostrar estados específicos do aplicativo. Os aplicativos JET podem ser executados em dispositivos Junos ou em outro dispositivo em seu ambiente operacional e se conectar pela rede a um dispositivo Junos.

Os aplicativos JET interagem com o Junos OS e o Junos OS Evolved por meio de serviços de resposta a solicitações e notificação por canais de transporte baseados em padrões. A Figura 1 ilustra os serviços de resposta à solicitação e notificação.

Figura 1: Serviços de resposta a solicitações e notificação da JET Diagram of Junos Extensible Toolkit architecture showing communication flow among JET apps, Junos kernel, and processes like RPD, DFWD, DCD, MGD using gRPC and MQTT protocols.

A Tabela 1 descreve os serviços de resposta à solicitação e notificação.

Tabela 1: Aplicativos JET interagem com o Junos OS por serviços

Serviço

Descrição

Solicitação de resposta — um aplicativo pode emitir uma solicitação e aguardar a resposta do Junos OS.

O processo de serviços JET (jsd), que é executado no Junos OS, fornece o serviço de resposta à solicitação. Quando o jsd recebe uma solicitação (por padrão na porta TCP 32767), ele cria uma nova sessão para atender ao aplicativo JET. A sessão permanece viva enquanto o cliente e o servidor estiverem em funcionamento e se comunicando entre si. Ao longo da vida útil de uma sessão, o jsd pode executar qualquer número de APIs. jsd pode oferecer suporte a no máximo 8 sessões ativas de clientes e executar APIs a partir dessas sessões em paralelo.

Nota:

Para comunicações seguras com jsd, use certificados RSA, especificamente TLSv1.2 (mínimo).

Notificações — Um aplicativo pode receber notificações assíncronos de eventos que acontecem no Junos OS.

A JET fornece um protocolo de mensagens baseado em assinatura de publicação e um corretor de notificação. Os aplicativos JET podem se registrar no corretor de notificação e informar o corretor sobre os tópicos de interesse para receber mensagens. O corretor é responsável por distribuir mensagens aos clientes interessados com base no tópico da mensagem. Os processos do Junos OS publicando os eventos (como eventd) conectam-se ao corretor como um editor e publicam os eventos.

O JET utiliza o protocolo de transporte de telemetria de fila de mensagens (MQTT) (ver https://mqtt.org/) para implementar o serviço de notificação.

JET e gRPC

O JET oferece suporte à estrutura gRPC para chamadas de procedimentos remotos (RPCs). A JET usa o gRPC para serviços de cross-language como um mecanismo para permitir o serviço de resposta à solicitação. O gRPC também fornece um mecanismo para definir APIs que são agnósticas da linguagem de programação. Para obter mais informações, veja https://www.grpc.io/.