1 # Replacing OSMLight Weight UI #
4 Prakash Moorthy (prakash.m@tataelxsi.co.in)
5 Rajesh S (rajesh.s@tataelxsi.co.in)
8 ** New UI with Single Page Application using Angular 7 for OSM Light Weight UI **
14 Currently the UI is split across multiple entities - OSM Light Weight UI, VIM UI, using tools like
15 Graphana for visualizing Prometheus data etc. There is no single UI framework to view all the
16 relevant information and data which is also extensible to add data and services from new systems.
18 Proposing the Single Page Application(SPA) using Angular MVC framework to replace OSM Light Weight
20 Using modern web platform capabilities we can deliver app-like experiences and can integrate all
21 the third party Services with in the same application (Any vim like Open stack, monitoring like
23 This UI will have the ability to be extensible to add services of any new system in the future
26 Advantage of having MVC approach in OSM Light Weight UI:
28 Bringing in current standardized technology like Angular is going to enable more people to
30 Client and Server modules can be handled independently
31 MVC renders test-ability, maintainability and scalability. It also satisfies Single Responsibility
33 Segregate each part of the program and test that the individual modules by unit testing
34 Faster development process
35 Ability to provide multiple views
36 Support for asynchronous technique
37 Modification does not affect the entire model
40 Entire Python OSM Light Weight UI code can be replaced using Angular MVC framework without any
41 worry of regression. The new UI development will happen in a separate repo. Current UI can be
42 switched when ready without having any impact on running OSM development work (since UI is
43 dependent on the NBI APIs only)
46 Over and above the existing features, we will also bring in first support for OpenStack. Since the
47 framework is extensible, we can also bring in support for other VIMs as we go along.
48 Metrics from Prometheus
49 World class UX design for a elegant B2B experience
51 ## Demo or definition of done ##
52 Testing all the existing use cases and flows supported by current UI