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.
Organizations have complex application environments that include multiple deployment infrastructures, tools, languages, and frameworks, making task, tool and training management a challenge. Having a robust, flexible, future-proof unified application environment in which existing and new applications operate and function across highly-distributed platform is essential.
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.
Developers are a queer bunch when it comes to marketing. They have developed an amazing smell for 'corporatey' marketing techniques and guess what - they don't like it.
In this presentation we'll turn things upside down - you'll see what a developer can do when he decides to do marketing.
You'll be surprised.
Today I will discuss a curious collection of Java code snippets that do have surprising, amusing or simply confusing results. If you ever wanted to test your knowledge about Java, feel free to accept the challenge and come to this interactive session of puzzling pieces of code.
Eclipse Theia is a framework to build next-generation web IDEs, leveraging components such as language servers, debug adapters, and even VS Code Extensions now!
Though all these moving parts may seem confusing, we should first take a look at how it all connects together, and how you can benefit from it when making your solution based on Theia.
You're given the task of writing a microservice AND providing a documentation in OpenAPI format. You already know that there are two main approaches:
- design-first : write the OpenAPI document (a.k.a. the
openapi.yamlfile) and then generate the code
- code-first : write the code, using OpenAPI annotations, and then generate the OpenAPI document
Which approach do you choose?
I'll compare the two approaches by showing a simple Java microservice implemented twice, once design-first and once code-first.
Liberty Bikes is a four player, elimination game built using the latest technologies of Java EE 8 and MicroProfile 3.0. Come build your first (or 100th) microservice as you create an AI to compete in a battle royale against your fellow attendees. In this lab, you will develop a complete microservice, leveraging MicroProfile Rest Client to seamlessly integrate and communicate with an existing application. Can you become champion of the grid?
Xtext is the de facto standard framework for the development of sophisticated domain specific languages (DSLs) in the Eclipse ecosystem and beyond. Even though the framework already provides a buckload of important features, we won’t become tired rethinking the architecture at scale or smaller features in isolation. Since Xtext version 2.20 is in the works, it’s about time to unveil a few of the planned features and work items.
This session is about dockerizing tests hence attendees should have basic understanding of docker images.
The main focus is on "How testing can be transformed into modern technologies and avail thier benefits like consistent environment, speed, isolation, easy to reproduce test failure etc".
Would like to show a demo on how one can accomplish "git clone or use mounted drive, build, trigger tests" using single docker image which can be adopted for any kind of testing.
The ability for machines to transfer money between each other will fundamentally change the way we interact with the world and how the machines that make up the world interact with each other. In this talk I'll introduce the audience to the concept of trust-less value transfer in a way that is easily understood by those outside of the DLT space.
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.
Selenium provides comprehensive low-level functionality for interacting with browsers and web elements. Beyond test implementation, additional tasks are required when it comes to management, such as test data management, result analysis, execution management, as well as the continuous adaptation of the test cases.
There is a new platform in town: Kubernetes. And it is establishing itself as the common denominator for public and private clouds with unprecedented momentum.
This talk is for you when you sensed that Kubernetes may be important and are wondering if using it is more straightforward than spelling its name.