IstSOS Web API

From OSGeo
Jump to navigation Jump to search

Currently in progress...

Introduction

istSOS[1][2] is an OGC SOS server implementation written in Python. istSOS allows managing and dispatch observations from monitoring sensors according to the Sensor Observation Service standard.

istSOS Web API is one of the accepted project ideas for Google Summer of Code 2016.

Building of istSOS Web API is focused on two parts:

  • development of the JavaScript core library, that will expose in JavaScript language, communication with the istSOS REST API interface.
  • building the easy-to-use Web framework, which will use JavaScript core library to enable creation of feature-rich Web widget, that will be easily embeddable into existing Web sites.

Development can be followed at the following links:

Student working on istSOS Web API: Luka Glušica
Mentors: Milan Antonovic, Massimiliano Cannata


[1] https://wiki.osgeo.org/wiki/IstSOS
[2] http://istsos.org

Possible future extensions

Schedule

istSOS Web API

Development of istSOS Web API consists of two parts:

  • JavaScript Core Library
  • Web App for creating Web Widgets, based on previosly developed core library

Working schedule presented below, is arranged in consultance with the mentors and other students working on the istSOS projects. The planning isn't strict for "in-between" deadlines, because of varying nature of our projects, but it is strict for two major parts, mentioned above (June 20 and August 22).

istSOS JavaScript Core

Task From To
Requirements analysis May 23 May 30
Coding May 30 June 13
Testing, bug fix, release June 13 June 20

istSOS Online Web Widget Creator

Task From To
Design and Requirements analysis June 20 June 27
Coding June 27 July 18
Coding(VistSOS Web Component Integration) July 18 August 8
Coding, Testing, Bug Fixing, Documentation August 8 August 22

Reports

Week 1

What did you get done this week?

This week, I’ve been indentifying all the admin HTTP requests to the server, that are targeting the istSOS RESTful API. By identifying, I mean writting down:

  • URL
  • type of request (GET, POST, PUT, DELETE)
  • response data
  • request payload

Also, I’ve started designing the class structure, for the purpose of developing JavaScript core library. All of the mentioned work, I’m doing in partnership with a GsoC student Florin-Daniel Cioloboc, who’s working on an Java core library for istSOS and our work overlaps in this section.

What do you plan on doing next week?
Next week, I will be finishing the class structure and begin with the actual development/coding of JavaScript core library. I will be also creating some test pages along the way, to check for possible errors.

Are you blocked on anything?
Currently, everything is going according to plan.

Week 2

What did you get done this week?
This week, I've been continuosly working on class structure design for JavaScript core library and also started commiting some code. The was to implement IstSOS, Server and Database classes, but let's say that 90% of it is done.

What do you plan on doing next week?
Next week, I will be completing the class structure and will try to implement more classes like Service, Offering, Procedure.

Are you blocked on anything?
Actually, the reason why 90% of mentioned classes were done, is that I was unable to store JSON response object into an outside variable. For the information, I've been using Google Closure library for executing AJAX requests.

Who will use results of this project

Student's biography

My name is Luka Glušica and I'm a MSc student at the Faculty of Civil Engineering, Department of Geodesy and Geoinformatics, University of Belgrade, Serbia. Master's degree program, that I'm currently enrolled in, is oriented towards GIS (including programming), Web Cartography and Remote Sensing.

I'm familiar with Windows and Linux (Ubuntu, Linux Mint) operating system environments, including Microsoft Office (Word, Excel, Access) and Libre Office (Writter, Calc, Base) solutions, and I'm using them on daily basis.

During my studies, I've developed the set of skills listed below:

  • Web development - HTML, CSS, JavaScript (Jquery, OpenLayers 3), Bootstrap
  • Object oriented programming - Java, Python
  • CAD solution - Certified Professional in AutoCAD 2014 2D Drafting
  • GIS - QGIS, ArcGIS, Manifold System, Idrisi, SAGA
  • Database systems - PostgreSQL/PostGIS

Some of my practice work: