Fencing execution of external tools during software changes
AssigneeSap SE
InventorsWulf Kruempelmann, Volker Driesen, Martin Mayer
Life of this patent
Estimating the term…
Abstract
Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for upgrading applications. Actions include receiving an upgrading request for an original table of an application, generating an upgraded table including a structure matching the original table, setting a session variable to initiate an application upgrade, and adding a set of triggers to the original table to selectively control read operations and write operations for the original table and the upgraded table based on the session variable.
Claims20
A computer-implemented method for upgrading applications, the method being executed using one or more processors and comprising:
- receiving, by the one or more processors, an upgrading request for an original table of an application that is used in a production system;
- generating, by the one or more processors, an upgraded table comprising a structure matching the original table and empty fields;
- setting, by the one or more processors, a session variable to initiate an application upgrade within a quality system, the session variable comprising an identifier of an upgrade session and one or more temporal markers of the upgrade session;
- adding, by the one or more processors, a set of triggers to the original table comprising reading triggers and writing triggers to selectively control read operations and write operations for the original table being used in the production system and the upgraded table being used in the quality system, wherein the read operations and the write operations are controlled based on the session variable, the read operations being triggered by the reading triggers configured to selectively read data from the upgraded table or from the original table based on a priority setting, after a deployment of the upgraded table is complete, and the write operations being triggered by the writing triggers configured to copy newly added data from the original table;
- detecting, by the one or more processors, using the set of triggers, that new data associated to the application was generated;
- filtering, by the one or more processors, using the session variable, the new data to generate filtered data comprising a portion of the new data associated to the application generated by an upgrade procedure of the quality system during the upgrade session;
- inserting, by the one or more processors, using the set of triggers, the filtered data in the upgraded table, wherein the filtered data generated by the upgrade procedure of the quality system during the upgrade session is hidden from the production system until at least one temporal marker of the one or more temporal markers of the upgrade session indicates a completion of the upgrade session;
- determining, by the one or more processors, a completion of the upgrade session;
- and
- triggering, by the one or more processors, the deployment of the upgraded table, using a deployment system, to transport the upgraded table to the production system.
A non-transitory computer-readable storage 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 for upgrading applications, the operations comprising:
- receiving an upgrading request for an original table of an application that is used in a production system;
- generating an upgraded table comprising a structure matching the original table and empty fields;
- setting a session variable to initiate an application upgrade within a quality system, the session variable comprising an identifier of an upgrade session and one or more temporal markers of the upgrade session;
- adding a set of triggers to the original table comprising reading triggers and writing triggers to selectively control read operations and write operations for the original table being used in the production system and the upgraded table being used in the quality system, wherein the read operations and the write operations are controlled based on the session variable, the read operations being triggered by the reading triggers configured to selectively read data from the upgraded table or from the original table based on a priority setting, after a deployment of the upgraded table is complete, and the write operations being triggered by the writing triggers configured to copy newly added data from the original table;
- detecting using the set of triggers, that new data associated to the application was generated;
- filtering using the session variable, the new data to generate filtered data comprising a portion of the new data associated to the application generated by an upgrade procedure of the quality system during the upgrade session;
- inserting using the set of triggers, the filtered data in the upgraded table, wherein the filtered data generated by the upgrade procedure of the quality system during the upgrade session is hidden from the production system until at least one temporal marker of the one or more temporal markers of the upgrade session indicates a completion of the upgrade session;
- determining a completion of the upgrade session;
- and
- triggering the deployment of the upgraded table, using a deployment system, to transport the upgraded table to the production system.
A computer-implemented system for upgrading applications, the computer-implemented system comprising:
- a client-side computing device;
- and
- a computer-readable storage device coupled to the client-side computing device and having instructions stored thereon which, when executed by the client-side computing device, cause the client-side computing device to perform operations for upgrading applications, the operations comprising:
- receiving an upgrading request for an original table of an application that is used in a production system;
- generating an upgraded table comprising a structure matching the original table and empty fields;
- setting a session variable to initiate an application upgrade within a quality system, the session variable comprising an identifier of an upgrade session and one or more temporal markers of the upgrade session;
- adding a set of triggers to the original table comprising reading triggers and writing triggers to selectively control read operations and write operations for the original table being used in the production system and the upgraded table being used in the quality system, wherein the read operations and the write operations are controlled based on the session variable, the read operations being triggered by the reading triggers configured to selectively read data from the upgraded table or from the original table based on a priority setting, after a deployment of the upgraded table is complete, and the write operations being triggered by the writing triggers configured to copy newly added data from the original table;
- detecting using the set of triggers, that new data associated to the application was generated;
- filtering using the session variable, the new data to generate filtered data comprising a portion of the new data associated to the application generated by an upgrade procedure of the quality system during the upgrade session;
- inserting using the set of triggers, the filtered data in the upgraded table, wherein the filtered data generated by the upgrade procedure of the quality system during the upgrade session is hidden from the production system until at least one temporal marker of the one or more temporal markers of the upgrade session indicates a completion of the upgrade session;
- determining a completion of the upgrade session;
- and
- triggering the deployment of the upgraded table, using a deployment system, to transport the upgraded table to the production system.
Dependencies are inferred from the claim text.