Dynamic SOAP Contract Generation in Multi-Tenant Database Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current SOAP-based Web service implementations are inflexible and unscalable for multi-tenant database systems, as they require a unique programmatic object for each customer's customized datamodel, leading to an unmanageable number of objects and customizations.
Innovation Solution
The system dynamically generates a communication contract tailored to each customer's datamodel, using metadata tables to identify available objects and fields, and translates all SOAP-objects into a singular programmatic object on the server, allowing for secure and scalable access management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a unique programmatic object is created for each customer's customized datamodel, then the system supports customer customization, but the number of programmatic objects becomes unmanageable and the system becomes unscalable
Solution Approach 1:
The patent merges all customer-specific programmatic objects into a single universal programmatic object that can dynamically represent any customer's datamodel. Instead of having separate objects for each customer's customizations, the system uses one object that adapts its structure based on the customer's specific requirements, thereby reducing the total number of objects while maintaining full customization capability.
Solution Approach 2:
The universal programmatic object is designed to serve multiple functions across different customers. It can represent various datamodels, handle different customizations, and support multiple customers' unique requirements through a single object instance, eliminating the need for separate objects for each customer.
2Device complexity
If a static contract is used for all customers, then the server implementation is simple, but it cannot accommodate customer-specific customizations in multi-tenant systems
Solution Approach 1:
The patent transforms the static contract into a dynamic contract generation mechanism. Instead of using a fixed contract for all customers, the system generates contracts dynamically based on each customer's specific datamodel and requirements. This allows the contract to adapt to customer customizations while maintaining a simple server implementation that relies on dynamic generation rather than maintaining multiple static contracts.
3Adaptability or versatility
If multiple servers are used for different data models, then each customer gets a dedicated server, but the solution becomes untenable and unscalable
Solution Approach 1:
The patent makes a single server universal by enabling it to handle multiple different data models through the universal programmatic object and dynamic contract generation. The server can serve multiple customers with different customizations using the same infrastructure, eliminating the need for multiple dedicated servers while maintaining the ability to support each customer's unique requirements.
Data Source
AI summary
Systems and methods for generating dynamic communication contracts in a multi-tenant database system based on the datamodel of the user using the service. The communication contract contains objects, e.g., SOAP-objects, custom to the specific user's datamodel, including standard objects customized to the user's own security model and business purpose as well as entirely unique custom objects that are created by the user and available to only the user's organization. A database server queries the database for all objects available to that user (standard and custom), and all the fields on all those objects that are available to that user. The server iterates over the set of objects and each of their sets of fields and generates a contract that is specifically tailored to the user's own datamodel and field level security. The unique contract can be used to communicate with the server to access information in the user's own schema. For server-side implementation, all SOAP-objects—standard or custom—are translated across all users into a singular programmatic object on the server, which acts as a datamodel dictionary and which is used for looking up datamodel information for any given user and for any given object available to that user. With this datamodel information, the Web service performs access checking of the SOAP object against the given customer making a request, ensuring both the object and the fields on that object are defined and accessible to the user.


