IP Library › Granted Patent US 11,029,943
Granted Patent B1
US 11,029,943 · App. 16/912,840 · Granted Jun 8, 2021

Processing framework for in-system programming in a containerized environment

Inventors: Nedelcho Nedyalkov Delchev (Sofia, BG); Mitko Kolev (Walldorf, DE); Yordan Pavlov Pavlov (Sofia, BG); Georgi Dimitrov Pavlov (Sofia, BG)
Assignee: SAP SE
G06F8/656G06F8/20H04L67/34H04L67/10
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,029,943
App. No.
16/912,840
Granted
Jun 8, 2021
Kind
B1
Abstract

The present disclosure relates to computer-implemented methods, software, and systems for lifecycle processing of declarative artifacts. Declarative artifacts defining a target state for application content related to a software application are read. When running, the software application includes runtime artifacts executing in a containerized environment. Model definition objects for processing during runtime of the software application based on the declarative artifacts are created and stored in a model repository at a container associated with the software application. The model repository is scanned as well as the runtime artifacts executing as part of the software application in the containerized runtime environment to identify a model definition object from the model repository for processing at runtime of the software application. An operation related to a runtime artifact to run as part of the running software application at the containerized runtime environment is executed based on input from the identified model definition object.

Claims (52)

1. A computer implemented method for lifecycle processing of declarative artifacts, the method comprising:

reading declarative artifacts defining a target state for application content related to a software application that, when running, includes runtime artifacts executing in a containerized runtime environment;

in response to reading the declarative artifacts, creating model definition objects for processing during runtime of the software application based on the declarative artifacts, wherein the model definition objects are created based on and include information from the declarative artifacts, wherein the created model definition objects are stored in a model repository at a container associated with the software application;

scanning, by a processing framework at the container, the model repository and the runtime artifacts executing as part of the software application in the containerized runtime environment to identify a model definition object from the model repository for processing at runtime of the software application, wherein the model definition object is identified as relevant for performing an update at the containerized runtime environment to place the running software application into the target state; and

in response to identifying the model definition object for processing, executing an operation, by the processing framework, related to a runtime artifact to run as part of the running software application at the containerized runtime environment, wherein the operation is executed based on processing logic implemented at the processing framework and is based on input from the identified model definition object, wherein the runtime artifact corresponds to a particular declarative artifact associated with the model definition object.

2. The method of claim 1 , wherein the declarative artifacts define target states for runtime artifacts running in the containerized runtime environment, wherein the artifacts are associated with at least one of database components or an application service of the software application.

3. The method of claim 1 , wherein the executed operation related to the runtime artifact is associated with placing the runtime artifact in a runtime state corresponding to a target state defined within the particular declarative artifact associated with the model definition object.

4. The method of claim 1 , wherein the declarative artifacts are read in response to a trigger initiated from a scheduled job for managing the software application, and wherein the created model definition objects include information relevant for deploying one or more of the created model definition objects.

5. The method of claim 1 , wherein the identified model definition objects are associated with declarative artifacts that are not processed and are related to performing operations for creating, altering, or deleting runtime artifacts at the running software application, and wherein the execution of the operations is based on corresponding invoking the processing logic to execute the operations according to data invoked from the identified model definition objects.

6. The method of claim 1 , wherein scanning the model repository and the runtime artifacts executing as part of the software application in the containerized runtime environment comprises:

comparing the model definition objects with metadata for running artifacts of the running software application, wherein comparing is based on hash codes defined for the running artifacts in a meta-data repository and within the model definition objects to determine whether the declarative artifacts corresponding to the model definition objects have been previously processed.

7. The method of claim 1 , wherein the declarative artifacts are created at a design time process for the software application and represent a technical state of a component of the software application, and wherein the declarative artifacts are declarative text-based artifacts.

8. The method of claim 1 , further comprising:

building the container as a deployable instance for execution at the running software application on a cloud infrastructure setup, wherein the container at runtime comprises one or more runtime artifacts corresponding to one or more of the declarative artifacts as built-in artifacts.

9. The method of claim 1 , wherein scanning the model repository and the runtime artifacts executing as part of the software application in the containerized runtime environment comprises:

processing the model definition object for in-system programming in the containerized runtime environment to unify states defined correspondingly in the declarative artifacts with states of runtime artifacts at the running software application and to update the running software application to a new state, wherein unifying the states comprises:

creating a new runtime artifact for a model definition object that do not correspond to running artifacts at the software application;

altering a running runtime artifact in response to determining that model definition objects mapped to the running runtime artifact are associated with altering operations; and

deleting a running runtime artifact at the software application, wherein the deleted running runtime artifact is an artifact that is not associated with a model definition object from the model repository for the software application.

10. The method of claim 1 , wherein the runtime artifact that is associated with the executed operation is part of the running software application prior scanning by the processing framework.

11. A non-transitory, computer-readable medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations, the operations comprising:

reading declarative artifacts defining a target state for application content related to a software application that, when running, includes runtime artifacts executing in a containerized runtime environment;

in response to reading the declarative artifacts, creating model definition objects for processing during runtime of the software application based on the declarative artifacts, wherein the model definition objects are created based on and include information from the declarative artifacts, wherein the created model definition objects are stored in a model repository at a container associated with the software application;

scanning, by a processing framework at the container, the model repository and the runtime artifacts executing as part of the software application in the containerized runtime environment to identify a model definition object from the model repository for processing at runtime of the software application, wherein the model definition object is identified as relevant for performing an update at the containerized runtime environment to place the running software application into the target state; and

in response to identifying the model definition object for processing, executing an operation, by the processing framework, related to a runtime artifact to run as part of the running software application at the containerized runtime environment, wherein the operation is executed based on processing logic implemented at the processing framework and is based on input from the identified model definition object, wherein the runtime artifact corresponds to a particular declarative artifact associated with the model definition object.

12. The computer-readable medium of claim 11 , wherein the declarative artifacts are read in response to a trigger initiated from a scheduled job for managing the software application, and wherein the created model definition objects include information relevant for deploying one or more of the created model definition objects, wherein the declarative artifacts define target states for runtime artifacts running in the containerized runtime environment, wherein the artifacts are associated with at least one of database components or an application service of the software application, and wherein the identified model definition objects are associated with declarative artifacts that are not processed and are related to performing operations for creating, altering, or deleting runtime artifacts at the running software application, and wherein the execution of the operations is based on corresponding invoking the processing logic to execute the operations according to data invoked from the identified model definition objects.

13. The computer-readable medium of claim 11 , wherein the declarative artifacts are created at a design time process for the software application and represent a technical state of a component of the software application, and wherein the declarative artifacts are declarative text-based artifacts, and wherein the executed operation related to the runtime artifact is associated with placing the runtime artifact in a runtime state corresponding to a target state defined within the particular declarative artifact associated with the model definition object.

14. The computer-readable medium of claim 11 , wherein scanning the model repository and the runtime artifacts executing as part of the software application in the containerized runtime environment comprises:

comparing the model definition objects with metadata for running artifacts of the running software application, wherein comparing is based on hash codes defined for the running artifacts in a meta-data repository and within the model definition objects to determine whether the declarative artifacts corresponding to the model definition objects have been previously processed,

wherein the runtime artifact that is associated with the executed operation is part of the running software application prior scanning by the processing framework.

15. The computer readable medium of claim 11 , wherein the operations comprise:

building the container as a deployable instance for execution at the running software application on a cloud infrastructure setup, wherein the container at runtime comprises one or more runtime artifacts corresponding to one or more of the declarative artifacts as built-in artifacts.

16. The computer-readable medium of claim 11 , wherein scanning the model repository and the runtime artifacts executing as part of the software application in the containerized runtime environment comprises:

processing the model definition object for in-system programming in the containerized runtime environment to unify states defined correspondingly in the declarative artifacts with states of runtime artifacts at the running software application and to update the running software application to a new state, wherein unifying the states comprises:

creating a new runtime artifact for a model definition object that do not correspond to running artifacts at the software application;

altering a running runtime artifact in response to determining that model definition objects mapped to the running runtime artifact are associated with altering operations; and

deleting a running runtime artifact at the software application, wherein the deleted running runtime artifact is an artifact that is not associated with a model definition object from the model repository for the software application.

17. A system comprising

a computing device; and

a computer-readable storage device coupled to the computing device and having instructions stored thereon which, when executed by the computing device, cause the computing device to perform operations, the operations comprising:

reading declarative artifacts defining a target state for application content related to a software application that, when running, includes runtime artifacts executing in a containerized runtime environment;

in response to reading the declarative artifacts, creating model definition objects for processing during runtime of the software application based on the declarative artifacts, wherein the model definition objects are created based on and include information from the declarative artifacts, wherein the created model definition objects are stored in a model repository at a container associated with the software application;

scanning, by a processing framework at the container, the model repository and the runtime artifacts executing as part of the software application in the containerized runtime environment to identify a model definition object from the model repository for processing at runtime of the software application, wherein the model definition object is identified as relevant for performing an update at the containerized runtime environment to place the running software application into the target state; and

in response to identifying the model definition object for processing, executing an operation, by the processing framework, related to a runtime artifact to run as part of the running software application at the containerized runtime environment, wherein the operation is executed based on processing logic implemented at the processing framework and is based on input from the identified model definition object, wherein the runtime artifact corresponds to a particular declarative artifact associated with the model definition object.

18. The system of claim 17 , wherein the declarative artifacts are read in response to a trigger initiated from a scheduled job for managing the software application, and wherein the created model definition objects include information relevant for deploying one or more of the created model definition objects, wherein the declarative artifacts define target states for runtime artifacts running in the containerized runtime environment, wherein the artifacts are associated with at least one of database components or an application service of the software application, and wherein the identified model definition objects are associated with declarative artifacts that are not processed and are related to performing operations for creating, altering, or deleting runtime artifacts at the running software application, and wherein the execution of the operations is based on corresponding invoking the processing logic to execute the operations according to data invoked from the identified model definition objects.

19. The system of claim 17 , wherein the system further comprises instructions which when executed causes the compute the computing device to perform operations comprising:

building the container as a deployable instance for execution at the running software application on a cloud infrastructure setup, wherein the container at runtime comprises one or more runtime artifacts corresponding to one or more of the declarative artifacts as built-in artifacts.

20. The system of claim 17 , wherein scanning the model repository and the runtime artifacts executing as part of the software application in the containerized runtime environment comprises:

processing the model definition object for in-system programming in the containerized runtime environment to unify states defined correspondingly in the declarative artifacts with states of runtime artifacts at the running software application and to update the running software application to a new state, wherein unifying the states comprises:

creating a new runtime artifact for a model definition object that do not correspond to running artifacts at the software application;

altering a running runtime artifact in response to determining that model definition objects mapped to the running runtime artifact are associated with altering operations; and

deleting a running runtime artifact at the software application, wherein the deleted running runtime artifact is an artifact that is not associated with a model definition object from the model repository for the software application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2020
From: DELCHEV, NEDELCHO NEDYALKOV; KOLEV, MITKO; PAVLOV, YORDAN PAVLOV; PAVLOV, GEORGI DIMITROV
To: SAP SE
Reel/Frame 053046/0447 →
Cited By (2)
US 12,639,172 US 12,681,718