SlideShare una empresa de Scribd logo
1 de 37
NASA SensorWeb Enterprise Services
... and Development Of New OGC Standards

                                                        Pat Cappelaere



REST Fest 2012 - September 13-14-15th, Greenville SC.         > GET /real
REST Fest 2012 - September 13-14-15th, Greenville SC.   > GET /real
REST Fest 2012 - September 13-14-15th, Greenville SC.   > GET /real
Patterns of the Forgotten Dreams...
Patterns of the Forgotten Dreams...

Let Me Take You Back To An Ancient Secret Place
Where Art Began

For An Ancient Vision To Meet Modern Visonnaries

In The Cave Of Forgotten Dreams, More Than 30,000
Years Ago

The Most Primitive Patterns Known To Mankind
Chauvet Cave, France




       http://en.wikipedia.org/wiki/Chauvet_Cave
OGC [Many] Services    My World TODAY!



                 WMS WFS WPS SPS WCS
                 WCPS WfCS SOS WNS SAS
                         CSW WPS-T
                   WfCS WFS-T
Enterprise Services?                EO-1



• Many Users
                                                        IKHANA
• Many [Government/International]
  Organizations 400+

• Many Services
  • .. Changing over time


• Many Spaceborne/Airborne                    Ground
  Sensors                                     Sensors


• With Need of Some Level of
  Security

                                           Models
EO-1




                    IKHANA




          Ground
          Sensors




       Models
EO-1

                             Impedance Mismatch

                    IKHANA




          Ground
          Sensors




       Models
EO-1

                             Impedance Mismatch

                    IKHANA




          Ground
          Sensors




       Models
OGC Service Bindings Evolution




                                   ?
REST/RPC         SOA/SOAP        • to... RESTFul!

(1995-2005)      (2005-2010)
RESTFul Expectation


       Incremental Cost of Integrating/
       Developing One More Service Shoud
       Be Very Low



  Cost/                      Cost/
Complexity                 Complexity




               Number of
                                        5 6   Number of
                Services                       Services
Our Approach




               http://rip.jit.su
RIP - Finding Patterns and Best Practices




                            Combarelles, France
RIP - Finding Patterns and Best Practices




                            Combarelles, France
• User Stories & Acceptance Criteria
    https://github.com/cappelaere/rest_stories
                                                     RestFul
                                                      Policy
                                                       For
                                                 [OGC] Enterprise
                                                    Services?

          YOU
Current Findings for Enterprise Services

• Strong Discovery Mechanism

  • Needed for [Geo] Portals (CEOS/GEO)
                                              http://www.geowebportal.org
  • and Introspection, Testing & Validation

  • Generate Free API Explorer

  • and Human Documentation

  • Uses Online Accessible Schemas

  • Validates Client/Server Messages

  • Used for Versioning (Service Contract)


       Custom Media Types ???
Discovery           ... How?
                                                            http://radarsat.geobliki.com
• Auto-Discovery From Landing Page
                                     <head profile="http://a9.com/-/spec/opensearch/1.1/">

  • Links in HTML Page Header
                                       <title>NASA SensorWeb RADARSAT Server v0.2</title>

                                          ...

                                          <link rel='stylesheet' href='/stylesheets/sps.css' type="text/css" %>

                                       <link rel="search"
                                     !    type="application/opensearchdescription+xml"
                                     !    href="/radarsat/opensearch/activity_search"
                                     !    title="RADARSAT GeoActivities Search" />!

                                         <link rel="search"
                                     !       type="application/opensearchdescription+xml"
                                     !       href="/radarsat/opensearch/observation_search"
                                     !       title="RADARSAT Observations Search" />!
                                     !
                                       <link rel="discovery"
                                     !    type="application/json"
                                     !    href="/radarsat/discovery"
                                     !    title="RADARSAT Service Discovery Document" />!

                                          <link rel="explorer"
                                     !       type="text/html"
                                     !       href="/radarsat/api"
                                     !       title="RADARSAT API Explorer" />!

                                       <link rel="docs"
                                     !    type="text/html"
                                     !    href="/radarsat/docs"
                                     !    title="RADARSAT Documentation" />!

                                       <link rel="observations"
                                     !    type="application/atom+xml"
                                     !    href="/radarsat/sos/obsertions.atom"
                                     !    title="RADARSAT Observation Feed" />
                                     ...
Discovery           ... How?

• Auto-Discovery From Landing Page

  • Links in HTML Page Header

• Use Google API Service Document (JSON)
                                           https://developers.google.com/discovery/

• Use JSON-Schema
                                           http://json-schema.org/
• Use IODocs (Mashery)
                                           https://github.com/mashery/iodocs
Output Media Types



GML???
[Geo]JSON++
Atom
[Geo]Torrent
[Geo]JSON++
• Geo Extensions


  • Geographic Data Structures


  • [Simple] Geometries


     • Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon


  • Coordinate Reference System Objects


  • Feature Objects
[Geo]JSON++ - The Battle of The Links
• HyperLinks
                                        This has to STOP
  • HAL
       { “_links”: {
           “self”: {“href”: “example.com” }}
           }

  • Hyper-Schema, Siren

      { "links":
        [
              { "rel": "self",
                "href": "http://api.x.io/customers/pj123" }
         ]
      }
Atom

• Good for Humans


• Good for Machines


• Extensibility


• HyperMedia


• Schemas


• Super-Aggregation


• Notifications
Atom

• Good for Humans


• Good for Machines


• Extensibility


• HyperMedia


• Schemas


• Super-Aggregation


• Notifications
Atom

• Good for Humans


• Good for Machines


• Extensibility


• HyperMedia


• Schemas


• Super-Aggregation


• Notifications
Atom

• Good for Humans


• Good for Machines


• Extensibility
Atom

• HyperMedia
Atom

• Schemas
Atom

• Super-Aggregation
Atom

• Notifications




 PubSubHubBub
Security

 Use-case:

 Web Services Interacting On Behalf Of Users
Does Not Scale
OAuth 2.0: Register Everywhere!
OpenID/OAuth Hybrid

                                                  Web Services

                           OP
                                     Attribute
                                     Exchange
       OP        Trust



                           OP                    Request

       Registration
                              Keys




                      Delegation
Entreprise Services


Consistent Across Services Using Defined Patterns

Discoverable

Testable

For Both Humans and Machines

Secure with Distributed Delegation of Authority
Entreprise Services

Consistent Across Services Using Defined Patterns

Discoverable

Testable

For Both Humans and Machines

Secure with Distributed Delegation of Authority


But More Importantly,
They Need To Be Agile And Evolve Over Time...
They Need To Be More Reactive...
THANK YOU
pat@cappelaere.com




                                        We survived this 30,000 ago...
                                                We Evolved...
                           Our Systems and Services Need To Follow The Same Path...

 REST Fest 2012 - September 13-14-15th, Greenville SC.              > GET /real

Más contenido relacionado

Similar a NASA SensorWeb Enterprise Services

REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25Jon Petter Hjulstad
 
Building Tomorrow's Web Services
Building Tomorrow's Web ServicesBuilding Tomorrow's Web Services
Building Tomorrow's Web ServicesPat Cappelaere
 
OUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA SuiteOUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA SuiteJon Petter Hjulstad
 
Scaling with swagger
Scaling with swaggerScaling with swagger
Scaling with swaggerTony Tam
 
Esri Web Applications February11 2011
Esri Web Applications February11 2011Esri Web Applications February11 2011
Esri Web Applications February11 2011delmelle
 
Riding the Edge with Ember.js
Riding the Edge with Ember.jsRiding the Edge with Ember.js
Riding the Edge with Ember.jsaortbals
 
Lies you have been told about REST
Lies you have been told about RESTLies you have been told about REST
Lies you have been told about RESTdarrelmiller71
 
aip-workshop1-dev-tutorial
aip-workshop1-dev-tutorialaip-workshop1-dev-tutorial
aip-workshop1-dev-tutorialMatthew Vaughn
 
Building SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJSBuilding SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJSSharePointInstitute
 
Business Applications Integration In The Cloud
Business Applications Integration In The CloudBusiness Applications Integration In The Cloud
Business Applications Integration In The CloudAnna Brzezińska
 
Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Shaer Hassan
 
Paul Fremantle Restful SOA Registry
Paul Fremantle Restful SOA RegistryPaul Fremantle Restful SOA Registry
Paul Fremantle Restful SOA Registrydeimos
 
PLAT-8 Spring Web Scripts and Spring Surf
PLAT-8 Spring Web Scripts and Spring SurfPLAT-8 Spring Web Scripts and Spring Surf
PLAT-8 Spring Web Scripts and Spring SurfAlfresco Software
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Pierre Joye
 
JHipster Conf 2018 : Connect your JHipster apps to the world of APIs with Ope...
JHipster Conf 2018 : Connect your JHipster apps to the world of APIs with Ope...JHipster Conf 2018 : Connect your JHipster apps to the world of APIs with Ope...
JHipster Conf 2018 : Connect your JHipster apps to the world of APIs with Ope...chbornet
 

Similar a NASA SensorWeb Enterprise Services (20)

REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25
 
Building Tomorrow's Web Services
Building Tomorrow's Web ServicesBuilding Tomorrow's Web Services
Building Tomorrow's Web Services
 
OUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA SuiteOUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA Suite
 
Soap and Rest
Soap and RestSoap and Rest
Soap and Rest
 
RESTful OGC Services
RESTful OGC ServicesRESTful OGC Services
RESTful OGC Services
 
Scaling with swagger
Scaling with swaggerScaling with swagger
Scaling with swagger
 
Esri Web Applications February11 2011
Esri Web Applications February11 2011Esri Web Applications February11 2011
Esri Web Applications February11 2011
 
Riding the Edge with Ember.js
Riding the Edge with Ember.jsRiding the Edge with Ember.js
Riding the Edge with Ember.js
 
Lies you have been told about REST
Lies you have been told about RESTLies you have been told about REST
Lies you have been told about REST
 
aip-workshop1-dev-tutorial
aip-workshop1-dev-tutorialaip-workshop1-dev-tutorial
aip-workshop1-dev-tutorial
 
Building SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJSBuilding SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJS
 
Business Applications Integration In The Cloud
Business Applications Integration In The CloudBusiness Applications Integration In The Cloud
Business Applications Integration In The Cloud
 
Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09
 
Paul Fremantle Restful SOA Registry
Paul Fremantle Restful SOA RegistryPaul Fremantle Restful SOA Registry
Paul Fremantle Restful SOA Registry
 
Modified REST Presentation
Modified REST PresentationModified REST Presentation
Modified REST Presentation
 
PLAT-8 Spring Web Scripts and Spring Surf
PLAT-8 Spring Web Scripts and Spring SurfPLAT-8 Spring Web Scripts and Spring Surf
PLAT-8 Spring Web Scripts and Spring Surf
 
XML in software development
XML in software developmentXML in software development
XML in software development
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
 
Soa limitations
Soa limitationsSoa limitations
Soa limitations
 
JHipster Conf 2018 : Connect your JHipster apps to the world of APIs with Ope...
JHipster Conf 2018 : Connect your JHipster apps to the world of APIs with Ope...JHipster Conf 2018 : Connect your JHipster apps to the world of APIs with Ope...
JHipster Conf 2018 : Connect your JHipster apps to the world of APIs with Ope...
 

Más de Pat Cappelaere

REST Level 5 - A Trek To The Summit
REST Level 5 - A Trek To The SummitREST Level 5 - A Trek To The Summit
REST Level 5 - A Trek To The SummitPat Cappelaere
 
HyspIRI IPM Goes Social
HyspIRI IPM Goes SocialHyspIRI IPM Goes Social
HyspIRI IPM Goes SocialPat Cappelaere
 
Want Your API to Stick? Try Story-Telling...
Want Your API to Stick? Try Story-Telling...Want Your API to Stick? Try Story-Telling...
Want Your API to Stick? Try Story-Telling...Pat Cappelaere
 
RESTFul Services, Does it Matter Anymore?
RESTFul Services, Does it Matter Anymore?RESTFul Services, Does it Matter Anymore?
RESTFul Services, Does it Matter Anymore?Pat Cappelaere
 
Cathalac Story Based on Actual Data
Cathalac Story Based on Actual DataCathalac Story Based on Actual Data
Cathalac Story Based on Actual DataPat Cappelaere
 
Radarsat Facebook App Concept
Radarsat Facebook App ConceptRadarsat Facebook App Concept
Radarsat Facebook App ConceptPat Cappelaere
 
Story Telling as an Activity-based Architecture
Story Telling as an Activity-based ArchitectureStory Telling as an Activity-based Architecture
Story Telling as an Activity-based ArchitecturePat Cappelaere
 
Intelligent Payload Processing
Intelligent Payload ProcessingIntelligent Payload Processing
Intelligent Payload ProcessingPat Cappelaere
 
Restful Security Requirements
Restful Security RequirementsRestful Security Requirements
Restful Security RequirementsPat Cappelaere
 
Two Degrees To SensoWeb
Two Degrees To SensoWebTwo Degrees To SensoWeb
Two Degrees To SensoWebPat Cappelaere
 
EO/NRE Interoperability Presentation
EO/NRE Interoperability PresentationEO/NRE Interoperability Presentation
EO/NRE Interoperability PresentationPat Cappelaere
 
Geobliki: A Platform For Emergency Response
Geobliki: A Platform For Emergency ResponseGeobliki: A Platform For Emergency Response
Geobliki: A Platform For Emergency ResponsePat Cappelaere
 
Improving Operational Space Responsiveness
Improving Operational Space ResponsivenessImproving Operational Space Responsiveness
Improving Operational Space ResponsivenessPat Cappelaere
 

Más de Pat Cappelaere (19)

Api Days Are Over
Api Days Are OverApi Days Are Over
Api Days Are Over
 
Open GeoSocial API
Open GeoSocial APIOpen GeoSocial API
Open GeoSocial API
 
REST Level 5 - A Trek To The Summit
REST Level 5 - A Trek To The SummitREST Level 5 - A Trek To The Summit
REST Level 5 - A Trek To The Summit
 
HyspIRI IPM Goes Social
HyspIRI IPM Goes SocialHyspIRI IPM Goes Social
HyspIRI IPM Goes Social
 
Want Your API to Stick? Try Story-Telling...
Want Your API to Stick? Try Story-Telling...Want Your API to Stick? Try Story-Telling...
Want Your API to Stick? Try Story-Telling...
 
RESTFul Services, Does it Matter Anymore?
RESTFul Services, Does it Matter Anymore?RESTFul Services, Does it Matter Anymore?
RESTFul Services, Does it Matter Anymore?
 
Cathalac Story Based on Actual Data
Cathalac Story Based on Actual DataCathalac Story Based on Actual Data
Cathalac Story Based on Actual Data
 
Radarsat Facebook App Concept
Radarsat Facebook App ConceptRadarsat Facebook App Concept
Radarsat Facebook App Concept
 
Story Telling as an Activity-based Architecture
Story Telling as an Activity-based ArchitectureStory Telling as an Activity-based Architecture
Story Telling as an Activity-based Architecture
 
RIP
RIPRIP
RIP
 
Nasa aip5.pptx
Nasa aip5.pptxNasa aip5.pptx
Nasa aip5.pptx
 
Intelligent Payload Processing
Intelligent Payload ProcessingIntelligent Payload Processing
Intelligent Payload Processing
 
Restful Security Requirements
Restful Security RequirementsRestful Security Requirements
Restful Security Requirements
 
Two Degrees To SensoWeb
Two Degrees To SensoWebTwo Degrees To SensoWeb
Two Degrees To SensoWeb
 
Esip Jan 09
Esip Jan 09Esip Jan 09
Esip Jan 09
 
EO/NRE Interoperability Presentation
EO/NRE Interoperability PresentationEO/NRE Interoperability Presentation
EO/NRE Interoperability Presentation
 
A RESTful WfXML
A RESTful WfXMLA RESTful WfXML
A RESTful WfXML
 
Geobliki: A Platform For Emergency Response
Geobliki: A Platform For Emergency ResponseGeobliki: A Platform For Emergency Response
Geobliki: A Platform For Emergency Response
 
Improving Operational Space Responsiveness
Improving Operational Space ResponsivenessImproving Operational Space Responsiveness
Improving Operational Space Responsiveness
 

Último

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 

Último (20)

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 

NASA SensorWeb Enterprise Services

  • 1. NASA SensorWeb Enterprise Services ... and Development Of New OGC Standards Pat Cappelaere REST Fest 2012 - September 13-14-15th, Greenville SC. > GET /real
  • 2. REST Fest 2012 - September 13-14-15th, Greenville SC. > GET /real
  • 3. REST Fest 2012 - September 13-14-15th, Greenville SC. > GET /real
  • 4. Patterns of the Forgotten Dreams...
  • 5. Patterns of the Forgotten Dreams... Let Me Take You Back To An Ancient Secret Place Where Art Began For An Ancient Vision To Meet Modern Visonnaries In The Cave Of Forgotten Dreams, More Than 30,000 Years Ago The Most Primitive Patterns Known To Mankind
  • 6. Chauvet Cave, France http://en.wikipedia.org/wiki/Chauvet_Cave
  • 7. OGC [Many] Services My World TODAY! WMS WFS WPS SPS WCS WCPS WfCS SOS WNS SAS CSW WPS-T WfCS WFS-T
  • 8. Enterprise Services? EO-1 • Many Users IKHANA • Many [Government/International] Organizations 400+ • Many Services • .. Changing over time • Many Spaceborne/Airborne Ground Sensors Sensors • With Need of Some Level of Security Models
  • 9. EO-1 IKHANA Ground Sensors Models
  • 10. EO-1 Impedance Mismatch IKHANA Ground Sensors Models
  • 11. EO-1 Impedance Mismatch IKHANA Ground Sensors Models
  • 12. OGC Service Bindings Evolution ? REST/RPC SOA/SOAP • to... RESTFul! (1995-2005) (2005-2010)
  • 13. RESTFul Expectation Incremental Cost of Integrating/ Developing One More Service Shoud Be Very Low Cost/ Cost/ Complexity Complexity Number of 5 6 Number of Services Services
  • 14. Our Approach http://rip.jit.su
  • 15. RIP - Finding Patterns and Best Practices Combarelles, France
  • 16. RIP - Finding Patterns and Best Practices Combarelles, France
  • 17. • User Stories & Acceptance Criteria https://github.com/cappelaere/rest_stories RestFul Policy For [OGC] Enterprise Services? YOU
  • 18. Current Findings for Enterprise Services • Strong Discovery Mechanism • Needed for [Geo] Portals (CEOS/GEO) http://www.geowebportal.org • and Introspection, Testing & Validation • Generate Free API Explorer • and Human Documentation • Uses Online Accessible Schemas • Validates Client/Server Messages • Used for Versioning (Service Contract) Custom Media Types ???
  • 19. Discovery ... How? http://radarsat.geobliki.com • Auto-Discovery From Landing Page <head profile="http://a9.com/-/spec/opensearch/1.1/"> • Links in HTML Page Header <title>NASA SensorWeb RADARSAT Server v0.2</title> ... <link rel='stylesheet' href='/stylesheets/sps.css' type="text/css" %> <link rel="search" ! type="application/opensearchdescription+xml" ! href="/radarsat/opensearch/activity_search" ! title="RADARSAT GeoActivities Search" />! <link rel="search" ! type="application/opensearchdescription+xml" ! href="/radarsat/opensearch/observation_search" ! title="RADARSAT Observations Search" />! ! <link rel="discovery" ! type="application/json" ! href="/radarsat/discovery" ! title="RADARSAT Service Discovery Document" />! <link rel="explorer" ! type="text/html" ! href="/radarsat/api" ! title="RADARSAT API Explorer" />! <link rel="docs" ! type="text/html" ! href="/radarsat/docs" ! title="RADARSAT Documentation" />! <link rel="observations" ! type="application/atom+xml" ! href="/radarsat/sos/obsertions.atom" ! title="RADARSAT Observation Feed" /> ...
  • 20. Discovery ... How? • Auto-Discovery From Landing Page • Links in HTML Page Header • Use Google API Service Document (JSON) https://developers.google.com/discovery/ • Use JSON-Schema http://json-schema.org/ • Use IODocs (Mashery) https://github.com/mashery/iodocs
  • 22. [Geo]JSON++ • Geo Extensions • Geographic Data Structures • [Simple] Geometries • Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon • Coordinate Reference System Objects • Feature Objects
  • 23. [Geo]JSON++ - The Battle of The Links • HyperLinks This has to STOP • HAL { “_links”: { “self”: {“href”: “example.com” }} } • Hyper-Schema, Siren { "links": [ { "rel": "self", "href": "http://api.x.io/customers/pj123" } ] }
  • 24. Atom • Good for Humans • Good for Machines • Extensibility • HyperMedia • Schemas • Super-Aggregation • Notifications
  • 25. Atom • Good for Humans • Good for Machines • Extensibility • HyperMedia • Schemas • Super-Aggregation • Notifications
  • 26. Atom • Good for Humans • Good for Machines • Extensibility • HyperMedia • Schemas • Super-Aggregation • Notifications
  • 27. Atom • Good for Humans • Good for Machines • Extensibility
  • 32. Security Use-case: Web Services Interacting On Behalf Of Users
  • 33. Does Not Scale OAuth 2.0: Register Everywhere!
  • 34. OpenID/OAuth Hybrid Web Services OP Attribute Exchange OP Trust OP Request Registration Keys Delegation
  • 35. Entreprise Services Consistent Across Services Using Defined Patterns Discoverable Testable For Both Humans and Machines Secure with Distributed Delegation of Authority
  • 36. Entreprise Services Consistent Across Services Using Defined Patterns Discoverable Testable For Both Humans and Machines Secure with Distributed Delegation of Authority But More Importantly, They Need To Be Agile And Evolve Over Time... They Need To Be More Reactive...
  • 37. THANK YOU pat@cappelaere.com We survived this 30,000 ago... We Evolved... Our Systems and Services Need To Follow The Same Path... REST Fest 2012 - September 13-14-15th, Greenville SC. > GET /real

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n