Just before Christmas I received an email in my inbox. The subject was ‘Congratulations, you’re an IBM Champion (again)!’
I am very honoured to be named IBM Champion again. This time only in the category ‘Cloud’.
This my 5th year, after 2013, 2014, 2017 and 2018.
Class of 2019
Here you can read about the IBM Champions 2019,
2018 is almost over, a reason to share some thoughts.
I was a double IBM Champion, Collaboration and Cloud. Attended IBM Think in Las Vegas. When in Las Vegas I did the St. Patrick run near the Hoover Dam. Delivered a portal for a big city in the Netherlands, based on Spring Boot and Thymeleaf Still at Rabobank, doing interesting projects My oldest daughter moved to another volleyball club to get more out of her sport We did a road trip though the Rocky Mountains in the USA … and visited New York, where Bill Malchisky spent time with us as a tour guide. Many thanks…. Spoke at several events like EntwicklerCamp, SNoUG, Engage, IconUK and Social Connections Presentations were about Spring Boot and Reactive API. Hope to keep sharing my knowledge in 2019 Learnt a lot about Spring Boot and Pivotal Cloud Foundry Learnt CosmosDb on Azure as MongoDb and hate it right away 😉 Still a fan of MongoDb and explored the new cloud offering MongoDb Atlas. Build applications with Angular and React Build the same API with Spring Boot, NodeJS and Python to learn more. In my pet project NodeJS was the winner. Did some beta testing with Domino v10 beta2 Was not surprised HCL will take over the whole IBM Collaboration suite. Hope HCL can keep the existing customers on the platform I will not wait and will move on. Already 4 years going strong Freelance Full Stack Developer. My lovely niece, only 5 years old, passed away after she lost the fight of her disease. Remembered our lovely niece on her birthday by wearing 2 different socks. Enjoyed to being part of an amazing ‘yellow’ community. A bit more from the side line…but still part. Running was on a low, but compensated by more on the MTB. Moved my mail and documents from Google to Microsoft Office 365 and I am happy.
Today I did my session, about Reactive streams at
Social Connections 14 in the very sunny Berlin. Slides of the session
Reactive Streams Starter
For this session I created a starter project, which will give you a kick start if you want to try it your self.
In the ReadMe is more information about the things you need, like MongoDb locally or remote.
BTW in the repository is also a frontend project, build with Angular, which interacts with the API.
The Repository is on
Icon UK 2018 has finished. Was great to see and speak to many people again. My Slides of IconUK
Here are the slides of my session.
For my session I have created a (small) open source project to give you a head start if you want to get starting with Spring Boot and Thymeleaf.
As far I can see the basics are included
REST API controller
manifest file to push application to Cloud Foundry
You can find this project on Bitbucket,
At my customers when I create microservices I always add
Swagger support, because it easy to test the microservice.
Another create benefit it gives the business also a nice UI to see what to expect.
Now I am preparing a demo for my session about Reactive Programming, which I will give at
Social Connections 14 event next month in Berlin, I was thinking how to add support to my Spring Webflux demo.
But the current Swagger versions doesn’t support Spring Webflux
After some research I found that Swagger2 will add support for Spring Webflux in version 3.0.0
But there is already a SNAPSHOT in the wild with support.
Add version 3.0.0-SNAPSHOT to your dependencies in your pom.xm
After the dependencies are loaded in your project
Go to or create a SwaggerConfiguration class and add @EnableSwagger2WebFlux to your class
When you start your application head over to the swagger-ui.html and voila.
I am on my way to Birmingham to attend and speak at
On Friday at 12
:10 – 12 :55 I will have my session Spring forward: an introduction to Spring boot and Thymeleaf for (XPages) developers
The world of (XPages) developer is moving fast. Customers rethinking platforms and solutions. Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”. In combination with Thymeleaf can it be good alternative for your XPages applications.
In this session I give an introduction of Spring Boot and Thymeleaf and how to get started. I will show the differences and similarities between Spring Boot in combination with Thymeleaf and XPages.
I will explain the challenges I faced when moving an application.
And next month I will be return to
Social Connections to speak at the new technology track. My session will on 16 October at 11:15 am – 12:25 pm Super charge your API’s with Reactive streams
Today almost every product has an API, to integrate in other products or to made the data available to the outside world. Most API’s are using traditional patterns and technology. With the rise of Angular, React and other modern frameworks there is a need for non blocking API’s. Meet Reactive streams, like Spring Webflux, to super charge your API.
In this session I will tell about and show you Reactive API’s and more.
Hope to see you at one of my sessions, will be fun.
Engage 2018 is over. Another great event, this time at the stunning venue, the SS Rotterdam. My slides
Here is are my slides of my session. Thanks everyone who had attended my session
For this session I have created a small starter project.
This project contains:
Demo page, which shows how to use Thymealeaf templates and fragment
Docker file, to deploy the project as an Docker image
Manifest file, to deploy it to a Cloud Foundry Platform, like IBM Cloud
Kubernetes file, so you can use the project in a Kubernetes cluster.
It can be found on Bitbucket,
At a customer we are building lots of microservices with Spring boot which runs on Pivotal Cloud Foundry hosted at the Azure platform.
Some of these microservices are called from web pages with certain specific information, like field info.
So in our projects we have most of the time a test html page to mimic the actual behavior.
NodeJS http-server to the rescue
there is a very nice NPM package,
http-server, to host this test page with a minimal of effort
Easiest way is to install it globally by the following command in a command line.
[dropshadowbox align=”none” effect=”lifted-both” width=”auto” height=”” background_color=”#ffffff” border_width=”1″ border_color=”#dddddd” ]npm install http-server -g[/dropshadowbox]
Now you can use it everywhere.
Next step is to go to the directory in the command line, where the test page is located.
There fire the commando
[dropshadowbox align=”none” effect=”lifted-both” width=”auto” height=”” background_color=”#ffffff” border_width=”1″ border_color=”#dddddd” ]http-server[/dropshadowbox]
In the command line you will see the http server starting and on which port the page is available
I moved our HR Assistant application to a Spring boot to run everywhere, but the data was still stored in a Cloudant database running on IBM Cloud. No problem, but not that flexible.
So I was looking for a way to to store the data somewhere with minimum impact.
Step 1: Get CouchDb running
Apache CouchDb and I followed the instructions from this github repository to setup a local version in Docker
By starting the docker container I was able to access the familiar web UI via http://localhost:5984/_utils/
Step 2: Replication
To get all my data from the Cloudant database I created a new Replication and keep the Replication Type on ‘One Time’
Step 3: change the properties
Next I need to point the HR Assistant application to my local CouchDb database. For CouchDb account can be empty
Step 4: check the application
After I started the application and logged in I see the same as I was seeing when my data was loaded from Cloudant.
So with no code changes I am able to run the HR Assistant application everywhere, with the data on a location where I want, in the cloud via Cloudant or local with CouchDb
At the end of this session I got an idea to provide a Cloudant REST API, with the same endpoints of the Domino API but storing everything in Cloudant or CoucheDb.
Cloudant REST API
I created an new module in the
Git repo of this session and start coding. Which results in a Spring Boot application. All the endpoints of the Domino REST API are available in this new REST API.
I used Spring Boot to show the power to build fast new REST API’s. There is built-in support for Swagger.
The service can create on the fly databases and manage the access control of the database. And all the CRUD operations you would expect for the Todos
With Spring boot you can run it everywhere. Out-of-the-box the application will run as runnable jar. But I also added support for Docker and Kubernetes.
There is also a manifest file present to push your application to any Cloud Foundry platform, like IBM Cloud or Pivotal Cloud Foundry.
The code is open source and part of the Git Repository used for this session. So you can reuse it or use it as a starting point for something new. Have fun with the code.
Paul Withers will do a rerun of the IBM Think Session at Engage later this month in Rotterdam. I think a must attend session if you want to learn some cool new technologies.
BTW I will also be presenting at Engage, my session on Tuesday at 17:00 in the Sky Room. I will talk about Spring Boot and Thymeleaf