Middleware Layer for Resolving Data Location in Multi-System Landscapes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-system instance landscapes, querying across systems using a single set of local identifiers is not possible due to different identifier ranges and incompatibilities between systems, making it burdensome for application developers to manage various identifiers, interfaces, and models.
Innovation Solution
The introduction of qualified identifiers managed by a middleware layer allows for cross-system queries by providing a single-system abstraction, enabling client applications to query data across different systems as if they were a single logical system, without requiring changes to existing systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a single set of local identifiers is used for querying across multiple systems, then the complexity for application developers is reduced, but it becomes impossible to query across systems due to different identifier ranges and incompatibilities between systems
Solution Approach 1:
The patent introduces a middleware layer that acts as an intermediary between client applications and multiple system tenants. This middleware receives queries with qualified identifiers, resolves them to the appropriate system tenants, and returns results. The qualified identifier format (system tenant prefix + local identifier) enables cross-system queries while maintaining compatibility with each system's existing identifier scheme, thus solving the contradiction between ease of operation and adaptability.
2Adaptability or versatility
If existing systems are modified to support unified cross-system querying, then cross-system queries become possible, but it requires changes to existing systems which increases implementation complexity
Solution Approach 1:
The middleware layer serves as an intermediary that enables cross-system querying without modifying existing systems. It translates unified qualified identifiers into system-specific identifiers and routes queries appropriately. This approach achieves cross-system adaptability while keeping implementation complexity low by avoiding changes to legacy systems.
Solution Approach 2:
The patent segments the identifier space into system tenant prefixes and local identifiers. This segmentation allows each system to maintain its own identifier range and format while enabling unified cross-system identification through the qualified identifier format. The routing policy table further segments the resolution logic, mapping qualified identifiers to specific system tenants without requiring system modifications.
3Adaptability or versatility
If a unified data model is imposed across all system tenants, then commonality is achieved, but it requires changes to existing system data models
Solution Approach 1:
The middleware layer acts as an intermediary that enables a unified data model view without actually changing existing system data models. It translates queries based on the unified model into system-specific data model queries and translates results back. This achieves data model commonality while avoiding modifications to existing systems.
Data Source
AI summary
The present disclosure involves systems, software, and computer implemented methods for resolving data location for queries in a multi-system instance landscape. One example method includes receiving a request for data for at least one entity that includes a qualified identifier that includes a system tenant qualifier and a local identifier. The system tenant qualifier identifies a system tenant in a multi-system tenant landscape and the local identifier identifies an entity instance of an entity in the system tenant. A routing policy table configured for the multi-system tenant landscape is identified and a cell is located in the routing policy table that corresponds to the entity and the system tenant. A routing policy is determined for routing the request based on the cell. The routing policy is used to determine a target system tenant to which to route the request and the request is provided to the target system tenant.


