javascript client libraries for the (former) long tail of ogc standards

31
JavaScript Client Libraries for the (Former) Long Tail of OGC Standards FOSS4G-Europe, Bremen, July 2014 Daniel Nüst (52°North GmbH), Matthes Rieke (52N), Paul Breen (BAS)

Upload: daniel-nuest

Post on 11-May-2015

510 views

Category:

Software


1 download

DESCRIPTION

Presented at FOSS4-G Europe 2014, Bremen Authors: Daniel Nüst ([email protected], 52°North GmbH) Matthes Rieke ([email protected], 52°North GmbH) Paul Breen ([email protected], British Antarctic Survey) More and more information technology is moving into a cloud-based infrastructures for both data storage as well as user interfaces and leverages browser technologies, i.e. Javascript and HTML5, also for mobile devices. Users always use the latest version and the environment is well controlled: an internet browser. General purpose libraries (e.g. jQuery) and web-application frameworks (e.g. AngularJS) facilitate the development of complex applications. In the geospatial domain such frameworks and libraries are combined with mapping libraries, such as OpenLayers (OL) or Leaflet, and visualisation libraries to build complex applications. These applications display geospatial data coming from standardized view and feature services, most importantly the Open Geospatial Consortium’s (OGC) Web Map Service (WMS) and Web Features Service (WFS). Both server and client libraries are mature and have reached a very stable level and wide distribution. What is missing today are generic libraries that operate at the same level of performance and quality to (i) access observation and time series data coming from OGC Sensor Observation Services (SOS), and (ii) control online geoprocesses published as an OGC Web Processing Service (WPS). These standards are less widespread than W(M,F)S but gain momentum as data volumes increase, for example with a myriad of smart sensors in the internet of things or new EO satellite missions, and subsequent requirements for sophisticated architectures for processing and management of time series data. Observing these developments lead to the birth of two new open source Javascript library projects that are presented in this talk. SOS.js (https://github.com/52North/sos-js) can access SOS data and be used for sophisticated lightweight browser applications for discovering and displaying time series data as plots, tables, and maps. wps-js (https://github.com/52North/wps-js/) is a client library for the WPS generating forms based on the standardized metadata from the service and interactively creating and submitting processing tasks. During the talk we demonstrate applications build with the libraries and share experiences from development. A goal for both libraries is to become independent of OL for request and response encoding and provide service access with a minimal footprint. We see an advantage of developing such small and focussed libraries maintained by field experts in these non-mainstream domains. We’ll happily discuss if this is the best approach and pose the following question: Is there a (technical, organisational) way to build a compatible Javascript client frameworks across all geo-service standards?

TRANSCRIPT

Page 1: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

FOSS4G-Europe, Bremen, July 2014

Daniel Nüst (52°North GmbH), Matthes Rieke (52N), Paul Breen (BAS)

Page 2: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 2

http://commons.wikimedia.org/wiki/File:Long_tail.svg

Page 3: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 3

2014JavaScript is on the rise (node, JS engines)

Cloud

jQuery

AngularJS, Dojo, ExtJS, …

OpenLayers, Leaflet, GeoExt, …

Page 4: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 4

Motivation

Create generic client libraries because…

applications move to the browser,WPS and SOS reach(ed) 2nd version,need to build apps, and

we don’t want to repeat ourselves.

Page 5: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 5

SOS.JS AND WPS-JSComing up: new project introduction and demonstration

Page 6: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 6

WPS-JS

Page 7: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 7

About wps-js

JavaScript WPS Client to build interactive forms to control standardized processes.

Build on: OpenLayers (requests, XML)

GitHub: https://github.com/52North/wps-js

Page 8: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 8

Page 9: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 9

htt

ps:

//w

ww

.ohlo

h.n

et/

p/w

ps-

js

Page 10: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 10

OGC WPS“Geo-ready” web processing standard

GetCapabilitiesDescribeProcessExecute

WPS-G, WPS-T

More: http://www.ogcnetwork.net/wps

Page 11: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 11

wps-js FeaturesForm generation based on process descriptions

WPS 1.0.0

Interactive execution of processes

Pre-configuration of UI/form

Style-free

Page 12: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 12

Demo

http://nuest.github.io/wps-js/http://geostatistics.demo.52north.org/wps/client.htmlhttp://geoviqua.dev.52north.org/wps-js-client/

Simple calculatorTable output

Data intercomparison and colocation(pre-configuration)

Page 13: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 13

Page 14: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 14

Page 15: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 15

Page 16: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 16

Page 17: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 17

http://geoviqua.dev.52north.org/wps-js-client/demo/geca-intercomparison/client.html?

source=Testlink&_pdPortlet_WAR_geoportal_uuid=067a17f9-8d37-4d15-b405-

25e701dd03b0&_pdPortlet_WAR_geoportal_uuid=31172be3-01ae-4d4d-b500-

8e734a1d5432&hide=false

Page 18: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 18

SOS.JS

Page 19: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 19

About SOS.jsJavascript library to browse, visualise, and access, data from an OGC Sensor Observation Service.

Basis: OpenLayers

GitHub: https://github.com/52North/sos-js

History…

Page 20: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 20

Page 21: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 21

htt

ps:

//w

ww

.ohlo

h.n

et/

p/s

os-

js

Page 22: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 22

Live Demos

http://basmet.nerc-bas.ac.uk/sos/http://52north.github.io/sos-js/http://sensors.geonovum.nl/sos-js-test/sos-app-test.html

[integrated in 52°North SOS]

Page 23: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 23

Page 24: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 24

Page 25: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 25

Page 26: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 26

Page 27: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 27

ExperiencesShortest path to beta (OL)

Raw time series data can be handled in JSXML is possible, of course JSON is simpler…

Hard to reach “completeness” when driven by projects

Be aware of CORS when you deploy services

Page 28: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 28

GoalsUseful and usable libraries for application developers (not SWE/processing experts)

Facilitate usage of WPS and SOS

Minimal footprintFlexible use (domain applications)

User-friendly interfaces

Non-copyleft licenses

Be used by OpenLayers

Page 29: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 29

Steps1) Become independent…

from mapping librariesfrom specific frameworksmodularizerelease version 1.0

2) Extend developer/user community

3) Ease usage (plugins for JS libs/JS mapping)

Page 30: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 30

Challenges

“lib-independent library”

JavaScript modularization

Coordination and community building

Testing and service compatibility

Page 31: JavaScript Client Libraries for the (Former) Long Tail of OGC Standards

SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 31

@FiveTwoN

http://blog.52north.org/

52north.org/communities/

Is there a (technical, organisational) way to build a compatible JavaScript OGC client across all standards?