SlideShare uma empresa Scribd logo
1 de 15
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
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
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
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
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
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
DAO Interfaces

                           Interfaces to be
                           implemented
                           depend on use
                           case.




SOS Data Access Patterns
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
DAO Implementation Example: PostGIS




SOS Data Access Patterns
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
SOAP Service (cont.)

                           52n-sos-dao-pegelonline




SOS Data Access Patterns
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
SOS 4.0 Implementation




SOS Data Access Patterns
SOS 4.0 Implementation (cont.)




SOS Data Access Patterns
More information:

            http://52north.org/sensorweb

            s.jirka@52north.org
            d.nuest@52north.org




SOS Data Access Patterns

Mais conteúdo relacionado

Semelhante a OGC SOS for Your Data

Sector Cloudcom Tutorial
Sector Cloudcom TutorialSector Cloudcom Tutorial
Sector Cloudcom Tutoriallilyco
 
What's Next Replay - SpringSource
What's Next Replay - SpringSourceWhat's Next Replay - SpringSource
What's Next Replay - SpringSourceZenikaOuest
 
A cloud enviroment for backup and data storage
A cloud enviroment for backup and data storageA cloud enviroment for backup and data storage
A cloud enviroment for backup and data storageIGEEKS TECHNOLOGIES
 
Azure Platform
Azure Platform Azure Platform
Azure Platform Wes Yanaga
 
A cloud environment for backup and data storage
A cloud environment for backup and data storageA cloud environment for backup and data storage
A cloud environment for backup and data storageIGEEKS TECHNOLOGIES
 
Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamBrian Benz
 
Large Scale On-Demand Image Processing For Disaster Relief
Large Scale On-Demand Image Processing For Disaster ReliefLarge Scale On-Demand Image Processing For Disaster Relief
Large Scale On-Demand Image Processing For Disaster ReliefRobert Grossman
 
FIWARE Global Summit - A Multi-database Plugin for the Orion FIWARE Context B...
FIWARE Global Summit - A Multi-database Plugin for the Orion FIWARE Context B...FIWARE Global Summit - A Multi-database Plugin for the Orion FIWARE Context B...
FIWARE Global Summit - A Multi-database Plugin for the Orion FIWARE Context B...FIWARE
 
NoSQL on microsoft azure april 2014
NoSQL on microsoft azure   april 2014NoSQL on microsoft azure   april 2014
NoSQL on microsoft azure april 2014Brian Benz
 
WPS Application Patterns
WPS Application PatternsWPS Application Patterns
WPS Application PatternsDaniel Nüst
 
Java on Rails SV Code Camp 2014
Java on Rails SV Code Camp 2014Java on Rails SV Code Camp 2014
Java on Rails SV Code Camp 2014Tim Hobson
 
2192020 Originality Reporthttpsucumberlands.blackboar.docx
2192020 Originality Reporthttpsucumberlands.blackboar.docx2192020 Originality Reporthttpsucumberlands.blackboar.docx
2192020 Originality Reporthttpsucumberlands.blackboar.docxRAJU852744
 
2192020 Originality Reporthttpsucumberlands.blackboar.docx
2192020 Originality Reporthttpsucumberlands.blackboar.docx2192020 Originality Reporthttpsucumberlands.blackboar.docx
2192020 Originality Reporthttpsucumberlands.blackboar.docxlorainedeserre
 
Data Virtualization Primer - Introduction
Data Virtualization Primer - IntroductionData Virtualization Primer - Introduction
Data Virtualization Primer - IntroductionKenneth Peeples
 
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Services
Creating Flexible Data Services For Enterprise Soa With Wso2 Data ServicesCreating Flexible Data Services For Enterprise Soa With Wso2 Data Services
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Servicessumedha.r
 
Silverlight Document Search Engine
Silverlight Document Search EngineSilverlight Document Search Engine
Silverlight Document Search EngineMustata Bogdan
 
Developing With Openbravo Rl Eppt
Developing With Openbravo Rl EpptDeveloping With Openbravo Rl Eppt
Developing With Openbravo Rl Epptvobree
 

Semelhante a OGC SOS for Your Data (20)

Sector Cloudcom Tutorial
Sector Cloudcom TutorialSector Cloudcom Tutorial
Sector Cloudcom Tutorial
 
HDF-EOS 3.0 Functional and Structural Design
HDF-EOS 3.0 Functional and Structural DesignHDF-EOS 3.0 Functional and Structural Design
HDF-EOS 3.0 Functional and Structural Design
 
What's Next Replay - SpringSource
What's Next Replay - SpringSourceWhat's Next Replay - SpringSource
What's Next Replay - SpringSource
 
A cloud enviroment for backup and data storage
A cloud enviroment for backup and data storageA cloud enviroment for backup and data storage
A cloud enviroment for backup and data storage
 
Azure Platform
Azure Platform Azure Platform
Azure Platform
 
A cloud environment for backup and data storage
A cloud environment for backup and data storageA cloud environment for backup and data storage
A cloud environment for backup and data storage
 
Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure team
 
Large Scale On-Demand Image Processing For Disaster Relief
Large Scale On-Demand Image Processing For Disaster ReliefLarge Scale On-Demand Image Processing For Disaster Relief
Large Scale On-Demand Image Processing For Disaster Relief
 
FIWARE Global Summit - A Multi-database Plugin for the Orion FIWARE Context B...
FIWARE Global Summit - A Multi-database Plugin for the Orion FIWARE Context B...FIWARE Global Summit - A Multi-database Plugin for the Orion FIWARE Context B...
FIWARE Global Summit - A Multi-database Plugin for the Orion FIWARE Context B...
 
DEV-1467 - Darwino
DEV-1467 - DarwinoDEV-1467 - Darwino
DEV-1467 - Darwino
 
NoSQL on microsoft azure april 2014
NoSQL on microsoft azure   april 2014NoSQL on microsoft azure   april 2014
NoSQL on microsoft azure april 2014
 
WPS Application Patterns
WPS Application PatternsWPS Application Patterns
WPS Application Patterns
 
Java on Rails SV Code Camp 2014
Java on Rails SV Code Camp 2014Java on Rails SV Code Camp 2014
Java on Rails SV Code Camp 2014
 
2192020 Originality Reporthttpsucumberlands.blackboar.docx
2192020 Originality Reporthttpsucumberlands.blackboar.docx2192020 Originality Reporthttpsucumberlands.blackboar.docx
2192020 Originality Reporthttpsucumberlands.blackboar.docx
 
2192020 Originality Reporthttpsucumberlands.blackboar.docx
2192020 Originality Reporthttpsucumberlands.blackboar.docx2192020 Originality Reporthttpsucumberlands.blackboar.docx
2192020 Originality Reporthttpsucumberlands.blackboar.docx
 
Data Virtualization Primer - Introduction
Data Virtualization Primer - IntroductionData Virtualization Primer - Introduction
Data Virtualization Primer - Introduction
 
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Services
Creating Flexible Data Services For Enterprise Soa With Wso2 Data ServicesCreating Flexible Data Services For Enterprise Soa With Wso2 Data Services
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Services
 
Silverlight Document Search Engine
Silverlight Document Search EngineSilverlight Document Search Engine
Silverlight Document Search Engine
 
Developing With Openbravo Rl Eppt
Developing With Openbravo Rl EpptDeveloping With Openbravo Rl Eppt
Developing With Openbravo Rl Eppt
 
Ultima 14th March
Ultima 14th MarchUltima 14th March
Ultima 14th March
 

Mais de Daniel Nüst

RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)Daniel Nüst
 
containerit at useR!2017 conference, Brussels
containerit at useR!2017 conference, Brusselscontainerit at useR!2017 conference, Brussels
containerit at useR!2017 conference, BrusselsDaniel Nüst
 
Docker @ Data Science Meetup
Docker @ Data Science MeetupDocker @ Data Science Meetup
Docker @ Data Science MeetupDaniel Nüst
 
Containers for sensor web services, applications and research @ Sensor Web Co...
Containers for sensor web services, applications and research @ Sensor Web Co...Containers for sensor web services, applications and research @ Sensor Web Co...
Containers for sensor web services, applications and research @ Sensor Web Co...Daniel Nüst
 
Docker @ FOSS4G 2016, Bonn
Docker @ FOSS4G 2016, BonnDocker @ FOSS4G 2016, Bonn
Docker @ FOSS4G 2016, BonnDaniel Nüst
 
Frameworks for geoprocessing on the web with R
Frameworks for geoprocessing on the web with RFrameworks for geoprocessing on the web with R
Frameworks for geoprocessing on the web with RDaniel Nüst
 
Agile 2015 a-geo-label-for-the-sensor-web
Agile 2015 a-geo-label-for-the-sensor-webAgile 2015 a-geo-label-for-the-sensor-web
Agile 2015 a-geo-label-for-the-sensor-webDaniel Nüst
 
Visualising Interpolations of Mobile Sensor Observations
Visualising Interpolations of Mobile Sensor ObservationsVisualising Interpolations of Mobile Sensor Observations
Visualising Interpolations of Mobile Sensor ObservationsDaniel Nüst
 
JavaScript Client Libraries for the (Former) Long Tail of OGC Standards
JavaScript Client Libraries for the (Former) Long Tail of OGC StandardsJavaScript Client Libraries for the (Former) Long Tail of OGC Standards
JavaScript Client Libraries for the (Former) Long Tail of OGC StandardsDaniel Nüst
 
Open Source and GitHub for Teaching with Software Development Projects
Open Source and GitHub for Teaching with Software Development ProjectsOpen Source and GitHub for Teaching with Software Development Projects
Open Source and GitHub for Teaching with Software Development ProjectsDaniel Nüst
 
5 Star Open Geoprocessing
5 Star Open Geoprocessing5 Star Open Geoprocessing
5 Star Open GeoprocessingDaniel Nüst
 
The 52°North Web Processing Service
The 52°North Web Processing ServiceThe 52°North Web Processing Service
The 52°North Web Processing ServiceDaniel Nüst
 
Linked data and rdf
Linked  data and rdfLinked  data and rdf
Linked data and rdfDaniel Nüst
 
sos4R - Accessing SensorWeb Data from R
sos4R - Accessing SensorWeb Data from Rsos4R - Accessing SensorWeb Data from R
sos4R - Accessing SensorWeb Data from RDaniel Nüst
 
Connecting R to the Sensor Web
Connecting R to the Sensor WebConnecting R to the Sensor Web
Connecting R to the Sensor WebDaniel Nüst
 
sos4R - 52° North Innovation Price Presentation
sos4R - 52° North Innovation Price Presentationsos4R - 52° North Innovation Price Presentation
sos4R - 52° North Innovation Price PresentationDaniel Nüst
 
Visualizing the Availability of Temporally Structured Sensor Data
Visualizing the Availability of Temporally Structured Sensor DataVisualizing the Availability of Temporally Structured Sensor Data
Visualizing the Availability of Temporally Structured Sensor DataDaniel Nüst
 

Mais de Daniel Nüst (19)

RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)
 
containerit at useR!2017 conference, Brussels
containerit at useR!2017 conference, Brusselscontainerit at useR!2017 conference, Brussels
containerit at useR!2017 conference, Brussels
 
Docker @ Data Science Meetup
Docker @ Data Science MeetupDocker @ Data Science Meetup
Docker @ Data Science Meetup
 
Containers for sensor web services, applications and research @ Sensor Web Co...
Containers for sensor web services, applications and research @ Sensor Web Co...Containers for sensor web services, applications and research @ Sensor Web Co...
Containers for sensor web services, applications and research @ Sensor Web Co...
 
Docker @ FOSS4G 2016, Bonn
Docker @ FOSS4G 2016, BonnDocker @ FOSS4G 2016, Bonn
Docker @ FOSS4G 2016, Bonn
 
Atlas Zukünfte
Atlas ZukünfteAtlas Zukünfte
Atlas Zukünfte
 
Frameworks for geoprocessing on the web with R
Frameworks for geoprocessing on the web with RFrameworks for geoprocessing on the web with R
Frameworks for geoprocessing on the web with R
 
Agile 2015 a-geo-label-for-the-sensor-web
Agile 2015 a-geo-label-for-the-sensor-webAgile 2015 a-geo-label-for-the-sensor-web
Agile 2015 a-geo-label-for-the-sensor-web
 
Visualising Interpolations of Mobile Sensor Observations
Visualising Interpolations of Mobile Sensor ObservationsVisualising Interpolations of Mobile Sensor Observations
Visualising Interpolations of Mobile Sensor Observations
 
JavaScript Client Libraries for the (Former) Long Tail of OGC Standards
JavaScript Client Libraries for the (Former) Long Tail of OGC StandardsJavaScript Client Libraries for the (Former) Long Tail of OGC Standards
JavaScript Client Libraries for the (Former) Long Tail of OGC Standards
 
Open Source and GitHub for Teaching with Software Development Projects
Open Source and GitHub for Teaching with Software Development ProjectsOpen Source and GitHub for Teaching with Software Development Projects
Open Source and GitHub for Teaching with Software Development Projects
 
5 Star Open Geoprocessing
5 Star Open Geoprocessing5 Star Open Geoprocessing
5 Star Open Geoprocessing
 
The 52°North Web Processing Service
The 52°North Web Processing ServiceThe 52°North Web Processing Service
The 52°North Web Processing Service
 
Linked data and rdf
Linked  data and rdfLinked  data and rdf
Linked data and rdf
 
sos4R - Accessing SensorWeb Data from R
sos4R - Accessing SensorWeb Data from Rsos4R - Accessing SensorWeb Data from R
sos4R - Accessing SensorWeb Data from R
 
Connecting R to the Sensor Web
Connecting R to the Sensor WebConnecting R to the Sensor Web
Connecting R to the Sensor Web
 
sos4R @ OGC TC
sos4R @ OGC TCsos4R @ OGC TC
sos4R @ OGC TC
 
sos4R - 52° North Innovation Price Presentation
sos4R - 52° North Innovation Price Presentationsos4R - 52° North Innovation Price Presentation
sos4R - 52° North Innovation Price Presentation
 
Visualizing the Availability of Temporally Structured Sensor Data
Visualizing the Availability of Temporally Structured Sensor DataVisualizing the Availability of Temporally Structured Sensor Data
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
  • 9. DAO Implementation Example: PostGIS 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
  • 11. SOAP Service (cont.) 52n-sos-dao-pegelonline 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
  • 13. SOS 4.0 Implementation SOS Data Access Patterns
  • 14. SOS 4.0 Implementation (cont.) SOS Data Access Patterns
  • 15. More information: http://52north.org/sensorweb s.jirka@52north.org d.nuest@52north.org SOS Data Access Patterns