Headless has gone from being a buzzword to becoming the de-facto standard for developing applications, for both customer-facing and internal tools to increase productivity and efficiency. This new era of supporting headless development, is called a Composable approach: because it is composed of individual systems exposing their data through APIs, which makes the development of such applications faster and easier.

The ability to utilize and combine data from various sources in your applications is no longer wishful thinking, available only for the most important projects. Instead of siloed systems, you now have a myriad of services to choose from, a smorgasbord of available APIs ready to consume when needed. 

The Composable approach is a game-changer in software development  

The current state involves setting up separate services with clear distinction and strict separation of concerns for each team, leading to agile development. Product data in one API, stock levels in another, pricing, images, and so on. A Composable approach means that back-end developers and individual system suppliers can focus on developing and optimizing their APIs, while front-end developers can focus on creating a stunning user experience. 

You might also like: A quick guide to understanding a Composable approach

How you imagine a composable approach

Screenshot 2021-09-23 at 14.23.26This is a generic setup of a Composable approach powering a frontend application. Frontend developers will need to handle the unifying of all datasets and someone needs to handle access to each system. 

Existing Composable structures still have some major issues

However, with this approach comes some new caveats for projects consuming corporate data... 

Sure, developers can utilize data from the different systems by using the open APIs, but someone will need to handle application access for each system that is accessed. If the data needs to differ based on the market or segment that the application is designed for, you will have to set up separate APIs for each involved segment. Furthermore, if you would like to personalize based on user intent or history, you would need to involve the context of the user somehow. 

If you want to use and combine data from multiple APIs, the individual developers must build a data layer and start combining the different datasets. The next issue to handle is to make sure that all the services are performant enough: 

  • Are they guaranteed to stay online 24/7? 
  • Are they allowed to be routed outside the company firewall? 
  • Can they handle the load from your application when a myriad of external requests is flooding in?  

If the answer is ‘no’ to any of the above points, this would need to be handled by the developer, involving a variety of tools such as indexing, caching, VPN, and CDN. 

What if you want to include data in your application from that old legacy WMS? There are most likely still quite a few old legacy systems around that have no support for this new way of working. In that case, you are back to building custom integrations which are both time-consuming and expensive. 

The above are some of the tasks your frontend developers are faced with when building applications utilizing data from your various services. It is time-consuming and very error-prone. 

Now, over the past few years, there has been a great development of tools to assist the developer in building scalable APIs that ingest data from underlying applications. For the developers, these tools are a great add-on. Of course, you will need to learn yet another framework, some of which cannot handle dynamic data sources, but it is a start at least. But we are back again to front-end developers spending time on integrating data instead of creating the actual experiences!    

Real world architecture

In the real world we often see some systems lacking the possibility to scale for a dynamic frontend that should be globally accessible. Also, some legacy systems still linger on demanding an integration.

Real world composable architecture

This means:

  • Developers need to build a data layer
  • Adds another implementation project

Here's what you're missing in your Composable approach

With the Occtoo Experience Data Platform, you can set up scalable APIs with unified enterprise data (from your ERP, PIM, CRM, etc.) and expose it to your various applications. Each application will get its own purpose-built API, containing just the specific data needed to power the experience. No matter whether the underlying systems are performant or not, your applications will be. This means you can move into the composable world in a fast and cost-effective manner without ripping and replacing your current stack: this makes your previous investments in backend systems even more valuable! 

You can view Occtoo documentation here.

The ideal composable approach-1

With Occtoo in the mix, developers can focus on the frontend while the business handles access to the right content in the right context for the right customer. All systems can be included no matter if they scale or not. Underlying data sources can range from full API services and databases to file structures and excel-documents. 

This means:

  • All data is unified
  • You can create purpose-built APIs for every frontend
  • You can scale globally in milliseconds
  • Frontend is true lightweight

Occtoo’s goal is to democratise data across the whole organisation. By using Occtoo you can empower the digital team who work and own the data (and lack coding skills), to set up the APIs needed for the applications you are building. This way of working allows the frontend developers to focus on building a first-class experience while the knowledge of your organisation is put best to use in curating that experience. 

Hope you found this interesting. Please reach out to me if you have any questions or thoughts around this at larre.landin@occtoo.com or connect with me on Linkedin.

About Occtoo   

Occtoo is an Experience Data Platform that fast forwards how digital officers, marketers and developers create relevant customer experiences everywhere. Unify all your experience data (transactional data, product data, customer data, content etc) with ease and access it from one single place. Make unique combinations of customer, context and content data and create an Experience API with a click to make the data available in real-time in any frontend, channel or device.  

Learn more about Composable Architecture