Sisis-Systemverwaltertreffen Potpourri-Vortrag Dr. Andreas Bohne-Lang EDV & Bibliothek der Medizinischen Fakultät Mannheim Universität Heidelberg 21. Februar 2008
Gliederung: 1. Sunrise trifft openldap 2. Die Suche nach einem Geldwechsler 3. FollowPrint und die Anbindung an Sunrise 4. RFID - Technik & Service
openldap & Sunrise Abfrage Benutzer / Dienst openldap Sisis - Sunrise
Was ist LDAP? LDAP: Lightweight Directory Access Protocol Authentifizierung: Unix, Windows-Login Apache Samba Skripte: PHP, Perl,...... Benutzerdatenverwaltung: query inset delete modify Anfrage Anwendungen von LDAP: Active Directory (ADS) von Microsoft Open Directory von Apple openldap... openldap Server Es erlaubt die Abfrage und die Modifikation von Informationen eines Verzeichnisdienstes. Verzeichnisdienste: zentrale Sammlung von Daten bestimmter Art - hierarchisch gespeichert
Wie kann man sich das vorstellen? } LDIF (Abkürzung aus dem Englischen für LDAP Data Interchange Format) ist ein ASCII-basierendes Dateiformat zur Darstellung von Informationen aus einem LDAP-Verzeichnis. (Wikipedia) Suchanfrage: ((&(mail=joe*)(c=de))) Filter: mail http://ldap.akbkhome.com/index.php/objectclass.html
Hierarchischer Aufbau dn: dc=structure-net, dc=de objectclass: organization objectclass: top o: Structure Net l: Hamburg postalcode: 21033 streetadress: Billwiese 22 dn: ou=sales, dc=structure-net, dc=de objectclass: organizationalunit ou: Sales description: Verkauf telephonenumber: 040-1234567 facsimiletelephonenumber: 040-234567 dn: ou=support, dc=structure-net, dc=de objectclass: organizationalunit ou: Support description: Support telephonenumber: 040-1234567 facsimiletelephonenumber: 040-23434566 dn: uid=admin, ou=sales, dc=structurenet, dc=de objectclass: person objectclass: organizationalperson objectclass: inetorgperson cn: admin cn: Systemverwalter cn: Thomas Bendler sn: Bendler uid: admin mail: tbendler@structure-net.de l: Hamburg postalcode: 21033 streetadress: billwiese 22 telephonenumber: 040-654322 facsimiletelephonenumber: 040-9876545
LDAP an sich ist keine Datenbank, sondern lediglich das Protokoll zur Kommunikation. Backends Anfrage openldap Server Anderer LDAP Server Normale Datenbank moduleload moduleload moduleload moduleload moduleload back_bdb.la back_ldap.la back_ldbm.la back_passwd.la back_shell.la... Shell-Backend
./configure --prefix=/data/ldap/ --enable-bdb=yes --enable-shell=mod... LDAP Std-IO SEARCH filter: 50012345 base: ou=sisis,ou=bibliothek dn: cn=50012345, ou=sisis, ou=bibliothek objectclass: top objectclass: person cn: Andreas Bohne-Lang sn: Bohne-Lang uid: 50012345 RESULT code: 0 Shell Backend slapd.conf modulepath moduleload database suffix search /data/ldap/modules back_shell.la shell "ou=sisis,ou=bibliothek" /data/ldap/mymds/sisis.sh SEARCH msgid: <message id> <repeat { "suffix:" <database suffix DN> }> base: <base DN> scope: <0-2, see ldap.h> deref: <0-3, see ldap.h> sizelimit: <size limit> timelimit: <time limit> filter: <filter> attrsonly: <0 or 1> attrs: <"all" or space-separated attribute list> http://linux.die.net/man/5/slapd-shell
Hallo Welt - Shell-Backend #!/usr/bin/bash echo "dn: sn=50012345,ou=sisis,ou=bibliothek" echo "objectclass: top" echo "objectclass: person" echo "cn: Andreas Bohne" echo "sn: 50012345" echo "uid: 50012345" echo "ou: bibliothek" echo "mail: test@test.de" echo "" echo "RESULT" echo "code: 0" moduleload back_shell.la database shell suffix "ou=sisis,ou=bibliothek" search /sisis/ldap/shell/simple.sh slapd.conf
INPUT #!/usr/bin/bash while [ 1 ]; do read TAG VALUE if [ $? -ne 0 ]; then break fi case "$TAG" in base:) BASE=$VALUE ;; filter:) FILTER=$VALUE ;; esac done tmpst=/tmp/qd.$$ LOGIN=`echo $FILTER sed -e 's/.*=\(.*\))/\1/'` PUTPUT OUTPUT isql -Usisis -SsisisSYB -Pgeheim -o $tmpst -w 2048 -s ":" << EOF use sisis go select d02bnr,d02vname,d02name from d02ben go quit EOF PWLINE=`cat $tmpst grep -v "d02bnr" grep -v '\-\-\-\-\-' sed s/^.//g grep -i "^$LOGIN" > /tmp/qd2.$$` if [ $? = 0 ]; then cat /tmp/qd2.$$ awk -F: '{ printf("dn: cn=%s,%s\n", $1, base); printf("objectclass: top\n"); printf("objectclass: person\n"); printf("cn: %s %s\n", $2,$3); printf("sn: %s\n", $3); printf("uid: %s\n", $1); printf("ou: Bibliothek\n"); printf("mail: test@test.de\n"); printf("\n"); }' base="$base" echo "RESULT" echo "code: 0" rm /tmp/*.$$ exit 0 Simples BASH-Backend Siehe auch: openldap-2.3.32/servers/slapd/back-shell/
Fazit & Aussichten: Shell-Backend für jede Programmiersprache geeignet (Perl, PHP, Bash...) aber auch C, C++, etc. Erweiterung: Browsing -> SQL Query --> SLNP Insert --> SLNP Modify --> SLNP Delete --> SLNP Fazit: Das Shell-Backend ist sehr einfach und mächtig, da man damit im Prinzip jedes Target an einen LDAP anbinden kann.
Die Suche nach einem Geldwechsler Anforderungen an ein solches Gerät: wechseln eines Scheins in Münzen Scheinannahme: 5, 10, 20, 50 wechseln von Münzen groß nach klein (1 --> 2 x 50 ct) wechseln von Münzen klein nach groß (1 x 50 ct + 5 x 10 ct --> 1 ) Münzenannahme: 5, 10, 20, 50 ct und 1, 2 Münzenausgabe: vier (!) verschiedene Münzsorten (2, 1, 50 ct, 10 ct) Zertifizierte Geldprüfer Wünschenswert: Auswahl aus verschiedenen Stückelungen: (1 Eurostück in 2 x 50 ct oder 10 x 10 ct wechseln) Keine Wartungs- oder Lizenzkosten - einmal gekauft und fertig kein Geldkreislauf, keine Scheinausgabe Stand- oder Wandgerät war egal Sicherheitsstandard eher gering
Produktsuche: Google, wer-liefert-was, etc. Angebote eingeholt (drei in die engere Auswahl) www.magic-instants.com/blog/?m=200607 Erfahrungen nach einer Woche: 1. Sehr viele Geräte geben nur eine Sorte von Münzen aus (nur ein Hopper = Münzspeicher) 2. Einige waren echte Stationen mit EC-Terminal und Touchscreen --> entsprechend teuer + Wartungsverträge 3. Durch Komponentenprinzip wurde z.t. das Wunschgerät teuer 4. (Von Design der Geräte manchmal kein Spur)
Fündig geworden sind wir bei: www.gos-geldwechsler.de Eberhard Moosbauer Horstweg 44 D- 65520 Bad Camberg Telefon: +49 6434 5999 Telefax: +49 6434 900110 E-Mail: Info@gos-geldwechsler.de Internet: www.gos-geldwechsler.de Vier Hopper-Variante, war mit Abstand das günstigste Angebot in der Leistungsklasse, hat Design, deckt alle Wünsche ab!!! Angebote waren von ca. 3000 bis hoch zu 10.000 Euro (inkl. MwSt)
FollowPrint 1 Zwischenbereich 3 2 Abschicken zeitversetzt Abrufen & Ausdrucken
Zielvorgaben: Seitengenaue Abrechnung Druckjobs absenden von Windows, Mac und Solaris Bibliotheksbenutzerausweis weiter verwenden (!) keine extra Datenpflege von Benutzerdaten Anbindung an das Bibliothekssystem Übernahme der wichtigsten Benutzerdaten Übernahme von Sperren Übernahme von Gruppeninfo (Mitarbeiter, Studierende) Abrechnung von Ausdrucken, etc nein/ja Unsere HP-Geräte sollten weiter verwendet werden wünschenswert: Anbindung der Kopierer wünschenswert: Druckjob via Webserver (anonym. Funknetz)
Was ist das Besondere? Nur eine Druckerwarteschlange Abschicken von irgendeinem Rechner Zum Server
Was ist das Besondere? Abholen an irgendeinem Drucker oder Multifunktionsgerät (MFP) Jeder Drucker hat einen Kartenleser (in unserem Fall ein Barcode- Lesegerät) und eine Zusatzbox (im Kabelkanal eingebaut) über die der Benutzer seinen Druckjob per Karte aktiv abruft!
Eingesetztes Produkte: FollowMe von Ringdale Deutsche Vertretung» Secure Printing» Personalized Printing stethos GmbH Stefan Schmidt Weimarer Straße 48 D-71065 Sindelfingen www.stethos.com» User Authentication» Decreased Waste» Accounting and Print Audit» Copy Patrol http://www.ringdale.com/ Barcode-Scanner: Omnidirektionaler Laser-Scanner USB BS-350 von Birch (Quantum) bezogen über: PULSA GmbH Landweg 6 D-32339 Espelkamp-Fiestel www.pulsa.de
Datenfluss im FollowPrint-System Anwender Datenbank Anwender Synchronisation MFP - Zugang nur mit OPAC-Pin Kopierer Drucker MFP Client FollowMe Q-Server FollowMe Printing ID-Leser FollowMe Controller Kopierer Drucker MFP Datenbank Windows Drucker: nur noch Abrufen
Multifunktionsgerät Funktionsumfang Scannen und per Mail versenden (Emailadresse aus Sisis) Kopieren Faxen (nur Mitarbeiter) Ausdrucken HP MFP FollowMe - bitte Knopf drücken
Anmelden am MFP: Ausweisnummer + OPAC-Pin MFPs haben Touch-Screen -> alphanumerische Eingaben
Bibliothekssystem Authentifikation Recherche PCs in der Bibliothek Windows Mac Rechner Mitarbeiter LPR Protokoll Netzwerkdrucker Bennutzerdaten (Export) Login + Kennwort LPR Protokoll FollowMe Server Windows Web- Oberfläche PDF-Dokument hochladen Drucker Rechner im Funknetz Unix Barcode Multifunktionsgeräte
Verzahnung von FollowMe und Sunrise 1. DB-View auf relevante Daten BNR, email, Gruppe, Statistikgruppe (Nation), Sperren. (Windows-Login) 2. CSV-Export per Cron-Job 3. Diff zu dem vorherigen Cron-Job-Export 4. Zugriff via Samba auf die Datei mit den exportieren Daten 5. Lesen der Datei mit einem PHP-Skript 6. Import direkt in die FollowMe-DB via SQL & ODBC Import: LDAP oder durch einen PDC (Primary Domain Controller von Windows) wäre auch möglich gewesen, aber durch die Sonderregelung mit Freikontingent pro Semester war bei uns nur ein Direktimport sinnvoll.
Verwaltungsoberfläche
Verwaltungsoberfläche Duplex billiger als simplex
Fazit: Verzahnung Windows-Login & Sisis- Nummer etwas kniffelig 60 Tg-Testlizenz zum Ausprobieren Drucker brauchen zusätzliche Hardware Insgesamt nicht ganz billig Academic-Lizenz vorhanden Datenmodell sehr differenziert Abrechnung sehr differenziert Bericht- und Diagramm-Generator Event-Einstiegspunkte für VB-Skripte guter Support 4 Monate 10 Tage
RFID Technik & Service System läuft stabil Echte Erleichterung Verlängerung der Öffnungszeiten Ausleihen ohne Fachkraft (mit Wachdienst) möglich Rückgabe solange Automat erreichbar ist Bei mehr als 15 Büchern auf dem Konto = lahm Service ausbaufähig Rechner in Selbstverbucher nicht Windowszeitgemäß - CE? Linux? Service Zusammenspiel Technik
Alles noch sehr jung Noch nicht ganz glatt Service steht etwas im Hintergrund Technik steht vorne Einfluss von Technik dominiert Ohne Service nicht lauffähig (Hotline OCLC) Schmaler Übergang Softwarepflege Hotline Bibliotheca Hardwarepflege