`allegro`  
Was ist das?  
`FAQ (Oft gestellte Fragen)`  
Zurück zur `Übersicht`  
`Grundbegriffe`  
`Wie steigt man ein?`  
`Wie redet man mit dem System?` 
Ganz knapp: allegro ist ein  
	`autonomes`,  
		`plattformunabhängiges`,   
			`objektorientiertes`  
	`Datenbanksystem`. Es kann auch (aber nicht nur) als `Client-Server-System` betrieben werden.  
  
Darin stecken fünf Begriffe, die ausführlicher erklärt werden sollten:  
(Sie können auch oben die blauen Wörter anklicken.)  
  
Ein Datenbanksystem (kein Bibliotheksprogramm oder Katalogsystem)  
So nennt man jede Software, mit der man strukturierte Daten speichern, bearbeiten und abrufen kann. Strukturierte Daten bestehen aus Datensätzen, und jeder Datensatz besteht aus Datenfeldern oder -elementen. Ein bibliothekarischer Datensatz ist i.a. eine Titelaufnahme, die Datenfelder sind deren einzelnen Elemente, also der Titel, Erscheinungsjahr, Verlag, Serientitel usw. usf.  
"Datenbanksystem" bedeutet: allegro ist kein auf bestimmte Aufgaben spezialisiertes System, sondern es kann für viele Anwendungen eingesetzt werden, wo Daten eingegeben, gespeichert, verwaltet und abruf- oder auswertbar 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. Insbesondere ist allegro nicht auf bibliothekarische Daten und Aufgaben im engeren Sinne fixiert, sondern kann ein weites Spektrum von Strukturen und Funktionen abdecken.  
  
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 erforderlich, insbesondere kein Standard-Datenbanksystem wie z.B. MySQL oder MS-Access.  Das heißt auch: Keine Zusatzkosten, minimaler Installationsaufwand.
allegro macht, schlicht gesagt, alles selbst.  
  
allegro ist plattformunabhängig  
Auf den gängigen Plattformen kann gearbeitet werden: MS-DOS, Linux, Windows ab XP. Nicht nur das, sondern die Datenstruktur ist auf 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, kann man auch gleichzeitig an derselben Datenbank arbeiten. (Das Problem der unterschiedlichen Zeichencodes wird durch eine für den Nutzer unsichtbare Tabellenumwandlung gelöst.)
Wenn man eine Datenbank auf DVD oder CD-ROM publizieren will, braucht man sie nur auf die CD zu kopieren. Die  alcarta (für Windows) und Programme APAC (für DOS-Benutzung) sind zur kostenlosen Verbreitung freigegeben, d.h. Käufer der CD/DVD zahlen keine Lizenzgebühr für die Software. Die Programme a99 und alcarta existieren allerdings nur für Windows XP aufwärts.  
  
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, genannt `FLEX`, auch den verschiedenen Satztypen ein eigenes, funktionales Verhalten verleihen.  
Das sind typische Merkmale eines objektorientierten Systems. Eine relationale Datenbank besteht dagegen aus Tabellen. Das Konzept der Tabellen ist aber zu unflexibel und zu simpel für Bibliotheksdaten, daher beruht allegro auf einem anderen Grundkonzept, das eigens dafür entwickelt wurde.  
Außerdem: 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.   
  
Ist allegro ein Client/Server-System?  
Ja und nein. Zum System gehört ein Datenbankserver namens avanti. Dieser wird für WWW-Anwendungen eingesetzt. Dieser Server spielt auch eine wichtige Rolle in der Kommunikation über Z39.50. 
Man kann man den avanti-Server auch in einem Intranet einsetzen, aber man braucht es nicht. Viel häufiger werden die "monolithischen" Programme der DOS- und Windows-Plattformen in lokalen 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 sein soll, kann avanti gleichzeitig mit den direkt zugreifenden Programmen arbeiten, d.h. im WWW kann die "lebendige" Datenbank angeboten werden. 
Zum Bereitstellen einer Datenbank im Inter- oder Intranet mit avanti gibt es zwei Pakete von PHP-Skripten namens `a35` und `PHPAC`. Auch diese Methode ist, wie fast alles am System, anpassungs- und ausbaufähig. Ab V30 gab es mit `a30` ein RIA-Programm (Rich Internat Application), das ebenfalls mittels avanti eine allegro-Datenbank über das Netz zugänglich macht. a30 war mit hoher Flexibilität ausgestattet, wurde jedoch nicht mehr weiterentwickelt, weil es auf dem proprietären Video-Standard Flash von Adobe basiert. Es diente aber als Vorübung für `a35`, eine Web-Anbindung, die auf HTML5, CSS3, JavaScript, PHP und FLEX beruht. Der Vorteil von a30 und a35 ist, daß sie fast nur FLEX-Kenntnisse erfordern, wenn man sie funktional erweitern und modifizieren will, alle anderen Bestandteile sind standardisiert und universell.  
  
Ist allegro vollständig dokumentiert?  
Es gibt für den Systemverwalter das`Systemhandbuch,`das auch dem Endanwender und Einsteiger einiges an Hilfestellung bietet. Die Windows-Programme a99 und alcarta können umfangreiche Hilfetexte bereitstellen, in denen man wie mit einem Web-Browser blättern kann. Einen solchen Text sehen Sie gerade vor sich. Mit dem großen Fragezeichen-Button, den Sie unten sehen, kommen Sie jederzeit in die interaktive Online-Dokumentation. Diese enthält nicht nur Texte, sondern auch viele Funktionen. Wenn Sie im Schreibfeld  h eintippen, haben Sie die `Gesamtübersicht` vor sich. Von da aus klicken Sie sich zu jedem gewünschten Thema durch. Unter dem Stichwort `Supervisor-Menü` verbergen sich sämtliche Funktionen der System-Administration. Der Button mit der Tür öffnet keine Tür, sondern ein separates Fenster mit einem Internet-Browser: dieses Zusatzprogramm namens `JanaS` gibt es seit V24 (2004). 
Ab 2012 werden die Quelltexte der Programme (geschrieben in C und C++) mit OpenSource-Lizenz freigegeben. Damit haben Entwickler die Möglichkeit, auch die Programme selbst zu modifizieren, und Anwender haben die Sicherheit, daß die Software nicht allein von der Universitätsbibliothek Braunschweig abhängig ist.
  
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 die in Aachen aufgebaute Retro-Katalogisierungsdatenbank aus den Daten des HBZ-Verbundes, sie umfaßt mehr als 7 Millionen Sätze, und das auf einem PC-System mit Zugriff über WWW.  
  
allegro ist kein Bibliothekssystem  
... das wurde oben schon bemerkt. Als frei parametrierbares Datenbanksystem läßt sich allegro verwenden, um bibliothekarische Aufgaben auszuführen, aber es ist nicht ausschließlich dafür entwickelt worden. Mitgeliefert wird aber eine Standard-Parametrierung, mit der man sofort mit dem Katalogisieren beginnen und auch einen OPAC bereitstellen kann. Ferner gibt es Parameter für die Geschäftsgänge der Ausleihe und der Erwerbung. Für die DOS-Plattform wurden eigene Programme geschrieben, um diese Geschäftsgänge zu unterstützen: aLF und ORDER. Dafür gibt es auch eigene Dokumentationen. Diese Funktionsbereiche wurden später mit der FLEX-Methodik neu gestaltet und erweitert, d.h. es werden dafür keine zusätzliche Programme mehr gebraucht: 
     `aLF` : Ausleihe 
     `ORDER` : Erwerbung 
     `ZAboM` : Zeitschriftenverwaltung 

Um das gesamte Leistungsspektrum zu nutzen, wollen etliche `"Sprachen"` gesprochen werden! Die im ersten Moment verwirrende Vielfalt ist leider unvermeidlich, weil es keine Programmiersprache gibt, mit der man einfach alles programmieren könnte. Immer mehr Funktionen werden aber in spezialisierte Menüs verpackt, z.B. gibt es eine Auswahl von Komfort-Funktionen für den `Export`. 
Die neuere Internet-Anwendung a35 kommt mit viel weniger Programmierung aus und erfordert normalerweise für Anpassungen nur die FLEX-Sprache, die man ohnehin zum Abfragen von Daten braucht.

Sie wollen noch mehr wissen über das Konzept des Systems? Dann können Sie noch einen etwas weiter führenden Text zu den`Hintergründen`lesen.  

?Link-Liste=~start http://www.allegro-c.de/ac-dbs.htm  
?autonomes=h =allegro ist autonom  
?plattformunabhängiges=h =allegro ist plattformunabh 
?objektorientiertes=h =allegro ist objektorientiert  
?Datenbanksystem=h =Ein Datenbanksystem  
?allegro=~start http://www.allegro-c.de  
?Client-Server-System=h >Client/Server  
?Systemhandbuch,=h handbuch  
?Übersicht=h doku 
?Gesamtübersicht=h doku 
?Hintergründen=h backg 
?Wie steigt man ein?=h einstieg  
?FAQ (Oft gestellte Fragen)=h ac0-9  
?relational=~start http://www.allegro-c.de/downloads/doku//a-r.htm  
?phpac=h phpac  
?FLEX=h flex  
?Grundbegriffe=h ac0-0  
?Parametrierung=h ac10  
?Supervisor-Menü=h super 
?ORDA=h orda  
?"Sprachen"=h sprachen 
?Wie redet man mit dem System?=h sprachen 
?JanaS=X gj janas.htm 
?Export=h exprt 
?aLF=h alf 
?ORDER=h order 
?ZAboM=h zabom 
?a35=~start http://www.allegro-c.de/