The rise of containerized applications, the need to deliver on the promise of polyglot microservice architectures and the growth of Kubernetes as the orchestration system of choice are all contributing to a development model that is quite different from the past and which is greatly increasing the amount of expertise and knowledge a developer needs on a daily basis.
Nowadays there are several well engineered open projects available and they may serve different industries for prototyping a solution without starting from scratch. In the scope of delivering software artifacts from remote, Eclipse hawkBit is definitely one of those great open projects. As an Embedded Software Service Company, Kynetics selected hawkBit for creating its own delivery platform to serve its internal CI and its customers’ embedded device ecosystem.
Today’s products are increasingly smarter, more personalized. They are becoming intricate systems of systems, challenging engineers to harness layers of complexity and data, and requiring the blurring of boundaries between different domains of engineering.
Until the advent of the cloud Java was the dominant language for enterprises, with many popular frameworks and stacks such as Java Enterprise Edition, helping improve developer productivity. However, cloud users started to ask questions about whether Java and those frameworks were the right technologies. Terms like "bloated", "too slow" and "legacy" became commonplace when discussing Java in the context of cloud platforms and newer languages started to appear.
The use of Serverless computing has reached a point where any serious company would be foolish to ignore its cost savings and other benefits against a wide array of proven use cases. From API Management, Artificial Intelligence (AI) and Cognitive to DevOps, Mobile and the Internet-of-Things (IoT), Serverless is proving itself as an accessible means for efficiently processing and transforming data in large volumes, on-demand, with little or no operational considerations for developers.
If you want to build property editor to allow users to edit data in the browser, on mobile devices, on the desktop or even in augmented reality? Do you want to see how to switch a light on and off via an AR device and live on stage? This talk is for you!
Eclipse Che 7 as a developer tool has evolved to work with some of the most relevant technologies available today: Eclipse Theia, Language Servers, Debug Adapters and even VSCode extensions, all containerized within the IDE. Developer environments have become reproducible, repeatable and consistent across teams of developers - allowing easy integration into your devops toolchain. Working on a kubernetes application has never been easier, just bring your kubernetes application directly into your developer environment.
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?