Creating composable business applications with an ACP is far more than merely a matter of adopting a new platform and certain technologies. In order to be most effective, enterprises will need to reimagine how they organize their teams around modularity and application composition.
To create a composable architecture, we recommend distributing responsibilities across four separate roles or functions. Depending on the size of your engineering staff, these teams might not be discrete but rather may exist on a continuum. Nevertheless, as you scale you might consider framing your organization around these major areas of responsibility in the process of application composition.
In this blog series, we will discuss Entando’s fourfold vision for application composition. The four phases of application composition are: creation, curation, composition, and consumption.
In this blog, we will focus on the creation phase of the process.
In the creation stage of composable app development, developers create the building blocks that will become applications. These building blocks may be subcomponents, components, widgets, packaged business capabilities, or even full solutions.
The key is that these building blocks for your application will be modular.
The movement toward modular architecture has been evolving for decades. As application needs and feature functionality have become more complicated, enterprises have experienced the need to separate out different parts of an application in order to streamline development and lifecycle maintenance.
This began first by decoupling back and frontend functionality and evolved further into the use of microservices, which separated out business capabilities into discrete sets of code. More recently, micro frontends have made it possible for applications to become completely modular from end-to-end by breaking down the last monolith: the frontend.
Having a composable business begins with employing principles of modularity from end-to-end, starting with your Kubernetes infrastructure and extending all the way up to your frontend. This means not only thinking of your applications in terms of the whole, but organizing the different aspects of your application around specific business functions and requirements.
In the creation phase, your team focuses on creating modular building blocks for applications that can be implemented to fulfill your current application’s requirements, as well as the requirements of applications in the future. Once created, these capabilities and solutions can then be bundled and uploaded to a shared hub for curation (more about that in the next blog).
Key to the creation stage of composing business applications is creating packaged business capabilities that can be curated, customized, and deployed into secure and resilient applications. Gartner defines a packaged business capability as a “software component that represents a well-defined business capability, recognizable as such by a business user…[and] consists of a bounded collection comprising a data schema and a set of services, APIs and event channels.”
More than thinking merely in terms of how to break code up into microservices and micro frontends, packaged business capabilities enable your organization to think in terms of well-defined and understandable business functions.
This will help keep you from creating capabilities that are too big, which will result in an application that’s too tightly coupled on the one hand, and components that are too small and fragmented on the other. Further, by deploying a collection of APIs within your packaged business capabilities, you are able to simplify implementation and maintenance, making you more agile.
Different kinds of packaged business capabilities include:
With a platform like Entando, enterprises can create components more quickly and in a more standardized fashion through code generation. The Entando Component Generator, which is built on top of JHipster, allows you to quickly create both backend and frontend components from standardized blueprints.
You can then define a bundle of components and deploy that bundle to the Entando Component Repository for curation.
In the next blog of this series, we will discuss how enterprises can curate these different pieces of functionality by leveraging a centralized hub or hubs.
If you run containerized deployments, you understand the benefits of Kubernetes. You also understand how complicated it can be and how difficult it can be to gain developer adoption. It feels like there should be an easier way.
That’s why we created an application composition platform that makes it easy to build enterprise applications on Kubernetes using modular components.
Entando ACP is changing the way enterprises think about building their apps, sites, and portals in order to promote developer productivity in a Kubernetes environment.
With Entando ACP, you can:
We integrate trusted open source technologies and extend their functionality to give you a cohesive and streamlined developer experience with easy-to-use patterns. From deploying on Kubernetes to creating modular backend and frontend architectures using your current technologies, Entando helps you at every layer of the stack.
Entando is open source with available enterprise support and services. Begin developing on the platform today, and get a quote to see how our team can help your enterprise build better apps, sites, and portals––faster.