Asynchronous communication

Another method to help with scalability is using an asynchronous form of communication between the components of a system. Asynchronous communication is a form of communication where a measurable amount of time passes between a request being issued and the availability of the response. For instance, a photographer's portfolio system typically requires generating thumbnails of photos, as well as watermarking originals. These processes can be time consuming, and therefore a synchronous style of communication isn't suitable. The image-processing component of this system would benefit from providing a callback mechanism that notifies you of the tasks' completion.

In addition, by adding this level of abstraction between components, ...

Get Building a RESTful Web Service with Spring now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.