Difference between revisions of "IstSOS Web API"

From OSGeo
Jump to navigation Jump to search
Line 27: Line 27:
 
== Schedule ==
 
== Schedule ==
  
=== istSOS Web API ===
+
Development of <b>istSOS Web API</b> consists of two parts:
Development of istSOS Web API consists of two parts:
 
 
* JavaScript Core Library
 
* JavaScript Core Library
 
* Web App for creating Web Widgets, based on previosly developed core library
 
* Web App for creating Web Widgets, based on previosly developed core library
Line 34: Line 33:
 
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).
 
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 ====
+
=== istSOS JavaScript Core ===
  
 
:{| class="wikitable"
 
:{| class="wikitable"
Line 47: Line 46:
 
|}
 
|}
  
====istSOS Online Web Widget Creator====
+
===istSOS Online Web Widget Creator===
  
 
:{| class="wikitable"
 
:{| class="wikitable"

Revision as of 07:57, 12 June 2016

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

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.



Week 3

What did you get done this week?

This week, I’ve implemented Configuration, Service, Offering, ObservedProperty, DataQuality, UnitOfMeasure and Date classes. Service class is partially implemented, because it depends on other classes that should be implemented soon. Also, I’ve created an html and JavaScript file for testing and I’ve already tested some of the previously implemented classes, but the new ones are about to be tested. Appart from mentioned, I’ve updated OSgeo wiki page with timeline and weekly reports, also you can take a look at README file in my GitHub forked repository, because I’ve started with creating API documentation for the core library I’ve been working on.

What do you plan on doing next week?

Next week, I plan to implement last two classes (Procedure, VirtualProcedure) and to do all the testing, bug fixes and refining the code and documentation. Hopefully, by June 20-th, I will be releasing istSOS JavaScript core library.

Are you blocked on anything?

Currently, everything is fine. I solved the issue with AJAX requests in consultance with my mentors.



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: