Author: Aasif Ali

multi colored folders piled up

Introduction to Spring WebClient

Reading Time: 2 minutes In Spring 5, Spring introduced a component in the new Web Reactive framework that helps to build reactive and non-blocking web applications. A common requirement in web applications is to make HTTP calls to other services. Before Spring 5, we were using RestTemplate as the primary technology for client-side HTTP access. Which was simple and always blocking web client, which is now in maintenance mode. Continue Reading

woman coding on computer

Introduction to HTTP Client in Java 11

Reading Time: 3 minutes If you want to send a HTTP request and process the response from a java program you may need an API called HttpClient. What is HTTP? The Hypertext Transfer Protocol (HTTP) is used to transmit data on the World Wide Web. It allows the client to send a request to a server and get the response back from the server. HTTP is used to request Continue Reading

Introduction to Event Sourcing

Reading Time: 3 minutes Event sourcing is a way to store data as events in an append-only log. It only keeps the latest version of the entity state. This method stores the state of a database object as a sequence of events. It is essentially a new event each time the object changed state, from the beginning of the object’s existence. An event can be anything that is generated Continue Reading

Liskov Substitution Principle

Reading Time: 2 minutes Liskov Substitution Principle is one of the five SOLID principles, LSP was introduced by Barbara Liskov. Liskov Substitution Principle defines that objects of a superclass must be replaceable with objects of its subclasses without breaking the application. It means that the objects of subclasses to behave in the same way as the objects of your superclasses. For exmaple, class Dog is a subclass of class Animal, Continue Reading

Getting started with Apache Cassandra in Spring Boot

Reading Time: 3 minutes What is Cassandra ? Cassandra is a NoSQL database which is a highly scalable, high-performance distributed database designed to handle large amounts of data across many commodity servers. It  provides high availability with no single point of failure. It is provided by Apache written in JAVA. Apache Cassandra is the only distributed NoSQL database that delivers the always-on availability, blisteringly fast read-write performance, and unlimited linear scalability needed Continue Reading

MongoDB connectivity with Vert.x

Reading Time: 2 minutes MongoDB is an open-source document database and leading NoSQL database. Instead of using tables and rows as in the traditional relational databases, it makes use of collections and documents. Documents consist of key-value pairs which are the basic unit of data in MongoDB. Connect to MongoDB To connect first you need to make sure that you have MongoDB client. A Vert.x client allowing applications to Continue Reading

Event Bus in vert.x: How it works

Reading Time: 4 minutes An event bus is a light-weight distributed messaging system. It allows different parts of your application, or different applications and services to communicate with each in a loosely coupled way. A Vert.x application is made up of one or more verticles, and each verticle forms a unit for processing asynchronous events. When we need to work with multiple verticles in our applications then we also need Continue Reading

java.util.function package in Java 8.

Reading Time: 4 minutes java.util.function package provides a set of re-usable common functional interfaces ( and their corresponding lambda) definitions which can be used by the programmers in their code instead of creating brand new functional interfaces. Functional interfaces provide target types for lambda expressions and method references. Each functional interface has a single abstract method, called the functional method for that functional interface. Any interface with a SAM(Single Abstract Method) is a Continue Reading

What is Vert.x

Reading Time: 4 minutes Vert.x is an open-source, reactive polyglot platform or toolkit that runs on the JVM(Java Virtual Machine). We can think vert.x as an alternative to the JEE(Java Enterprise Edition). It  provides a convenient way to implement reactive applications on the JVM. Reactive applications consists of components that send messages or events to each other.  Re­ac­tive ap­pli­ca­tions are both scal­able as work­loads grow, and re­silient when fail­ures arise. Moreover, A re­ac­tive ap­pli­ca­tion is re­spon­sive as Continue Reading

Introduction to Microservices

Reading Time: 3 minutes What are microservices ? Microservices is a specific method of designing software systems to  structure a single application as a collection of loosely coupled services. Microservices are those services that works together but deployed and managed independently. In this model we split the application into smaller mini applications called services. And then we deploy these mini applications on different machines(servers). These applications shared the resources Continue Reading

Introduction to Redux in React

Reading Time: 3 minutes What Is Redux in React ? Redux is an open-source JavaScript library used to manage application state container for JavaScript apps. Redux is a state management tool. But it does not belongs to the component state. It is a container where you can store your whole application data. In a simple way we can say that it is a kind of array. Redux can be Continue Reading

A brief Introduction of Lambda Expression in Java: How to use Lambda Expression

Reading Time: 4 minutes Lambda Expression in Java As Java 8 was released in 2014, which brought with it a lot of new features and changes. Among these changes were features that allowed Java developers to write in the functional programming style. To support functional programming style, a language needs to support functions as first class citizen. One of the biggest changes was the addition of lambda expressions. Because Continue Reading