NESTA PÁGINA
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.
A Tabela 1 descreve os serviços de resposta à solicitação e notificação.
| 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/.