Encapsulation Package for Decoupled Software Component Development

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software application development in shared environments leads to packaging errors when customizing business applications, as existing tools cannot differentiate between minor and major errors, and developing separate environments for each package is economically unfeasible.

Innovation Solution

The method involves creating encapsulation packages that allow direct communication among objects within the package, eliminating unnecessary package interfaces, and grouping common packages to reduce interconnections and errors, using tools like GET_STRUPACK_OF_SC, GET_PINF_OF_STRUPAC, and GET_OBJECTS_OF_STRUPAC_PINF to identify and freeze stable objects.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If software components are developed in a shared development environment, then development cost is reduced and code consistency is preserved, but packaging errors occur when deploying custom-chosen components

Engineering Contradiction:
Improvedevelopment costVSAvoidpackaging error rate
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent segments the monolithic software component into a hierarchical structure of packages (structure packages, main packages, common packages) and objects. Each package is independently developable in the shared environment but can be selectively deployed. This segmentation allows custom-chosen components to be packaged and deployed without affecting other components, resolving the packaging error issue while maintaining the cost benefits of shared development.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces package interfaces as intermediary layers between packages and objects. These interfaces define standardized communication protocols, allowing packages to interact without direct dependencies. This intermediary layer enables custom-chosen components to be deployed independently while maintaining system consistency, eliminating packaging errors caused by direct inter-package dependencies.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Difficulty of detecting and measuring

If current error detection tools are used, then some package errors are detected, but the tools cannot differentiate between minor and major errors leading to unnecessary manual corrections

Engineering Contradiction:
Improveerror detection capabilityVSAvoiddeployment efficiency
Core Design Contradiction:
Difficulty of detecting and measuringVSProductivity

Solution Approach 1:

The patent implements local quality control by assigning specific error detection rules and validation criteria to different package types and interface definitions. Rather than applying uniform error detection across all components, the system detects and differentiates errors locally at the appropriate package or interface level, enabling automatic handling of minor errors and focused manual correction of major errors.

Inventive Principle:
Principle #3Local quality

3Reliability

If a fully separate development environment is used for each package, then packaging errors are eliminated, but development cost increases significantly

Engineering Contradiction:
Improvepackaging error rateVSAvoiddevelopment cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent creates a universal package structure and interface standard that can be applied across all software components developed in the shared environment. This multi-functional framework allows packages to be independently developable, selectable, and deployable regardless of their origin, achieving the reliability benefits of separate development environments while maintaining the cost efficiency of shared development through standardized interfaces and hierarchical organization.

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

Data Source

PatentUS9069645B2Decoupled development in a shared development system
Publication Date: 2015.06.30 SAP SE
  • US9069645B2 patent drawing
  • US9069645B2 patent drawing
  • US9069645B2 patent drawing

AI summary

A computer-implemented method of optimizing software components. The method may include receiving a software component including a layered hierarchy of structure packages, main packages, and common packages each including objects, grouping common packages into groups according to pre-determined criteria, encapsulating each group with an encapsulation package, wherein the encapsulation package is one of a structure package and a main package, allowing objects in the encapsulation package to communicate directly by bypassing common packages in the encapsulation package, and eliminating package interfaces of the common packages in the encapsulation package that are solely used for communicating with other common packages in the encapsulation package.