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)
SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 2
http://commons.wikimedia.org/wiki/File:Long_tail.svg
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, …
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.
SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 5
SOS.JS AND WPS-JSComing up: new project introduction and demonstration
SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 6
WPS-JS
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
SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 8
SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 9
htt
ps:
//w
ww
.ohlo
h.n
et/
p/w
ps-
js
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
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
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)
SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 13
SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 14
SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 15
SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 16
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
SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 18
SOS.JS
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…
SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 20
SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 21
htt
ps:
//w
ww
.ohlo
h.n
et/
p/s
os-
js
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]
SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 23
SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 24
SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 25
SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 26
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
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
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)
SOS.js & wps-js @ FOSS4G-E, Bremen, 2014 30
Challenges
“lib-independent library”
JavaScript modularization
Coordination and community building
Testing and service compatibility
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?
Top Related