THE VOEIS HIS GATEWAY. A REST Interface for HydroServer using ODM 1.1

Similar documents
A Cyber-Infrastructure for a Virtual Observatory and Ecological Informatics System -VOEIS

How to use Water Data to Produce Knowledge: Data Sharing with the CUAHSI Water Data Center

Putting the Archives to Work: Workflow and Metadata-driven Analysis in LTER Science

Geobarra.org: A system for browsing and contextualizing data from the American Recovery and Reinvestment Act of 2009

Non conventional attacks Some things your security scanner won t find OWASP 23/05/2011. The OWASP Foundation.

Realtime visitor analysis with Couchbase and Elasticsearch

Ei Dynamics Data Integration Solution. For

Orchestrate JBoss Middleware with Ansible Tower Red Hat Summit San Francisco

Managing Remote Medical Devices Through The Cloud. Joel K Young SVP of Research and Development & CTO Digi International Friday, September 9 11:30AM

COMMUNICATION PROTOCOLS

Extract API: Build sophisticated data models with the Extract API

Science-as-a-Service

How to Pick the Right PI Developer Technology for your Project

LEMONLDAP::NG 2.0. FOSDEM 2019

Design and Architecture. Derek Collison

Jeffery S. Horsburgh. Utah Water Research Laboratory Utah State University

An Application for Monitoring Solr

PROCE55 Mobile: Web API App. Web API.

Copyright 2014 Blue Net Corporation. All rights reserved

PRISMTECH. RESTful DDS. Expanding the reach of the information backbone. Powering Netcentricity

DOC // JAVA TOMCAT WEB SERVICES TUTORIAL EBOOK

1z0-479 oracle. Number: 1z0-479 Passing Score: 800 Time Limit: 120 min.

Data Access and Analysis with Distributed, Federated Data Servers in climateprediction.net

Containers, Serverless and Functions in a nutshell. Eugene Fedorenko

Introduction and Overview Socket Programming Lower-level stuff Higher-level interfaces Security. Network Programming. Samuli Sorvakko/Nixu Oy

CPET 581 E-Commerce & Business Technologies. Topics

Chris Schalk Ryan Boyd

Introduction and Overview Socket Programming Higher-level interfaces Final thoughts. Network Programming. Samuli Sorvakko/Nixu Oy

Microservices, Messaging and Science Gateways. Review microservices for science gateways and then discuss messaging systems.

Lecture 8: February 19

Develop Mobile Front Ends Using Mobile Application Framework A - 2

Mail: Web: juergen-schuster-it.de

Release Notes Tripolis Dialogue

CONTAINER CLOUD SERVICE. Managing Containers Easily on Oracle Public Cloud

SYMFONY2 WEB FRAMEWORK

HIS document 4 Configuring web services for an observations database (version 1.0)

Leveraging the Globus Platform in your Web Applications. GlobusWorld April 26, 2018 Greg Nawrocki

GIOTTO. Design and Architecture

Oracle Cloud 1z0-932

Microsoft Azure Blob Storage to Alation Integration

Mitchell Bosecke, Greg Burlet, David Dietrich, Peter Lorimer, Robin Miller

Understanding RESTful APIs and documenting them with Swagger. Presented by: Tanya Perelmuter Date: 06/18/2018

The Future of the Realtime Web BETTER APIS WITH GRAPHQL. Josh

CIS-CAT Pro Dashboard Documentation

Documenting APIs with Swagger. TC Camp. Peter Gruenbaum

Release Presentation. ODS Web Services Version Open Data Services Via Web Services. Release Date: 2014/09/30

ORACLE APPLICATION EXPRESS, ORACLE REST DATA SERVICES, & WEBLOGIC 12C AUTHOR: BRAD GIBSON SENIOR SOLUTIONS ARCHITECT ADVIZEX

A USER S GUIDE TO REGISTERING AND MAINTAINING DATA SERVICES IN HIS CENTRAL 2.0

Azure Integration Services

<Insert Picture Here> MySQL Cluster What are we working on

XML Gateway. Factsheet. J System Solutions. Version 1.1

Agent-Enabling Transformation of E-Commerce Portals with Web Services

JELASTIC PLATFORM-AS-INFRASTRUCTURE

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

But before understanding the Selenium WebDriver concept, we need to know about the Selenium first.

Understanding what makes RhoMobile tick

Geospatial three amigos: Python, Leaflet, and ElasticSearch. Roberto Rosario

Overhauling Dev Arch with Ansible Tower and Docker

Webservices In Java Tutorial For Beginners Using Netbeans Pdf

Introduction to MySQL InnoDB Cluster

Google GCP-Solution Architects Exam

TIPS AND TRICKS: DOMINO AND JAVASCRIPT DEVELOPMENT MASTERCLASS

SUG Breakout Session: OSC OnDemand App Development

ISSUSE AND FEATURES TO CONSIDER WHEN SELECTING A BLOCKCHAIN SYSTEM. Find us at

Overview of BlackBerry Dynamics Platform

Wade Sheldon. Georgia Coastal Ecosystems LTER University of Georgia

IBM SecureWay On-Demand Server Version 2.0

Data Interoperability in the Hydrologic Sciences

IBM Mainframe Makeover: What Powers your Mobile Applications and Smart Phones?

MEAN Stack. 1. Introduction. 2. Foundation a. The Node.js framework b. Installing Node.js c. Using Node.js to execute scripts

Microsoft Azure Stream Analytics

City.Risks portal and API

for Multi-Services Gateways

Provide Real-Time Data To Financial Applications

JVA-563. Developing RESTful Services in Java

Business Transaction Protocol. Alan Davies, Gresham Computing plc

REFERENCE ARCHITECTURE. Rubrik and Nutanix

Open-O Command- Line Interface (CLI)

Magento Survey Extension User Guide

Mail: Web: juergen-schuster-it.de

Rapidflows Integration with External Systems Whitepaper (English) Version 2.02/18/Feb

UNDER THE HOOD. ROGER NUNN Principal Architect/EMEA Solution Manager 21/01/2015

Rubicon: Scalable Bounded Verification of Web Applications

Deploying to the Edge CouchDB

IBM Watson Content Hub. Architecture Overview

Replicator. Enterprise API Guide VERSION January 04,

ExtraHop 7.3 ExtraHop Trace REST API Guide

Capabilities of Cloudant NoSQL Database IBM Corporation

Feature Comparison Checklist

Web Services Architecture Directions. Rod Smith, Donald F Ferguson, Sanjiva Weerawarana IBM Corporation

IGEEKS TECHNOLOGIES. Software Training Division. Academic Live Projects For BE,ME,MCA,BCA and PHD Students

THE FULCRUM SOFTWARE STACK. A Look Inside

{ REST } vs. Battle of API s

Intro to Couchbase Server for ColdFusion - Clustered NoSQL and Caching at its Finest

TABLE OF CONTENTS 1. INTRODUCTION DEFINITIONS Error! Bookmark not defined REASON FOR ISSUE 2 3. RELATED DOCUMENTS 2 4.

JXTA TM Technology for XML Messaging

Microservices log gathering, processing and storing

TECHNICAL NOTE HOW TO USE WEB SERVICES. Document: Kalipso_TechDocs_Web_Services. Revision: 1.0. Kalipso version:

Learning vrealize Orchestrator in action V M U G L A B

Search Engines and Time Series Databases

Transcription:

THE VOEIS HIS GATEWAY A REST Interface for HydroServer using ODM 1.1

WHO AM I? Pol Llovet Research Software Engineer Research Computing Group Montana State University

HIS IS ESSENTIAL Data publishing Data discovery HIS Gateway does not replicate the functionality of HIS

DATA QUALITY? Data in a given HIS server is of unknown quality We presume that the data in HIS is accurate and well curated this is not guaranteed! It is assumed that the data in HIS is accurate, that it is well curated But, it is well known that there are no guarantees about the quality of the data management practices used prior to the data being published in HIS. It can be difficult to This is a known issue, and efforts are being by the community to pin down minimum curation levels, etc.

DATA MANAGEMENT NSF requires data management Increased investigator burden HIS is part of the data management solution CUAHSI HIS software does fill this need to some extent, but our requirements were more complicated - there are point tools, but not end-to-end software solutions - collaboration and complex user management/access is not available

FULL DATA MANAGEMENT Data Versioning QA/QC Detailed project-based user access Publishing and collaboration One-click publishing to HIS

ENTER VOEIS

VOEIS *NSF Montana EPSCoR American Recovery and Reinvestment Act program with grant award M66012/66013 Virtual Observatory and Ecological Informatics System Integrated sensor and ecological informatics NSF EPSCOR Track 2* https://voeis.msu.montana.edu Open source data management and publication software Designed to store and organize a variety of ecological data The system supports and interfaces with CUAHSI HIS

PROJECT BASED DATA Organized into Sites Versioned data QA/QC Data is public/private until...

VOEIS ARCHITECTURE Cross Platform Yogo Framework Application Database Agnostic Versioned Data All Open Source

VOIES USES HIS Push data to HIS for: Discovery Publishing Collaboration with the community!

ENOUGH ABOUT VOEIS This presentation is not about VOEIS BUT: VOEIS was the reason for the HIS Gateway

WHY BUILD A HIS GATEWAY? the HIS Gateway was built specifically for the VOEIS project

NOT WINDOWS BASED Nothing against windows, but Voeis is not a windows-based software stack, so does not natively connect to HIS Native connection from VOEIS to SQLServer was tested but found lacking due to both performance and the increased software stack complexity Plus: there are other benefits...

ADDITIONAL FORMATS We are able to extend the HIS API with additional data formats (JSON, XML, CSV etc)

AUTHENTICATION ability to define access without updating the sqlserver The functionality is provided in the gateway

WHAT IS THE HIS GATEWAY? REST API A service which provides REST access to a HIS server. Minimal Web Service Ultimately, It is very simple At its heart, the HIS gateway is just a REST API provided by a minimal standalone web service. This service grants REST API access to the HIS server.

WHAT IS REST? https://hisgw.local/data_item Representational State Transfer Map HTTP URLs to data Very popular web API REST is a way of making data available over the internet, mapping site URLs to data. REST is a very popular API for data sharing on the web

FILE FORMATS Other file formats URL/item.json URL/item.xml Append a file extension to the path to access other formats It results in the same data, but the format that is desired.

ANATOMY OF THE HISGW Ruby, Sinatra, DataMapper, Open Source

RUBY Ruby is a high level object-oriented programming language HIS Gateway uses JRuby Java implementation of the Ruby VM http://ruby-lang.org http://jruby.org For those that don t know, Ruby is... Our group programs mainly in ruby, this is the primary reason for this choice The java foundation of JRuby allows us to use the Java ODBC to connect to SQLServer

DATAMAPPER Ruby Object Relational Mapper Maps database elements to Ruby objects Define interaction with ODM on HIS http://datamapper.org Side-effect of being a nice, readable definition of the ODM in Ruby Example on the side of some (clipped) code for the Variable object - there are defined properties and relationships with explicit fields

SINATRA Model-View-Controller Micro-framework Rack Compatible Very simple to build and customize http://sinatrarb.com Sinatra is good for webservices in particular, since it is very lightweight. Rack is a popular (in the ruby community) middleware webserver api - there are many webservers that have rack-compatible plugins (nginx and apache) and can run any Rack application

MAPS REST TO ODM REST Ultimately: The HIS Gateway maps REST to ODM Read/write operations are supported Allows for authenticated access Ultimately, the functionality Database operations are Create, Read, Update, Delete

AUTHENTICATION Performed through API keys Using a key, a client can be allowed access to restricted operations The client sends new data in JSON Currently authentication in production for writes is being tested and isn t fully supported. We re working on it, but don t need that functionality immediately.

SUPPORTED DATA FORMATS JSON XML CSV YAML The current set of formats that are supported This could be extended to include others.

EXAMPLE OF USAGE Go to a HIS Gateway URL Retrieve data values in JSON Retrieve one data element by query

FULL RETRIEVAL https://hisgw.server/variable_name_cvs.json Example of retrieving the whole variable name controlled vocabulary

ONE RECORD RETRIEVAL http://voeis.msu.montana.edu:4000/variable_name_cvs.json? term=borehole%20log%20material%20classification Get a particular term

FUTURE FUNCTIONALITY WaterML Compliance More robust authentication possibly role-based authorization RQL querying

WHY USE HISGW? Software that can t access SQLServer natively Mobile apps API Services for data retrieval/update Automated systems

OPEN SOURCE SOFTWARE Available at http://github.com/yogo/hisgw

THANK YOU Any questions?