The OSGi Alliance Community Event is co-located with EclipseCon Europe, and offers a full OSGi specific program that is open to all attendees. Talks related to OSGi technology and the OSGi ecosystem, including use cases and new initiatives around OSGi in enterprise, embedded, Cloud and IoT, should be submitted here. OSGi provides a vendor-independent, standards-based approach to modularizing Java software applications and infrastructure. Its proven services model enables app and infrastructure modules to communicate locally and distributed across the network, providing a coherent architecture for IoT services. OSGi specifications are tested and ready now to provide highly scalable remote management and effective maintenance over the long term.
OSGi was originally concieved as a technology for deployment on the network edge, and in IoT situations its is a powerful and widely used technology. However, over time, it’s use has spread to the server too, and in this talk we will present and discuss a real world architecture where OSGi is used everywhere from the edge to the enterprise to deliver a globally distributed solution for a major customer.
OSGi declarative services exist for a long time and are used to implement a modular service-oriented architecture. Because of the supported dynamics, the easy way to define, register and consume services, declarative services can be found in various scenarios. Using several of the long time existing specifications like Declarative Service, ConfigurationAdmin and Remote Service Admin, it is also easy to setup the currently hyped micro services by using OSGi declarative services.
The OSGi framework, and the service specifications, is a powerful and simple way to build modular software. However writing modular software is hard and even a simple framework doesn’t necessarily make things easy, especially when you are writing an application server consisting of over 100 discrete features. When that application server needs to dynamically respond to configuration changes, provisioning (or deprovisioning) features as required. Even worse when it has to support Java EE applications which are written with a totally different modularity (cough-cough) model.
With the advances in multicore hardware and virtualization technologies, and the demand for highly responsive, resilient, and elastic systems and increasingly sophisticated applications, an array of reactive data stream processing libraries have been born to address the needs. The OSGi Alliance has published the Push Stream specification with a simple streaming API that depends on the OSGi Promises, but without any other OSGi specifications and framework dependencies.
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:
OSGi declarative services exist for a long time and are used to implement a modular service-oriented architecture. Because of the supported dynamics, the easy way to define, register and consume services, declarative services can be found in various scenarios. Using several of the long time existing specifications like Declarative Service, ConfigurationAdmin and Remote Service Admin, it is also easy to setup the currently hyped micro services by using OSGi declarative services.
For the last 2 years Talks on how BNDTools can improve your development speed and quality compared to PDE. All of this talks ended with long faces, because a lot RCP Developers hoped to see how to export a Product.
Long Story short: Here it is!!!!! See how to develop and build an RCP with BND.
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 .