netuse web application framework kai voigt netuse ag [email protected] 28. februar 2003
TRANSCRIPT
![Page 2: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/2.jpg)
Agenda
• Motivation• Architektur• Features• Tutorial• Referenzen• Weitere Informationen
![Page 3: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/3.jpg)
Reale Problemstellung
• Gespeicherte Personen-, Objektinformationen in diversen Datenbanken (SQL, LDAP, Dateisystem)
• Rechtestrukturen (Hierarchien, Gruppen) und ihre Verwaltung
• Viele Mitarbeiter mit unterschiedlichem technischen Know-How
• Das eigentliche Problem: Zentrale Administration
![Page 4: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/4.jpg)
Zielsetzung
• Dezentrale Datenpflege (webbasiert)• Rollen- und Rechtesystem auf technischer Ebene
abbilden• Vermeidung von Fehlbedienung• Erweiterbarkeit• Integration in bestehende Strukturen
![Page 5: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/5.jpg)
Wunsch I
![Page 6: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/6.jpg)
Wunsch II
![Page 7: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/7.jpg)
Wunsch III
![Page 8: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/8.jpg)
Das NetUSE Web Application Framework ist …
• Serverseitige Entwicklungsumgebung für webbasierte Administrationsoberflächen
• Plattform- und Browserunabhängig
• Stabil (2 Jahre Projekterfahrung)• Leicht integrierbar, installierbar, aktualisierbar
• Freie Software (BSD License)• In PHP4 geschrieben
![Page 9: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/9.jpg)
Voraussetzungen
• UNIX-Server– Solaris
– Linux
• Webserver– CGI oder mod_php
• PHP– 4.1 oder besser
– Session-Modul aktiviert
![Page 10: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/10.jpg)
System-Architektur
Webserver PHP
NetUSEWeb ApplicationFramework
Application
LDAP SQL
![Page 11: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/11.jpg)
Komponenten einer Anwendung
• Eingabe/Ausgabe– Form-Generatoren– Fehlermeldungen– Layout-Einbettung
• Code– Callback-Routinen– Eingabe-Validierung– Dialog-Workflow– Authentifzierung
![Page 12: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/12.jpg)
Programmierung mit dem Framework
• Datenstrukturen– Datenbank-Tabellen
– LDAP-Bäume
– Rechte- und Rollenstrukturen
• Datenfluss– Berechtigungen
– Manipulationen
• Masken-Gestaltung (Rapid Prototyping)• Implementierung Nutzcode• Tests
![Page 13: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/13.jpg)
Masken
<?php
# /opt/myapp/dialogs/main.php
class dialog {
function form() {
form_start();
form_text("Name", "name");
form_submit("Say Hello", "hello");
form_end(); }
}
?>
![Page 14: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/14.jpg)
Verzeichnisstruktur
• /opt/WAF-0.9/– NetUSE Web Application Framework
• /opt/myapp/– Basisverzeichnis der Anwendung
• /home/www/index.php
<?php include(“/opt/WAF-0.9/main.php“); waf_start(“/opt/myapp/“);?>
![Page 15: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/15.jpg)
Ausgabe
![Page 16: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/16.jpg)
Callback-Code und Dialog-Steuerung
class dialog {
...
function hello() {
$name = variable_read("name");
if ($name == "") {
error_set("name", "Must enter username");
} else {
$_SESSION["name"] = $name;
dialog_push("hello");
}
}
}
![Page 17: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/17.jpg)
Verknüpfter Dialog
class dialog {
function form() { form_start(); form_info("", "Hello ".$_SESSION["name"]); form_submit("OK", "ok"); form_end(); }
function ok() { dialog_pop(); }
}
![Page 18: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/18.jpg)
Ausgabe
![Page 19: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/19.jpg)
Weitere Form-Elemente
• HTML-Eingabe-Elemente– Textfelder (ein/mehrzeilig, Passworte)
– Auswahl (einfach/mehrfach)
• Frei programmierbare Elemente
• Ausgaben– Freies HTML
– Bilder
![Page 20: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/20.jpg)
Layout-Integration
![Page 21: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/21.jpg)
Weitere Features (teilweise realisiert)
• Konfiguration globaler Parameter• CSS-Unterstützung für Form-Elemente• Integration in globale Navigation• Debugging• Monitoring
![Page 22: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/22.jpg)
Automatische Authentisierung
class dialog {# /opt/myapp/dialogs/login.php
function form() { form_start(); form_text("Username", "username"); form_password("Password", "password"); form_submit("Login", "login"); form_end(); }
function login() { if (...) { dialog_set("main"); } }}
![Page 23: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/23.jpg)
![Page 24: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/24.jpg)
Referenzen
• myDAA (~2500 Benutzer)Administrationsumgebung für verteiltes Mailsystem
• my.schulon.org (~2000 Benutzer)Lehr- und Lernumgebung
• VU/4 eBusinesslösung (~20.000 Benutzer)Online-Dialog für Stadtwerkekunden
• www.lotterie.de (~1500 Benutzer)Online-Dialog für Klassenlotterie
• NetUSE NIC ManagerAutomatisierte Domain-Bestellung
![Page 25: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/25.jpg)
Release Plan
• Version 0.9: Q1 2003– Beta Public Release
• Version 1.0: Q2 2003– OO-Widgets
– Bessere CD-Integration
• Entwicklung nach Projektbedarf
![Page 26: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/26.jpg)
Weitere Informationen
• http://framework.netuse.de/– Dokumentation
– Download
– Referenzen
• [email protected]– Support
– Consulting
– Training
– Bug Reports
– Feature Requests
![Page 27: NetUSE Web Application Framework Kai Voigt NetUSE AG kv@netuse.de 28. Februar 2003](https://reader034.vdocuments.us/reader034/viewer/2022051614/55204d6749795902118bd514/html5/thumbnails/27.jpg)
Fragen?