OpenDaylight programming overview

The platform consists of the following essential components:

  • Java: The Java language is the language ODL is written in. Java interfaces are used for event listening, specifications, and forming patterns.
  • Maven: This is the build system for Java.
  • Open Service Gateway Initiative (OSGi): This is a Java framework for developing and deploying modular software programs and libraries. It has two parts: the first part is the bundled plug-in and the second part is the Java Virtual Machine (JVM)-level service registry for bundles to
  • Karaf: This is a light-weight OSGi runtime for loading modules and bundles.
  • Config subsystem: . This is done with an XML file that is read at runtime.
  • Model-Driven SAL: Model-driven Service Adaptation Layer (MD-SAL) is the kernel of the controller platform. This is where different layers and modules are interconnected through pre-defined API.
    • Takes in the YANG data model at runtime and The data is sorted in two buckets: first is config data store that is always kept persistent, and second is operational data store that is ephemeral and typically not changed by RESTCONF.
    • It manages the contracts and state exchange between every application.

ODL takes the model view control approach for its application development in modular fashion. We saw the MVC approach in web API development, where the model is the database, the control is the Python code, and the view is the HTML page or the API output. In ODL, the MCV are broken down as follows:

  • Model: The model in ODL uses the YANG modeling language, which is also the preferred configuration language for NETCONF that we saw in Chapter 3, API and Intent-Driven Networking, we saw how YANG can be used to describe data, in ODL, it is used not only to describe data but also notification to registered listeners and Remote Procedure Call (RPC) between different modules.
  • View: The view is the RESTCONF view that is generated automatically.

Let us take a look at an ODL application example.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.218.151.44