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

23
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 [email protected]

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

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]