User-friendly interactive WPS programming

Click here to load reader

download User-friendly interactive WPS programming

of 34

  • date post

    16-Feb-2016
  • Category

    Documents

  • view

    23
  • download

    0

Embed Size (px)

description

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. 5. 6. 7. 9. 10. 31. - PowerPoint PPT Presentation

Transcript of User-friendly interactive WPS programming

User-friendly interactive WPS programming

User-friendly interactive WPS programmingRaffaele de Amicis, Giuseppe Conti, Bruno Simes, Stefano PifferFundazione GraphiTech

.1AgendaObjectivesService Oriented Architecture (SOA)3D Web ApplicationWeb CatalogueWeb Processing ServiceConclusions56791031Motivation3Server Security29Hot Process Deployment202MotivationThe increasing number of people and institutions sharing geographical informationThe necessity of move from data to information, to awareness, to knowledge, turning a vast array of data into understandable pieces of intelligenceThe problem of interoperability How to expose processes and handle the requests

3MotivationThe problem of visualize large and complex geographic datasetsUser-friendly interfacesFor non-experts GIS usersManagersScientists Decision makers, ...To achieve short training timeFast responses

4ObjectivesPlatform-independent implementationScalabilityInteroperability User-friendly interfaces3D Environment for better data visualizationSupport for delayed-time transactionsPossibility to write, deploy and execute processes on-fly

5SOAService-Oriented Architecture solution consists in 3 main logical components:Consumers - composed by entities that makes use of offered servicesSOA infrastructureApplications and service supportServices - composed by entities that performs a specific task when invokedProducers - All the entities that offer a specific service or functionality

63D Web ApplicationThe 3D application presents a 3D environment:Developed using Java and JOGLBuilt over the World Wind APIsExposed with Java Web Start technologyUsing FOSS libraries such as Geotools, 52 North WPS and JTS

73D Web ApplicationThe application has been engineered with the goal of delivering a web-based 3D and OGC compliant solutionThe application is capable to provide interoperable access to geographical information using OGC specifications such as GML, WMS, WFS, WPS and othersIs extremely small

8Web CatalogueWeb catalogues are the best way to:Organize services Speed up time-consuming searchesFurthermore, it should:Keep the previous state Offer direct access to any sub-level

9Web Processing ServicesWhat is a WPS? In a few words is Web Based Processing

DataWPSInformation10Web Processing ServicesWPSBufferProcess 2Process n7Example:11OGC WPSWPSProcess 1Process 2Process nGetCapabilitiesDescribeProcessExecute123D WPS InterfaceDrag and DropTo maximize readability the process icons are rendered as billboardsA process can be composed up to three distinct types of components: The process controller itselfOne or more input slotsOne or more output slots

133D WPS InterfaceEvery 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 WPSSince the algorithm processing takes place at the server level, it is executed in an asynchronous way143D WPS Interface

153D WPS InterfaceComplex simulations can be created:Using processes available through WPSMaking use of any combination / order (allowing creativity and freedom)Using data/results existent in the 3D environmentIn an asynchronous wayProcessed in distributed environments16WPS Interface - Connect

17WPS Interface - Disconnect

18WPS Interface - Example

19Runtime Process DeploymentA process can be:Created in runtimeDefault values are easily selected from the 3D environment if necessaryDeployed in runtimeExecuted in runtimeWrite a process is faster and easier20Extended WPS OperationsThree new operations should be available:

StoreNewAlgorithmGetAlgorithmRemoveAlgorithm21Store New AlgorithmsREQUEST=StoreNewAlgorithmStoreNewAlgorithm, composed by:ProcessDescription Standard OGC Process DescriptionSource Contains a list of filesFile Contains the information and content of a file

22Store New Algorithms

... R0lGODlhZABq...base64... R0lGODlhZABq...base64...

23Request GetAlgorithmHTTP://www.someserver.com/path/wps?SERVICE=WPS&VERSION=1.3.0&REQUEST=GetAlgorithm&IDENTIFIER=&FORMAT=XML24Request RemoveAlgorithmHTTP://www.someserver.com/path/wps?SERVICE=WPS&VERSION=1.3.0&REQUEST=RemoveAlgorithm&IDENTIFIER=25Runtime Process Deployment

26Runtime Interpreter/Compiler

27Runtime Interpreter/Compilerimport org.geotools.feature.FeatureCollection;

FeatureCollection fc = (FeatureCollection) GET_INPUT(data);String xml = TO_XML(fc);int size = xml.length();

SET_OUTPUT(result, size);28Server SecuritySecurity risk categories:System modificationInvasion of PrivacyDenial of ServiceJava presents a multitier approach:Denial of ServiceRestricted access to file systems and to browser internalsLoad time & runtime checks to verify that byte code is following the rulesA system for signing code and assigning it some level of capability

29Server SecurityThe 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

30ConclusionsToday interoperability is starting to become a reality thanks to several international harmonization effortsSecurity risk is very low as possibilities of exploiting holes is limited Various Java engines coexisting on a machine could share a common security configurationThe user can see the results in 3D environments31ConclusionsExperiments showed that users have clearly indicated that this interface in general can be:Considered suitable and self descriptive for the given taskAllow any decision maker that is not GIS expert to make use of it, with virtually no training

32THE ENDQuestions {raffaele.de.amicis, giuseppe.cont, bruno.simoes, stefano.piffer} @ graphitech.itContacts:Thank you for your attention

33EXIBITION VIDEO

34