User-friendly interactive WPS programming Raffaele de Amicis, Giuseppe Conti, Bruno Simões, Stefano Piffer Fundazione GraphiTech.

Slides:



Advertisements
Similar presentations
A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Advertisements

Introduction to .NET Framework
Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
Idaho National Engineering and Environmental Laboratory What is a Framework? Web Service? Why do you need them? Wayne Simpson November.
APRIL 30, 2015 COWI PRESENTATION 1 A Holistic Approach For The Development And Implementation Of Robust And Cost- Effective Distributed Webgis Business.
Sergio Ferreira MoreData I16 Thursday, October 12, :30 a.m. – 11:30 a.m. Platform: Informix How to call Informix 4gl code from J2EE.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Technical Architectures
Ch 12 Distributed Systems Architectures
Hands-On Microsoft Windows Server 2003 Administration Chapter 5 Administering File Resources.
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
J2EE Security and Enterprise Java Beans Mrunal G. Dhond Department of Computing and Information Sciences Master of Science, Final Defense February 26,
Peoplesoft: Building and Consuming Web Services
L EC. 01: J AVA FUNDAMENTALS Fall Java Programming.
Copyrighted material John Tullis 8/13/2015 page 1 Blaze Software John Tullis DePaul Instructor
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Security Difficulties of E-Learning in Cloud Computing
Rajeswari Indupuri Introduction to.NET Framework.
QCDgrid Technology James Perry, George Beckett, Lorna Smith EPCC, The University Of Edinburgh.
© Rheinmetall Defence 2013 The Geospatial Catalogue and Database Repository (GCDR) and the Knowledge Management System (KMS) Shane Reschke – Technical.
Cloud Computing for the Enterprise November 18th, This work is licensed under a Creative Commons.
1 A Flexible and Secure Deployment Framework for Distributed Applications Alan Dearle, Graham Kirby, Andrew McCarthy and Juan Carlos Diaz y Carballo School.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Updating and Improving the INTAMAP web service Madhu Rani 2012 Intern 1.
Frameworks for geoprocessing on the web with R Daniel Nüst, 52°North GmbH AGILE 2015 Workshop: Geoprocessing on the Web.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a library for.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
Mobile search engine for a smart phone / navigation system can be used to search and compare hundreds of stores and their products in seconds. © 2001 –
DISTRIBUTED COMPUTING
Drag and Drop Display and Builder. Timofei B. Bolshakov, Andrey D. Petrov FermiLab.
DEVS Namespace for Interoperable DEVS/SOA
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
Web mapping interoperability in practice, a Java approach guided by the OpenGis Web Map Server Interface Specification Pedro Fernández, R. Béjar, M.A.
Interfacing Registry Systems December 2000.
Java Security Nathan Moore CS 665. Overview Survey of Java Inherent Security Properties Java Runtime Environment Java Virtual Machine Java Security Model.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
AUTHORS: MIKE P. PAPAZOGLOU WILLEM-JAN VAN DEN HEUVEL PRESENTED BY: MARGARETA VAMOS Service oriented architectures: approaches, technologies and research.
Grid Execution Management for Legacy Code Applications Grid Enabling Legacy Code Applications Tamas Kiss Centre for Parallel.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
An open software framework for Web Service-based geo- processes Theodor Foerster FOSS4G 2006 – Lausanne, Switzerland.
F Drag and Drop Controls Display and Builder (Synoptic Display) Timofei Bolshakov, Andrey Petrov Fermilab Accelerator Controls Department March 26, 2007.
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY Semantic Computing Research Group Web Services Service Publishing.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
INTERNATIONAL INSTITUTE FOR GEO-INFORMATION SCIENCE AND EARTH OBSERVATION Introduction to the OGC Web Processing Service (WPS) GIP – Meeting 20 April 2006.
OGC Web Processing Service (WPS) based Geo-processing By Shiva Reddy, PhD Scholar,IIIT-Delhi & Zelio Fernandes, GISE Lab,IIT-Bombay.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Getting Started with.NET Getting Started with.NET/Lesson 1/Slide 1 of 31 Objectives In this lesson, you will learn to: *Identify the components of the.NET.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
WebFlow High-Level Programming Environment and Visual Authoring Toolkit for HPDC (desktop access to remote resources) Tomasz Haupt Northeast Parallel Architectures.
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
52°North WPS. 52°North WPS Agenda  Motivation  WPS basics  behind the scences look  new features.
EJB Enterprise Java Beans JAVA Enterprise Edition
Introduction to Service Orientation MIS 181.9: Service Oriented Architecture 2 nd Semester,
Business Applications– Using Java _____ Presented by Priya Saha.
A service Oriented Architecture & Web Service Technology.
A Detailed Introduction To Visual Studio.NET CRB Tech ReviewsCRB Tech Reviews introduces you to the world of Visual.
Java Distributed Computing
J2EE Platform Overview (Application Architecture)
AMGA Web Interface Salvatore Scifo INFN sez. Catania
Processes The most important processes used in Web-based systems and their internal organization.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Bringing the Web Processing Service to a new stage –
Service-centric Software Engineering
AMGA Web Interface Vincenzo Milazzo
Running C# in the browser
Presentation transcript:

User-friendly interactive WPS programming Raffaele de Amicis, Giuseppe Conti, Bruno Simões, Stefano Piffer Fundazione GraphiTech

Agenda Objectives Service Oriented Architecture (SOA) 3D Web Application Web Catalogue Web Processing Service Conclusions Motivation3 Server Security 29 Hot Process Deployment20

Motivation  The increasing number of people and institutions sharing geographical information  The necessity of move from data to information, to awareness, to knowledge, turning a vast array of data into understandable pieces of intelligence  The problem of interoperability – How to expose processes and handle the requests

Motivation  The problem of visualize large and complex geographic datasets  User-friendly interfaces  For non-experts GIS users  Managers  Scientists  Decision makers,...  To achieve short training time  Fast responses

Objectives  Platform-independent implementation  Scalability  Interoperability  User-friendly interfaces  3D Environment for better data visualization  Support for delayed-time transactions  Possibility to write, deploy and execute processes on-fly

SOA  Service-Oriented Architecture solution consists in 3 main logical components:  Consumers - composed by entities that makes use of offered services  SOA infrastructure  Applications and service support  Services - composed by entities that performs a specific task when invoked  Producers - All the entities that offer a specific service or functionality

3D Web Application  The 3D application presents a 3D environment:  Developed using Java and JOGL  Built over the World Wind APIs  Exposed with Java Web Start technology  Using FOSS libraries such as Geotools, 52º North WPS and JTS

3D Web Application  The application has been engineered with the goal of delivering a web-based 3D and OGC compliant solution  The application is capable to provide interoperable access to geographical information using OGC specifications such as GML, WMS, WFS, WPS and others  Is extremely small

Web Catalogue  Web catalogues are the best way to:  Organize services  Speed up time-consuming searches  Furthermore, it should:  Keep the previous state  Offer direct access to any sub-level

Web Processing Services What is a WPS? –In a few words is Web Based Processing Data WPS Information

Web Processing Services WPS Buffer Process 2 Process n 7 Example:

OGC WPS WPS Process 1 Process 2 Process n GetCapabilities DescribeProcess Execute

3D WPS Interface  Drag and Drop  To maximize readability the process icons are rendered as billboards  A process can be composed up to three distinct types of components:  The process controller itself  One or more input slots  One or more output slots

3D WPS Interface  Every process operates as a black box that can receive input and transmit results to a further process via its output slots.  Each input and output slots is automatically created through a process descriptor exposed by the WPS  Since the algorithm processing takes place at the server level, it is executed in an asynchronous way

3D WPS Interface

 Complex simulations can be created:  Using processes available through WPS  Making use of any combination / order (allowing creativity and freedom)  Using data/results existent in the 3D environment  In an asynchronous way  Processed in distributed environments

WPS Interface - Connect

WPS Interface - Disconnect

WPS Interface - Example

Runtime Process Deployment  A process can be:  Created in runtime  Default values are easily selected from the 3D environment if necessary  Deployed in runtime  Executed in runtime  Write a process is faster and easier

Extended WPS Operations  Three new operations should be available:  StoreNewAlgorithm  GetAlgorithm  RemoveAlgorithm

Store New Algorithms  REQUEST=StoreNewAlgorithm  StoreNewAlgorithm, composed by:  ProcessDescription – Standard OGC Process Description  Source – Contains a list of files  File – Contains the information and content of a file

Store New Algorithms <wps:StoreNewAlgorithm version=”1.3.0” service=”WPS” idgen=”ReplaceWhenDuplicated” xmlns=” xmlns:ows=” xmlns:wps=” xmlns:xsi=” xsi:schemaLocation=” <ProcessDescription processVersion=”2” storeSupported=”true” statusSupported=”false”>... <File name=”TestAlgorithm.Java” language=”Java” main=”true”> R0lGODlhZABq...base64... R0lGODlhZABq...base64...

Request GetAlgorithm SERVICE=WPS& VERSION=1.3.0& REQUEST=GetAlgorithm& IDENTIFIER= & FORMAT=XML

Request RemoveAlgorithm SERVICE=WPS& VERSION=1.3.0& REQUEST=RemoveAlgorithm& IDENTIFIER=

Runtime Process Deployment

Runtime Interpreter/Compiler

import org.geotools.feature.FeatureCollection; FeatureCollection fc = (FeatureCollection) GET_INPUT(data); String xml = TO_XML(fc); int size = xml.length(); SET_OUTPUT(result, size);

Server Security  Security risk categories:  System modification  Invasion of Privacy  Denial of Service  Java presents a multitier approach:  Denial of Service  Restricted access to file systems and to browser internals  Load time & runtime checks to verify that byte code is following the rules  A system for signing code and assigning it some level of capability

Server Security  The Java Security Manager works as follows:  A Java program makes a call to a potentially dangerous operation.  The Java API code asks the Security Manager if the operation is allowed.  The Security Manager throws a SecurityException if the operation is denied. This exception propagates back to the Java program.  Support user and code permissions

Conclusions  Today interoperability is starting to become a reality thanks to several international harmonization efforts  Security risk is very low as possibilities of exploiting holes is limited  Various Java engines coexisting on a machine could share a common security configuration  The user can see the results in 3D environments

Conclusions  Experiments showed that users have clearly indicated that this interface in general can be:  Considered suitable and self descriptive for the given task  Allow any decision maker that is not GIS expert to make use of it, with virtually no training

Questions {raffaele.de.amicis, giuseppe.cont, bruno.simoes, graphitech.it Contacts: