The Anatomy of an Open Source, Headless CMS
Dec 23, 2019
By: Jason Smith
Enterprise organizations continue to embrace open source technologies because they’re more flexible, innovative, and adaptable than their proprietary counterparts. In fact, 69% of IT leaders said open source was important for their organization’s overall enterprise infrastructure software plans in 2020. That’s why it’s crucial to understand where an open source headless CMS fits into the mix.
With this in mind, let’s look at the advantages of open source for a CMS headless in particular, and the most common open source technologies these platforms leverage.
Why Open Source Matters
The move towards open source is becoming more prevalent across enterprise organizations because they need the ability to quickly adapt to a rapidly changing marketplace and open source technologies facilitate this. That’s because open source by nature doesn’t lock companies into specific vendors or proprietary technologies, so companies can freely change out applications within their tech stack or extend the source code itself to meet unique business requirements.
Beyond the flexibility of open source, companies value the ecosystem that surrounds popular open-source software. This often includes an active developer community that fosters innovation and improves the quality of open source technologies. Enterprise companies, therefore, can leverage worldwide collaboration on software projects outside their core competency to bring enormous benefits to their organization.
By leveraging active open source projects, enterprises can also reduce their costs by leveraging open source software. That’s because a worldwide network of developers can build innovative solutions and provide a community of support as well without the enterprise needing a massive development team to work on the project. There’s no reason to reinvent the wheel If the software isn’t a core competency of the organization, so companies can look to existing high-quality CMS solutions and utilize their developers for internal software projects that have a greater impact on business success.
The Anatomy of an Open Source Headless CMS
There are many underlying technologies — both proprietary and open-source — that enable the critical functions of a headless CMS. Let’s take a closer look at these specific capabilities and the advantage of using open source technologies to drive them.
When it comes to content storage, an open source CMS looks beyond proprietary database technologies like Oracle to open source databases such as MySQL or MongoDB. That’s because moving to open source database technologies can reduce licensing costs and limits the risk of vendor lock-in. Many solutions even leverage an open source Java Content Repository (JCR) technology like Apache Jackrabbit to standardize access to content repositories and enable flexible database support. That’s not to mention the open source technologies like Elasticsearch that improve the search ability of content repositories as well.
It’s unlikely that a CMS will have the exact functionality to meet your business requirements out of the box. That’s why it's ideal for a headless CMS to embrace a modular architecture that’s straightforward to customize. Many headless solutions, therefore, leverage open source technologies like the Open Source Gateway Initiative (OSGi) so that development teams can introduce new code without impacting core functionality. They may also include thorough documentation and Low Code tools to further reduce development times as well.
Further Reading: What Is A Low-Code Digital Experience Platform?
For most enterprises — particularly those pursuing a best of breed approach to content management — need robust integration points. And by far the most interoperable headless CMSs utilize open source technologies. That’s why many platforms are built atop the Spring Framework, which most Java developers are familiar with and can work with more easily. That means they can build custom API endpoints, for example, by using commonly understood methods provided by the Spring Frameworks to reduce development time. Many headless CMSs are also embracing GraphQL, an open source API querying language that standardizes and streamlines API integrations for numerous business systems.
Enterprise organizations are likely heavily invested in infrastructure for deploying software already such as specific operating systems, languages, or application servers. Open source technologies are critical when it comes to deployments, therefore, because they’re much more likely to be cross-platform. Headless CMS solutions that leverage open source technologies like Docker and Kubernetes enable organizations to deploy the platform on nearly any operating system or server. Meanwhile, support for packaging the software as WAR files in a Java environment enables companies to leverage a variety of open source and proprietary applications servers ranging from Tomcat to Wildfly or Websphere.
dotCMS: An Open Source Headless CMS From The Start
dotCMS has always been open source, and the platform was built from the ground up as a flexible, API-driven headless CMS that leverages powerful open source technologies. That means organizations can leverage the platform’s underlying technologies to standardize content storage, streamline integrations, simplify customization, and easily deploy dotCMS to their existing IT infrastructure.
The dotCMS source code is freely available and the system is built with familiar technologies like Java and the Spring Framework, so developers can quickly get up to speed with the platform. With its Java foundation, it was only natural for dotCMS to leverage JCR repositories to simplify database interactions and support numerous database technologies ranging from MySQL to PostgreSQL Microsoft SQL Server as well. Java and Spring also make dotCMS easy to package as a WAR file and deploy to most application servers out of the box. These capabilities make it straightforward to make the platform work with an organization’s existing infrastructure and tech stack.
Along with many out of the box integration points to leading third-party systems and robust RESTful APIs, the platform includes tools for developing custom endpoints for complex business requirements. For maximum flexibility, dotCMS has recently added native support for GraphQL as well. Beyond this, the platform aims to make frontend integrations even easier by leveraging the open source Apache Velocity scripting language. That means it’s hybrid editing capabilities can be used with a number of open-source frameworks like Angular, Vue, or React to deliver content to frontend applications.
If you want to learn more about the open source nature of dotCMS, you can check out our interview covering Why We Choose to be an Enterprise-grade Open Source CMS.