52°North SPS v2.0 - Design Documentation

Design description

The 52°North SPS 2.0 reference implementation follows a loosely coupled design. The API defines interfaces and central management logic to glue together every component implementing SPS interfaces.

component_model.png

An incoming service request is delegated to the SensorPlanningService interface. It is an interface aggregating operational capabilities of the configured SPS modules. Each incoming request is delegated to this interface from the Webapp module which serves as frontend to the SPS and provides actual service bindings (plain old xml, SOAP, etc.). For now, plain old xml is supported only, but the design allows extending new service bindings with less efforts.

service_model.png

The Core module provides implementations of the mandatory SPS interfaces provided by the API, i.e. BasicSensorPlanner and SensorProvider. Each implementation makes use of an SpsOperator which provides access to the SPS framework. The SPS is designed modular and can be extended by further modules to enable functionality (e.g. cancelling or updating tasks). Because of the loosely coupled and dynamic design, a running SPS does not have to be recompiled if new modules are available. Declaration of available modules within the SPS configuration is sufficient.

sps_api.png

52°North SPS 2.0 reference implementation provides central sensor and corresponding task management. It is designed to keep task and sensor instance management within the SPS framework so that sensor plugin developers can focus on implementing plugin logic.

storage_model.png

Implementing a plugin for a concrete sensor type requires implementing the SensorPlugin and SensorInterfaceFactory interfaces. While the SensorInterfaceFactory implementation is only a mean for the SensorInstanceProvider to create sensor instances for a concrete (sensor) plugin type, the SensorPlugin class provides access to task storage management and the sensor's sensor configuration.

sensor_model.png

I Attachment Action Size Date Who Comment
component_model.pngpng component_model.png manage 52 K 06 Aug 2012 - 07:30 HenningBredel  
service_model.pngpng service_model.png manage 37 K 06 Aug 2012 - 07:30 HenningBredel  
sps_api.pngpng sps_api.png manage 42 K 06 Aug 2012 - 07:30 HenningBredel  
storage_model.pngpng storage_model.png manage 95 K 06 Aug 2012 - 08:01 HenningBredel  
Topic revision: r3 - 22 Apr 2015, EikeJuerrens
Legal Notice | Privacy Statement


This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Wiki? Send feedback