How can you publish your own datasets using the Open Geospatial Consortium's Sensor Observation Service Standard? We present straightforward solutions for the 52°North open source SOS implementation for both the stable and current development version.
Visualizing the Availability of Temporally Structured Sensor Data
OGC SOS for Your Data
1. 52°North SOS for My Data and
as a Proxy
Increasing your data’s interoperability with an OGC
standard conform open source Sensor Observation
Service
Simon Jirka & Daniel Nüst
52°North GmbH
2. Contents
How can you publish existing sensor data
with a standard conform OGC Sensor
Observation Service (SOS) using the
52°North SOS open source software?
SOS Data Access Patterns
3. SOS Application Patterns
Standalone SOS
– Import data via feeding
• Transactional interface (e.g. with SOS Importer:
https://wiki.52north.org/bin/view/SensorWeb/SosImporter)
• Insertion to database (install clean SOS, complex schema to follow)
– Sensors support SWE (Sensor Bus, InsertResult,
SIDs)
SOS as a Proxy
– Connect to an existing (proprietary) database, web
service interface, …
– Existing sensor network (legacy hardware/software)
– SOS = Interoperability Layer
SOS Data Access Patterns
4. SOS 3.5
Java Implementation
Current stable development version
Code: https://svn.52north.org/cgi-
bin/viewvc.cgi/main/SOS/Service/trunk/SOS/52n-
sos/?root=sensorweb
DAO Pattern
• Data Access Objects (J2EE)
• Database/data source/persistence abstraction layer
(service interface)
SOS Data Access Patterns
5. DAO Advantages
Separation of Concerns
– Independent development of components
– Encapsulation (of changes)
– Reusability
– Single point of change for Object < >
Database data exchange
SOS Data Access Patterns
6. DAO Implementation
Interfaces
– 52n-sos-core > org.n52.sos.ds
PostgreSQL/PostGIS Implementation
– 52n-sos-dao-postgis
Configuration
– 52n-sos > build.properties
• 52n-sos-service > pom.xml, sos.config
Code: https://svn.52north.org/svn/swe/main/SOS/Service/trunk/SOS/52n-sos
SOS Data Access Patterns
7. DAO Interfaces
Interfaces to be
implemented
depend on use
case.
SOS Data Access Patterns
8. DAO Configuration
Set your factory
implementation in
the build.properites
file and add the
combiled class to
the build path (e.g.
WEB-INFlib
directory.
SOS Data Access Patterns
10. DAO Implementation: SOAP Service
BAW – SOS
PegelOnline SOAP Service
http://www.pegelonline.wsv.de/webservice/ueberblick
Code: https://svn.52north.org/svn/swe/main/SOS/Extensions/BAW/
Documentation (recommended):
https://svn.52north.org/svn/swe/main/SOS/Extensions/BAW/trunk/P
egelOnlineSOS/doc/howto/PegelOnline_SOS%20Installation.pdf
SOS Data Access Patterns
12. SOS 4.0
Current development version, uses
Hibernate
Much more modularized and flexible
– 52n-sos-api
– 52n-sos-hibernate-{core, enhanced,
resultHandling, transactional}
– Based on Service Loader
http://docs.oracle.com/javase/7/docs/api/java/util/ServiceLoader.html
Code: https://svn.52north.org/svn/swe/main/SOS/Service/branches/52n-
sos-400-refactored/
SOS Data Access Patterns