Caching Architecture (Adobe AEM) – Part 1


If you ever have designed or want to design a platform/site that needs to support some steep non-functional requirements like 1Billion hits, then you have to rever to using cache as a key part of the framework. How cache as we have known it back in the days is not longer just plugging in a library and start writing to it. There is a lot more to it when we talk in context of a Digital Media platform and how you deal with very high loads. This article will talk about principles that will help you design for
– Performance: Caching is a pattern that we employ to increase the overall performance the application by storing the (processed) data in a store that is a) closest to the consumer of the data and b) is accessible quickly
– Scalability: In cases when we need to make the same data-set available to various consumers of the system, caching as a pattern makes it possible for us to scale the systems much better. Caching as we discussed earlier allows us to have processed data which takes away the need to run the same processing time and again which facilitates scalability
– Availability: Building on similar principles as of scalability, caching allows us to put in place data in areas where systems/components can survive outages be it network or other components. While it may lead to surfacing stale data at points, the systems are still available to the end users.

Need to re-learn JavaScript


I was that developer. Over course of last few years I have noticed that developers have moved away from doing anything in JS and they look upto Site Developers to write client side code – JS, AJAX and what not. I just told my team that we need to go back to the place where […]

Learning MongoDB // The CRUD


The other big takeaway was that working with mongo’s document structure is much more simpler to what RDBMS is. While was I working in mongoshell where I was using JavaScirpt to write code and later when i moved over to Java classes it was fairly simple. It was all about knowing 3 classes (if not 2) and you are done. Working with Maps (or Dictionaries) is pretty simple and using that knowledge in any language cant really be difficult. I was able to go back and learn JavaSciprt all over again and code a logic pretty quick.

Learning MongoDB // It sinks in


a) Pretty quick to get going off the ground. I’d actually use this one instead of a mysql if i am trying a few things and need to use quick-start backend. (where in production – i don’t know yet)

b) If you are taking this course be mindful of not making judgements on the technology or how you’d want to use it especially model your schemas (or shall I say documents). Wait for the now or go and read more.

Learning MongoDB // Getting Started


The objective I started off was pretty simple – “I have worked with RDBMS several times in my life and now I want to know what does a “Document Store” like MongoDB brings to the table”. I hear everyone that we should move over to a NoSQL but I am not convinced in my head what problems it will really solve for me – scale, no-schema or something else. More importantly, I want to form a POV as to what I should be using a RBMS vs. a “Document Store” like a MongoDB.

A POV on Slice (a Adobe CQ Framework)


To sum it up in plain english – Not a lot of rope to hang off of; very little use cases to use and not exciting me as much.

For anything that is enterprise or platform(ish), I won’t go for this. The technical overhead that this framework and what it solves for is not worth the ROI of managing another framework. If I’d come across strongly types content-types, I would consider to use this. The ultimate tie breaker would be how how many of the content-types need to be displayed “as-is”. If all i had to show are several compositions of data (search or what have you) maybe not. But, definitely something to consider

Modeling Content in CQ54


CQ54 is not a a typical RDBMS where I can model a set of relationships in table and soon a pretty picture starts to present itself. CQ54 stores everything in its content repository (CRX) as nodes which follow an entirely different data model i.e. Hierarchical Structure. My experience with hierarchical databases has been with day […]

Write Through Cache


I was a young budding developers when I was first introduced to the concept of Cache. My Senior Architect then told me Cache is a component that will magically store data so that future requests of that same data will not be to the Remote Server, and hence it will improve the performance of our […]