In Enterprise: How the University of Vienna use Revolution to manage 60,000 students and staff

In this case study we look at what Revolution can be used for in an enterprise setting. The University of Vienna run a Revolution-built application to manage every aspect of day to day running at the University of Vienna. This comprehensive system includes a module to perform any task necessary for operating a large University. Notable modules include a scheduler for course timetables, a room allocation system, the enrollment details for every student and administration of the staff payroll.

Hartmut Eich, from the Software Development Unit at the University, told us more about the system.

1.5 Million Lines of Code

"There are some 1.5 million lines of Revolution code in the system. It has been built as approximately one thousand fully independent modules, each of which is stored in an Oracle database."

"The project grew originally from a research project at Karlshrue University. The project was to create a system for the creation of a database-based application. One of the key features of the system is the way that both the data and the code is stored in the database itself. The database stores all of its own meta-structure – a description of the table structure, together with the relationships between the tables, along with all the code for the user interface."

Vienna2

A Domain Specific Language – Augmented SQL

The system supports the description of additional modules and tables within itself.

At the heart of the system is an augmented version of SQL that ties SQL together with the Revolution language model. This is essentially a domain-specific language, tailored to fully support the needs of this application.

"The system uses its own customized set of tools, including a script editor … The editor cross-references the code stored in the database, making it easy to navigate the modules and make changes

"

"Revolution was an ideal choice for this project for many reasons. The development model lends itself to the creation of the domain-specific language. It is easy to execute Revolution's high level language directly from within the database."

"Another key benefit is the ability to fully customize the development environment. The Revolution development environment is written in itself. Our system uses its own customized set of tools, including a script editor written for the project. The editor cross-references the code stored in the database, making it easy to navigate the huge code-base contained across all the modules and to make changes."

Vienna3

The Oracle Interface

This uses a custom external-DLL that allows Revolution to call the Oracle database.

"Runtime worked with us on a recent upgrade to the DLL. They upgraded the DLL to work with the Oracle 10 OCI and added numerous new features, including advanced block handling, error recovery handling, typed array handling and introduced additional new syntax to the augmented-SQL language."

Team Development

Vienna University have multi-user Enterprise development license for Revolution. Their in-house team keeps the system up to date and adapts it to the changing requirements of the University.

"The design of the system makes it easy for a team to work on the project. Each module is completely independent and stored in the Oracle database. This makes it straightforward to work on it in parallel."

Vienna4

You can visit the Vienna University web site at:

http://www.univie.ac.at/