devcontrol development process


Analytical access to SQL-relevant components of an Oracle®-based application is required for a structured development process.

Starting position

Oracle® database-based applications are often core components of company-wide IT solutions. In contrast to standard software, these applications are subject to major change on several levels. The catalyst for these changes to applications are more flexible business and manufacturing processes, which can only be represented unsatisfactorily, or not at all, with unique customizing. Over time, the development processes initiated in this way use the most varied programming languages and tools. To make full use of their opportunities in conjunction with the database, it is also necessary to have the newest versions of these.

Therefore, the application does not only grow in volume of data and the programmed scope of function, but also in the complexity of solutions and possibilities of the implementation approaches.  

The central question – where and how the data from the column of a table is accessed – is answered by every development tool, but only within the limits of its technology.

Objective

Creation of an application repository: The components of an application are analyzed with regard to their SQL relevance in order to be able to execute a continuous dependence analysis.

Layout and structuring data of different programming tools are hidden.

Control of the software development process: So that the contents of the application repository always correspond to the current version of the application, it is necessary to convert all changes to the database and the source codes with SQL relevance from one development environment to the live system. The development task is the framework for these modifications.

Development documentation: The standardized development process documents the modifications in the database and the source codes and makes them available for quality assurance purposes.

Source code versioning: File system-based source codes are saved in the database. It is therefore possible to revert all changes to an application back to the version of a particular development task.

Implementation

devcontrol recognizes freely definable objects, their description by properties and their link with relations. The dependence framework for the SQL-relevant objects of an application is defined from these structural elements. An object parser and an object generator can be assigned to each object. The object parser is responsible for representing the SQL relevance of a schema object or a source code object. At the conclusion of a development task, the parser creates the dependencies in the form of relations. The respective source codes are checked into the source control system.

The object generator compares the modification of the metadata of the application repository with the state of the live system and generates the script required for the rollout of a development task. Object parsers and objects generators are connected via defined interfaces in C and PL/SQL.

The free definition of objects and relations and the open interfaces mean that devcontrol can also be used as a configuration tool or runtime repository. Object parsers and object generators for Oracle® database objects are an inherent part of devcontrol. jform is integrated as the object parser for Oracle® Forms modules.

Simple practical example for an Oracle® Forms-based application

In the simplest case, 2 objects are defined for the representation of the database and 2 for Oracle® Forms. These are, for the database the table and the column, for Forms the form and the base table. To link these metadata objects, the relations table has column, base table has table and form has base table are also required. The object parser for the table generates all objects of the type column and all relations table has column. The object parser for the form generates all objects of the type base table and the relations form has base table and base table has table.  The dependency column – table – base table – form can run through the metadata repository. During rollout, the object generator would generate a script with the corresponding ‘alter table’ statement for the object table. In devcontrol, the modification of the metadata objects is visible from the development task. The object of the type form is saved in the source control system.

Current support of database objects

Table, view, sequence, index, constraint, procedure, function, package, user, policy, grant, synonym, trigger

Current support of Oracle® Forms modules

Forms, PL/SQL libraries, menus, object libraries, reports

Current support of Ascii files as source codes

*.c, *.pc, *.pas, *.sql, *.cv