Semantic Versioning is the current standard for supporting software changes over time. It also an integral part of the OSGi platform. Over the years it has become apparent that although Semantic Versioning allows us to express breaking changes, it does not do a good job in supporting the actual transition from the old to the new. The Semantic Versioning of today favors the parties that are slow to adopt the change, making life hard for everyone else.
The Actor model is an architectural pattern designed to support high-scale concurrency without the need for locking constructs and with simple memory safety rules. This talk discusses how to add support for the Actor concurrency model to the OSGi environment. We want to retain the composition of OSGi services as the basic model for creating applications while at the same time allowing application developers to schedule concurrent execution with an actor runtime, rather than to use threads and locks.
IoT is one of the major markets in which the OSGi technology is being used. The range of use cases is endless, e.g. for smart home & energy management, condition monitoring and predictive maintenance for industrial machinery, reduce loss of harvest with connected agriculture solutions, improve traffic flow management as well as fleet management in smart cities.
In this panel we want to discuss the following topics that various OSGi members have been working on:
Graphql is a great alternative to REST and takes a lot of headache out of the Design of a good API. Created by Facebook and made Opensources a few years back, it has an increasing populairty. See how to use the Gecko GraphQL Whiteboard easiely expose your Services via GraphQL or write a specific custom API .
Testing OSGi applications is a little different from other platforms. This talk aims to get people started with testing on OSGi and provide an overview of the options as well as practical examples.
Testing starts at the unit test level. Every project should have a good coverage by really fast tests (<10s for all tests). The talk will show practical cases of unit testing declarative services based code and how to shield your business code from OSGi API. We will also look into some typical pitfalls.
Many people have the feeling or experience that OSGi is hard to use as a developer.
Most of this comes down to either the modular classpath or the dynamic nature of OSGi.
This talk shows best practices for coping with those special properties of OSGi in a
elegant and simple way.
It is 2019, web is everywhere. We should give it a try!
But we love OSGI and Eclipse services. We didn't want to rewrite business logic from scratch. We didn't even want to bury jface/swt UI - we love it as well. All we needed was a modern web UI on top of the Eclipse/OSGI platform, just in addition to jface/swt.
We did it. And now we would like to share our experience. We will tell you how to migrate your good-old Eclipse RCP application with plenty of dependencies to modern web-application. No RAP, jazz only.
Writing good software isn't always easy; writing good and versatile open-source software that scales with time, with complexity, with amount and diversity of code authors, while increasing its development speed and keeping a huge ecosystem of extenders healthy for an extremely low to null maintenance cost on adopter's shoulders thanks to backward compatibility is even more challenging.
This is the challenge the Eclipse Platform has successfully faced for soon to be 2 decades, and has made it almost trivial to deal with in the last months.