Pattern-Based Enterprise Software Construction in Cloud Environments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud computing environments, users with limited programming expertise face challenges in customizing software applications without disrupting other users' access to cloud resources, and existing solutions fail to provide practical tools for creating and modifying software resources efficiently.

Innovation Solution

The use of patterns to describe user intentions and generate enterprise software objects, allowing domain experts to select and configure patterns from a repository, with a configurator generating domain code and executable code, enabling customization without requiring extensive programming knowledge.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional programming languages are used to create software, then programming flexibility and expressiveness are improved, but the difficulty of writing and modifying software increases due to general-purpose language abstraction from domain problems

Engineering Contradiction:
Improveprogramming flexibilityVSAvoidsoftware creation difficulty
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent introduces a pattern language as an intermediary between domain experts and programming systems. Patterns serve as domain-specific templates that translate business logic into executable code, eliminating the need for domain experts to learn general programming languages while maintaining flexibility in software creation and modification.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If domain experts directly specify software changes, then problem domain accuracy is improved, but the complexity of implementation and potential for errors increases

Engineering Contradiction:
Improveproblem domain accuracyVSAvoidimplementation complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent segments software implementation into discrete, pre-defined patterns that domain experts can select and compose. Each pattern represents a specific problem-solution template, allowing domain experts to specify changes at a high level while the system handles the complex translation into executable code, reducing implementation complexity.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If software is modified to reflect changing requirements, then adaptability to new problems is improved, but the risk of introducing programming errors and increasing modification costs increases

Engineering Contradiction:
Improvesoftware adaptabilityVSAvoiderror risk
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies preliminary action by pre-defining patterns that capture common problem-solution relationships before they are needed. When requirements change, domain experts simply select existing patterns or compose new ones from templates, rather than writing code from scratch, which reduces error risk while maintaining adaptability to changing business needs.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If cloud computing resources are made accessible to mass-paid services, then computing affordability is improved, but the need for enterprise customers to configure software appropriately to their needs increases

Engineering Contradiction:
Improvecomputing affordabilityVSAvoidsoftware configuration difficulty
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent enables self-service configuration by providing domain experts with a pattern library that allows them to independently specify and compose software configurations without requiring programming expertise. Enterprise customers can configure cloud software to their specific needs by selecting and combining pre-defined patterns, making the configuration process as accessible as any other cloud service.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9535663B2Pattern-based construction and extension of enterprise applications in a cloud computing environment
Publication Date: 2017.01.03 ORACLE INT CORP
  • US9535663B2 patent drawing
  • US9535663B2 patent drawing
  • US9535663B2 patent drawing

AI summary

Methods, software programs and systems for extending and modifying software functionality, and, more particularly, for using one or more patterns for an enterprise software object to express desired functionality and configuration, and to generate the enterprise software object using the patterns, in an enterprise environment are disclosed. A method according to certain of these embodiments includes selecting one or more patterns from a number of patterns, where the one or more patterns are for an enterprise software object. The enterprise software object can then be generated. The enterprise software object is generated using the one or more patterns. Each of the patterns is configured to describe a solution within a corresponding one of a number of problem domains.