Modular Development

Modular Systems architecture enables shorter development times, better code management, and the deployment of different software solutions matching different requirements.

What is Modular Development?

modular development is a software design pattern separating software components into modules each handling specific concern.

Why Build Modular Applications?

Modular applications are more easily maintained, have shorter development cycles, and can be packaged according to requirements.

Modular Development with FlexiCore

FlexiCore encourages and supports building solutions as sets of interconnected plug-ins, each developed using Spring Boot APIs, services, and paradigms.  Each plug-in may depend on other plug-ins.  All the components of a system are defined as plug-ins. Plug-ins have no limitations to what they define or provide, including the interfaces to front-end devices (APIs), the domain model (Database structure), and the business services.

The actual Spring boot application is FlexiCore itself, and it remains identical for any application domain without a change, pretty much like Spring itself (new versions are regularly provided). Besides providing many additional services on top of what Spring provides, FlexiCore manages the plugins and the inter-dependencies among them. This is carried out without any declaration of plugins to be used.

Special plugin support includes updating plugins remotely. This is implemented through the use of a Wizzdi provided plugin.

With FlexiCore plug-ins support, multiple versions of the same plug-in can co-reside. 

Plug-ins can declare the required version of an injected plug-in using a different version from what other plug-ins may use, front-end clients and other systems using the system API can also declare a specific version they need to use.

Ready to get started?