JAX is a four-day conference for Java & Software Innovation in London. The conference is composed of two days of the actual conference and two days of workshops. This year, Maarten Gerritsen, Dennis Nijssen and Philippe Polanus had the opportunity to attend the conference-part of JAX London, which started on October 11th, to hear everything about all the popular tech buzzwords like microservices, continuous delivery and DevOps.
We flew from Amsterdam to London the night before the conference started. After landing on Heathrow airport, it took us over an hour with the Underground before we reached our hotel. To our surprise there was a pub right below our hotel, how convenient! So after checking in and getting something to eat, we went to the pub for drinks.
The next morning we decided to walk to the Business Design Centre, because it was going to be a nice sunny day. After a 15 minute walk we arrived at the conference hall and picked up our badges at the registration desk and made our way to the auditorium where the first session would be.
JAX started with a keynote by James Governor, who had an interesting talk about how a lot of big companies like Twitter, Netflix and Amazon have shifted towards Java based technologies to solve several problems they ran into while growing, for instance scalability and maintainability issues. And how these companies are contributing to the open source community by sharing their architecture and technologies.
After this talk, the parallel sessions began and we chose a session about developing microservices with aggregates and event sourcing, where Chris Richardson shared his view on how the traditional Domain Model pattern does not work well with microservices, what aggregates are and how these can be used within a microservice architecture. Chris recently posted an article about this as well.
Between each session there was enough time to get some tea or coffee, talk some more about the subjects from each session, or get some fresh air (because it was pretty warm inside).
For the next session we decided to split up. While Maarten went to a session about High-speed continuous delivery, Dennis and Philippe went to a session called “Secure by Design” where a couple of Security Design Principles were explained and discussed. A few we would like to share are Separate responsibilities, which is all about limiting the impact of a successful attack. And the second one is Defence in depth, that is all about securing every layer of your architecture.
After a nice lunch and some more fresh air, we joined an interesting session given by people from Sonatype, who showed some new tools that can detect which known vulnerabilities exist in open source libraries that are being used within your applications, and to which versions they can be upgraded to fix those vulnerabilities. After this session our badges were scanned and we just received an email from Sonatype, giving us the opportunity to scan some of our applications for free! Can’t wait to check some of the applications we have recently built!
At the end of day 1 we had a session with all the ins and outs about Java Collections, and we listened to Niklas Gustavsson who works at Spotify. He gave us some insight in how Spotify is operating their back-end, how their DevOps teams (or squads as they call them) consist of all skills needed for the services they develop and how each squad is responsible for the maintenance of all the services they build.
After a whole day of talks, it was time to do some sightseeing and have dinner and drinks!
On day 2 Philippe and Maarten attended a session about asynchronous programming in Java and the benefits it gives in performance and scalability because threads are no longer blocked by requests. In a live coding session we saw examples of how CompletableFuture’s, introduced in Java 8, can be used to asynchronously retrieve data (for example through HTTP requests or from a database), how this shortens the duration of requests and how threads are being used optimally to reduce the number of threads needed to handle requests.
Meanwhile, Dennis attended a session called “The Serverless Cloud“, which was all about FaaS (Function as a Service), where several event-driven cloud platforms such as AWS Lambda, Microsoft Azure Cloud Functions and Google Cloud Functions were discussed. These platforms are all about pay per execution, no running servers and enable great scalability.
Next session was about Mesos. In this talk David Greenberg, who wrote the O’Reilly book “Building Applications on Mesos”, explained what benefits Mesos brings compared to Kubernetes, Docker Swarm and other Container Orchestration Tools, for instance its great scalability, up to tens of thousands of nodes. He also gave some pointers on how to start using Mesos, with tools like Mesos Marathon and DC/OS.
The last interesting talk of the conference was about JUnit 5. We got a preview of new things to come in version 5, like the assertAll method, which can combine assertions and will give information about all the assertion failures, instead of just the first failure. Another new feature is Dynamic Tests, which can be used to generate test cases at runtime instead of compile time. JUnit 5 will also come with a lot of extensibility options, from annotations to implementing custom test-engines, allowing developers to use all the features of JUnit in other languages than Java.
That concluded the JAX London 2016 conference. It has been a very interesting conference with a great variety of topics and great speakers! It did not conclude our trip to London though, because we took the opportunity to see all the highlights of the city London on day 3!
We had a full day available to visit London, because we would only fly back to Amsterdam at night.