[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

"allegro" Client/Server



"allegro" jetzt mit Client/Server-Technik
-----------------------------------------

In knapper Form moechten wir ueber den Stand des Projekts "avanti" berichten,
zumal dazu nun auch die DFG dankenswerterweise Foerdermittel beisteuert.
(Denn ein Teil des Projekts ist die Erstellung einer Z39.50 Schnittstelle.)

Das "allegro"-Konzept, entwickelt seit Ende 1980, wurde im Vorjahr auf
eine neue Grundlage gestellt: eine plattformunabhaengige Klassen-
bibliothek in C++. Diese erleichtert entscheidend die Entwicklung neuer
Programme, vor allem fuer Windows und X-Windows. Die wichtigste neue Ent-
wicklung ist ein Server, gleichfalls plattformunabhaengig, dessen erste 
anwendungsreife Version dieser Tage den "allegro"-Anwendern zugaenglich 
gemacht wurde, und zwar zugleich fuer Windows und UNIX. Der Server kann
z.B. auch auf einem dedizierten PC im Novell-Netz laufen.

Der neue Server bearbeitet Auftraege, die in der ebenfalls neuen
Sprache "avanti" zu schreiben sind. Diese ist so einfach, maechtig 
und flexibel, dass die Entwicklung von Client-Software dadurch stark
beschleunigt werden kann. Schon wenige Tage nach Freigabe hat eine
namhafte Bibliothek (deren eigener Veroeffentlichung wir nicht vorgreifen
wollen) eine Web-Applikation erstellt. Fuer eine zweite Phase soll
dabei schon in Kuerze JAVA zum Einsatz kommen. Die UB wird selbst ihre
Web-Katalogzugaenge auf den neuen Server umstellen und dadurch stark
vereinfachen koennen. ( http://www.biblio.tu-bs.de/acrecher.html )
(Diese Kataloge bieten schon jetzt, wie nur ganz wenige Web-Kataloge,
auch Registerauszuege.)

Existierende "allegro"-Datenbanken, ganz gleich wie alt oder wie gross,
muessen in keiner Weise geaendert werden, um sie mit dem Server
benutzen zu koennen. Der Server kann auf eine aktive Datenbank lesend und
schreibend zugreifen. "Plattformuebergreifend" bedeutet auch, dass
Datenbanken z.B. von DOS auf UNIX direkt kopiert werden koennen.
Unterschiede der Zeichensaetze lassen sich durch Tabellen ausgleichen.

Hier die Liste der "avanti"-Befehle, die der Server zur Zeit kennt:

  copy       aktuellen Datensatz kopieren (im Arbeitsspeicher)
  download   parametrierter Export von Saetzen und Ergebnismengen
  erase      aktuellen Satz aus der Datenbank loeschen
  find       Pica-aehnlicher Suchbefehl mit AND, OR und NOT sowie
                verschachtelter Klammerung
  get        einen Datensatz in den Arbeitsspeicher holen
  help       Hilfsangaben ueber die aktuelle Datenbank
  if         Bedingungspruefung
  jump       Sprung zu einem label
  list       Kurzliste der Ergebnismenge
  new        neuen Datensatz anlegen (im Arbeitsspeicher)
  order      Sortieren der Ergebnismenge nach spezifischen Kriterien
  put        aktuellen Satz in die Datenbank speichern
  qrix       quick reading of index (Registerauszug)
  set        Setzen diverser Variablen und Schalter
  update     Datensaetze in die Datenbank laden, 
                wahlweise mit Austausch auf Satz- oder Kategorieebene
  write      Datenelemente und Texte in die Ausgabe schreiben
  xport      Export-Parameter laden / Exportdateinamen setzen
  #nnn       Datenfeld in den aktuellen Satz einfuegen/loeschen
  :label     Sprungmarke fuer jump

Einfache downloads koennen mit dem write-Befehl erstellt werden, fuer
komplizierte kann man auf die Exportsprache zurueckgreifen und alle
vorhandenen Parameter dafuer nutzen.
Diese Befehle haben jeweils mehrere Optionen oder Modalitaeten. Man sieht,
dass auch schreibende Zugriffe vorgesehen sind. Natuerlich sind diese an
eine Berechtigung gebunden. Die Befehlswoerter koennen jeweils bis auf 
den ersten Buchstaben beliebig verkuerzt werden.
(Das Konzept ist konsequent anders als SQL - schliesslich ist "allegro"
keine relationale Datenbank, deshalb sollte auch nicht so getan werden
als ob. Es waere an der Zeit, dass einmal von kompetenter Seite die
Vorzuege und Nachteile relationaler Systeme mit SQL speziell fuer
Bibliotheksdaten leidenschaftslos dargestellt wuerden. Es ist bekannt,
dass Bibliotheksdatenbanken damit MACHBAR sind, aber das ist nicht die
einzige Frage.)

Ein Beispiel zur Leistung: auf einer LinuX-Maschine (Pentium) wurde
eine Ergebnismenge von 580 Saetzen durch einen verschachtelten Such-
begriff erstellt, dann alphabetisch geordnet und als Kurzliste ausgegeben.
Dies dauerte insgesamt unter drei Sekunden.

Eine ausfuehrliche Dokumentation der "avanti"-Version 1.0 mit Beschreibung
der Sprache erhalten sie so:

   ftp 134.169.20.1
   anonymous
   <als Passwort geben Sie Ihre e-mail-Adresse ein>
   cd newsletr
   get avanti.txt
   quit

Die ASCII-Datei AVANTI.TXT koennen Sie schlicht mit PRINT ausdrucken.
(Auf dem Verzeichnis liegen ansonsten die "allegro news" Ausgaben bis
Nr. 42 als WP51 und als PostScript-Dateien. In Nr. 40 (ACN954.LZH bzw.
ACN954PS.LZH) steht der erste Bericht ueber "avanti".)

Wir werden informieren, sobald die ersten Anwendungen freigegeben sind,
die auf diesem Server aufbauen.

MfG  B.E.




Listeninformationen unter http://www.inetbib.de.