Introduction: #
Dependency management within Wizzdi Cloud ensures your application integrates seamlessly with other projects and artifacts. This facility allows for the incorporating and reusing of external resources, streamlining development by building upon existing components. Let’s explore this in more detail.
Adding Dependencies: #
- Workspace Dependencies: You can incorporate components from other projects within your current workspace. This is especially helpful if you have multiple interrelated projects and want to leverage functionalities or data structures from one project in another.
- My Market Place Integration: Beyond your workspace, “My Market Place” is a repository to import external projects and artifacts. Once imported, these become available across all your workspaces, making integrating and reusing established components in various apps easy.
Referencing and Utilization: #
- Domain Model Integration: You can refer to or integrate entities from other domain models with the defined dependencies. This facilitates a modular approach, where specific domain components can be standardized and reused across multiple projects.
- Custom Queries and APIs: Dependencies aren’t limited to domain models. You can also reference and utilize custom queries and APIs from other projects, ensuring you don’t reinvent the wheel and maintain consistency in data access and manipulation.
- Business Flow Interactions: Business flows, which define your applications’ logic and operational flow, can also integrate functionalities from dependencies. This is particularly beneficial when standard operational patterns are established and must be replicated across applications.
Wizzdi Cloud’s dependency management is a modular and integrated application development cornerstone. Userd can ensure consistent, efficient, and integrated application functionalities across projects by defining and managing dependencies effectively.
Reusability #
In Wizzdi Cloud’s no-code platform, modularity and reusability are core principles. This allows users to efficiently construct applications by leveraging components from multiple projects. Here’s how it works:
- Project References: Within a user’s workspace, it’s possible to reference other projects directly from the current project or application. This is achieved through the “dependencies” menu option.
- Workspace Reference: You can reference project components from other workspaces you can access. Workspace owners can invite other users to use their projects; access can be read-only, so invitees are blocked from changing them.
- Marketplace Workspaces: Wizzdi Marketplace workspaces are available for users of Wizzdi Cloud. The ever-growing repository of solutions can be the starting point for a new project or form most of it. Marketplace apps can either be imported to one of your workspaces, or their elements can be referenced directly from the marketplace. These elements can be
- Code access: Including dependencies in your code is possible from private and public repositories, such as Maven Central. This allows your business logic (flows) to access the methods and public classes defined in the referenced code. But, it is essential to have a basic understanding of Java code and the services that the referenced code offers.
External Entities Integration #
This section will provide a concrete example of how to reuse one app within another.
The External App
Here is the domain model for an app called Organization. It describes the organization’s structure, including its employees, branches, and addresses.
Here, we have added the Address model to the Organization App.
The dependent App
Here is a very simplified domain model for an e-commerce app seller entity where the Organization entity is set to be the Super Entity of a Seller.
Step By Step
Access the dependencies option from the left-side menu.
After clicking, you may encounter a view similar to this:
Click on ‘+ Add Dependency’ to add one,
Click on ‘Search Projects’ and start typing organization; once the Organization-model becomes visible, select it to make it accessible to your project. Once selected, all of the elements in this App are available to the dependent App. The external API the App exposes combines the Referenced App Apis and the Apis from the dependent App.
Using entities from an external App
Right-click on a space in the diagram and select Import->Entity->External
Then, please search for the desired entity and add it to the diagram
Once visible on the diagram, it can be used in two distinctive strategies: Inheritance and composition.
Inheritance
Select the circle above the Seller entity, drag it to the Organization entity, and then release it on its header.
Once released, the Seller entity includes the inherited fields from the Organization entity.
Two additional fields (not inherited) were added to the Seller entity.
Composition
Here, the Organization entity’s ID circle is dragged onto the Seller name, creating a one-to-many association where the Seller is the many- side.
The composition approach offers several benefits. Firstly, it ensures that unnecessary fields from the Organization are not incorporated into the Seller. This means that the Seller remains streamlined, containing only relevant data. Moreover, the composition method allows the Seller entity to encompass many external entities as fields. This adaptability allows for a more tailored and modular structure, accommodating a wide range of relationships and data sources without compromising the integrity or clarity of the Seller entity.