Most communications between microservices is either via HTTP request-response APIs or asynchronous messaging. While these two mechanisms are most commonly used, yet they’re quite different. It is important to know when to use which mechanism.
Batch processing of data is an efficient way of processing large volumes of data where data is collected, processed and then batch results are produced. Batch processing can be applied in many use cases. One common use case of batch processing is transforming a large set of flat, CSV or JSON files into a structured format that is ready for further processing.
Streaming data is a radical new approach to sending data to web browsers which provides for dramatically faster page load times. Quite often, we need to allow users to download files in web applications. When the data is too large, it becomes quite a challenge to provide a good user experience.
Imagine you have a system used by multiple users, where each user is trying to modify the same entity concurrently. How do you ensure that the underlying data’s integrity is preserved when accessed concurrently?
Maven plugins are nothing but software components that allow reuse of common build logic across multiple projects or modules. In this article, I would like to demonstrate how to build a maven plugin and test it.
Often, we need to convert domain model to DTO (Data transfer object) and vice versa. This is necessary when transferring data to frontend or remote interfaces. Dealing with complex mappings manually becomes cumbersome and may result in errors.
Integrating Backend APIs manually can be time consuming and error-prone. Hence, Swagger comes into picture. Swagger is the most popular framework to generate and consume OpenAPI specification. The tool greatly relieves the burden of documenting and interacting with APIs.
Factory method design pattern is one of the well-known “Gang of Four” (GoF) design patterns and it is a creational design pattern that uses factory methods to deal with creating instances without specifying the exact class of the object that will be created.
Every now and then, it’s important to have only one instance for a class. Usually singletons are used for centralized management of resources and they provide a global point of access to themselves. Some of […]
I deal with integration tests for RESTful applications a lot, however, I had not particularly tried Test Driven Development (TDD) methodologies. Therefore, I decided to give it a try and I can now tell that […]