SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
Pilgrim Beart of 1248 gives a very high-level introduction to HyperCat. HyperCat is a very simple new spec which allows applications to automatically navigate service APIs, enabling them to find the data they are looking for, and removing the need for humans to manually write individual code for each combination of application and service. HyperCat thus helps create horizontal interoperability in the Internet of Things (IoT) and Open Data worlds.
Pilgrim Beart of 1248 gives a very high-level introduction to HyperCat. HyperCat is a very simple new spec which allows applications to automatically navigate service APIs, enabling them to find the data they are looking for, and removing the need for humans to manually write individual code for each combination of application and service. HyperCat thus helps create horizontal interoperability in the Internet of Things (IoT) and Open Data worlds.
1.
http://1248.io
An introduction by Pilgrim Beart
2.
http://1248.io
You’re an Application Developer
(or you’re commissioning one)
3.
http://1248.io
You need data from several data services
4.
http://1248.io
All services support the same open standards
https:
5.
http://1248.io
But each is organised differently
/customers/building/room/temperature
/users/hubs/devices/
/localauthority/street/post
6.
http://1248.io
So for each service you have to…
• Read the documentation
• Write code specific to that service
7.
http://1248.io
Everyone wants an ecosystem
If each application is specific to each service
we call it “vertical-integration”.
To grow, we need to go “horizontal”
and build an ecosystem where
all applications work with all services
8.
http://1248.io
…but Humans Don’t Scale
But adapting 10 Applications x 10 services
= 100 pieces of code to write
(and imagine 1,000,000 Applications…)
9.
http://1248.io
Problem: Services are not machine-browsable
An application cannot automatically discover a new
service’s resources, so a human has to write code every
time to enable it to do that.
I don’t know
where to start
10.
http://1248.io
HyperCat makes services machine-browsable
What have
you got?
This:
X/Y/Z
11.
http://1248.io
HyperCat makes life easier for everyone
• Developers - More data, quicker
• Service and Data providers - More customers
• End-customers - More choice
• Ecosystems and markets - Removes barriers
Credits:
• HyperCat was developed to solve a real need by a consortium including
1248.io, Aimes Grid
Services, AlertMe, Amey, ARM, Avanti, BalfourBeatty, BRE, British
Telecom, Carillion, Critical Software, Ctrl-
Shift, EDF, Enlight, ExplorerHQ, Flexeye, Guildford Borough
Council, IBM, Intel, Intellisense.io, Intouch, LivingPlanIT, London City
Airport, Merseyside Transport, Milligan Retail, Neul, Open Data
Institute, Placr, SH&BA, Stakeholder Design, Traak, UK Highways
Agency, Westminster City Council, Xively and the Universities of
Birmingham, Cambridge, Lancaster, Surrey, UCL and the Open University
• It was funded by the UK’s Technology Strategy Board
13.
http://1248.io
Where to get started
• Very simple spec (6 pages)
– http://www.openiot.org/apis
• Build on the open standards you already use
– HTTPS, RESTful, JSON
• Growing set of Catalogues to test against
• Growing set of Tools for Client & Services
– Online, and as Code Libraries
– See http://wiki.1248.io
14.
http://1248.io
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
• The only defined metadata tag is for the
catalogue itself
– Catalogues can contain catalogues
• There’s a security model and basic search
15.
http://1248.io
HyperCat is not a panacea
• Applications and Services still have to agree on
high level semantics
– i.e. if a service provides temperatures in °C then
the application needs to understand °C
• What HyperCat does is enable an application
to find those things that it does understand, in
any service
– e.g. “show me all the resources which are in °C”
16.
http://1248.io
http://1248.io
An introduction by Pilgrim Beart