The purpose of this document will be to provide an overview and introduction to the ONOS APIs, and their respective documentation, so that developers will know where to start.
- The ONOS Java APIs are the primary APIs of the ONOS system, and are documented as standard
javadocdocumentation, and is available at api.onosproject.org. This documentation is a reference that describes each class and method at call-level detail, and is valuable when you are trying to understand existing code or write new code using a set of classes and objects that you are already familiar with.
- The Architecture and Internals Guide provides an overview of the internal organization and implementation of the ONOS system. It describes several important subsystems and APIs at a higher level than the
javadocdocumentation, so it is valuable when you are trying to understand which subsystems or classes are used by core modules and applications for particular kinds of tasks or problems.
- The ONOS Sample Applications provide additional features beyond the core ONOS system and applications, and also serve as examples of using the ONOS Java API, as well as software that can be built independently of the core ONOS system and extended with additional functionality as desired.
- The REST API exists primarily to provide an easy (but slow) way for web applications and scripting languages to interact with the ONOS system. It is not recommended for routing or high-performance network applications, but can be useful for human-timescale tasks such as system management. It can also be useful for testing and debugging.