what's happening in the osgi iot expert group? - tim ward
TRANSCRIPT
Copyright © 2005 - 2016 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
OSGi Community Event Nov 2016
OSGi Community Event 2016co-located at
EclipseCon Europe 2016
OSGi Community Event 2016 What’s happening in the IoT Expert Group?
Tim Ward http://www.paremus.com [email protected]
Copyright © 2005 - 2016 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
OSGi Community Event Nov 2016
•Chief Technology Officer at Paremus
• 8 years developing OSGi specifications
•Co-Chair of the OSGi IoT Expert Group
• Interested in Asynchronous Distributed Systems
•Author of Manning’s Enterprise OSGi in Action
• http://www.manning.com/cummins
Who is Tim Ward? @TimothyWard
Copyright © 2005 - 2016 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
OSGi Community Event Nov 2016
OSGi - More than just a module Framework
Copyright © 2005 - 2016 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
OSGi Community Event Nov 2016
OSGi and IoT - I thought OSGi was a module framework?
•Yes, OSGi does provide a module framework
•No that is not all that the OSGi Alliance does!
•Certification exams - (there was one on Monday!)
•Additional specifications to offer new features to OSGi applications
• Three “Expert Groups” gather domain specific requirements
• These eventually become OSGi specifications
Copyright © 2005 - 2016 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
OSGi Community Event Nov 2016
Why is OSGi good for IoT?
IoT “things” are usually too constrained to run Java, but most gateways doOSGi was originally designed to run on residential gateways!
OSGi has also proven to be a great server platformHaving the same platform in the cloud and on the edge reduces impedance
OSGi is dynamic and remotely manageable by designEdge servers must be easy to update“Things” may come and go, or move, or break at any time
Copyright © 2005 - 2016 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
OSGi Community Event Nov 2016
Why is OSGi good for IoT (2)?
OSGi’s dynamic behaviour is vitally importantWell designed OSGi systems will “self-heal” by dynamically re-wiringOSGi services are a perfect model for the vagaries of “things”
In a server room losing a machine is bad, and a whole rack catastrophicIn IoT losing “a whole rack” is normal!I take off my watch/leave my house/reboot my router/run out of battery…
OSGi is designed to cope with regular, sustained catastrophic failureAnd then to start working again afterwards!
Copyright © 2005 - 2016 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
OSGi Community Event Nov 2016
The OSGi IoT Expert Group
• The IoT Expert group is the newest in the OSGi alliance
• It focusses on requirements that are relevant to IoT applications
• The IoT Expert Group provides a “common ground” for requirements that straddled the existing Enterprise and Residential Expert Groups
• Existing OSGi specifications and technology will be reused where possible
•New requirements will be incorporated into new specifications/updates
Copyright © 2005 - 2016 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
OSGi Community Event Nov 2016
What does an Expert Group actually do?
Copyright © 2005 - 2016 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
OSGi Community Event Nov 2016
The OSGi specification process
OSGi specifications are written based on needEverything starts with a requirement!
Related requirements are gathered together, These are turned into an RFP document
RFP documents are published to GitHubPublicly readable, but only members may write/update
When ready, RFP documents are put to a voteAccepted RFPs are eligible for the next phase
Copyright © 2005 - 2016 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
OSGi Community Event Nov 2016
The OSGi specification process (2)
Once the RFC is ready then there is another vote!
An accepted RFP will then be turned into an RFC documentAn RFC proposes solutions to the RFP requirements
RFCs are discussed and debated (just like RFPs)Sometimes a number of iterations are needed to come up with the “right” solution
Copyright © 2005 - 2016 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
OSGi Community Event Nov 2016
The OSGi specification process (3)
The specification is only complete once all three pieces are ready!Then there is a final vote
The RFC document is used to write a specification chapter
The specification chapter is used to produce both a reference implementation and compliance tests
Typically the authors of these are different people (usually from different companies)
Copyright © 2005 - 2016 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
OSGi Community Event Nov 2016
The Specification release
Once new chapters are “ready” a new release will be createdTypically releases happen every 18-24 months
The process may seem complicated, but it ensures qualityThe “three legged stool” of specification, RI and CT is requiredEach of the pieces tests that the others are correct!
Another important factor is that the specification is iteratively improvedMake it as simple as possible but no simpler
Copyright © 2005 - 2016 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
OSGi Community Event Nov 2016
Current IoT EG Activities
Copyright © 2005 - 2016 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
OSGi Community Event Nov 2016
IoT Security Guidelines (RFP 176)
An important aspect of IoT is securityHow do I know that the bundle I’m installing is safeOSGi has permissions and code signing, but what about mistakes?
This RFP has resulted in:A White Paper (undergoing final reviews)A Security Test suite for local and remote framework testing
Copyright © 2005 - 2016 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
OSGi Community Event Nov 2016
IoT Security Test Suite
The IoT Security Test suite is publicly available and Open Sourcehttps://github.com/osgi/osgi.security-tests
It uses JUnit 4 tests to verify security recommendationsThese tests can be run using Gradle, or from Bndtools
A JUnit runner and test probe provide support for testing remote devices
For Example…
Copyright © 2005 - 2016 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
OSGi Community Event Nov 2016
RFC 229 — MQTT communications
MQTT is a popular lightweight communications mechanism for IoT devicesA broker-based system for message queuing and delivery
MQTT messages are used for bi-directional communication with ThingsData feeds from sensorsControl messages for reconfiguration, or changing the state of actuators
Implementation based on ideas and experience from the OSGi Train!
Copyright © 2005 - 2016 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
OSGi Community Event Nov 2016
RFP 185 — Smart Device Templates
OSGi is a popular platform for residential gatewaysA huge variety of smart devices exist alreadyDevices are heterogeneous, both in protocol and API
This RFP gathers requirements for providing and consuming metadataHGI/OneM2M Smart Device TemplatesIoTivity RAML definitions…
Copyright © 2005 - 2016 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
OSGi Community Event Nov 2016
RFP Futures
CoAP - A lightweight communications protocol with built-in API discovery
RFID - A mechanism for reading from and controlling RFID detectorsFrequency and vendor independent
OneM2M collaborations - interoperation with OneM2M specificationsContinuation of OSGi as a reference platform for OneM2M
Copyright © 2005 - 2016 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
OSGi Community Event Nov 2016
Getting involved
Copyright © 2005 - 2016 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
OSGi Community Event Nov 2016
How do I get involved?
•Submitting requirements to an Expert Group can be done by anyone!
•Add your own using OSGi’s public bugzilla - https://osgi.org/bugzilla/
• Follow the Expert Group’s work on GitHub!
•All RFP/RFC work is publicly available - https://github.com/osgi/design
•Participating in an OSGi Expert Group does require membership
• The lowest level membership is enough to contribute to specifications
•Members often participate in multiple Expert Groups
Copyright © 2005 - 2016 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
OSGi Community Event Nov 2016
Copyright © 2005 - 2016 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
OSGi Community Event Nov 2016
• For more about OSGi...• Specifications: http://www.osgi.org
• RFPs/RFCs: https://github.com/osgi/design
• OSGi Security Tests: https://github.com/osgi/osgi.security-tests
• Enterprise OSGi in Action
• http://www.manning.com/cummins
• Icons from http://www.toicon.com/ • Sharp Corners series by Shannon Thomas
Questions?
Thanks!
http://www.paremus.com [email protected]
http://www.manning.com/cummins/
Copyright © 2005 - 2016 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
OSGi Community Event Nov 2016
www.paremus.com @Paremus [email protected]