Table of Contents |
---|
Overview
...
The ONOS GUI is a single-page web-application with hash-navigation. The GUI system comprises client-side code (a single HTML page, javascript libraries and modules, CSS files, etc.) and server-side code (Java classes that interface to ONOS Server APIs). The GUI web page is served up by a web server running on an ONOS instance.
...
The topology model on the server side represents links as unidirectional, with a source and destination. In the UI, each link model object abstracts away the directionality. This is to provide a single "link" element between two "nodes" in the visualization. However, this makes the link event processing a little more complex. Internally the links are modeled something like this:
<image goes here>
When a link event arrives, a lookup is done to see if the "parent" object for that link already exists. <<Simon to add details >>
Server-Side Architecture
Websocket Servlet
...
TopologyResource
- provides REST API for some auxiliary functionality, e.g. export of GEO location dataTopologyViewIntentFilter
- responsible for identifying list of intents which pertain to the specified sets of end-station hosts or infrastructure devicesTopologyViewMessages
- base class for composing various messages destined for the client and parsing those that were received from the clientTopologyViewWebSocket
- main controller for processing inbound messages and emitting appropriate responses
To see the server-side handling of the UI, take a look at TopologyViewWebSocket, in particular the web socket methods:
- onOpen()
- onMessage()
- onClose()
<<more detail?>>