Sunday, October 4, 2015

CMS Centric Architecture

Hippo Connect 2015
Thursday I attended a very successful Hippo Connect 2015 single-day conference in Somerville, MA. I found the conference very informative, via the sessions and the impromptu discussions and knowledge sharing.  Based on learnings from Thursday, and my personal experience, I think we need to rethink application architecture.

Traditional IT Architecture
In grad-school our professors stressed the need for Business and IT alignment.  Many times, however, IT concerns seem to compete with, or even against, business concerns.  As architects, we want to take enough time to properly design and architect systems so that they are both reliable and accessible.  We also create rigor around chance processing so that our systems are not constantly under change.  This approach does not align well with modern businesses that need to move quickly to capture market share by reacting to or overcoming opportunities and threats.

There is a reason we create or otherwise implement seemingly rigid monolithic systems; these systems often become Systems of Record (SoRs) that the business relies upon to manage transactions and business processes.  Given the importance of these systems to the business, pace of change of these systems must remain controlled.  And the more control that is applied, the slower a system reacts to change.  This slow pace is inherit to SoRs.

Pace-Layering Architecture
Slow is not good for Marketing.  When they act, they must act quickly with relevant and timely content designed to shape and direct the customer experience.  Marketing simply moves at a faster pace, and so must their applications and tools.  This is a clear argument for Pace-Layering Architecture , and I have designed systems for years with this concept in mind.  In my opinion, IT simply cannot align with business if pace-layering is not used.

Every company has an SoR of some type.  In that way, these systems have become more commoditized, and less relevant to a business's competitive advantage.  However, they, as well as the data they contain, are still very important to the business.  Businesses are collecting more and more data everyday, and retaining and mining those data are complicated and full-time processes.  In fact, according to Jeroen van Rotterdam, CTO of EMC ECD, those data will remain, after the systems are outdated and replaced.

According to Gartner, there is a direct correlation between the pace of an application layer, and the level of differentiation and innovation the layers provide to the business.  The fastest pace of change is the innovation layer.  Applications in this layer address competitive threats and opportunities.  In this layer, applications help enable and realize the the newest ideas and allow the business the most flexibility and agility.

In the differentiation layer, the business benefits from ideas that are more mature.  This is where real competitive advantage lives, as much as it can in an application layer.

Finally in the lowest layer the lowest pace of change occurs.  These are the applications with the most rigidity.  This is where the SoRs live.  The applications are commodities and in no way move at the pace of the business, nor do they provide much differentiation or innovation.  However, they are still very important to business operations.

CMS Centric Architecture
So, what does all this boring architecture approach have to do with Hippo CMS?  What I heard at Hippo Connect yesterday was that marketers do a good job of creating content, in general.  However, they sometimes fail with the holistic approach to delivering timely and relevant content, in a non-isolated fashion.  To me this means that we must do a better job at enabling the business to more quickly generate content, and deliver that content across multiple channels.  We must also decide on the data we need to collect about our customers, and use those data in personalization efforts with targeted content.

I also heard that the "Customer owns the Customer Experience".  After all, they can decide what channel to use or not use.  I agree with this idea, and I think that content both shapes and directs the so-called "Customer Experience".  Seeding control of the experience to the customer does not reduce our load.  In fact, it applies even more emphasis on relevant and timely content delivery.  Marketers need tools that allow them, and their IT solution providers, to more quickly develop and publish the content across multiple channels, in a data-driven fashion.

Finally, I heard that some companies are shifting from a transaction-centric application layer to a CMS-centric application layer, with added functionality for transaction processing, if needed.  To me this means that the CMS application layer, let's say Hippo, would be the center of the innovation or differentiation layers.

So, with the CMS centric approach, Hippo makes even more sense to me as an architect.  Hippo is built with mature and extensible application frameworks and libraries, such as Freemarker, Spring, Wicket, JAX RS, and Angular JS.  So, in the innovation layer, IT will have a tool-set that allows them to more quickly build application components that help Marketers move as quickly as they need.  Hippo provides both enterprise class content modeling, authoring, editing, and publishing tools, underpinned by industry standard technologies, needed to quickly generate and deliver relevant content.

Using Hippo as their substrate, IT can add new integrations to a Hippo CMS implementation via the exposed REST API, or by extending the Spring configuration, or even at the web application level utilizing Java web container standard components.  And, if need be, transaction processing, like that of ecommerce can be had by integrating to SaaS providers, other cloud offerings, or even on-premise tools.

With this in mind, Hippo is uniquely positioned to build applications in the innovation or differentiation layers of a pace layering architecture.  In fact, because of its robust integration approach, and the standard technologies employed by, Hippo CMS, the slower moving SoRs can also be used.  Hippo CMS can integrate to most SoRs utilizing industry standard techniques and APIs.  The bulk of this integration is completed in the Hippo CMS application, within the differentiation layer of a pace-layered architecture.  This means less change to the slower-moving and rigid SoR layer.  All the while, Marketers move faster, and content leads the way to a better customer experience.