Collage Declarative Model for Cross-Organizational Web Composition
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern web applications face complexity due to the mismatch between programming models and runtime systems, particularly in web mash-ups that require rewriting or significant changes to shift between tiers, leading to inefficiencies in developing and deploying reliable software.
Innovation Solution
A declarative programming model, referred to as Collage, is introduced, which uses a recursive Model View Controller (MVC) pattern and Resource Description Framework (RDF) to provide a unified set of language features for building and deploying cross-organizational web components, enabling rapid prototyping and progressive refinement, and supporting end-to-end application design including business objects and user interaction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional programming models are used for web applications, then applications can be developed with established frameworks, but complexity increases and components do not compose well across organizational boundaries
Solution Approach 1:
The patent applies universality by creating a single programming model that serves multiple functions across different tiers (presentation, business logic, data access) and organizational boundaries. The unified model allows the same programming constructs to be used throughout the entire application stack, eliminating the need for separate programming models for each tier and enabling components to be composed across organizational boundaries without translation or adaptation.
Solution Approach 2:
The patent merges previously separate programming models (presentation logic, business logic, data access logic) into a single unified programming model. This consolidation eliminates the complexity of managing multiple separate models and their interconnections, allowing developers to work with a single consistent model throughout the application lifecycle and across organizational boundaries.
2Adaptability or versatility
If web mash-ups use multiple data access languages and scripting models, then various data sources can be accessed, but programs must be entirely rewritten when shifting between tiers
Solution Approach 1:
The unified programming model provides universal constructs that can access multiple data sources and perform multiple functions (data access, business logic, presentation) without requiring separate programming models for each function. This allows programs to be written once and deployed across tiers without rewriting, while still maintaining compatibility with various data sources.
3Productivity
If loosely-coupled inter-networked software is used, then distribution scale is vastly increased, but programming models are designed for monolithic applications causing significant impediment
Solution Approach 1:
The patent merges the programming model with the runtime system to create a unified execution environment that supports both monolithic and distributed applications. This integration eliminates the complexity of traditional middleware by providing a single programming model that works seamlessly across network boundaries, allowing loosely-coupled software to be developed and deployed without the impediments of mismatched programming models.
Data Source
AI summary
A system and method for reducing complexity by reuse of programming models includes defining a model controller view (MVC) unit as a programming model abstraction in a first program and permitting access by a second program to a model in the MVC unit. The first program and the second program communicate to employ the model in the second program. Access of the model by the second program is responded to in the first program to execute an action.


