Declarative Enterprise Service Configuration via Policy Metadata

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large-scale business software applications face challenges in configuring and customizing their service-oriented architectures without modifying the core functionality, especially after upgrades, and in managing data access and usage policies dynamically.

Innovation Solution

A method and system that provide a definition of object classes representing data elements and their operations, along with customizable usage policies, allowing clients to execute operations while enforcing policies such as mandatory, deactivated, or read-only access, and enabling dynamic policy setting at runtime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the core architecture of enterprise services is modified to enable configuration and customization, then the adaptability to specific business solutions is improved, but the stability and reliability of the core functionality deteriorates

Engineering Contradiction:
Improveconfiguration and customization capabilityVSAvoidcore functionality stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system segments the enterprise service architecture into a stable core layer and a configurable customization layer. The core architecture remains unchanged and reliable, while customization is achieved through configurable parameters, policies, and metadata in the upper layer that do not modify the core functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of modifying the core architecture, the system creates virtual copies or representations of service configurations through metadata and policy definitions. These copies enable customization without altering the original core service logic, maintaining stability while providing adaptability.

Inventive Principle:
Principle #26Copying

2Reliability

If usage policies are enforced statically, then the reliability of data access control is improved, but the adaptability to dynamic business requirements deteriorates

Engineering Contradiction:
Improvedata access controlVSAvoiddynamic policy adjustment
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The usage policies are designed to be dynamic rather than static. The system allows policies to be configured, modified, and adjusted at runtime through a configurable metadata layer, enabling adaptability to changing business requirements while maintaining enforced control through the policy checking mechanism.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system enables policy adaptation by changing parameters and configuration values rather than restructuring the policy enforcement mechanism itself. Usage policies can be adjusted by modifying configurable parameters in the metadata, allowing dynamic adaptation while maintaining the reliability of the enforcement framework.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If the service architecture is highly customizable, then the ease of operation for specific business solutions is improved, but the device complexity increases

Engineering Contradiction:
Improvebusiness solution configurationVSAvoidconfiguration management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system enables self-service configuration through declarative metadata and automated policy checking. Users can configure business solutions by defining usage policies and metadata without complex manual setup, and the system automatically enforces these configurations, reducing operational complexity despite high customization capability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The configuration system uses universal metadata structures and policy templates that can be applied across different business scenarios. This multi-functional approach allows the same configuration framework to handle various customization needs, reducing the complexity that would otherwise arise from multiple specialized configuration systems.

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

4Adaptability or versatility

If core functionality is modified to support customization, then the adaptability to different configurations is improved, but the ease of repair and maintenance deteriorates

Engineering Contradiction:
Improveconfiguration supportVSAvoidcore architecture maintenance
Core Design Contradiction:
Adaptability or versatilityVSEase of repair

Solution Approach 1:

The architecture is segmented so that customization features are isolated in a configurable layer separate from the core functionality. This segmentation allows the core to remain simple and easy to maintain, while customization is achieved through additive configuration elements that do not complicate the core codebase.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Customization is implemented through configuration copies and metadata representations rather than modifications to core functionality. This approach allows the core to remain unchanged and easy to maintain, while supporting diverse configurations through virtual representations and policy definitions.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7565684B2Declarative configuration of enterprises services
Publication Date: 2009.07.21 SAP SE
  • US7565684B2 patent drawing
  • US7565684B2 patent drawing
  • US7565684B2 patent drawing

AI summary

Methods and apparatus, including computer program products, that include providing to a client a definition of an object class representing attributes of a first collection of data elements and a list of possible operations on the first collection, each data element having attributes and possible operations in common with other data elements from the first collection. The method also includes customizing a usage policy of the first collection for a configuration of the client, receiving from the client a first request to execute an operation from the list on one or more data elements from the first collection, checking the first request against the definition and the usage policy, and executing the operation on the one or more data elements of the first collection.