REST vs. Messaging for Microservices

This is an article from DZone's 2023 Software Integration Trend Report.

For more:


Read the Report

A microservices architecture is an established pattern for building a complex system that consists of loosely coupled modules. It is one of the most talked-about software architecture trends in the last few years. It seems to be a surprisingly simple idea to break a large, interdependent system into many small, lightweight modules that can make software management easier. 

GraphQL Java Example for Beginners [Spring Boot]

Chicks like GraphQL Java Examples with Spring Boot too!

GraphQL is a query language for APIs that allows clients to request limited data they need, making it possible for clients to gather data in a limited number of requests. GraphQL is a strongly-typed protocol and all data operations are validated against a GraphQL schema.

In this article, we will look at a GraphQL Java example and build a simple GraphQL server with Spring Boot.

Streaming Data With Spring Boot RESTful Web Service

Streaming data is a radical new approach to sending data to web browsers, as it 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 users a good experience.

Spring offers support for asynchronous request processing via StreamingResponseBody. In this approach, the application writes data directly to the response OutputStream without holding up the Servlet container thread. There are a few other methods in Spring to handle asynchronous request processing.

How to Upload and Serve Data Using Amazon CloudFront and Amazon S3 in Node.js

Most applications today serve users across the globe and need a way to deliver their content fast. To accomplish this, developers often rely on a Content Delivery Network (CDN), a network of servers that are geographically distributed with the intent of serving content to users as fast as possible.

Amazon CloudFront is one such CDN. In this article, I will describe how to upload files to S3 bucket and serve those files through CloudFront in Node.js.

Concurrency and Locking With JPA: Everything You Need to Know

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?

The persistence providers an offer locking strategy to manage concurrency. There are two types of locking: Optimistic locking and Pessimistic locking. Before we deep dive into the locking strategy, let's learn a little bit about ACID transactions.

Build Micro Front-Ends Using Angular Elements: The Beginner’s Guide

Front-end development has grown so much over the last decade from pure HTML and CSS design to topics such as high interactivity, accessibility, testability, and security. In order to meet these needs, most application teams have made distinctions between backend and front-end development teams.

In addition to that, the application functionality grows steadily and, at a certain point, it becomes impractical to have multiple teams collaborate on a single code base.

Dictionaries in Swift

Swift

Recently, I have been learning and coding in Swift. Swift is a powerful and general-purpose language. As a seasoned Java developer, I can correlate some of the Swift's concepts and it is easy to learn.

In this article, I would like to introduce and delve into the dictionary in Swift. Dictionary is a container which stores key-value pairs. All the keys in the dictionary are of the same type and all the values are of the same type. The order in the dictionary is not maintained. If you are a Java developer, you can correlate this to a Hashtable which gives fast access to its entries.

Creational Design Pattern Series: Singleton Pattern

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 the common examples where singleton pattern is used include logger classes, configuration classes, etc.