Automatic Mashup Versioning with External Service Contracts
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional software versioning approaches are inadequate for mashups and Software as a Service (SaaS) models, as they require access to the entire software product for consistency and integrity, which is not feasible for mashups relying on external services, and are complex, making them unsuitable for unsophisticated users.
Innovation Solution
Implement automatic versioning of mashup design elements and the entire mashup during development and deployment, storing versioning information to enable traceability, historic maintenance, and refactoring, allowing technologically unsophisticated users to manage versions and refactoring without explicit user input.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional versioning approaches are used for mashups, then version consistency and integrity can be maintained, but the approach requires access to the entire software product which is not feasible for mashups relying on external services
Solution Approach 1:
The patent segments the versioning process into two independent parts: (1) versioning of the mashup itself using standard software versioning tools, and (2) separate versioning of external service contracts. This segmentation allows each component to be versioned independently without requiring access to the entire software product, resolving the contradiction between maintaining version consistency and avoiding complex setup requirements.
Solution Approach 2:
The patent introduces an intermediary mechanism - a contract file that captures the interface definition of external services at a specific version. This contract acts as a mediator between the mashup and external services, allowing the mashup to be versioned independently while maintaining consistency with the external service interfaces it consumes.
2Loss of information
If traditional versioning approaches are used, then comprehensive version tracking is achieved, but the setup requires sophisticated technical knowledge making it unsuitable for unsophisticated users
Solution Approach 1:
The patent implements self-service versioning where the system automatically generates and manages version information for both the mashup and external service contracts. The development tool automatically creates contract files, tracks version dependencies, and manages the versioning process without requiring user configuration or technical knowledge, making it accessible to unsophisticated users while maintaining complete version tracking.
Solution Approach 2:
The patent performs preliminary actions by automatically generating contract files and versioning information during the mashup development process itself, rather than requiring separate versioning setup. The system proactively captures service interface definitions and creates version records as the mashup is being built, eliminating the need for users to understand or configure versioning mechanisms.
3Manufacturing precision
If manual versioning setup is required, then precise version control is possible, but the process becomes time-consuming and reduces productivity
Solution Approach 1:
The patent replaces the mechanical, manual process of setting up version control with an automated system. The development tool automatically instruments the mashup development process to capture version information, generate contract files, and track dependencies without manual intervention. This substitution maintains precise version control while dramatically improving development productivity by eliminating manual versioning setup time.
Data Source
AI summary
Techniques are provided for versioning and refactoring of mashups. During the design phase of a mashup that is operable to access multiple external services, design information that defines or modifies a plurality of design elements included in the mashup is received from a user. Without receiving from the user any input that causes the plurality of design elements to be versioned, current versions of the plurality of design elements are automatically stored in a repository when the plurality of design elements are saved during development of the mashup. The mashup is deployed to one or more servers. Without receiving any input from the user that causes the mashup to be versioned, deploying the mashup comprises automatically storing in the repository a current version of the mashup and versioning information that associates the current version of the mashup with the current versions of the plurality of design elements.


