11/14/2016

AEM - Extend , Override , Overlay

Adobe Experience Manager (AEM) has come with many inbuilt or OOB (out of the box) components.
When we are going to design and develop a Web Page, we don't have to write the code from scratch or reinvent the wheel.
Following are the most important and very useful AEM Components.

1) Page
2) Parsys
3) iParsys
4) Carousel
5) Text
6) topnav

What is Extend?
Inheritance

1. component to component - sling:resourceSuperType

2. dialog to dialog - cqinclude, path to the parent dialog.

3. client libs - dependencies(property)
What is Override?

Create a component with same file name of the out of the box, for example, create a Page component

What is Overlay?

When a component includes a file that has the same name and relative location as a file in the component's supertype, it is called overlaying.

11/01/2016

OSGi - Bundles / Components / Services

Adobe Experience Manager (AEM) is an enterprise-grade web content management system

OSGi  - Open Source Gateway Interface
Apache Felix - is an OSGi framework
OSGi is modular software development, Modular software development is the concept, it built interface, black box implementation of interface.
We implement interfaces, build number of modules build components to create a big application. Everything you built is a component.


OSGi - The ideal framework for composite content frameworks
Adobe's content management platform is the mature, proven OSGi runtime framework based on Apache Felix
OSGi reduces complexity by providing a highly dynamic, modular architecture for composite applications.

OSGi benefits:
Reduced Complexity - with OSGi technology, you develop and deploy code and resources as modular bundles that hide their internals from each other, communicating through
well defined APIs. The high degree of encapsulation provided by bundles improves granularity and compositionality and provides robust dependency resolution, improved
control over visibility and easier debugging.

Greater reuse - The OSGi component model is inherently suited for code reuse.

Dynamism - The OSGi framework is highly dynamic. You can start and stop services when and as needed.
Easy deployment and management
Transaparency
Flexible versioning support - All bundles are explicitly versioned
Simple - The core OSGi consists few classes  and one package.
Lightweight - The OSGi framework is small and efficient
Flexible - Many frameworks takeover the entire virtual memory, OSGi on the other hand, can run standalone or inside a Java EE application server