Wednesday, January 29, 2020

YANG / OpenDaylight / OpenFlow / SDN


What is YANG?

YANG is a specialised schema language, similar to XSD Schema or RelaxNG but (was) specific to NETCONF.

Its goal is to model all content that is exchanged during protocol sessions between peers, as described in RFC6020:
YANG is a language used to model data for the NETCONF protocol. A YANG module defines a hierarchy of data that can be used for NETCONF- based operations, including configuration, state data, Remote Procedure Calls (RPCs), and notifications. This allows a complete description of all data sent between a NETCONF client and server.

There are tools and server implementations out there that simply consume the YANG module set (a YANG model) and are ready to be used as dummy implementations.

There are also tools that use the model to enable users to query a device, without actually implementing anything specific about the device. You could say that a set of YANG modules exposes the interface provided by a device. What you do with this interface is entirely up to you.


Development environment

  1. Maven 3.5.2 or later
  2. Java 8-compliant JDK
  3. An appropriate Maven settings.xml file. A simple way to get the default OpenDaylight settings.xml file is: hit below URL and save file in .m2
https://raw.githubusercontent.com/opendaylight/odlparent/master/settings.xml


Tuesday, January 7, 2020

Java Interview Q_A

1) Define abstraction and what is the difference between abstract class and interface?
2) Can abstract class have constructor method?
3) How will we invoke abstract class constructor?
4) How will we invoke abstract class parameterized constructor?
5) Does java.util.List.isEmpty() check if the list itself is null? - No
6) How to get first item from a java.util.Set? - collection.stream().findFirst()
7) Why does findFirst() throw a NullPointerException if the first element it finds is null?
8)  Can we break out of a forEach loop when going through an Array? - No
There is no way to stop or break a forEach() loop other than by throwing an exception. If you need such behaviour, the . forEach() method is the wrong tool, use a plain loop instead.
9) 

Web Development

Design Phase:- Below all these represent different stages of the UX/UI design flow:- Wireframes represent a very basic & visual repr...