Foundations ► Object-based Development ► Fundamentals
Object-based Composability Fundamentals
Core Concepts
Object-based composability represents a paradigm shift in business application development, moving away from traditional coding and component-based approaches. This method focuses on creating applications by combining and configuring business objects that represent real-world entities and processes.
Business Objects: These are digital representations of business entities (e.g., customers, orders, invoices) or processes, defined with attributes, behaviors, and relationships. Each object is typically structured as a JSON document containing metadata such as labels, definitions, properties, and linkages to other objects.
Ontology: A comprehensive knowledge model of the business domain, organizing objects into a structured hierarchy. For example, the MONJO (Management Ontology and Nomenclature Journal) used in the Bizcloud framework provides a foundation of pre-defined business objects.
Object Relationships: Objects are interconnected through various relationships, including supertypes, subtypes, dependencies, and associations. These relationships form the basis for modeling complex business processes and interactions.
Composition Process: Instead of writing code, applications are "composed" by selecting, configuring, and connecting relevant objects from the ontology. This process is typically facilitated by specialized tools designed for object-based composition.
Metadata-Driven Architecture: The behavior and presentation of applications are determined by the metadata associated with the objects, rather than hardcoded instructions.
Differentiators
Key Differentiators from Traditional Approaches:
Granularity: Object-based systems work with smaller, more specific entities compared to large, pre-built modules in component-based systems.
Flexibility: Objects can be easily reconfigured and combined to meet specific business needs, offering greater adaptability than predefined components.
Abstraction Level: Objects represent individual business entities, allowing for more detailed and accurate modeling of business domains.
Customization: Modifications are often made through configuration rather than coding, reducing the need for specialized programming skills.
Implementation Process:
Ontology Selection/Creation
Developers choose an existing ontology schema or create a new one to serve as the foundation for the application.
Object Selection:
Relevant objects are selected from the ontology based on the application's requirements.
Object Configuration
Selected objects are configured by setting properties, defining relationships, and specifying behaviors.
Application Structure
Objects are organized into a coherent application structure, often using concepts like portals, workbenches, and workbooks.
Refinement
The application is refined by adjusting object properties, creating new attribute types, defining relationships, and setting up custom behaviors as needed.
Rendering
The configured objects are automatically rendered as a working application by a runtime engine, without traditional compilation.
Advantages:
Rapid Development: Pre-defined objects and configuration-based development accelerate the application creation process.
Business Alignment: The object-based approach closely mirrors business concepts, facilitating communication between technical and non-technical stakeholders.
Flexibility and Adaptability: Applications can be easily modified by reconfiguring objects, allowing quick adaptation to changing business requirements.
Consistency: Using a standardized ontology ensures consistency across different applications within an organization.
Reduced Technical Debt: The separation of business logic (in objects) from implementation details can lead to more maintainable systems over time.
In conclusion, object-based composability offers a powerful approach for creating flexible, business-aligned applications. By working with business objects rather than code, it enables rapid development and adaptation of software systems that closely mirror real-world business structures and processes. The biggest challenge is the mindset shift change that is required, which is trivial considering the benefits gained in terms of agility, consistency, and business alignment.
Link to Compose