Spring Boot Buch: May recap

May has been a busy month for which I had covering Spring Security for the book on my agenda. You already can see the examples of that chapter here github.com/springbootbuch/security. I think there are some really useful configurations inside. As a matter of fact, shortly after I began that chapter, Spring Security 5.0 M1 has been released. Spring Security 5 will not only support Spring 5s reactive programming model from the ground, but it will also make OAuth a first class citizen. I can probably look forward to change my OAuth example. Anyway, I’ll have to revisit the OAuth examples anyway if I have room left for my cloud examples… But I’ll cover that later:

To my great please I met Joe Grandja, Co-Lead of Spring Security at Sergis great Spring I/O in Barcelona and we could chat about some changes in Spring Security. I actually didn’t plan to go to Barcelona again, my agenda was already packed, but one thing came to another and I ended up with a packed room for my “bootiful databases” talk, covering Spring Boot and jOOQ again:

Thanks to everybody who showed up!

Again, many things are not planed long before. As I had written January, I’m gonna visit Cluj and will do a joint talk on databases with Vlad. Turns out the possibility arrived that several people want me to do a Spring Boot workshop: What a nice surprise. I’m really excited and I hope that turns out as good as the recent talks.

While at Spring I/O I met a lot of friends from the Spring team (see featured post image) which is always great. I also met Johannes, who works at Mesosphere and has invited my to Kassel in July. After his talk I had a good idea what Mesos is about and took to freedom to polish his demo application a bit. I really wish that some people around here would welcome my suggestions only half as euphoric as he did:

You may ask why I am “pedantic” about that stuff: I want to have my infrastructure as simple and streamlined as possible. I don’t want to explain to anybody why I did have to override a handful of classes, provide all kinds of infrastructure to do the most simple things.

What I tried to convey in my book is that many programmers can keep their own configuration very simple. It’s often enough to know which properties to change and how one can take advantage from the sophisticated profiles and environment evaluation in Spring Boot. If custom configuration is necessary, keep that to a minimum too. That is: Extend only classes that are meant to be extended.

The last stance is especially true for Spring Security within Spring Boot: Use the hooks provided, read the docs and my book carefully before overwriting or overriding stuff. That being said: The chapter is finished. My last two milestones are Messaging and the reactive programming model coming up in Spring 5. Messaging is about a third done and for reactive programming I had help of one of the best people to get help from in Germany: Thanks Mark for providing the motivation.

I’ll probably write less in June, but I’m still in time. The problem in the end will be more of a space than a time thing: I’m already over the agreed number of pages and I’m not gonna fit in a complete and in-detail explained microservice story. But hey, that’s maybe a thing for a second book.

Apart from the that, the month was batshit crazy. High workload and a so-so atmosphere at max in the office and several important appointments outside. As usual when I’m stressed I cope with more work, but work that actually has a purpose so I provided a jOOQ test-slice for Spring Boot 2. As it has been the case several times now, I learned more than just some Spring internals from Stéphane reviewing my code.

Hell… I forgot the running sushi apocalypse that happened while discussing internal and external configuration with Franz… Thanks, I appreciate your feedback a lot:



| Comments (0) »

31-May-17


Digging deep into Spring Boots “Starter”

First of all: Congratulations Thorben for releasing Hibernate Tips on time. I’ve read through a lot of the tipps and my review on Amazon still stands: If you want to get a real good knowledge of Hibernate, JPA and databases, make sure you get Thorbens book in combination with Vlads High-Performance Java Persistence. They have both very different approaches, but I think they work very well together. First you read a tipp to manage your daily work, than you can actually look up why it works.

I try to achieve a combination in my book. Meaning: Making up simple examples (see them here), showing how things work, explaining why they work and also adding hints why to use stuff. The feedback I got so far from most of the test readers was good.

I’m using NetBeans with the NB-SpringBoot-Plugin to write all my examples, a real pleasure so far. On the way I created to small clips of some features, check them out. The first one shows you how you can modify an existing start.spring.io project with additional starters:

And the second one actually save me quite some time after some experiments had gone wrong. It shows you can easily restore parts from a files history, being either local or team (usually Git) history:

Speaking of examples: I’m joking that I’m doing BDD (Book driven development), but I’m actually really thankful that the Spring Boot team values my small contributions to the docs. The longer I’m into this business the more I think that a good documentation has a really high value and it speaks for Spring Boot that the documentation is a vital part of the project, too.

Zeeland 2017This month I was on a small vacation with my family at the Dutch coast, this time in Schouwen-Duiveland. I love this place dearly and I’ve been somewhere in Zeeland nearly each year for the last 20 years. I was afraid I didn’t manage to write as much as I set as my April milestone but I actually achieved more than planned and now I’m a little annoyed actually, that I didn’t manage to finish one more section. Anyway, Zeeland is a place I sometimes think I want to live there when the kids have their own live… It always has a positive effect on my overall mood.

Looking back at the table of contents from February, much of the stuff is ready. Part “Mit Spring Boot arbeiten” is finished and also reviewed by different people, most spelling errors should be fixed. “Produktivsetzung” is at the same level, and right now I’m finishing the last chapters of “Spring Boots Funktionen”, in April I managed to cover “Persistenz”, “Caching” and nearly “Spring Web MVC”. I’m gonna drop the part where I wanted to describe the setup of the micro service example with arc42. That’s gonna be part of a website. The (short) part of one possible micro service scenario will be written in from June on.

Apart from that, I restructured some things. “Die Magie hinter Spring Boot” is now part of “Spring Boots Funktionen”: It’s important to understand this in order to get the idea why and how a starter adds functionality to Spring Boot.

Coming up with Spring Boot 2.0 is Spring Web Flux. I organized a talk by my friend Mark Heckler at the Euregio JUG in April about “Going reactive with Project Reactor and Spring 5”. That talk was a lightning fast talk and I hope I have better understanding of it when I start that section 🙂

But, coming up this month is Spring I/O 2017 where I try my best to learn the missing parts when I’m done with my “Bootiful database” talk: I’m speaking again at this great conference and I’m very happy that Sergi invited me again. Thanks to the JUG Essen I had the chance of training the talk one more time: I’m still nervous as hell, but actually I think the talk has a nice timing and hopefully works for the audience as well.



That’s it for today. If you like, follow me on twitter, either personally as @rotnroll666 (and no, I’m no satanist and I never was, the question popped up last week…) or follow the book @springbootbuch. I’m looking forward now to Nikos April recap.

| Comments (1) »

30-Apr-17


Spring Boot Buch: Getting there

The third month was a though one: It started with a workshop in Düsseldorf, lead by innoQs Till. “Skalierbare Web-Architekturen” got me the last points I need to do the ISAQB-CPSA-A, but I wish they workshop had taken a different direction. Anyway, not something I can blame on Till.

I changed my milestones a little bit. After getting really valuable feedback I was occupied working that into the book. As it happened the chapter “Die Magie hinter Spring Boot” was a good fit finishing, so I did this before writing about persistence:



While trying to write the persistence chapter, a lot of stuff happened: I was occupied with an In-House APEX-Workhshop lead by Niels de Bruijn. The Workshop was great and I am convinced I chose the right tool for the special combination of task ahead and people available. Let’s see how that turns out.

Shortly before going to #JavaLand 2017, I setup the Spring Boot Buch Twitter account. Support me here, if you like: @SpringBootBuch. See what I did with the profile picture?

At JavaLand I asked Kai Toedter – to who’s music I am listening while writing the post – if I can share his neat idea to create small Spring Boot Docker files in the book. I can and I am happy about it.

Also in Brühl I finally met Thorben Janssen, who’s Book “Hibernate Tips” will be published on April 4th. It was a pleasure talking with Thorben (and also fun 😉 ) and I’m looking forward to his tips who which I contributed a small part.

I chose the title picture for this post to pay a little tribute to Markus @myfear Eisele. Thanks for kicking of JavaLand 4 years ago.

Next month I’m gonna first finish the persistence topic before finally getting work done on my bigger example project.

Last but not least I want to mention that I didn’t drink any alcohol for nearly the last 3 months. Sadly, I didn’t loose some kilos, but anyway: I actually feel a lot better. I do have more strength again and sleep better. Not more, but a lot better.

So, until next month 🙂

| Comments (0) »

01-Apr-17