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), uma evolução do Junos SDK, 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 JET Request-Response and Notification Services

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/.