Introduction: #
Imported Apps #
Components are used in Wizzdi Cloud when a different App is imported into the current App.
Apps can be imported from Wizzdi MarketPlace, your MarketPlaces, and your workspaces.
When an App is imported, it appears as a component in your app. Thus, you can always view its structure using the Wizzdi Cloud user interface.
Flexicore Run Times #
In Wizzdi Cloud, when initiating a new application, users have a choice between two runtime environments: Spring Boot, a well-known framework, and its extension, FlexiCore Boot. FlexiCore boot has all the features of Spring, a Spring Boot with additional features.
Features #
- Access Control: Multi-tenancy, refined data, and API access control are often needed. FlexiCore Boot offers tools to address these requirements effectively.
- Modularity in Action: Rather than confining feature modifications to the development stage, FlexiCore Boot supports real-time component integration or removal. It accomplishes this by treating these components as active plugins. This dynamic nature has several benefits:
- Integration: Enables the smooth addition or removal of components without a complete system reset.
- Adaptability: As application requirements shift or grow, it’s possible to introduce new functions seamlessly.
Component Types #
- Model Component:
- Purpose: To define the domain model of the application.
- Features:
- Structures essential data entities and their interrelationships.
- Dictates how data will be organized, preserved, and accessed.
- Serves as the foundational framework for services, APIs, and business logic.
- Service Component:
- Purpose: Handles nearly all functions outside of the domain model.
- Features:
- Manages both exposed and consumed APIs.
- Supports custom queries and business flows, shaping the application’s interactions with its data and other systems.
- Module Component:
- Purpose: Generates a usable module for integration into the FlexiCore Boot runtime.
- Features:
- Modular design for easy runtime integration.
- Supports specific functionalities or features for modular addition or subtraction.
- Facilitates scalability by allowing for the addition of new modules as needs change.
Considerations #
While FlexiCore Boot offers dynamic modularity and refined access control, it does come with a consideration. Applications developed using FlexiCore Boot become dependent on the FlexiCore framework. This dependency contrasts with the more universally applicable Spring Boot framework. To ensure flexibility and to cater to varied requirements, Wizzdi Cloud provides support for both runtime environments, allowing users to choose the one that aligns best with their needs and plans.
FlexiCore Boot and Felxicore are open-source and available on GitHub. Binary artifacts are available on Maven Central.