Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
A RESTful WfXML
1. A RESTful WfXML
User-Centric Resource Oriented Architecture (ROA) Approach
Pat G. Cappelaere
pat@cappelaere.com
pat@vightel.com
Transformation and Innovation Series
pat@geobliki.com
Tuesday, October 30th
http://blog.geobliki.com
7:30–10:30am
Sheraton Crystal City Hotel
Arlington, VA
1
2. 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
3. OGC Interoperability Efforts
• Interoperability Demonstrations
• OWS-4, OWS-5...
• DOD Empire Challenge Architecture Support
• GEOSS Pilot Program
• and many others...
3
5. San Diego Area Fires: Workflows in Action
EO-1 Tasked
33.014,-117.0245
2007-10-25T05:20:00Z
MODIS Hot Pixels < 12 hrs
MODIS Hot Pixels < 24 hrs
With Population Density Overlay
5
7. T + 12 hrs: Automated Ground Processing
Hot Pixels Ground Classifier With Fire Intensity
7
Hi-Resolution Browse Image of Hyperion
8. /technology
NASA's High-tech Wildfire Weapons
http://www.cnn.com/2007/TECH/science/10/26/nasa.wildfire.tech/index.html?iref=mpstoryview
EO-1 Hyperion Views
Witch Wildfire on
October 23, 2007
The images to the right were obtained
EO-1
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.
8
9. Value of Hyperspectral Imagery
ALI
Hype
ALI
rion
Visib
B a nd l e
s
10/23/07
EO-1 Hyperion
SWIR
and ALI View B a nd
Witch Wildfire s
9
10. NASA's High-Tech Wildfire Weapons
http://www.popsci.com/popsci/technology/4994efa4688d5110vgnvcm1000004eecbccdrcrd.html
NASA Ames IKHANA Flight Path
Threat Generation From MODIS Data
EO-1 Tasking: “Ranch” Fire
10
12. Problem Statement
• Many National & International Organizations
• With Scarce Resources
• Money
• Time
• Engineering Resources
• Require Cooperation
• Require Interoperability
12
13. Market Positioning
RESTful SOAPful
Web Services
Service Oriented Architecture
Market NO IT Infrastructure Big 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
14. Technical Differences
RESTful SOAPful
Everything is a URL
Expose Resources Expose Functions
and Attributes and Inputs/Outputs
WADL
Discovery APP service Document WSDL
Spec Size Very small if existent Very Large
Schemas non-existent extensive
Language Html / Javascript / Ruby Java, C++. .NET
Framework Ruby on-Rails EJB
Security OpenID/PKI, OpenAuth... WS-Security (Geo-DRM)
14
17. RESTful Services For ROA Everything is a url!
• http://www.oreilly.com/catalog/9780596529260/index.html
“to codify the folklore,
define whatʼs been left
undefined, and try to move
past the theological
arguments.”
HTTP with Five Operations: HEAD, GET, PUT, POST and DELETE
17
18. Other Technologies For Successful ROA
• Publishing Formats: GeoRSS/Atom, KML
• Atom Publishing Protocol (APP)
• GData
• OpenSearch
• Security
18
19. Resource URI Patterns and Nested Resources
• Resource Collections Are Plural
• GET /recipes Retrieve all available recipes
• GET /recipes/{id} Retrieve specific recipe by id
• GET /recipes/{name} Retrieve specific recipe by name
• Nested Collections (recipes have many ingredients)
• GET /recipes/{id}/ingredients/ Retrieve all available ingredients for that particular recipe
• GET /recipes/{id}/ingredients/{id} Retrieve specific ingredient for that particular recipe
• same as: GET /ingredients/{id | name} 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
19
20. APP: Atom Publishing Protocol Format draft-ietf-atompub-protocol-17.txt
• 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.
Geo/Atom In - Geo/Atom Out
http://bitworking.org/projects/atom/draft-ietf-atompub-protocol-17.html
20
21. Google GData
• The Google data APIs (quot;GDataquot; 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: @quot;San
Francisco, CAquot; + 50mi]
snippets/-/products?bq=digital+camera+%5blocation:@%22San+Francisco,CA%22%2b50mi
%5d
21
25. WfMC Reference Model
Workflow
Chaining Service
(WfCS)
XPDL 2.0:
Serialization
Mechanism for the
Business Process
Modeling Notation
(BPMN 1.0)
WfXML
25
26. Workflow Interoperability
Real-time
Offline
Workflow
Model Workflow
GUI
Internal
Persistence Engines
Layer
Representation
Layer
BPEL
A
XPDL
P
OpenWFE
BPMN 1.0 2.0
I
SensorML
WfCS
Level 0 Level 1 Level 2
26
28. RESTful Discovery
• Web Application Description Language Specification: GET /wfcs/wadl
• Atom Protocol Publishing Service Document: GET /wfcs/app
• GET Metadata: GET /wfcs/workflows.metadata
WfCS
• GET Collection Feed,From/To Browser
GET
Feed
28
29. 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>
WfCS
<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>
PUT/POST/DELETE
<entry.../>
<entry.../>
29
30. Aggregator: MAPUFACTURE
RESTful Publishing API
XMPP
PubSub User Notification Preferences
<entry.../>
WfCS
XMPP
PUT/POST/DELETE
<entry.../>
<notifications.../>
GET
OPS-B
<subscriptions.../>
<feed.../>
RESTful
30
31. Open Source Enterprise Components
• Ruby on Rails (RoR)/MySQL+Geo Extensions http://www.rubyonrails.org/
• GeoBliki Framework: OGC SWE Data Node: http://blog.geobliki.com/
• OpenFire: PubSub Backend: http://www.igniterealtime.org/
• OpenWFEru: Workflow Engine http://openwferu.rubyforge.org/
• Rools: Rule Engine http://rools.rubyforge.org/
• FormFaces: Forms Engine http://www.formfaces.com/
• Matelot: Flex Workflow Designer
• Community MapBuilder: Map Client
http://mapbuilder.sourceforge.net
• Eclipse: Development Environment http://www.eclipse.org/
Value Proposition: RoR + ROA + Open Source
Simpler, Faster, Cheaper
31