A RESTful WfXML
-
Upload
pat-cappelaere -
Category
Technology
-
view
6.684 -
download
0
description
Transcript of 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
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
OGC Interoperability Efforts
• Interoperability Demonstrations
• OWS-4, OWS-5...
• DOD Empire Challenge Architecture Support
• GEOSS Pilot Program
• and many others...
3
GEOSS
http://www.ogcnetwork.net/pub/ogcnetwork/GEOSS/AI_Pilot_Demo/index.html
4
http://www.youtube.com/watch?v=3uh3cpULBQY
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
T + 6 hrs: Onboard Thermal Classifier
6
T + 12 hrs: Automated Ground Processing
Hi-Resolution Browse Image of Hyperion
Hot Pixels Ground Classifier With Fire Intensity
7
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
Value of Hyperspectral Imagery
10/23/07EO-1 Hyperion and ALI View Witch Wildfire
ALIALIHyperionVisible Bands
SWIR Bands
9
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
OGC Enterprise Services & Standards
REST (Classic)GetCapabilitiesGetFeasibilitiesGetObservationDescribeTaskingSubmit...
SOAPful RESTful
RPC/Hybrid
Why The Split?
11
Problem Statement
• Many National & International Organizations
• With Scarce Resources
• Money
• Time
• Engineering Resources
• Require Cooperation
• Require Interoperability
12
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
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
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
Unique Opportunity
For System-Level Architectural Change
16
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!
Other Technologies For Successful ROA
• Publishing Formats: GeoRSS/Atom, KML
• Atom Publishing Protocol (APP)
• GData
• OpenSearch
• Security
18
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
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
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
OpenSearch
• OpenSearch 1.1
• OpenSearch Description Document• Discoverable by Browser• Geo Extension Draft
http://www.opensearch.org
22
Security
• OpenID 2.0 + Auth or PKI
• OpenAuth (AOL)
• That’s another topic of discussion!
23
Goal
Consistent User Experience Across All OGC Services
24
WfMC Reference Model
25
Workflow Chaining Service (WfCS)
XPDL 2.0:
Serialization Mechanism for the Business Process Modeling Notation (BPMN 1.0)
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
RESTful API Architecture Breakdown
• Discovery
• Transactions
• [Open]Search
• Security: OpenID 2.0...
• Publishing
27
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
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
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
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
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