Introducing JSON-B with Spring Boot 2.0

Introducing JSON-B with Spring Boot 2.0

JSON Binding (JSON-B) is the new Java EE specification for converting JSON messages to Java Objects and back. JSON is used everywhere and so far we had two main ways of dealing with JSON conversion in Java- using either Jackson or GSON. With the introduction of JSON-B, we have a standard way of handling this conversion. In this article, we will see how Spring Boot 2.0 supports JSON-B, how easy it is to use it and how does it compare with the other options. ...

March 4, 2018 · 6 min · Bartosz Jedrzejewski
E4developer Newsletter - February 2018 - Number 1

E4developer Newsletter - February 2018 - Number 1

As part of me running this blog, I have decided to create a mailing list and a semi regular newsletter. This is the first edition of that newsletter. If you would like to join it and receive the content to your email, you can sign up here. I have started this blog on the 13th January 2018, hoping to share my passion, knowledge and experience with the like minded people online. The first blog post: Starting a blog – why? gives a bit more insights. So far this journey has been amazing. ...

March 1, 2018 · 2 min · Bartosz Jedrzejewski
Spring Cloud Data Flow - Use Cases

Spring Cloud Data Flow - Use Cases

I have recently spent quite a lot of time playing with Spring Cloud Data Flow (SCDF). It is an amazing platform that can be used for many things. Talking about it with some of my colleagues I realized that not everyone knows what are the common use cases. Thinking about it further I realized that I don’t know the full scope of capabilities and business problems that it can solve! In this article I look at different uses for Spring Cloud Data Flow based on what the platform offers and actual stories from companies using it in production. The examples come from Spring One Platform 2017 conference. ...

February 28, 2018 · 4 min · Bartosz Jedrzejewski
Spring Cloud Data Flow - Making Custom Apps and Using Shell

Spring Cloud Data Flow - Making Custom Apps and Using Shell

Last week I wrote about getting Started with Spring Cloud Data Flow. This week I want to show you a few more things that you can do with this amazing platform. In this article I will show you how to make your own Apps that can be part of Data Flow Streams and how to use the Data Flow Shell to control the platform. I assume here that you know how to get you Data Flow up and running and you are familiar with the basics of the platform. If not- don’t worry! Check out my Getting Started with Spring Cloud Data Flow article to learn the basics. ...

February 23, 2018 · 6 min · Bartosz Jedrzejewski
Building services requires building teams

Building services requires building teams

When talking about microservices (or agile development), the idea of self-managed, independent teams often comes up. What is not emphasized enough is how vital this idea is to the successful adoption of such highly decoupled architecture. In this article, I will share my experiences about working with independent teams and being part of them. Most successful projects that I was either part of, or had a pleasure of working with had one thing in common. They were delivered by either one or a multiple of high-performing, self-managed, independent teams. You may say: every sizable project nowadays is delivered by a team! I disagree, most medium and large projects are delivered by groups of people, but in many cases, I would not call them teams. In my opinion, it takes more than grouping a few people together and slapping a name on them to make a team… ...

February 20, 2018 · 9 min · Bartosz Jedrzejewski
Practical Choreography with Spring Cloud - Presentation

Practical Choreography with Spring Cloud - Presentation

On the 15th February 2018 I had a pleasure to speak at The JVM Roundabout Meetup in London. My topic was “Practical Choreography with Spring Cloud”. The idea behind the talk was to give practical advice on introducing choreography into microservices architecture. The emphasis is on practical. Choreography can be intimidating, especially for those not familiar with the pattern. Since I am a big advocate of Spring Cloud and I think it is a great framework for newcomers and experts alike, I demonstrate how it can be used to make that adoption easier. ...

February 20, 2018 · 1 min · Bartosz Jedrzejewski
Getting Started with Spring Cloud Data Flow

Getting Started with Spring Cloud Data Flow

In this article, I will show you how you can get started with Spring Cloud Data Flow. Spring Cloud Data Flow is an amazing platform for building data integration and processing pipelines. It has a very user-friendly graphical dashboard where you can define your streams, making your work with data an absolute pleasure. The goal of this article is to have you learn to build some simple data pipelines by the time you are finished reading. Before we get started there are a few system requirements: ...

February 18, 2018 · 7 min · Bartosz Jedrzejewski
HATEOAS - a simple explanation

HATEOAS - a simple explanation

HATEOAS – Hypermedia as the Engine of Application State, a name long enough to intimidate and confuse. Behind this complicated name we have a rather simple and elegant idea. In this blog post, I explain what HATEOAS is and how it can be practically used to build more stable systems. HATEOAS is a way of designing a REST API. More precisely it is a specific constraint of a REST architecture. It can be summed up with: ...

February 16, 2018 · 5 min · Bartosz Jedrzejewski
Application of GRASP to Microservices

Application of GRASP to Microservices

GRASP stands for General responsibility assignment software patterns. You might have heard of it before, or you might not. Either way, you might not have thought about how these principles can potentially help when deciding your responsibilities assignments in a microservices architecture. Craig Larman in his book Applying UML and Patterns said that the “desert island skill”, the most important skill to have in Object Oriented Analysis/Design would be: *“to skillfully assign responsibilities to software objects”.*I think there is some truth to this when thinking about the most important microservices skill as well. Lets look at GRASP through the prism of microservices. ...

February 13, 2018 · 9 min · Bartosz Jedrzejewski
Common Technical Debt in Microservices

Common Technical Debt in Microservices

Working for a consultancy I have the opportunity to talk to large number of software developers across multiple different projects. That gives me an opportunity to see what works and what common problems different organizations are facing. In this article I will show the most common mistakes in microservices that cause technical debt. I suggest what you could be doing instead. Microservices development can be difficult. Given how new the pattern is, it is no surprise that mistakes are made. The great thing about mistakes is that they are also learning opportunities. It is great when you can learn from your mistakes, but it is even better when you can learn from the mistakes of others! ...

February 11, 2018 · 8 min · Bartosz Jedrzejewski