Skip to content
Phil Shafer edited this page Jul 9, 2013 · 11 revisions

JUISE, the JUNOS User Interface Scripting Environment

Welcome to JUISE!

JUISE is the JUNOS User Interface Scripting Environment, a set of tools that allow development and testing of SLAX scripts targeting the JUNOS. software from Juniper Networks. Users can develop scripts in their desktop environment, performing the code/test/debug cycle in a more natural way. Tools for developers are available, including a debugger, a profiler, a call-flow tracing mechanism, and trace files.

The project builds on libslax, the open-source implementation of the SLAX language, which is used internal in JUNOS. SLAX is a syntactic variant of XSLT, the W3C language for XML-to-XML transformations. XSLT scripts read XML input data and produce XML output. Given the abilities of JUNOS for producing and consuming XML data, this was the obvious choice for an on-box scripting langauge. XSLT is small and simple, with a declarative style that matches the needs of script writers. SLAX addresses readability concerns with XSLT, casting the same constructs in a grammar that resembles C and Perl. See the libslax project page for more information.

JUISE includes the set of extension functions that are JUNOS specific, including the functions to open NETCONF connections and invoke NETCONF RPCs. The "juise" tool allows for remote development and testing of SLAX scripts for JUNOS, including "commit" scripts (which are invoked during the "commit" operation) and "op" scripts (which are scripts invoked from the JUNOS CLI.

In addition, JUISE serves as a vehicle for other related projects revolving around script development. These projects are still under development.

If we knew what it was we were doing, it would not be called
research, would it?
    -- Albert Einstein

Refer to the Building Instructions page to build juise.

Clone this wiki locally