Last week, I visited the JavaLand conference at Brühl in the Phantasialand amusement park. Going to JavaLand for the third time and JavaLand being hosted for the third year, you can call me a JavaLand veteran. Nevertheless, this was a very special JavaLand for me because I just became a member of Tomitribe only one week before. So this was a very good occasion to not only learn new stuff, but also meet and celebrate with other members of the Tribe such as the incomparable Amelia Eiras, David Blevins, and Andy Gumbrecht.
Besides celebrating, I also visited some very interesting talks; a few I want to write about.
Pay It Forward: Open Source
by Jason Porter
I was very keen on this talk because I’m now working for an Open Source company and I am heavily involved in the Asciidoctor project; both are pushing Open Source. Jason explained the main ideas behind Open Source and ways to be part of it. It was very interesting to see that the rules of Open Source not only apply to Software, but to all facets of life, therefore becoming an attitude toward life. He even showed how Legos uses Open Source to build a house.
Jason presented the very interesting idea of Pay it Forward, which is also the title of his talk: when you profit from any kind of Open Source, don’t pay back to the one who helped you or created this software for you, but help the next one who is in need and spread the word for this awesome piece of Open Source Software you use.
One moment that made me really proud was when Jason mentioned the Asciidoctor project as an Open Source model project: the Asciidoctor project brings together different people with many different backgrounds and experiences; creating something extraordinary.
CDI 2.0 Deep Dive
by Mark Struberg and Thorben Janssen
As the version 2.0 of the CDI specification is not yet finished, Mark and Thorben gave an overview of its current state.The most notable new feature they presented were the asynchronous events that will come. This talk was not only a presentation, they also asked for feedback. For example should asynchronous events also be received by synchronous observer? (The current state is that they are not, and honestly I think that its strong separation should stay.) These situations show why it is a very good idea to go to conferences; besides meeting nice and interesting people, you can also have an impact on how Java will evolve!
Other super-interesting parts of the talk were when Mark went into the technical details of how the Apache OpenWebBeans project implements the CDI specification .
Java EE Connectors: The Secret Weapon Reloaded
David’s talk had a lot of “Wow” effects! In his talk he presented the Java EE Connector Architecture (Connectors), a part of the JavaEE stack that is probably not as well-known among Java EE developers as other specifications. The Connectors specification allows us to connect arbitrary remote systems that cannot be accessed via plain HTTP, which is more or less the native protocol of Java EE.
In his demos, David showed that Connectors allows Message Driven Beans (MDBs), which look similar to a JAX-RS resource class, instead of implementing a strict interface. The design of these classes can be made by the developer of the JCA resource adapter so that it makes the most sense to the problem and is not constrained by any technical interfaces.
The first demo showed a resource adapter that receives eMails via the IMAP protocol and invokes a MDB to react to them. The MDB for this demo looked very simple and logical. Adding an annotation to a method like
@Subject(".*error.*") makes the resource adapter invoke this method for every received eMail that has the stringerror in its subject. Forgotten are the times where you have huge if/else constructs required to dispatch incoming messages.
The second demo was the fun part. The resource adapter connected to Twitter and received tweets mentioning “Tribe Norm”, a tweetbot. The MDB invoked for incoming Tweets was able to respond and make a conversation by playing the Knock-Knock game. You rarely find talks that present such seemingly dry topics in such a fun way.
David presented the same examples as well with Stephen Chin’s Nighthacking. Check it out here:
If you now think that you want to have a look at the examples yourself, you can check them out at https://tomitribe.io/projects/chatterbox.
Writing Documentation with Asciidoctor Is Awesome
As a member of the Asciidoctor project, it was an obligation for me to go this talk and it totally paid off. Hubert, better known as Mr. Haki, showed how easy, yet powerful it is to write your documentation with Asciidoctor.
As a very active blogger on http://mrhaki.blogspot.de he’s able to transfer his knowledge in small, yet very consumable steps. I think everyone in the audience not only learned how easy it is to write in Asciidoctor, but also how powerful it is and why it is, in particular, the right tool for developers.
Another facet of the talk that I loved was the room! This was the first JavaLand where the room “Lilaque” was used and I immediately appreciated it. In contrast to either cinema halls or boring conference rooms “Lilaque” looks a bit like a circus tent with a very relaxed atmosphere.
Secrets are secrets. Please, keep them!
by Alex Soto
Have you ever wondered if it is a good idea to store passwords for the database, in clear, in your server configuration? Then this talk by my friend Alex was a must! Even when encrypting the password with some other password it effectively stays in clear and can be reconstructed by an attacker who has access to the filesystem of the server.
Alex presented a solution to this problem with Hashicorp Vault , which allows you to manage secrets. Alex explained the concepts and showed in a live demo how to create a secure vault that stores any secrets, and how to seal and unseal it.
Finally, he explained how to integrate this into a cloud environment where servers are randomly started and stopped. This is something that becomes more and more important at the current state of technology.
Again, this JavaLand was a blast! At conferences like this you can always feel & connect with the community and that is what makes it so memorable. Because the most important part of the event, besides attending the talks, is talking with and getting to know people!