Not all ASP.NET platforms are designed equal.
There are four key differentiators that set them apart, in ways which fundamentally change how the end user can interact with the CMS in question.
Here’s an overview of those four points, adopted from the works and opinions of Ingeniux, an enterprise-grade ASP.NET MVC based platform.
1. Architecture: Decoupled vs. Tightly Coupled
If you are looking for flexibility in how you build your front-end, or where you leverage your content management capabilities, then you want a CMS that has a decoupled architecture.
In a decoupled architecture the application for managing content is separate from the application delivering content.
In this case, the CMS does not dictate the stack, or set of technologies required to deliver the content and website, allowing for a more flexible content delivery model. In a decoupled architecture model, content can be delivered anywhere and in any format.
In contrast, in a tightly coupled architecture web content, customer data, analytics data, website presentation, and content delivery take place in a single database and application framework. In other words, content management and content delivery are the same application.
2. Development Model: MVC vs. Web Forms
Let’s talk about how your developers code your front-end experience by examining the two typical approaches in ASP.NET: Web Forms and MVC.
ASP.NET Web Forms is the traditional development model for ASP.NET. Microsoft created Web Forms to help developers more familiar with client server development (e.g. WinForms) quickly migrate to building web pages through a visual RAD interface.
The problem with Web Forms is that it supports a tightly coupled architecture, one where the interface is integrated with the application functionality (code behind).
This means the application code and the interface are not easily reusable. With Web Forms you are also locked in to the controls available for the CMS platform, dependent on their quality, upgrade cycle, and HTML output standards or you must spend a lot of time creating your own customizations that then require maintenance.
MVC (model view controller) provides a different architectural pattern for development. MVC is the more modern approach to ASP.NET development, and is the future of ASP.NET with full support from Microsoft.
With MVC there is a clear separation of presentation from application logic, enabling the reuse of both. With MVC, a request is first sent to the Controller which then decides which Model (application logic/validations) and UI (View) to put together to create the appropriate front-end interface.
Another difference between Web Forms and MVC is that you can use Microsoft Web Pages (Razor) in MVC. Razor is a lightweight view engine and Microsoft recommends you use it. With Web Forms, your only template option is via an aspx page.
3. Structured Content vs. Blob Content
In a world where new channels and devices are emerging all the time, the ability to reuse content is absolutely critical.
Content reuse takes a variety of forms. It could be the updating of content on multiple websites or mobile devices, supporting multilingual requirements, or it could involve content for both digital and print.
The idea of creating and managing separate versions of content for each channel/device is nothing short of a waste of time and effort, and most brands are realising that.
To reuse content it must be structured. Also known as intelligent content, structured content simply means content is stored in a way that defines and describes it.
The opposite end to structured content is Blob content, otherwise known as binary large object content.
Many CMS platforms continue to store content in Blob format. Essentially, you have a large WYSIWYG editing environment where you write the entire content of your page, including images, multimedia and maybe some documents, and it’s all stored as a Blob in the database.
But there are problems with this method. How do you know what this content is? How do you pull it apart to display it differently for mobile versus the website? How do you automatically resize images for mobile? The answer to all of the above is frustratingly simple; you can’t.
In addition, logic may be applied to structured content at the application layer. Content can be rendered dynamically based audience segments, visitor behavior, devices, business rules, and other factors. In this case, structured content supports personalization across multiple channels.
4. Database: NoSQL vs. SQL Server
Nearly all ASP.NET CMS platforms use Microsoft SQL Server for a database engine. In some cases, they might use Oracle, or MySQL. All of these are relational database platforms that store web content, customer data and analytics data using a standard model and schema. In a relational database content is typically stored as Blobs.
Unfortunately, in an agile decoupled content management and deployment model, a relational database presents challenges. Content needs to be managed in a more structured (or intelligent) manner than a Blob provides. What’s required is a flexible content or data model, offering a richer content structure, and that’s where NoSQL can help.
NoSQL databases - or better described as "not only SQL" - support agile content management and deployment because they are schema free, meaning content can have any structure and that structure can change over time. In NoSQL, content is stored as documents or JSON objects that have richer metadata and use search-based indexing allowing content to be easily queried and retrieved based on the metadata.
There are many advantages to a NoSQL database for content management. They are:
Designed to manage content and provide a much more intelligent content model for storage and reuse
Schema-free so content definitions can change without database upgrades or "joins,"
Less expensive and easier to administrate.
Provide automatic "sharding" of information so they are easier to cluster, scale, and geographically distribute.
Work very well in cloud-based deployments.
Ingeniux & Its ASP.NET Positioning
After looking into Ingeniux as a SaaS solution, now is a good time to explore its ASP.NET positioning.
ASP.NET is an open-source server-side Web application framework designed for Web development to produce dynamic Web pages.
As for ASP.NET MVC - which is what Ingeniux leans upon - that’s the framework developed by Microsoft, which implements the model–view–controller (MVC) pattern.
A Main Focus on ASP.Net MVC & Razor
Ingeniux has a main focus is on ASP.NET MVC and Razor. In fact, it’s 100% MVC.
Most CMS applications have not made the move to MVC, whereas with most of the ones that have, not all of the features will work.
According to the Ingeniux team, they provide a, “totally unique ASP.NET Footprint > MVC, Decoupled, Service-oriented delivery and multi-site publishing, NoSQL Db, Structured content model, and so forth.”
To find out more about Ingeniux, visit their website.
Furthermore, you can explore more of Ingeniux via our CMS Directory.
Stay tuned for our last round of coverage for this featured week with Ingeniux.