allegro homepage
Was ist

 allegro

?

English version
2005-02-16

Neueres Papier: Innovationswerkzeug allegro-C, Berlin 2011
Ganz knapp: allegro ist ein
autonomes ,
plattformunabhängiges ,
objektorientiertes
Datenbanksystem.
Es kann auch (aber nicht nur) als  Client-Server-System  betrieben werden.

Darin stecken mehrere Begriffe, die ausführlicher erklärt werden sollten:
(Sie können auch oben die blauen Wörter anklicken)

Es gibt auch einige Hinweise für Einsteiger
und eine Kurzübersicht der wichtigsten Teile
Ein Datenbanksystem

Das bedeutet: allegro ist kein spezialisiertes Anwendungsprogramm, sondern es kann für viele Anwendungen eingesetzt werden, wo Daten eingegeben, gespeichert, verwaltet und abrufbar gemacht werden müssen. Ein solches Programmsystem braucht mehrere Eigenschaften, unter anderem diese:

Parametrierbarkeit

Die Struktur der Daten ist nicht fest ins System eingebaut, sondern kann vollständig konfiguriert und parametriert werden: MAB oder MARC sind nicht verpflichtend, es kann mit ganz anderen Datenformaten gearbeitet werden. Eigentlich ist allegro gar nicht auf bibliothekarische Daten und Aufgaben im engeren Sinne fixiert, sondern kann ein weites Spektrum von Strukturen und Funktionen abdecken. Ab Version 23.2 kann voll mit Unicode gearbeitet werden. Dabei können dank der Parametrierung sogar z.B. kyrillische Daten in Registern oder Textanzeigen auch automatisch transliteriert erscheinen.

Mehrplatzfähigkeit

Auf allen Plattformen (incl. DOS und Novell) kann eine allegro-Datenbank von mehreren Plätzen aus gleichzeitig mit schreibendem Zugriff benutzt werden. Es gibt keine getrennten Einzel- und Mehrplatzversionen

Fehlersicherheit

Alle Transaktionen (Dateneingaben, Korrekturen etc.) werden zusätzlich protokolliert. Ist nach einem Absturz, z.B. durch Stromausfall, eine Datenbank nicht mehr benutzbar, kann deshalb der Zustand unmittelbar vor dem Zusammenbruch schnell und exakt rekonstruiert werden.

allegro ist autonom

Für den Einsatz von allegro ist keine zusätzliche Software als Grundlage erforderlich, insbesondere kein Standard-Datenbanksystem. Das heißt auch: Keine Zusatzkosten.
allegro macht, schlicht gesagt, alles selbst.

allegro ist plattformunabhängig

Auf allen gängigen Plattformen kann gearbeitet werden: MS-DOS, UNIX, Linux, Windows'95/98 und NT. Nicht nur das, sondern die Datenstruktur ist auf allen diesen Plattformen exakt dieselbe. Daher braucht man eine Datenbank nur zu kopieren, um sie auf einer anderen Plattform benutzen zu können. Hat man von zwei Plattformen aus, z.B. DOS und Windows, Zugriff auf dieselbe Platte (z.B. mit Samba), kann man auch gleichzeitig an derselben Datenbank arbeiten. (Das Problem der unterschiedlichen Zeichencodes wird durch eine für den Nutzer unsichtbare Tabellensteuerung gelöst.)

Wenn man eine Datenbank auf CD-ROM publizieren will, braucht man sie nur auf die CD zu kopieren. Die Programme APAC (für DOS-Benutzung) und alcarta (für Windows'95 und NT) können darauf direkt zugreifen. Diese Programme sind zur kostenlosen Verbreitung freigegeben, d.h. Käufer der CD zahlen keine Lizenzgebühr für die Software.

allegro ist objektorientiert, nicht relational

Die allegro-Datenbank kann Datensätze verschiedenster Typen in ein und derselben Datei enthalten. Das Verhalten der Sätze, z.B. ihre Indexierung und ihr Erscheinungsbild am Bildschirm, wird vollständig durch die Parametrierung gesteuert, also nicht durch fest eingebaute Funktionen des Programms. Die Windows-Programme können darüber hinaus durch eine Makrosprache auch den verschiedenen Satztypen ein eigenes, funktionales Verhalten verleihen.
Die Freiheit von den Zwängen einer (relationalen) Tabellenstruktur hat schon viele Anwendungen ermöglicht, die mit Standard-Datenbanksystemen schwer realisierbar wären, sorgt aber auch für eine sehr kompakte Speicherung und hohe Leistung. Zum Beispiel ist das Einführen eines neuen Feldes sehr einfach: man schreibt es in die Konfigurationsdatei und kann ab sofort dieses Feld in jedem Satz besetzen, auch in schon vorhandenen Sätzen, ohne Reorganisation der Datenbank o.ä. Jedes Feld ist wiederholbar, kann bis zu 3000 Byte lang werden, keine maximale Länge ist im Vorhinein festzulegen. (Gespeichert werden nur die wirklich vorhandenen Zeichen.) Jedes Feld kann als Text behandelt, es kann aber auch damit gerechnet werden.
Ab Version 25 (2005) gibt es eine sehr leicht zu nutzende Möglichkeit, Daten in Form von Tabellen zwischen allegro und relationalen Systemen in beiden Richtungen auszutauschen: aresqa.

Das Konzept der Parametrierung macht allegro generell zu einem offenen System: es ist keine Black Box, sondern der interessierte Anwender kann alles bis ins Kleinste konfigurieren bis hin zur Konvertierung von Fremddaten ins eigene Format oder von allegro-Daten in fremde Formate. Die Parametrierung betrifft auch die Indexierung: Welche Felder in welche Register kommen, in welcher Form und Zusammensetzung (mehrteilige Schlüssel!) und mit welcher Zeichenumcodierung, alles ist frei gestaltbar. In der Windows-Version ist die Parametrierung oft tiefer unter der Oberfläche verborgen, damit man z.B. bei Listenproduktionen (Auswertungen, Reports, Tabellen) ein gutes Stück weit kommt ohne Insider-Kenntnisse.
Die alphabetischen Register, in denen man nach beiden Richtungen blättern kann (und die sogar trunkiert angezeigt werden können) sind ein zentrales allegro-Prinzip. Etwas vergleichbares ist in der SQL-Welt nicht vorhanden. Die Windows-Programme und der avanti-Server bieten jedoch zusätzlich auch die Boolesche Verknüpfung, wie bei anderen Systemen.

Ist allegro ein Client/Server-System?

Ja und nein. Zum System gehört ein Datenbankserver namens avanti. Dieser wird für WWW-Anwendungen eingesetzt. Eine Link-Liste verzeichnet Datenbanken, die auf diese Weise ans Netz angebunden sind. Dieser Server spielt auch eine wichtige Rolle in der Kommunikation über Z39.50.

Es gibt insgesamt  vier Wege, mit einer allegro-Datenbank zu arbeiten. Nur einer davon ist die Client/Server-Arbeitsweise.

Zwar kann man avanti auch in einem Intranet einsetzen, aber man braucht es nicht. Viel häufiger werden die "monolithischen" Programme der DOS- und Windows-Plattformen auf Novell- oder NT-Netzen eingesetzt. Sie bieten mehr Funktionen und höhere Leistung als ein Client/Server-System, weil sie unmittelbar auf die Datenbank zugreifen können und die Fähigkeiten der jeweiligen Plattform viel besser ausnutzen. Insbesondere wäre es unnötig schwerfällig, wollte man auf Einzelplatzsystemen eine Client/Server-Lösung betreiben. Es geht zwar, aber man hätte viel mehr Verwaltungsaufwand und langsamere Reaktionen. Wo es jedoch nötig ist, kann avanti gleichzeitig mit den direkt zugreifenden Programmen an derselben Datenbank arbeiten, d.h. im WWW kann die "lebendige" Datenbank angeboten werden.

Zum Bereitstellen einer Datenbank im Inter- oder Intranet gibt es neben avanti noch eine zweite Methode, die ganz salopp "RuckZuck" heißt. Diese ist ausdrücklich für Schnellschüsse gedacht und nur auf Windows-95/98 oder NT anwendbar. Es sind keine zeitraubenden Arbeiten, etwa in Perl oder dergl., notwendig, sondern mit einem speziellen dafür entwickelten Dateipaket in HTML und einigen FLEX-Makros kann eine Datenbank schon in einer Stunde "am Netz" sein. Auch diese Methode ist, wie alles andere am System, anpassungs- und ausbaufähig.

Ist allegro vollständig dokumentiert?

Es gibt für den Systemverwalter das Systemhandbuch (aktuelle Neuauflage V20 erschien im April 2000), das auch dem Endanwender und Einsteiger einiges an Hilfestellung bietet. Die Windows-Programme a99 (Hauptprogramm) und alcarta (OPAC-Programm) können umfangreiche Hilfetexte bereitstellen, in denen man wie mit einem Web-Browser blättern kann. Neben vielem anderen sind große Teile des Handbuches jetzt im Programm direkt abrufbar, bei Bedarf kann man die benötigten Teile sofort aus der Anzeige heraus drucken oder mit Cut-and-Paste kopieren. Ein eigenes Browser-Fenster , JanaS (Janus-allegro-System) verbindet seit Version 24 allegro mit dem Internet.
Anders als beim Windows-Standard-Hilfesystem können alle Hilfetexte anwendungsseitig erstellt und manipuliert, aber auch mehrsprachig vorgehalten werden. Die Hilfetexte können nicht nur Hyperlinks (auch zum Internet!) enthalten, sondern auch eingebettete Makros, geschrieben in der allegro-eigenen Makrosprache FLEX. Damit können umfangreiche Funktionen realisiert werden; so gibt es bereits Erwerbungs- und Ausleihroutinen, die allein auf dem FLEX-Konzept beruhen. Auch die Methode zur Sicherung und Restaurierung der Daenbank ist mit FLEX-Makros realisiert. Die FLEX-Sprache ist außerdem kompatibel mit der Befehlssprache des "avanti"-Servers.
Mehr über die vier verschiedenen Wege zu einer "allegro"-Datenbank steht in einer speziellen Übersicht.

Ist allegro eher ein System für kleinere und mittlere Datenbanken?

Das wäre ein Understatement. Es gibt inzwischen etliche Datenbanken mit mehr als 1 Million Sätzen, die größte ist wohl diejenige, die aus den Daten des ehemaligen VK erstellt wurde: sie hat 15 Millionen Sätze, die Register enthalten 180 Millionen Einträge. 2012 wurde eine noch größere mit 24 Millionen Datensätzen aus den Titeldaten des Bayerischen Verbundes erstellt.



Einsteiger fragen: Was sind die Voraussetzungen?
Fortbildung 2005
Es kursieren die unterschiedlichsten Meinungen - kein Wunder, denn allegro existiert nun schon recht lange (siehe "Chronik"). Im direkten Kontakt mit der Praxis und mit vielen versierten Anwendern wurde es ständig weiterentwickelt. Wer sich z.B. seine Meinung vor 3 Jahren gebildet hat, der hat einen nun schon ganz veralteten Kenntnisstand. Denn eine abgerundete Windows-Version, mit der man alles Wesentliche machen kann, gibt es erst seit 2001, und auch diese wird ständig weiter verbessert. Das beste für den Einstieg ist: Demo-Paket holen, installieren, ausprobieren!
Ab V24 (2004) hat das Windows-System ein zusätzliches Browser-Fenster unter dem Namen JanaS (Janus-allegro-System). Dieses kann normale HTML-Dokumente anzeigen und frei im Netz "surfen", durch "besondere Links" können aber Vorgänge im Programm ausgelöst werden. Das eröffnet für Systemverwalter neue Möglichkeiten, denn es können nun funktionsreiche Oberflächen mit HTML erstellt werden, ohne Kenntnis der Parametrierung.
Wird damit alles ganz einfach? Keine schwierige Installation, keine komplizierte Parametrierung mehr?
Im Prinzip ja. Mit der Entwicklung der Windows-Version wurden folgende Ziele verfolgt und erreicht:
  1. Volle Kompatibilität: Keine Änderungen notwendig an "alten" Datenbanken - ungebrochene Kontinuität.
  2. Noch mehr Flexibilität: Die ganz neue Entwicklung der Makrosprache FLEX hat für Experten eine nochmals starke Erhöhung der Möglichkeiten für lokale Anpassungen und Erweiterungen gebracht, zugleich aber solche Aktivitäten für den Normalfall stark vereinfacht.
  3. Senkung der Einstiegsschwelle: Die FLEX-Sprache hat es auf der anderen Seite auch ermöglicht, viele schwierige Funktionen unauffällig zu "verpacken", damit der Anwender sie nun im Normalfall mit wenigen Mausklicks erledigen kann.
Punkt 1 hat zur Folge: die gesammelten Erfahrungen langer Jahre bleiben gültig. Das kommt den langjährigen Anwendern zugute, aber auch Einsteigern, denn der "Standard" hat durch die vielen eingeflossenenen Erfahrungen inzwischen einen hohen Reifegrad erreicht.  Jederzeit während der Arbeit kann ansonsten sogar zwischen DOS- und Windows-Version umgeschaltet werden. Das begrüßen die "alten Hasen", aber Einsteiger werden es nicht mehr brauchen.
Punkt 2 hilft viele Wünsche erfüllen, die ein Standard notwendigerweise nicht alle gleichzeitig erfüllen kann. Das geht bis hin zu maßgeschneiderten Erwerbungs- und Ausleihlösungen.
Punkt 3 wurde erreicht durch Schaffung einer Reihe von Funktionspaketen gleichfalls mit Hilfe von FLEX, die eine Kenntnis der Parametrierung jetzt im Normalfall ganz verzichtbar machen.
FLEX ist somit der Dreh- und Angelpunkt, der die scheinbar widersprüchlichen Ziele 2 und 3 zugleich realisierbar gemacht hat.
Was aber sind das für "Funktionspakete"? Dieses Konzept betrifft drei Bereiche:

A. Systemverwaltung
Dazu gehören das Erstellen von Sicherungskopien (im laufenden Betrieb) und das Restaurieren nach einem Zusammenbruch, aber auch noch einige andere. Sogar für das Einrichten eines WWW-Zugriffs gibt es eine sehr leicht zu realisierende Standardlösung mit PHP als Skriptsprache. Eine Anzahl von verschiedenen Beispiel-Datenbanken kann man sich sofort anschauen.

B. Exportfunktionen
Auf diesem Gebiet war wohl die Komplexität am größten. Unter der Oberfläche ist das immer noch so, und das ist auch unvermeidlich, aber man sieht nichts mehr davon: Tabellen, sortierte Listen, statistische Auswertungen, Exporte in anderen Formaten - alles das kann nun über bequeme Menüs mit Mausklicks abgewickelt werden. Sowohl beliebige Ergebnismengen als auch die gesamte Datenbank können auf diese Weise jederzeit behandelt werden.
Ein umfangreiches Hilfesystem, das sogar die wichtigen Teile des Systemhandbuchs einschließt, ist ins System integriert. Die Hilfetexte sind interaktiv, d.h. es können (wie bei einem Web-Browser) durch anklickbare Links weitere Texte sofort aufgeschlagen werden und man kann vorwärts- und rückwärts blättern, die Hilfetexte können aber auch Funktionen auslösen, d.h. sie helfen tatsächlich aktiv. Die Funktionspakete bieten jeweils ein übersichtliches Menü an, von dem aus jede Funktion sofort mit der Maus zu starten ist. Welcher FLEX jeweils dahinter steckt und wie er arbeitet, braucht der Normalanwender nicht zu wissen - für ihn scheint es eine eingebaute Funktion zu sein.

C. Eingabesystem
Dank einer neuen Formulartechnik wird auch das Eingeben neuer Datensätze noch weiter als früher unterstützt. Hier ist es nicht schwierig, neue Formulare zu schaffen oder vorhandene zu modifizieren, um das Ganze auf den eigenen Bedarf einzurichten. Das sofortige Umschalten auf eine Fremddatenbank und das Kopieren daraus gab es schon in der DOS-Version, unter Windows ist es gleichfalls realisiert.
Aber angenommen, man will nichts Aufwendiges, sondern nur eine ganz einfache Datenbank mit wenigen Elementen, z.B. nur den 15 Elementen des Dublin Core. Ist dann allegro nicht ein zu großes Geschütz? Nicht mehr. Man kann die vielen zusätzlichen Möglichkeiten des Standards auch ignorieren und nicht nutzen, das kostet keine Leistung und keinen Platz. Es gibt sogar ein Eingabeformular für Dublin Core - dann nutzt man eben nur dieses.

Das Installieren ist nun durch die Schaffung eines "Gesamtpakets" ebenfalls radikal vereinfacht worden. Jeder kann es sofort ausprobieren: Es gibt eine Demo-Version mit Vollfunktion, die Sie in fünf Minuten auf Ihrem Rechner haben können (Win'95, 98, NT, 2000, ME). Danach noch ein paar Mausklicks, und Sie haben Ihre erste eigene Datenbank. Oder Sie experimentieren ausgiebig mit der Demo-Bank. Platzbedarf für die Demo-Installation: unter 8 MB.
Kein Risiko: mit der UnInstall-Funktion werden Sie alles schnell wieder los. Oder aber Sie beschaffen sich nach einer Weile eine ordnungsgemäße Lizenz. Dann installieren Sie die aktuellste Version einfach über die Demoversion und arbeiten weiter. Das bedeutet, ganz richtig, Sie können schon mit der Demoversion regulär anfangen zu katalogisieren und alles zu machen, was sie anbietet, mit Ihren eigenen Daten. Das Hilfesystem erklärt auch, wie man eigene Daten hineinbringt, die man in anderer Form bereits vorliegen hat.

Abschließend darf aber eines nicht verschwiegen werden: Oben steht mit Überlegung: "Im Prinzip ja." Man ist gut beraten, ob man nun allegro oder irgend etwas anderes anwendet, sich gewisse Grundkenntnisse der Computerei anzueignen. Besonders dann, wenn kein "Systemverwalter" ständig in der Nähe und erreichbar ist. Denn sonst bleibt man in gewisser Weise immer unmündig, abhängig und anfällig für falsche Versprechungen und Übervorteilungen. Bücher und anderes Material oder auch Kurse für Anfänger gibt's wahrlich genug. Das Hilfesystem des Windows-Programms bietet aber schon selbst eine Menge an einführenden Texten, darunter auch die der erfolgreichen E-Mail-Fortbildung 2004, die sich in mehreren Kursen der Initiative Fortbildung bewährt haben.


[TextCounter Fatal Error: Could Not Write to File _allegro.htm]

© Universitätsbibliothek Braunschweig, Bernhard Eversberg 2000-05-22 / 2005-02-16

B.Eversberg@tu-bs.de,