Skip to main content


Showing posts from October, 2018

OSGi Deep Dive: Basic Concepts (Part 1)

After writing a series of posts on the 20-day approach for the AEM Development (here), I think it is a good time to delve deep into AEM's building blocks.

One of the major technology that AEM uses is OSGi (Open Service Gateway Initiative). Therefore, in the few upcoming posts, we will be learning the OSGi concepts in detail along with code examples.

Let's get started! 🙋
Software Modularity In modern times, a complex software can be thought of as a collection of various modules or components. These modules are normally independent of each other and modification in one module does not affect the other modules.
These modules interact with each other via an API. The API is defined as a set of classes and methods which can be used from other components.
If a module uses an API from another module, it has a dependency on the other module, i.e., it requires the other module exists and works correctly.
A module which is used by other components should try to keep its API stable. Thi…

Day 20: Working with User and Groups in AEM

Day 00: AEM Developer Series

Hello everyone! Welcome to this AEM development series. We can all see the revolution of Digital Marketing today. Companies are dying to be a part of it and they have made this a war for the Digital Marketing tools.
Adobe is way ahead in this war and has gained a lot of market capture. They are leaders in the Digital Marketing platforms since 2014-15. One of the flagship product in Adobe's Digital Marketing suite is Adobe Experience Manager (AEM).
Since AEM is in huge demand, the people who know how to develop on AEM are also in huge demand. But developing on AEM is not easy as it is made up of various open-source technologies such as Apache Felix (OSGi), Apache Sling, Apache Oak and Adobe's own technologies like Granite, HTL etc. Learning all these technologies in conjunction can sometimes become confusing and frustrating 😫.
When I first started learning AEM in 2016, I was dumbfounded to see there is so much going on under the hood. I then spent months to gather all the res…

Day 19: Replication API in action

Day 18: Working with Granite Datasources

Day 17: Working with Query Builder API

Day 16: Creating JMX MBeans in AEM

Day 15: Custom Workflows in AEM