Vb.74: Enthuellung des Jahres

Bernhard Eversberg EV at buch.biblio.etc.tu-bs.de
Di Jul 30 13:52:58 CEST 1996


Verlautbarung 74 der Entwicklungsabteilung               (960730)
----------------

Die Enthuellung des Jahres : "avanti"-Server und -Sprache
---------------------------------------------------------

Der alte Gauss  (Wahlspruch: "Pauca, sed matura" - Weniges, aber Reifes)
wuerde noch nichts verlauten lassen. Er wuerde erst noch alles ausreifen
lassen. Mit Softwareentwicklungen ist es nun aber so, dass Reife nicht
in der Abgeschiedenheit der Programmierstube und nicht im Elfenbeinturm
der Entwicklungsabteilung erzielbar ist. Neue Software braucht die
Konfrontation mit der Praxis, sonst kann sie nicht wirklich reifen.

Weil eine einsatzfaehige Grundversion nun bereitsteht, enthuellen wir
deshalb heute und an dieser Stelle ein Kernstueck des "avanti"-Projekts,
den "avanti"-Datenbankserver mit der "avanti"-Auftragssprache.
Es liegt nahe, dass zunaechst die aktive "allegro"-Anwenderschaft auf diesem
Wege davon erfahren soll.
Moeglich wurde dieses Programm durch einen konsequenten Einsatz der
im Vorjahr entwickelten "Klassenbibliothek" in C++. Diese hatte schon mit 
dem Programm VP eine erste Feuerprobe bestanden. Der Server nun, und das
in Kuerze auszuliefernde Presto-W, sind neue Beweise fuer die Tragfaehigkeit
dieses Fundaments. 

Sie entnehmen dem nachfolgenden Text alles Wesentliche, aber zwei Punkte
verdienen eine besondere Hervorhebung:

-- Der neue Server kann in jeder existierenden "allegro"-Umgebung zum
   Einsatz kommen; Aenderungen an bestehenden Datenbanken sind nicht noetig.

-- Nicht der Ersatz bestehender Programme ist das Ziel, sondern die
   Oeffnung von "allegro"-Datenbanken fuer neue Anwendungen, fuer
   Zugriffe aus anderen Umgebungen heraus, und durch Anwender und Ent-
   wickler, die vom "allegro"-Konzept nicht viel wissen, jedoch aus
   verschiedensten Gruenden auf "allego"-Daten zugreifen moechten.
   Dies reicht bis zu Web- und Java-Systemen, sowie zur Z39.50-Welt,
   fuer die der "avanti"-Server eine Vorstufe und Grundlage darstellt.

Meinungsaeusserungen und natuerlich Testberichte sind, wie immer, erwuenscht.

Ab morgen, den 31.7.1996:
-------------------------
Sie finden  avanti.lzh     auf  AC14/V14c (DOS/Windows)
bzw.  avanti.gz und av.gz  auf  UNIX-14/SUN und UNIX-14/LINUX.

Es folgt der Anfangsteil der Dokumentation "avanti.txt". Diese Datei
enthaelt auch die komplette Beschreibung des derzeitigen Standes der
neuen Auftragssprache "avanti". Sie erhalten den vollstaendigen Text so:

  ftp 134.169.20.1
  anonymous
  <Ihre E-mail-Adresse>          z.B. Allers at goethe.de
  cd newsletr
  get avanti.txt
  quit


Der "avanti"-Datenbankserver
----------------------------
960722-30

-- kann unmittelbar auf jede "allegro"-Datenbank zugreifen
   (Funktionsstandard ist V14c, d.h. die aktuelle Version,
   aber auch alle aelteren Datenbanken sind benutzbar)

-- laeuft in gleicher Weise auf PC-Netzen und UNIX-Systemen

-- spricht als Zielgruppe (auch) Systemverwalter an, die wenig von 
   "allegro" wissen, aber vorhandene Datenbanken flexibel nutzbar 
   machen wollen/sollen

-- ermoeglicht es auch "allegro"-Unkundigen, "Client"-Funktionen in 
   jede Software-Umgebung einzubauen, mit der sie sich auskennen,
   sogar in Batchdateien oder Shell-Scripts, aber auch in Perl- (HTML) 
   und Java-Programme, denn der "avanti"-Server

-- ist programmierbar in einer "Auftragssprache", die viel leichter
   erlernbar ist als die Exportsprache (Beispiele s.u.)

-- erfordert nur fuer kompliziertere Aufgaben Kenntnisse der "allegro"-
   Parametrierung; Exporte einfacher Art sind ohne Parameter moeglich

-- kann jedoch die gesamte Bandbreite der Exportparameter nutzen, d.h.
   vorhandene Parameter koennen fuer Exporte eingesetzt werden

-- bietet alle Abfragemoeglichkeiten des Programms VP zur Zusammen-
   stellung von Ergebnismengen incl. Sortierung nach waehlbaren Kriterien
   (Pica-aehnlicher find-Befehl)

-- enthaelt auch Funktionen fuer Schreibzugriffe, darunter eine 
   Upload-Funktion, mit der auf einfachere Art als mit dem UPDATE-Programm 
   neue Datensaetze in eine "allegro"-Datenbank eingespeist werden koennen

-- wird die bisherige, vergleichsweise recht komplizierte Methodik des 
   WWW-Zugriffs auf "allegro"-Datenbanken abloesen und noch schneller  
   und flexibler machen

-- stellt eine Vorstufe innerhalb des Projekts Z39.50 dar, welches nach
   Bewilligung durch die DFG inzwischen angelaufen ist

-- arbeitet so schnell, wie man es von "allegro"-Programmen 
   gewoehnt ist.

Ganz knapp zusammengefasst: mit "avanti" kann jede "allegro"-Datenbank
zu einem Client/Server-System ausgestaltet werden, und zwar mit massge-
schneiderten, leicht zu programmierenden Client-Funktionen. 

Damit kein Missverstaendnis aufkommt: die bisherigen Programme werden
nicht abgeschafft oder entwertet. Es gibt kein Entweder/Oder: alles kann
GLEICHZEITIG laufen. Ein C/S-System arbeitet seiner Natur nach
immer indirekt und deshalb weniger schnell und effizient als ein
direkt zugreifendes System. Es gibt wichtige Funktionen, wie z.B. das
ZEILENweise Rauf- und Runter-Blaettern in Registern, die in C/S-Systemen
schwierig oder gar nicht zu realisieren sind. (Haben Sie sich noch nie 
gewundert, warum so wenige Systeme das koennen?)
Da jedoch die C/S-Technik unbestreitbare Vorteile hat (wir haben oben
einige aufgezaehlt), wurde als Ziel gesetzt: das Vorteilhafte tun, aber
das Bewaehrte nicht lassen; "allegro"-Datenbanken sollen AUCH, aber nicht
NUR, als C/S-System laufen koennen. Was laeuft, kann weiterlaufen; Zwang
zu Aenderungen am Bestehenden gibt es nicht, Kompromisse bei Leistung und
Flexibilitaet werden nicht gemacht.


Arbeitsweise: 
-------------

Man uebergibt dem Server eine Auftragsdatei, geschrieben in der neuen 
"Auftragssprache" namens "avanti". Der Server produziert als Antwort eine
"Download-Datei" und eine "Error-Datei", die man sich ansehen oder per
eigener Software auswerten kann. (Der Server produziert selbst keine
Bildschirmanzeige und fuehrt keinen Dialog mit dem Auftraggeber!)
Wenn der Auftrag z.B.  JOB1  heisst, entsteht als Antwort die Datei
JOB1.DNL (Download-Datei) und zusaetzlich JOB1.ERR (Error-Datei).
Natuerlich sind diese Default-Namen vom Anwender veraenderbar.
(UNIX: Dateinamen immer in Kleinbuchstaben)

.... 


MfG  B.E.    (960730)



Mehr Informationen über die Mailingliste Allegro