Categories
Blog

Composable architecture with WaveMaker low-code

Imagine your enterprise architecture, not as a collection of disparate business processes with some loosely defined interdependencies, but as a neatly fit, well composed, well maintained, synchronized set of autonomous and API-driven Packaged Business Capabilities (PBC). Each process fitting into another like a well-thought-out jigsaw puzzle. What’s more, the scope for adding more such processes is unlimited and the pieces to the puzzle are interchangeable. Such a modular architecture makes it possible for each of these PBCs to have separate life cycles of its own which can then be deployed, tested, and reused causing minimum disruption.

If this visualization evokes your interest, welcome to the world of  ‘composable architecture’.

PBCs are in fact, products by themselves either built in-house or by SaaS vendors or best of breed application factories. According to Gartner, by 2023, 30% of applications will be sold as PBCs.

Why compose?

A composable approach to application development helps businesses deliver the needed solutions at the pace of modern business change. - Louis Vistola, Devops.com

CIOs are using composability to tackle disruptions – pandemics, natural disasters, market fluctuations, and changing customer needs. Composable architecture brings several benefits to the composable enterprise concept, specifically the agility and innovation to respond to changing business needs. It reduces the need to build configurability reducing complexity and thereby reducing the QA cycles. Other than the possibility of unlimited scaling, it also focuses on shortening the gap between IT and business, bringing deep personalizations based on roles, and the ability to build new business models.

Role of low-code platforms in the
journey to being composable

As organizations move towards digital transformation, the low code plus composable combination offers maximum flexibility, delivering value at greater speed. - Elizabeth Wallace, RTInsights.com

Low-code is built on the premise of visually composing applications and services with the help of built-in components. Therefore, a low-code platform like WaveMaker becomes a plausible choice for the rapid development and integration of PBCs. However, where, in the journey of building a composable architecture does a low code platform play its part?

Depending on the size and affordability of the enterprise, a low-code platform can don many hats.

  • Use it to build new PBCs
  • Democratize application development
  • Increase collaboration with IT and business users
  • Use it as a business capability development tool
  • Define new user experiences and customize your applications
  • Utilize low-code as an aggregator/ integrator of various PBCs
  • Provide a visual abstraction over complex API calls

The list is exhaustive.

A low-code development platform like WaveMaker comes with an innate plug and play approach, and can do a lot of heavy lifting for an organization looking at composability. Let’s see how.

API-driven approach: The API Designer

Application Programming Interface (API) management market size is set to
grow from USD 1.2 billion in 2018 to USD 5.1 billion by 2023

Application Programming Interfaces(APIs) are the catalysts in creating a well-composed architecture. PBCs expose their functionalities using APIs. When all processes within an enterprise are API-enabled, developers and business collaborators can access them seamlessly to suit their needs resulting in faster delivery and increased composability. All communication across enterprise applications is streamlined with the help of APIs.

WaveMaker enables an API-driven app development approach. The platform extends its capabilities beyond just publishing, wrapping, and sharing APIs within the enterprise, by also enabling partners and third-party developers to consume APIs vital to their business. Representational State Transfer(REST) APIs are autogenerated for any application that is created on the WaveMaker low-code platform. For every service that is imported on the platform whether it be database, Java, SOAP, or a third-party service, an API is auto-generated. This enables easy composability of critical services like databases and third-party functionalities into the application canvas and the larger ecosystem of applications. The platform has a feature called ‘API designer’ where all APIs available to the application can be viewed, tested, and customized.

Wavemaker is also OpenAPI Specification 2.0 (OAS) compliant and extends the functionality of OpenAPIs by integrating REST endpoints in a Web/Mobile application. Once a REST endpoint is generated, it can be easily integrated with any of the 100+ UI widgets available on the platform without the hassles of hand-coding. What’s more, applications within the enterprise can talk to each other.

All platform-generated APIs deliver enterprise-grade security, OAuth capabilities, and users are provided with fine-grained control over the usage of APIs.

Reusable software components: Prefabs

Within the WaveMaker studio, “Prefabs” are customizable, reusable, distributable, components/widgets that help in accelerating digital app development. ‘Prefabs’ are the building blocks that enable composable architecture through WaveMaker. These groups of components are gathered in the Design-Toolbox within the WaveMaker Studio. More than 100 prefabs covering a wide range of features cater to different use cases throughout the product. Every enterprise customer owns an artifact repository of components that can be as granular as a UI widget or an entire workflow such as a Loan application microapp.

Similar to an application, prefabs have their own development cycle – a prefab is developed, tested, and deployed independently. Additionally, it can be retrofitted to suit varying business scenarios and repurposed. In fusion teams, Prefabs can be created by developers and can be consumed by non-developers (business users and citizen developers) to exponentially accelerate development. WaveMaker users can just gather (drag and drop) the necessary prefabs from the enterprise repository and then compose an entirely new application with the centralized built-in module.

You can find a detailed article on prefabs here.

Microservices

“The golden rule: can you make a change to a service and deploy it by itself without changing
anything else?” - Sam Newman, Building Microservices

Microservices are known for their composability, but are microservices akin to PBCs? A PBC is composed of several microservices and in some cases, a microservice can act as a PBC providing a tangible business capability. Therefore, the ability to support microservices is a crucial tenet for a low-code application development platform that enables composable architecture.

Since REST APIs are auto-generated in WaveMaker, Microservices are inherently supported. Some of these APIs are available for further customization based on the app integration needs and as Sam Newmann says, the primary benefit of using microservices is that you can change and deploy a service with minimum disruption – An important principle when it comes to composability.

Integration of features and modules happens more often at the customer experience layer. Micro Frontends, in the microservices world, is a scalable design practice that enables users to produce composable independent modules which can serve in building a new app or progressively integrate features to an existing app. WaveMaker is the only low-code platform to support Micro Frontend modules extending rapid development benefits to Micro Frontend development. It adopts the runtime integration approach for Micro Frontends & works with the Single-spa framework.

WaveMaker also enables seamless deployment of business services into the choice of infrastructure. Enabling business services as individually versioned microservices makes the entire CI/CD process effortless leading to what we call Zero DevOps.

Low-code platforms and composable architecture share a symbiotic relationship. They have shared goals namely agility, velocity, collaboration, and the ability to build powerful applications that can be plugged into the enterprise ecosystem without disruption. Technical tools and platforms that allow enterprises to pivot and adapt rapidly are the need of the hour. Composable architecture requires the ability to utilize several modern technologies such as API enablement, reusable software components, support for REST and SOAP services, modern CI/CD technologies combined with microservices (Kubernetes), multi-cloud enablement, and data protection.

WaveMaker is an open low-code platform that delivers all these and more.