Upload
ross-garrett
View
181
Download
3
Embed Size (px)
Citation preview
© 2015 Axway | @gssor
1
Is this “thing” connected? API Days San Francisco Ross Garrett [email protected] @gssor
June 17th, 2015
© 2015 Axway | @gssor
4
Uhhh…
“If we had computers that knew everything there was to know about things—using data they gathered without any help from us—we would be able to track and count everything, and greatly reduce waste, loss and cost. We would know when things needed replacing, repairing or recalling, and whether they were
fresh or past their best. The Internet of Things has the potential to change the world, just as the Internet did. Maybe even more so.”
—Kevin Ashton, "That 'Internet of Things' Thing", RFID
Journal, July 22, 1999
© 2015 Axway | @gssor
6
“If we had computers that knew everything there was to know about things—using data they gathered without any help from us—we would be able to track and count everything, and greatly reduce waste, loss and cost. We would know when things needed replacing, repairing or recalling, and whether they were fresh or past their best. The Internet of Things has the potential to change the world, just as the Internet did. Maybe even more so.”
© 2015 Axway | @gssor
18
Everyone wants an ecosystem
• Today, each application integration is specific to a device or service provider.
• Vertically integrated silos!
© 2015 Axway | @gssor
21
Each “thing” or service requires:
• Documentation on how to use the API
• New code specific to that service
© 2015 Axway | @gssor
22
Humans don’t scale!
• 10 APIs for 10 separate services might be reasonable.
• But for 1000s of services ???
© 2015 Axway | @gssor
23
Services are not machine browsable
• An application cannot automatically discover a new service’s resources or actions
• Requiring developers to integrate with new APIs
© 2015 Axway | @gssor
26
Very simple specification
• Servers should serve a catalogue on http://hub.com/cat
• The catalogue is a JSON document with MIME type application/vnd.tsbiot.catalogue+json
h,p://www.hypercat.io
© 2015 Axway | @gssor
27
How to use HyperCat
• GET http(s)://cat
• Returns a catalogue: – Tagged with metadata – Containing zero or more resource items
• Each resource item: – Has an HREF pointer to the resource – Is tagged with metadata so you can tell what it is
• Supports basic search
© 2015 Axway | @gssor
28
Server provides a catalogue
• Servers provide catalogues of resources to clients
• A catalogue is an array of URIs
© 2015 Axway | @gssor
29
Resource Metadata
• Each resource in the catalogue is annotated with metadata (RDF-like triples)
© 2015 Axway | @gssor
30
Not a panacea
• Applications and services still must agree on high level semantics – E.g. Temperature is defined in oC
• HyperCat can allow an application to find things it does understand from any service – E.g. Show me all resources in oC