Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

What's happening in the OSGi IoT Expert Group? - Tim Ward

294 views

Published on

OSGi Community Event 2016 Presentation by Tim Ward (Paremus)

The Internet of Things is a hot topic in the IT industry, and it shows no sign of cooling down. When OSGi was first conceived its purpose was to do exactly the sorts of things that IoT gateways do right now. In fact a lot of IoT gateways run OSGi today! The OSGi IoT Expert Group exists to help identify new areas where OSGi can offer a better IoT platform, and to define solutions for those use cases.

This talk from the chair of the IoT Expert Group will cover the recent work that’s been going on in the IoT Expert Group, what outputs you can expect to see in the future, and also information about how you can get involved with the Expert Group

Background
The OSGi service platform has existed as a modular micro-service runtime for well over a decade, and it was originally created to run on small embedded systems in the home. It turns out that the same model works very well on servers and in the cloud, making OSGi the perfect platform for end-to-end IoT development.

In the last two years the OSGi Alliance have been on an IoT requirements gathering mission, the result of which has been the new IoT Expert Group. Whether you’re looking for security test suites, low-footprint communications with edge devices, or large-scale data streaming the IoT Expert Group are there to make sure that the experience is as smooth and simple as possible.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

What's happening in the OSGi IoT Expert Group? - Tim Ward

  1. 1. 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 2016 co-located at EclipseCon Europe 2016 OSGi Community Event 2016 What’s happening in the IoT Expert Group? Tim Ward http://www.paremus.com info@paremus.com
  2. 2. 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
  3. 3. 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
  4. 4. 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
  5. 5. 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 do OSGi was originally designed to run on residential gateways! OSGi has also proven to be a great server platform Having the same platform in the cloud and on the edge reduces impedance OSGi is dynamic and remotely manageable by design Edge servers must be easy to update “Things” may come and go, or move, or break at any time
  6. 6. 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 important Well designed OSGi systems will “self-heal” by dynamically re-wiring OSGi services are a perfect model for the vagaries of “things” In a server room losing a machine is bad, and a whole rack catastrophic In 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 failure And then to start working again afterwards!
  7. 7. 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
  8. 8. 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?
  9. 9. 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 need Everything starts with a requirement! Related requirements are gathered together, These are turned into an RFP document RFP documents are published to GitHub Publicly readable, but only members may write/update When ready, RFP documents are put to a vote Accepted RFPs are eligible for the next phase
  10. 10. 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 document An 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
  11. 11. 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)
  12. 12. 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 created Typically releases happen every 18-24 months The process may seem complicated, but it ensures quality The “three legged stool” of specification, RI and CT is required Each of the pieces tests that the others are correct! Another important factor is that the specification is iteratively improved Make it as simple as possible but no simpler
  13. 13. 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
  14. 14. 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 security How do I know that the bundle I’m installing is safe OSGi 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
  15. 15. 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 Source https://github.com/osgi/osgi.security-tests It uses JUnit 4 tests to verify security recommendations These tests can be run using Gradle, or from Bndtools A JUnit runner and test probe provide support for testing remote devices For Example…
  16. 16. 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 devices A broker-based system for message queuing and delivery MQTT messages are used for bi-directional communication with Things Data feeds from sensors Control messages for reconfiguration, or changing the state of actuators Implementation based on ideas and experience from the OSGi Train!
  17. 17. 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 gateways A huge variety of smart devices exist already Devices are heterogeneous, both in protocol and API This RFP gathers requirements for providing and consuming metadata HGI/OneM2M Smart Device Templates IoTivity RAML definitions …
  18. 18. 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 detectors Frequency and vendor independent OneM2M collaborations - interoperation with OneM2M specifications Continuation of OSGi as a reference platform for OneM2M
  19. 19. 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
  20. 20. 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
  21. 21. Copyright © 2005 - 2016 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. OSGi Community Event Nov 2016
  22. 22. 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 info@paremus.com http://www.manning.com/cummins/
  23. 23. 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 info@paremus.com

×