Topology Server

The topology server should be rewritten in Java to keep all serverside functionality in one programming language.

Technology to be used

  • Spring boot (2.3.4.RELEASE) with Spring Web (based on Spring MVC)

  • Java 11

  • Jetty 9.4.31

  • some form of swagger for documentation (to be specified)



Extensions

The following functionality should be added:

  • auth using shiro

  • winlab network data

  • loading of multiple providers (eg. winlab (AND) 5GBerlin) (must be comma-separated) 

  • version info 

  • following losses and worst month calculations (existing endpoints get renamed with an 'annual', see 'upgraded' section)

    • absorption - annual and worst month

    • rain - worst month

    • rainvalue - worst month



New Endpoints

URL

New Endpoints

URL

version info

/info/version

rain - worst month

/calculations/rain/wm/:lat1/:lon1/:lat2/:lon2/:freq/:distance/:polarization

rainvalue - worst month

/calculations/rainval/wm/:lat1/:lon1/:lat2/:lon2

absorbtion - annual

/calculations/absorption/annual/:lat1/:lon1/:lat2/:lon2/:distance/:frequency

absorbtion - worst month

/calculations/absorption/wm/:lat1/:lon1/:lat2/:lon2/:distance/:frequency



Startup parameter

Example

Note

Startup parameter

Example

Note

model

5GBerlin

starting one model

model

5GBerlin,winlab

starting two models, must be comma seperated

Upgraded

rain 

/calculations/rain/:lat1/:lon1/:lat2/:lon2/:freq/:distance/:polarization

-> 

/calculations/rain/annual/:lat1/:lon1/:lat2/:lon2/:freq/:distance/:polarization

rainval

calculations/rainval/:lat1/:lon1/:lat2/:lon2 

-> 

calculations/rainval/annual/:lat1/:lon1/:lat2/:lon2



Overview

(UML diagram to be added)