a restful wfxml

32
A RESTful WfXML User-Centric Resource Oriented Architecture (ROA) Approach Pat G. Cappelaere [email protected] [email protected] [email protected] http://blog.geobliki.com Transformation and Innovation Series Tuesday, October 30th 7:30–10:30am Sheraton Crystal City Hotel Arlington, VA 1

Upload: pat-cappelaere

Post on 11-Nov-2014

6.684 views

Category:

Technology


0 download

DESCRIPTION

A User-Centric Resource Oriented Architecture (ROA) Approach for Workflows and OGC Services

TRANSCRIPT

Page 1: A RESTful WfXML

A RESTful WfXML

User-Centric Resource Oriented Architecture (ROA) Approach

Pat G. [email protected]@[email protected]://blog.geobliki.com

Transformation and Innovation SeriesTuesday, October 30th

7:30–10:30amSheraton Crystal City Hotel

Arlington, VA

1

Page 2: A RESTful WfXML

Open GeoSpatial Consortium

• The Open Geospatial Consortium, Inc.® (OGC) is a non-profit, international, voluntary consensus standards organization that is leading the development of standards for geospatial and location based services.

• OpenGIS Specifications & Reference Models

• Sensor Web Enabled (SWE) Web Services: Sensor Planning Service, Observation Service, Processing Service, Feature Server, Catalog Service...

• Best Practice Documents & Discussion Papers

• Other Standards

• GML, KML, [GeoRss/Atom]

http://www.opengeospatial.org/ 2

Page 3: A RESTful WfXML

OGC Interoperability Efforts

• Interoperability Demonstrations

• OWS-4, OWS-5...

• DOD Empire Challenge Architecture Support

• GEOSS Pilot Program

• and many others...

3

Page 4: A RESTful WfXML

GEOSS

http://www.ogcnetwork.net/pub/ogcnetwork/GEOSS/AI_Pilot_Demo/index.html

4

http://www.youtube.com/watch?v=3uh3cpULBQY

Page 5: A RESTful WfXML

San Diego Area Fires: Workflows in Action

EO-1 Tasked33.014,-117.0245

2007-10-25T05:20:00Z

MODIS Hot Pixels < 12 hrs

MODIS Hot Pixels < 24 hrs

With Population Density Overlay

5

Page 6: A RESTful WfXML

T + 6 hrs: Onboard Thermal Classifier

6

Page 7: A RESTful WfXML

T + 12 hrs: Automated Ground Processing

Hi-Resolution Browse Image of Hyperion

Hot Pixels Ground Classifier With Fire Intensity

7

Page 8: A RESTful WfXML

NASA's High-tech Wildfire Weapons

The images to the right were obtained from the Hyperion imaging spectrometer on-board NASA’s EO-1 satellite. This instrument samples the Earth’s surface radiation in 220 contiguous wavelength intervals from 400 to 2500 nanometers, spanning the spectrum from visible light to shortwave infrared (SWIR).

The leftmost visualization, a composite of red, blue and green radiation, displays the scene as the human eye would perceive it. To the right is a composite of three SWIR bands which are sensitive to emissive properties associated with fires and lava flows.

EO-1 Hyperion Views Witch Wildfire on October 23, 2007

8

/technology

http://www.cnn.com/2007/TECH/science/10/26/nasa.wildfire.tech/index.html?iref=mpstoryview

EO-1

Page 9: A RESTful WfXML

Value of Hyperspectral Imagery

10/23/07EO-1 Hyperion and ALI View Witch Wildfire

ALIALIHyperionVisible Bands

SWIR Bands

9

Page 10: A RESTful WfXML

NASA's High-Tech Wildfire Weapons

Threat Generation From MODIS DataEO-1 Tasking: “Ranch” Fire

NASA Ames IKHANA Flight Path

10

http://www.popsci.com/popsci/technology/4994efa4688d5110vgnvcm1000004eecbccdrcrd.html

Page 11: A RESTful WfXML

OGC Enterprise Services & Standards

REST (Classic)GetCapabilitiesGetFeasibilitiesGetObservationDescribeTaskingSubmit...

SOAPful RESTful

RPC/Hybrid

Why The Split?

11

Page 12: A RESTful WfXML

Problem Statement

• Many National & International Organizations

• With Scarce Resources

• Money

• Time

• Engineering Resources

• Require Cooperation

• Require Interoperability

12

Page 13: A RESTful WfXML

Market Positioning

RESTful SOAPful

Web Services

Service Oriented Architecture

Market Big IT InfrastructureNO IT Infrastructure

Mass Market Corporate 100 America

Users Neo-Geographers Corporate Developers/Engineers

Capability 80% 100%

Cost 10% 100%

Time 10% 100%

Risk Low HIgh

13

Page 14: A RESTful WfXML

Technical Differences

RESTful SOAPful

Discovery

Expose Resourcesand Attributes

Expose Functionsand Inputs/Outputs

WADLAPP service Document WSDL

Spec Size Very small if existent Very Large

Everything is a URL

Language Java, C++. .NETHtml / Javascript / Ruby

Framework Ruby on-Rails EJB

Schemas non-existent extensive

Security WS-Security (Geo-DRM)OpenID/PKI, OpenAuth...

14

Page 15: A RESTful WfXML

OGC SOAP - WSDL ...

xsd wsdl

common 0.3.20 9

context 1 2

csw 2.0.2 6 6

ebxml-regrep 3 1

filter 1.2 4

gml 3.2 94

hma 0.95 5

ols 1.1 11

ows 1 9

phr 0.81 2

sld 1 1

swecommon 1.0.3 2

wcs 1.0.2 7

wfs 1.2 2 5

wms 1.3 3

wrs 1.0. 4

wsdl 4

xlink 1.0. 1

xml 2

Total 165 15

15

Page 16: A RESTful WfXML

Unique Opportunity

For System-Level Architectural Change

16

Page 17: A RESTful WfXML

RESTful Services For ROA

• http://www.oreilly.com/catalog/9780596529260/index.html

HTTP with Five Operations: HEAD, GET, PUT, POST and DELETE

17

“to codify the folklore, define whatʼs been left undefined, and try to move past the theological arguments.”

Everything is a url!

Page 18: A RESTful WfXML

Other Technologies For Successful ROA

• Publishing Formats: GeoRSS/Atom, KML

• Atom Publishing Protocol (APP)

• GData

• OpenSearch

• Security

18

Page 19: A RESTful WfXML

Resource URI Patterns and Nested Resources

• Resource Collections Are Plural

• GET /recipes

• GET /recipes/{id}

• GET /recipes/{name}

• Nested Collections (recipes have many ingredients)

• GET /recipes/{id}/ingredients/

• GET /recipes/{id}/ingredients/{id}

• same as: GET /ingredients/{id | name}

Retrieve all available ingredients for that particular recipe

Retrieve specific ingredient for that particular recipe

Retrieve specific ingredient by id or name

Note: Last 2 GET’s return the same data. BUT first one keeps track of context. Try to backtrack the URL to see what you would get

Retrieve all available recipes

Retrieve specific recipe by id

Retrieve specific recipe by name

19

Page 20: A RESTful WfXML

APP: Atom Publishing Protocol Format

• The Atom Publishing Protocol is an application-level protocol for publishing and editing Web Resources using HTTP [RFC2616] and XML 1.0 [REC-xml]. The protocol supports the creation of Web Resources and provides facilities for:

* Collections: Sets of Resources, which can be retrieved in whole or in part. * Services: Discovery and description of Collections. * Editing: Creating, editing, and deleting Resources.

draft-ietf-atompub-protocol-17.txt

http://bitworking.org/projects/atom/draft-ietf-atompub-protocol-17.html

Geo/Atom In - Geo/Atom Out

20

Page 21: A RESTful WfXML

Google GData

• The Google data APIs ("GData" for short) provide a simple standard protocol for reading and writing data on the web.

• GData uses either of two standard XML-based syndication formats: Atom or RSS. It also has a feed-publishing system that consists of the Atom publishing protocol plus some extensions (using Atom's standard extension model) for handling queries (including geoqueries)

• Items of type Products containing the terms digital and camera in the area of San Francisco: digital camera [item type: products] [location: @"San Francisco, CA" + 50mi]

snippets/-/products?bq=digital+camera+%5blocation:@%22San+Francisco,CA%22%2b50mi%5d

21

Page 22: A RESTful WfXML

OpenSearch

• OpenSearch 1.1

• OpenSearch Description Document• Discoverable by Browser• Geo Extension Draft

http://www.opensearch.org

22

Page 23: A RESTful WfXML

Security

• OpenID 2.0 + Auth or PKI

• OpenAuth (AOL)

• That’s another topic of discussion!

23

Page 24: A RESTful WfXML

Goal

Consistent User Experience Across All OGC Services

24

Page 25: A RESTful WfXML

WfMC Reference Model

25

Workflow Chaining Service (WfCS)

XPDL 2.0:

Serialization Mechanism for the Business Process Modeling Notation (BPMN 1.0)

WfXML

Page 26: A RESTful WfXML

26

Workflow Interoperability

BPMN 1.0XPDL

2.0

BPEL

SensorML

WorkflowEngines

API

Level 0 Level 1WfCSLevel 2

ModelPersistenceLayer

GUILayer

WorkflowInternalRepresentation

OpenWFE

Offline Real-time

Page 27: A RESTful WfXML

RESTful API Architecture Breakdown

• Discovery

• Transactions

• [Open]Search

• Security: OpenID 2.0...

• Publishing

27

Page 28: A RESTful WfXML

RESTful Discovery

• Web Application Description Language Specification: GET /wfcs/wadl

• Atom Protocol Publishing Service Document: GET /wfcs/app

• GET Metadata: GET /wfcs/workflows.metadata

• GET Collection Feed,From/To Browser WfCS

GET

Feed

28

Page 29: A RESTful WfXML

RESTful Transactions

• Create/Edit/Delete Operations

POST /wfcs/workflows/get_socal_threats/instances

<entry xmlns:g='...' xmlns='http://www.w3.org/2005/Atom'> <title>Get Souther California Fire Threats</title> <category term='socal,fire,threats' scheme='http://geopbms/1.0'/> <content>Get Southern California Fire Threats workflow</content> <g:item_type>instances</g:item_type> <g:command>start</g:command> <g:context_data> <scenario>2</scenario> <all_threats>data/socall_all_threats.kml</all_threats> <final_threats>data/socall_final_threats.kml</final_threats> <feed_file>data/socall_threat_feed_file.xml</feed_file> </g:context_data></entry>

WfCS

PUT/POST/DELETE

<entry.../>

<entry.../>

29

Page 30: A RESTful WfXML

RESTful Publishing API

WfCS

PUT/POST/DELETE

<entry.../>

<feed.../>

GET

PubSub

OPS-B

<entry.../>

XMPP

<subscriptions.../>

<notifications.../>

RESTful

XMPP

User Notification Preferences

Aggregator: MAPUFACTURE

30

Page 31: A RESTful WfXML

Open Source Enterprise Components

• Ruby on Rails (RoR)/MySQL+Geo Extensions

• GeoBliki Framework: OGC SWE Data Node: http://blog.geobliki.com/

• OpenFire: PubSub Backend:

• OpenWFEru: Workflow Engine

• Rools: Rule Engine

• FormFaces: Forms Engine

• Matelot: Flex Workflow Designer

• Community MapBuilder: Map Client

• Eclipse: Development Environment

http://www.rubyonrails.org/

http://rools.rubyforge.org/

http://www.igniterealtime.org/

http://openwferu.rubyforge.org/

http://www.formfaces.com/

http://mapbuilder.sourceforge.net

http://www.eclipse.org/

Value Proposition: RoR + ROA + Open Source

Simpler, Faster, Cheaper

31

Page 32: A RESTful WfXML

Thank You.

Pat G. Cappelaere

Vightel Corporation

http://www.vightel.com

i-name: =cappelaere

email: [email protected]

blog: http://blog.geobliki.com

gmail: [email protected]

aol: patc24576

cell: 410 340 4868

business: 443 283 0369

fax: 443 283 0370

32