Merge "Armoury Project Documentation"
[docs.git] / manuals / developer-guide / src / main / asciidoc / netide / netide-developer-guide.adoc
1 == NetIDE Developer Guide ==
2
3 === Overview ===
4 The NetIDE Network Engine enables portability and cooperation inside a single 
5 network by using a client/server multi-controller architecture. Separate 
6 “Client SDN Controllers” host the various SDN Applications with their access 
7 to the actual physical network abstracted and coordinated through a single 
8 “Server SDN Controller”, in this instance OpenDaylight. This allows 
9 applications written for Ryu/Floodlight/Pyretic to execute on OpenDaylight 
10 managed infrastructure.
11
12 The "Network Engine" is modular by design:
13 . An OpenDaylight plugin, "shim", sends/receives messages to/from subscribed SDN Client Controllers. This consumes the ODL Openflow Plugin
14 . An initial suite of SDN Client Controller "Backends": Floodlight, Ryu, Pyretic. Further controllers may be added over time as the engine is extensible.
15
16 === How to develop with the NetIDE project ===
17
18 The NetIDE packages can be added as dependencies in Maven projects by putting the
19 following code in the _pom.xml_ file.
20
21     <dependency>
22         <groupId>org.opendaylight.netide</groupId>
23         <artifactId>api</artifactId>
24         <version>${NETIDE_VERSION}</version>
25     </dependency>
26
27 The current stable version for NetIDE is `0.1.0-Beryllium`.
28