Ben Wilcock

Ben Wilcock

Alumni
Blog posts by Ben Wilcock

You spoke, we listened: State of Spring 2020 report is here!

Engineering | September 11, 2020 | ...

headline

Back in July the Spring team asked for your input on a range of Spring-related topics. And wow! What a response!

Thank you to the 1024 developers, architects, and managers across the globe that took time out of their day to complete the survey. We’ve crunched the numbers, filtered & mashed up the results to distill the most compelling insights into the State of Spring 2020 report.

overview

Thanks to everyone that completed the survey. We look forward to making this report an annual event, following the growth, success, and evolution of our community.

Download your copy of 'The State Of Spring 202…

The Spring team wants to hear from you!

Engineering | July 14, 2020 | ...

The “State of Spring 2020” report will be published soon, based on the views and experiences of Spring Boot development experts across the globe. In exchange for 15 minutes of your time to complete the survey, you’ll be among the first to receive the survey report and the insights included in it. Please feel free to share this email with your Spring development colleagues. The survey will close at the end of July.

Take the survey now.

Thanks for sharing your thoughts and experiences with us! The Spring Team

Getting Started With RSocket: Spring Security

Engineering | June 17, 2020 | ...

Reading time: about 6 minutes Coding time: about 20 minutes

If you've been following my series on RSocket, you've already learned how to build client-server applications with Spring Boot. In today's exercise, you're going to learn how to add security to your RSocket applications.

The task of securing RSocket applications is greatly simplified when you use Spring Security. Spring Security is a must-have module for any production application. It allows you to easily plugin many different authentication providers and restricts each user's access to your application based on their identity and…

Getting Started With RSocket: Testing Spring Boot Responders

Engineering | May 24, 2020 | ...

Reading time: about 6 minutes Coding time: about 15 minutes

If you've been following this series, by now, you'll have built a Spring Boot prototype that illustrates many of the features present in RSocket. This code isn’t production code, though; it's a prototype, a stepping stone on your RSocket journey. For production code, I'd expect all the usual quality assurance and testing rules to apply. So in this exercise, I'll show you how to write integration tests for RSocket responders, so you can get one step closer to production.

But first, what do I mean by integration testing?

Integration…

Getting Started With RSocket: Servers Calling Clients

Engineering | May 12, 2020 | ...

Reading Time: about 7 minutes. Coding Time: about 20 minutes.

If you've been following my series on RSocket, you've heard me refer to "clients and servers" many times. But, with RSocket, the line between client and server is blurry. With Rsocket, servers can send messages to clients, and clients can respond to these requests in the same way a server would.

In fact, the RSocket docs don't use the terms 'client' or 'server.' The docs use the terms 'requester' and 'responder' instead. In RSocket, any component can act as a requester, and any component can act as a responder or even both at the…

Getting Started With RSocket: Spring Boot Channels

Engineering | April 05, 2020 | ...

Reading Time: about 6 minutes. Practice Time: about 20 minutes.

If, like me, you're still at the beginning of your RSocket journey, check out the motivations behind the RSocket protocol. This short but insightful document includes one message that resonates very strongly with me — 'a mismatched abstraction increases the cost of developing a system.'

From a software design point of view, RSocket's four interaction models offer a significant benefit. It means we can model our component-to-component communications using the correct interaction model for each use case. This more productive model…

Getting Started With RSocket: Spring Boot Request-Stream

Engineering | March 23, 2020 | ...

Time: about 15 minutes.

Previously in this series, you experimented with request-response and fire-and-forget messaging in Spring Boot with RSocket. This time you'll try another of RSocket's fresh new messaging models — request-stream.

In this exercise, you'll learn how to stream data using the conventional 'client-requests-a-server-stream' approach.

One thing that I haven't mentioned until now is that RSocket lets you use its messaging models in either direction. Therefore, if you wanted to use the less common 'server-requests-a-client-stream' model, that's no problem for RSocket. Plus, there are lots of non-java RSocket implementations to choose from, including Go, Javascript, and .Net—ideal if your architecture includes…

Getting Started With RSocket: Spring Boot Fire-And-Forget

Engineering | March 16, 2020 | ...

Time: about 15 minutes.

Some developers reading this post will have been using HTTP for many years by now. Most of them will also know that if you want to use HTTP with other messaging models — like fire-and-forget, for example — you must sometimes use clever workarounds like this one posted on Stackoverflow. That's because HTTP is a request-response protocol. It requires a request to be sent and a response to be received. It has no concept of a one-way message without any form of response.

RSocket takes a different approach. RSocket defines a new protocol layer on top of transports like TCP…

Getting Started With RSocket: Spring Boot Client

Engineering | March 09, 2020 | ...

Time: approximately 15 mins.

In the previous article, you saw how Spring Boot simplifies the task of writing RSocket servers. But what about RSocket clients? In this article, you’ll learn how to write your own RSocket client and then use this new client to send request-response messages to your RSocket-server. Let’s get started!

This tutorial uses the Linux shell. For details on how to run a Linux shell on Windows, see this Microsoft tutorial.

Step 1: Create A New Spring Boot Project For Your Client

It’s fun to write your own code, so for your RSocket client let’s start from scratch.

If this is too much hassle for you, or you don’t have the time right now, then you can find the code in the rsocket-client folder of the demo code repository.

Getting Started With RSocket: Spring Boot Server

Engineering | March 02, 2020 | ...

Time: approximately 15 mins.

In the diverse world of microservices, HTTP is the undisputed leader in agent-to-agent communications. It’s mature, well established, and everywhere. But in some cases, HTTP request-response can be cumbersome. What if you need communication patterns beyond traditional request-response, such as fire-and-forget or streaming? And what if you want to send messages in either direction?

With HTTP, there are ways to achieve this but it’s not what the protocol was built for. Many of the solutions come with additional tradeoffs or shortcomings. Plus, here’s no rulebook that…

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all