Tracking and Controlling Subscriber and Service Sessions with SAE APIs
The SAE provides two public APIs:
SAE core API
SAE CORBA remote API
Through these interfaces, an external application can track and control subscriber and service sessions.
Figure 2 illustrates the SAE APIs.
SAE Core API
The SAE core API is used to control the behavior of the SRC module. There are many uses of the SAE core API. For example, it can be used to provide:
Subscriber credentials (username/password)
Requests for service activation/deactivation for a subscriber
This API can be used by a Java application running in the same JVM as the SAE. For example, you can access the SAE core API from plug-ins that are hosted by the SAE, or you can use the SAE core API to write your own extensions of the SAE remote interface by using CORBA or the SAE script interface modules.
SAE CORBA Remote API
This API provides a way to use external applications with the SRC module (see Figure 3). All functions that are available through the SAE core API are available through the CORBA remote API. The remote API provides several remote interfaces that allow customization of the API for special needs. The remote interface comprises an interface module manager and a set of interface modules. We provide the following interface modules with the SRC module:
SAE access interface module—Provides remote access to the SAE core API
Java script interface module—Allows you to control the SAE with a Java script
Python script interface module—Allows you to control the SAE with a Python script
Event notification interface module—Allows you to integrate the SAE with external IP address managers
You can also create custom interface modules that allow external applications to extend the capabilities of the SAE. To do so, you must define the interface module in CORBA IDL and implement it in Java.
The remote interface publishes one object reference that acts as the interface module manager. External applications communicate through CORBA with the interface module manager to retrieve a particular interface module. That interface module runs in the same JVM as the SAE and has full access to the SAE core API.
For more information about the SAE CORBA remote API, including the interfaces, properties, and methods, see the online documentation on the Juniper Networks website at https://www.juniper.net/documentation/software/management/src/api-index.html.