Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Présentation de JET

Juniper Extension Toolkit (JET) fournit une interface de programmation moderne permettant aux développeurs d’applications tierces sur les équipements Junos. Elle vise à fournir une interface standardisée au système d’exploitation Junos de Juniper Networks (Junos OS) et à Junos OS Evolved pour personnaliser les fonctionnalités du plan de gestion et de contrôle.

JET comprend également une chaîne d’outils ainsi que des bibliothèques et d’autres outils pour permettre aux développeurs d’écrire des applications JET sur l’appareil.

Avantages de JET

  • Fournit des API permettant d’interagir avec n’importe quel équipement Junos.

  • Prend en charge le développement d’API en plusieurs langues.

  • Fournit des outils pour développer des applications qui s’exécutent sur les équipements Junos.

  • Utilise une méthode de notification d’événement qui permet aux applications JET de répondre aux événements système sélectionnés.

JET Architecture

JET est un framework qui permet aux développeurs de créer des applications qui étendent les fonctionnalités de Junos OS et Junos OS Evolved. Par exemple, une application JET peut étendre l’interface de ligne de commande Junos en ajoutant une nouvelle commande opérationnelle pour afficher les états spécifiques à l’application. Les applications JET peuvent s’exécuter sur des équipements Junos ou sur un autre équipement de votre environnement d’exploitation et se connecter via le réseau à un équipement Junos.

Les applications JET interagissent avec Junos OS et Junos OS Evolved par le biais de services de requête-réponse et de notification sur des canaux de transport standardisés. La figure 1 illustre les services de demande-réponse et de notification.

Figure 1 : Services de notification/requête-réponse et 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.

Le Tableau 1 décrit les services de requête-réponse et de notification.

Tableau 1 : applications JET interagissant avec Junos OS par le biais de services

Service

Description

Demande-réponse : une application peut émettre une requête et attendre la réponse de Junos OS.

Le processus de services JET (jsd), qui s’exécute sur Junos OS, fournit le service de requête-réponse. Lorsque jsd reçoit une requête (par défaut sur le port TCP 32767), il crée une nouvelle session pour traiter l’application JET. La session reste active tant que le client et le serveur sont actifs et communiquent entre eux. Au cours de la durée de vie d’une session, jsd peut exécuter autant d’API que nécessaire. JSD peut prendre en charge un maximum de 8 sessions client actives et exécuter des API à partir de ces sessions en parallèle.

Note:

Pour des communications sécurisées avec JSD, utilisez des certificats RSA, en particulier TLSv1.2 (minimum).

Notifications : une application peut recevoir des notifications asynchrones d’événements se produisant sur Junos OS.

JET fournit un protocole de messagerie basé sur la publication et l’abonnement et un broker de notifications. Les applications JET peuvent s’inscrire auprès du courtier de notification et informer le courtier sur les sujets d’intérêt pour recevoir des messages. Le courtier est responsable de la distribution des messages aux clients intéressés en fonction du sujet du message. Junos OS traite en publiant les événements (par exemple, eventd), en se connectant au broker en tant qu’éditeur et en publiant les événements.

JET utilise la méthode MQTT (Message Queue Telemetry Transport) (voir https://mqtt.org/) pour implémenter le service de notification.

JET et gRPC

JET prend en charge le framework gRPC pour les appels de procédure à distance (RPC). JET utilise gRPC pour les services multilingues afin d’activer le service requête-réponse. gRPC fournit également un mécanisme permettant de définir des API indépendantes du langage de programmation. Pour plus d’informations, reportez-vous à https://www.grpc.io/.