allegro-C

What is that?

Universitätsbibliothek Braunschweig

Stated very briefly, allegro is an

autonomous,

    platform-independent,

        object oriented

           Database system.

It may also be operated as a Client/Server System, but on a LAN, it doesn't need a server as long as everyone has access to a common disk drive.

This brief statement contains five concepts that we have to explain in more detail.

allegro is a Database System (as opposed to a purpose-built library software package)
This means that allegro is not a specialized application package but it can be configured for many different tasks that require the capturing, saving, managing, retrieval and evaluation of data. This kind of software has to have a number of features, among which are these:

Parametrizability

Data structures cannot be "hard-wired" but have to be configurable and parametrizable. In particular, allegro is not confined to library-specific Data and their idiosyncrasies, but it can cover a wide spectrum of structures and functions.
From Version 23.2, allegro is Unicode-enabled.

Multi-user capability

An allegro database can be run on all platforms, incl. DOS and Novell, with simultaneous access from any number of workstations.
(There are no separate single-user and multi-user versions.)

Resilience

All transactions (Data input, corrections, etc.) are logged in a separate file. In the event of a severe crash that leaves the database in a corrupt state, it can be restored to the state immediately before the crash.

allegro is autonomous

No additional software, like a standard database system, is needed to run allegro. This means: No extra cost or efforts. Simply stated: allegro does everything all by itself.

allegro is platform-independent

MS-DOS, UNIX, Linux, Windows'95/98 und NT - a database can reside on any of these platforms. Not only this, but the file structure is exactly the same in all cases. Therefore, one need only copy a database to make it usable on another patform. If the same disk is accessible from two platforms, like DOS and Windows, both can access a database simultaneously. (The problem of different character sets is solved by a tranparent table-driven mechanism.) Convenient client programs exist for DOS and Windows (from '95 up) and for the Web.

To publish a database on CD-ROM is as simple as copying it. Browser programs APAC (for DOS) and alcarta (for Windows'95 etc.) are free for distribution, i.e., buyers of the CD pay no license fees.

allegro is object-oriented, not relational

An allegro database may hold records of various types. The behavior of a record, as for example its indexing or its appearance in the display, is governed by the parametrization, not by built-in functions. The Windows programs have a macro language called FLEX. This can equip records with all sorts of functions.

The  concept makes allegro an open system: it is not a Black Box, but an industrious user can configure everything down to the very small details, including the conversion of data from outside sources into the local format or of allegro local data into other formats.
 

Is allegro a Client/Server System?

Yes and no. A database server named avanti is part of the package. avanti  is normally employed only for WWW access. There's a long Link list of databases brought to the Web in this way. The avanti server also serves as an intermediary for Z39.50 access.

One may install the avanti server in an intranet but it is not necessary . Much more often, the "monolithic" programs of the DOS and Windows platforms are used in Novell or Windows networks. They have many more functions and more power than a Client/Server system because they access the database directly and exploit the power of their workstation in a much better way. In particular, it is an unnecessary complication to install a client/server system on a single user workstation. It is possible, but slower and a much bigger job to administer. Where necessary, avanti  can, however, access a database simultaneously with the monolithic clients. This means, live databases can be exposed to the Web .

Besides tailor-made solutions using avanti with Perl or other scripting languages, there's a standard method to make databases accessible by Web browsers in the internet or intranet. This easy method is called "PHPAC". It is explicitly meant for quick shots. No time-consuming work in Perl or similar scripting languages is needed for this method, but it uses a ready-made package of PHP and HTML files and some FLEX makros and parameter files. With this, a database can be online within an hour. Like everything else, this method is configurable and extensible. 

Is allegro fully documented?

For the administrator, there is a complete manual, the Systemhandbuch, (in German). The Windows programs, a99 and alcarta, come with many help texts making orientation easy - they have hyperlinks like HTML files. You are just looking at one of these files. The big question-mark button between the [Index] and [Find] buttons brings up the documentation at any time, or type 'h' on the command line. There's not just text but also functions. Under the heading of Supervisor Functions you find all the necessary assistence for the management of databases, including backup copies and restoration.
To try it out, there's a demo version available.
Tip: to switch to the English interface, click on "English" in the upper right-hand corner after you bring up the demo database.
Or go to the file ORDA.INI (normally in c:\allegro\demo2) and insert the command
Language=ENG

Is allegro something for small and medium databases?

That would be an understatement. By now, there are many databases exceeding 1 million records, the biggest is beyond 15 millions and running on a plain PC. There's an allegro version of the Braunschweig OPAC, over 1.2 million records, which has interesting features to explore, for example phrase search and left-hand truncation.

allegro is not a library system

... as was stated above. Being freely parametrizable, allegro can be and is widely being employed for library tasks but it was not developed with just that in mind. The package comes with a standard parametrization enabling a library to begin cataloging right away and establishing a local OPAC. The user interface comes in German and English. There are more standard parameters for functions like circulation and book ordering, but these functions, too, are open for every kind of local adaptation. From Version 26 (2006), there is a new parametrization that is suitable for many different projects: the Neutral Model.



B.Eversberg, UB Braunschweig
2001-02-22 / 2006-01-18