Service Definitions Decouple Services from Database Layers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing approaches to generating services from database models are limited by technical details in artifact names, internal database artifacts being exposed, and undesired changes in services due to database artifact modifications.
Innovation Solution
Defining customized services based on data models by processing API definitions into entity type definitions that include structure and behavior elements, enabling interaction between web clients and database layers through OData services and ORM models.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If services are generated one-to-one from data model artifacts, then service generation is automated and efficient, but technical details and internal artifacts are exposed in service names
Solution Approach 1:
The patent extracts only the necessary business logic and data structure information from database artifacts while leaving out technical implementation details. Service names are generated to reflect business concepts rather than database object names, separating essential service functionality from technical artifact details.
Solution Approach 2:
The patent introduces an intermediary layer (service definition layer) between the data model and service generation. This layer transforms database artifact names into business-oriented service names, acting as a mediator that prevents direct exposure of technical details while maintaining automated service generation.
2Device complexity
If services are generated directly from database artifacts, then service generation is simplified, but internal database artifacts are included in services
Solution Approach 1:
The patent extracts only the essential data structure and business logic information from database artifacts, excluding internal implementation details. Service definitions are created based on extracted business entities rather than direct mappings of all database objects.
Solution Approach 2:
The patent applies different transformation rules to different types of database artifacts. Public-facing entities are transformed into service definitions with business-oriented names, while internal artifacts are either excluded or transformed differently, providing localized quality control over information exposure.
3Productivity
If services are automatically generated from data models, then service generation is efficient, but changes to database artifacts cause undesired changes in services
Solution Approach 1:
The patent performs preliminary actions by establishing explicit service definitions based on data models before actual service generation. These pre-defined service specifications act as stable contracts that protect services from unintended changes when database artifacts are modified.
Solution Approach 2:
The patent introduces dynamic control over service generation by allowing selective updating of service definitions based on data model changes. Not all database changes automatically propagate to services; instead, changes are evaluated and applied selectively to maintain service stability while still enabling necessary updates.
Data Source
AI summary
Methods, systems, and computer-readable storage media for receiving, in response to instantiation of an application that enables access to data within the database layer through a data model, an application programming interface (API) definition provided as a computer-readable file, the API definition being received API definitions store, processing the API definition to provide an entity type definition as a computer-readable file, the entity type definition being specific to the data model, processing the entity type definition to provide a service that enables access to data within the database layer through the data model during execution of the application, and hosting the service to enable access to the data within the database layer based on one or more queries submitted from a web client.


