Your SlideShare is downloading. ×
  • Like
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply



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

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

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads


Total Views
On SlideShare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. A RESTful WfXML User-Centric Resource Oriented Architecture (ROA) Approach Pat G. Cappelaere Transformation and Innovation Series Tuesday, October 30th 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] 2
  • 3. OGC Interoperability Efforts • Interoperability Demonstrations • OWS-4, OWS-5... • DOD Empire Challenge Architecture Support • GEOSS Pilot Program • and many others... 3
  • 4. GEOSS 4
  • 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
  • 6. T + 6 hrs: Onboard Thermal Classifier 6
  • 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 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 NASA Ames IKHANA Flight Path Threat Generation From MODIS Data EO-1 Tasking: “Ranch” Fire 10
  • 11. OGC Enterprise Services & Standards SOAPful REST (Classic) RESTful GetCapabilities GetFeasibilities GetObservation DescribeTasking Submit... RPC/Hybrid Why The Split? 11
  • 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
  • 15. 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
  • 16. Unique Opportunity For System-Level Architectural Change 16
  • 17. RESTful Services For ROA Everything is a url! • “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 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
  • 22. OpenSearch • OpenSearch 1.1 • OpenSearch Description Document • Discoverable by Browser • Geo Extension Draft 22
  • 23. Security • OpenID 2.0 + Auth or PKI • OpenAuth (AOL) • That’s another topic of discussion! 23
  • 24. Goal Consistent User Experience Across All OGC Services 24
  • 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
  • 27. RESTful API Architecture Breakdown • Discovery • Transactions • [Open]Search • Security: OpenID 2.0... • Publishing 27
  • 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=''> <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 • GeoBliki Framework: OGC SWE Data Node: • OpenFire: PubSub Backend: • OpenWFEru: Workflow Engine • Rools: Rule Engine • FormFaces: Forms Engine • Matelot: Flex Workflow Designer • Community MapBuilder: Map Client • Eclipse: Development Environment Value Proposition: RoR + ROA + Open Source Simpler, Faster, Cheaper 31
  • 32. Thank You. Pat G. Cappelaere Vightel Corporation i-name: =cappelaere email: blog: gmail: aol: patc24576 cell: 410 340 4868 business: 443 283 0369 fax: 443 283 0370 32