Foundations - Object Focused Development
Fundamentals of Bizcloud No-Code Development
The Bizcloud platform framework revolutionizes application development by leveraging an ontology-based approach that allows users to compose sophisticated platform business models without traditional coding. The ontology is a knowledge model consisting of an extendible collection of digital objects that provides a formalised representation of business management. It is arranged into a set of base class structures made up of object types, with each class containing in-depth information about the meanings and relationships of the constituent object types, including rules for reasoning about its knowledge content.
Each constituent object type of the ontology is defined as a JSON document using a standard set of metadata elements. These elements include labels, definitions, properties, attributes, and linkages to other related object types. Linkages encompass supertypes, sub-types, dependencies, associative relationships, and domain constraints. MONJO's object content is structured using a proprietary taxonomy, which is arranged into nine base classes This method. Let's explore the key concepts that power this unique system.
Business Objects: The Building Blocks
At the heart of Bizcloud's approach are Business Objects. These are digital representations of real-world business entities and concepts, such as customers, orders, or products. Business Objects contain metadata that defines their structure (data elements/attributes), behavior, and relationships with other objects.
Object Hierarchies: Organizing Complexity
Bizcloud organizes Business Objects into hierarchies, starting with a few root classes that branch into more specialized subtypes. This structure, known as abstraction, allows for efficient organization and reuse of object properties and behaviors.
For example, a root "Participant" object might have subtypes like "Customer" and "Supplier", each inheriting general properties while adding their own specific attributes.
Polymorphic Objects: Flexibility in Action
Polymorphism allows objects to take on multiple forms while sharing a common interface. In Bizcloud, this means that specialized object subtypes can be treated as their more general parent types when needed, providing flexibility in how objects are used and manipulated within the system. It is especially useful for managing and controlling lifecycles and workflows.
Dependencies and Constraints: Maintaining Integrity
Bizcloud uses dependencies and constraints to ensure data integrity and enforce business rules. These might include:
Existential dependencies (e.g., an order item must exist as a product)
Functional dependencies (e.g., an order's total amount depends on its items)
Domain constraints (e.g., a price must be positive)
Associative Objects: Modeling Complex Relationships
Some business relationships are too complex for simple connections. Associative objects allow you to capture additional information about the relationship between two or more entities. For instance, an "Enrollment" object might connect a "Student" and a "Course", storing details like enrollment date and grade.
Attribute Control Types & Settings: Defining Data Behavior
Bizcloud offers a large collection of attribute control types, each with configurable settings, to define how data is input, displayed, and behaved in the application:
Data Types: Specify the kind of data an attribute can hold (e.g., text, number, date, boolean).
Input Controls: Define how users enter data (e.g., text field, dropdown, calendar picker).
Validation Rules: Set constraints on acceptable values (e.g., required fields, numeric ranges).
Display Formats: Determine how data is presented (e.g., currency format, date format).
Conditional Behavior: Enable dynamic behavior based on other attribute values or user roles.
Lookup References: Link attributes to predefined value lists or other object instances.
These control types and settings allow for precise control over data entry, validation, and presentation without requiring custom code.
Expressions: Dynamic Values and Logic
Expressions in Bizcloud provide a way to define dynamic values, calculations, and conditional logic within object definitions:
Calculated Fields: Define attributes whose values are derived from other attributes or external data.
Default Values: Set initial values for attributes based on business logic or system data.
Conditional Formatting: Apply styles or visibility rules based on data values or user context.
Validation Rules: Create complex validation logic that goes beyond simple data type checks.
Workflow Triggers: Define conditions that initiate automated processes or state changes.
Expressions use a JavaScript-like syntax and can reference various system objects and functions, allowing for powerful dynamic behavior without traditional coding.
Attributive Objects: Nested Complexity
Also known as "listTypes" or "Array Attributes", these objects allow for the representation of complex, multi-valued attributes within a parent object. For example, a "Customer" object might have an "Addresses" attributive object containing multiple address entries.
Presentation Objects: Shaping the User Experience
Presentation Objects define how Business Objects are displayed and interacted with in the user interface. They include:
Portals: High-level entry points to the application
Workbenches: Groups of related functionalities
Workbooks: Detailed views and interactions for specific object types
Presentation Object Settings: xxx
xx:
x
x
x
Putting It All Together
Using these concepts, Bizcloud users can create applications by:
Selecting and configuring the necessary Business Objects
Defining object relationships and constraints
Refining object attribute settings
Organizing objects into workbooks and modeling their lifecycles
Setting object display properties (including filters and conditions)
Arranging workbooks into portal workbenches
Refining the user experience through utilities and jigs, and aliases & xxx - configured using presentation and xxx templates in the Workspace Control Portal
The Bizcloud runtime engine, Morpheus, then uses this metadata to automatically render the application, generating appropriate data presentations, access rights, processing methods, and navigable links.
This approach allows for rapid prototyping and iteration. As objects are defined or modified, the changes are immediately reflected in the working application, enabling quick validation and adjustment of the model.
By mastering these fundamental concepts, you can harness the power of Bizcloud's no-code framework to create sophisticated, flexible, and maintainable business applications that truly reflect your organization's needs and processes.