Collage Declarative Model for Cross-Organizational Web Composition

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecross-organizational compositionVSAvoidprogramming model complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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.

Inventive Principle:
Principle #5Merging (Combining)

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

Engineering Contradiction:
Improvedata source compatibilityVSAvoidprogram rewriting time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improvesoftware distribution scaleVSAvoidmiddleware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8839192B2System and method for presentation of cross organizational applications
Publication Date: 2014.09.16 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8839192B2 patent drawing
  • US8839192B2 patent drawing
  • US8839192B2 patent drawing

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.