CROSS-REFERENCE TO RELATED APPLICATION

This application claims the priority, under 35 U.S.C. § 119, of European Patent Application EP 18 153 436.3, filed Jan. 25, 2018; the prior application is herewith incorporated by reference in its entirety.

BACKGROUND OF THE INVENTION

Field of the Invention

The invention relates to a method for deploying changes in computer systems, in particular changes involving modifications in the structure of a database. The invention also relates to a computer system.

Interesting, yet not limiting, examples of industrial software to which the present invention can be applied are Manufacturing Execution System (MES) and Manufacturing Operation Management (MOM). Most recently, the term MOM is more and more used to replace the term MES. Those systems can usually include software used as a component or acting as a component in the sense above explained.

As defined by the Manufacturing Enterprise Solutions Association (MESA International), a MES/MOM system “is a dynamic information system that drives effective execution of manufacturing operations,” by managing “production operations from point of order release into manufacturing to point of product delivery into finished goods” and by providing “mission critical information about production activities to others across the organization and supply chain through bi-directional communication.”

The functions that MES/MOM systems usually include, in order to improve quality and process performance of manufacturing plants, are resource allocation and status, dispatching production orders, data collection/acquisition, quality management, maintenance management, performance analysis, operations/detail scheduling, document control, labor management, process management and product tracking.

For example, Siemens AG offers a broad range of MES/MOM products under its SIMATIC® IT product family.

In any event, as mentioned above, MES/MOM systems are only an example of industrial software to which the invention applies, but which is suitable for any kind of application packages relying on dedicated databases.

With reference toFIG. 1, when systems are constructed according to REST (REpresentational State Transfer) guidelines, which implies, in particular, that all information regarding the state of the system is stored in a database, all changes to the applications and even operative systems, not involving modifications to a database1, can simply be deployed by providing new applications2, platforms3, and/or operative systems4on a dedicated new machine or set of machines5(which can also simply be virtual machines). A load balancer6can direct any request from the user to the new set of machines, immediately as soon as the changes are created.

If there should be a problem with the new machines, one can simply switch back to old machines5′ in an operation known as rollback.

Possible changes that can be thus performed are operative system (OS) patches or even major updates, updates to the external or internal platforms and updates to the apps such as user interfaces (UI) and business logic.

However, nowadays requirements of continuous development, and iterative approach even to modelling, imply that changes to the internal database schema are frequently necessary.

By simply applying changes to the database schema, compatibility with the old business logic is lost, as well as the opportunity for a safe rollback. Moreover, a database can include millions of items of data that can be involved and must be migrated from old tables to new tables. Since, during such an operation, the database cannot be accessed by the applications, that would lead to unacceptably prolonged downtimes (of even many hours).

In order to maintain the possibility to rollback, only changes to the database schema compatible to the old business logic can be performed, and the new business logic must be written accordingly, thus many possible changes are excluded, such as renaming or deleting columns, or changing data types, making agile-style refactorings practically impossible. Those limitations do not avoid the necessity to write very complex code, just for preserving compatibility.

On the other hand, renouncing the possibility of a rollback, relying on quick fixing of problems is risky, and can be unacceptable.

SUMMARY OF THE INVENTION

It is accordingly an object of the invention to provide a method for the deployment of schema changes in systems involving a database and a computer system, which overcome the hereinafore-mentioned disadvantages of the heretofore-known methods and systems of this general type.

With the foregoing and other objects in view there is provided, in accordance with the invention, a method for deploying changes in a computer system, in particular an industrial computer system, in which the system includes a database and an old version of the system to be updated, the method comprising:

providing a new version of the system;

providing a merge view capable of reading data from the database and furnishing the data to the new version;

wherein the database contains data in old tables readable by the old version and the merge view can read the old tables and furnish the data to the new version.

According to a preferred embodiment of the invention, the method includes writing data in the database both by the new and the old version, where the old version continues to write into the old tables and the new version writes into new tables readable by the new version.

Thus, the new version is enabled to operate as well as if the data in the database were all in new tables, data available entered before deployment of the new version, only present in the old tables, can be seen by the new version through the merge view, and the old version can read the old tables and is still able to fully operate.

The term table is intended as in the common language of relational databases, as well as other terms such as schema and record.

The method preferably further includes the migration of data from old tables compliant to the old version into new tables compliant to the new version.

With the objects of the invention in view, there is also provided a computer system, comprising an old and a new version, a database including at least data in at least one old table readable by the old version, and a merge view capable of reading data from the database in old tables and furnishing the data to the new version.

Preferably, the merge view can also read data from at least one new table readable by the new version.

The term “system version” is intended to mean a complex of applications, platforms and operating systems capable of performing the functions of the system. The old and new version can preferably run on different machines (which can also mean different virtual machines on the same physical machine) so as to be able to run independently.

Other features which are considered as characteristic for the invention are set forth in the appended claims.

Although the invention is illustrated and described herein as embodied in a method for the deployment of schema changes in systems involving a database and a computer system, it is nevertheless not intended to be limited to the details shown, since various modifications and structural changes may be made therein without departing from the spirit of the invention and within the scope and range of equivalents of the claims.

The construction and method of operation of the invention, however, together with additional objects and advantages thereof will be best understood from the following description of specific embodiments when read in connection with the accompanying drawings.

