A RESTful WfXML

  • 4,580 views
Uploaded on

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

More 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

Views

Total Views
4,580
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
111
Comments
0
Likes
4

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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
  • 4. http://www.ogcnetwork.net/pub/ogcnetwork/GEOSS/AI_Pilot_Demo/index.html http://www.youtube.com/watch?v=3uh3cpULBQY 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 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
  • 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! • 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
  • 22. OpenSearch http://www.opensearch.org • 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='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
  • 32. Thank You. Pat G. Cappelaere Vightel Corporation http://www.vightel.com i-name: =cappelaere email: pat@cappelaere.com blog: http://blog.geobliki.com gmail: cappelaere@gmail.com aol: patc24576 cell: 410 340 4868 business: 443 283 0369 fax: 443 283 0370 32