A brief introduction to Apache NiFi, a powerful and scalable Flow-Based open-source Data Ingestion and Distribution framework.


Apache NiFi is an open-source, easy to use, and reliable system to process and distribute data. The data can be propagated from almost any source to any destination. NiFi operates on the principle of Configuration over Coding. That means it is possible to create simple ETL to complex data lack without even writing a single line of code. NiFi can operate on batch as well as stream of data. NiFi seamlessly ingests data from multiple data sources and provides mechanisms to handle different schema in the data.

NiFi can be a data logistics platform which enables easy collection, curation, analysis…

A guide to build custom starter to solve cross-cutting concerns by leveraging spring’s autoconfiguration and AOP.

Photo by Clément H on Unsplash

Spring Boot takes an opinionated view of the Spring platform to enable developers to build stand-alone, production-ready applications with little effort in no time. Instead of having to configure Spring and/or 3rd-party components, such as databases or message brokers, manually like in old XML days, Spring provides out-of-the-box auto configurations.

There are certain cross-cutting concerns that we don’t want to implement from scratch for each application. Instead, we want to implement those features once and include them into any application as needed, spring boot starters helps us to achieve this. Spring Boot Starters are just dependencies that are autoconfigurable. Under…

This post will briefly explain about what is OSGi, basic concepts in OSGi and its major application areas.

What is OSGi?

OSGi (Open Service Gateway Initiative) technology is a set of specifications and a reference implementation for each specification that define a dynamic component system for Java. OSGi is a Java framework for developing and deploying modular software programs and libraries. It specifies how to build larger applications from very loosely-coupled components.

The OSGi specifications enable components to hide their implementations from other components while communicating through services. Purpose of OSGi specification is to define a way to develop modular Java applications and to utilize the concepts of a microkernel architecture, also known as a plug-in architecture.

What is Modularity?

We can define modularity…

Vishnu G

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store