It seems that more and more enterprise technology is emerging that is based on Java EE. There are a lot of options to choose from, between Java EE, what is now Jakarta EE, MicroProfile, and combinations of their APIs. If we look at available application containers the number of possibilities is even higher. Which platforms, particular standards and runtimes should enterprise developers base their applications on in year 2019?
Testing is still a topic that most developers would like to avoid. Even though it is crucial for working software, developing and maintaining tests takes certain time and effort — especially for distributed applications or when changes in existing functionality forces test scenarios to adapt. Omitting software tests can’t be the solution; therefore, how can we tackle enterprise tests in an effective and productive way?
Java assumed the whole computer belonged to itself, that it could consume all available memory and CPU. In this presentation, we will demonstrate the problems associated using Java for “microservices”, and how the open source ecosystem is working to insure the future of Java by being cloud first, container native, serverless focused and Kubernetes optimized. This is where GraalVM meets Quarkus (https://quarkus.io), bringing server-side and enterprise-capable Java to enable you to build truly cloud native apps.
Historically Java was able to handle the biggest enterprise problem(s) with its Write once,run anywhere(WORA) paradigm. With Cloud Native Applications grown to popularity, things like running applications as linux containers, serverless taking centre stage -- Java was pushed back by languages like golang, node.js as the forerunner to build Cloud Native Applications as they are smaller, quicker and arguably more nimble.
This session will cover what it means to have an API in Java. I will explain how an exposed API can be maintained and evolved over releases. I will talk about evolving APIs without breaking the clients. Interesting cases like generification of APIs will be discussed. I will also discuss the various rules of versioning in case the API needs to have breaking changes.
The session will explain the different types of incompatibilities - like binary, source, behavorial incompatibilities etc. with examples. I will demonstrate the examples live during the session.
People love Visual Studio Code for its superfast performance, lightweight nature and active open source community around it. All of these are now available for Java developers by extensions contributed by individuals and companies such as Red Hat, Microsoft and Pivotal. By combining a couple independent extensions, you can create a lightweight working environment just for your Java workload yet powerful enough to almost match the feature richness of existing IDEs.
This sessions shows how you can use Visual Studio Code to develop your Java application. It guides you through all the available extensions so you can later explore then base on your own needs. The session will also introduce a couple new features in VS Code to further boost your productivity with AI-assisted IntelliSense, real-time collaborative development as well as remote development tools.
Cloud-native development from your desktop in your IDE of choice! Codewind is a new project that aims to provide developers with the tools they need to build high-quality containerized apps from directly within the IDE you're using today.
Eclipse IDE provides a lot of powerful features and capabilities. With so much functionality at disposal, many users don't use the full potential of the IDE. To be productive, mastering your IDE is as important as mastering your source code.
With Microservices as its target, the programmer sees a gap between the typical old-school approach (deploying to an application server) and modern approaches.JAX-RS 2.2 allows to natively startup a web server, even in-process in an IDE, so it allows to simply start it as a Java main() method and debug its startup and requests processing just as easy as Hello World! No more slow build and deploy cycles! This talk demonstrates how to do that, and what more to expect from JAX-RS 2.2 and the further roadmap.
Creating cloud-native microservices is common, but which programming model to choose from.
At the moment, MicroProfile and Spring are two popular programming models for developing microservices. What are the differences or commonalities between them?
This session is to focus on comparing the two programming model side by side. If you are Spring developer, after this session, you should be able to grasp MicroProfile very quickly and vice versa.
Early 2019 OSGi Enterprise Release 7 was released where one of the new specs is the
OSGi-CDI integration specification. Carsten and David will dive deeper into this specification
which enables the use of CDI and CDI beans seamlessly in OSGi. Learn how to use existing CDI-based
code in OSGi and see how the OSGi/CDI specification integrates with the OSGi Service Registry
and with Configuration Admin. A live demo using the implementation from Apache Aries
demonstrates the usage of CDI.
OSGi is the only solution for proper modularity in Java, on the other hand Springboot is a popular framework in the Java ecosystem. If you have to choose between the two, you can only get the benefits of one of them. This talk demonstrates how to combine the two most popular approaches of developing Java applications and how to benefit from the combined advantages. The talk compares the two approaches in terms of service registration and service binding as well as handling of dynamics.
Learn from a Bootstrap team member how you can take your career to the next level.
During this presentation, you will learn how you can begin a career in the open source world, starting from scratch until becoming a core committee of some of the biggest projects in the world.
You will learn:
When I started at my current employer five years ago the CI system consisted of an outdated Jenkins installation on a PC which was located under the desk of a developer. Builds were triggered three times a day, so a developer had to wait multiple hours after a commit until the feedback arrived. The builds couldn’t be reproduced locally, so debugging was at times done via console logging on the CI system.
When we talk about Scrum-teams and their interdisciplinary performance, it seems like many of us, have this team of experts in mind, which are theoretically able to fulfill every role and could do every job in the team. Unicorns, dragons, chimeras, wizards,... we call them.
From my point of view- these team members sound a lot like Nessi or the yeti – they may very well exist - it’s just that I have never seen them.
How can you make different pieces of your unit of work consistent in the distributed setup of your micro-service application?
You associate the term transaction probably with a database, but the data source can be anything including a database in the micro-service world.
The MicroProfile Long Running Actions specification is based on sagas and the OASIS LRA transaction model specification. It defines the framework to guarantee the eventual consistency requirement using compensating actions for example.
We live in an era of building enterprise software with build pipelines, containerization and clouds in order to provide business value. In order to maintain the quality of your software and fast delivery, you must optimize the development process and release strategy with tools and concepts that complement each other.
This session will teach the attendees on how to achieve this by using the Jakarta EE platform with the addition of Eclipse MicroProfile, that are a fit for scalable environments like clouds. The attendees should have a basic understanding of the concept of enterprise development with Java EE / Jakarta EE and/or Spring Framework.