- Web2py
-
web2py Entwickler: Massimo Di Pierro Aktuelle Version: 1.47
(27. Oktober 2008)Betriebssystem: plattformunabhängig Programmiersprache: Python Kategorie: Web Application Framework Lizenz: GPL2 www.web2py.com web2py ist ein Open-Source-Framework für die agile Entwicklung von datenbankbasierten Webanwendungen. Es ist in Python geschrieben und nutzt Python auch zum Programmieren.
Ein Fokus von web2py liegt auf Datensicherheit, indem es standardmäßig Mechanismen zur Validierung von Nutzereingaben und Maskierung von Ausgaben einsetzt und so die meisten gängigen Angriffspunkte wie SQL-Injections, Cross-Site-Scripting und unsichere direkte Referenzierung von Objekten verhindert. Weiterhin ermutigt es die Entwickler dazu, saubere Praktiken der Software-Entwicklung einzusetzen, beispielsweise das Model-View-Controller-Architekturmuster, Affenformulare, serverseitige Sitzungen oder die sichere Handhabung von hochgeladenen Dateien.
web2py ist ein vollständiges Framework, da es Komponenten für alle gängigen Hauptfunktionen seines Einsatzzweckes enthält: Einige Beispiele:
- Handhabung von Cookies, Sessions, HTTP-Anfragen und -Antworten
- konfigurierbares Caching in Hauptspeicher und auf Massenspeichern
- inhaltliche Mehrsprachigkeit
- automatisches Protokollieren von Fehlern einschließlich ihres jeweiligen Kontextes.
- eine Abstraktionsschicht für Datenbanken, die dynamisch SQL erzeugt
- Templates ermöglichen die Nutzung von Python-Code eingebettet in HTML-Code, anders als etwa bei Django ist keine gesonderte Template-Sprache zu erlernen
- Kompatibilität zu vielen Datenbankmanagementsystemen (derzeit SQLite, MySQL, PostgreSQL, Oracle, Microsoft SQL Server, Firebird und Google App Engine (Datastore))
Ein Merkmal von web2py ergibt sich aus seiner Herkunft: Ursprünglich wurde es an der DePaul University als Lehr-/Lernwerkzeug entworfen und verfügt daher über eine sehr flache Lernkurve. So wurde auf eine einfache Installation geachtet, indem es auf den typischen Installationsprozess verzichtet. Es bietet weiterhin eine Web-Oberfläche, die das Entwickeln und Pflegen, Testen, Debugging sowie die Verwaltung der Datenbanken ohne gesonderte Tools ermöglicht.
web2py kommuniziert über die WSGI-Schnittstelle, derzeit die aktuelle Entwicklung für die Kommunikation zwischen Webserver und Webanwendungen im Python-Umfeld. Es enthält auch bereits den SSL-fähigen WSGI-Server CherryPy, bietet aber auch Zugriff über CGI und FastCGI.
Anwendungen
Basierend auf web2py werden von den gleichen Autoren zwei Anwendungen realisiert, welche einerseits die Möglichkeiten des Frameworks illustrieren, andererseits vollwertige, flexibel nutzbare os-Anwendungen darstellen:
- T3 ist ein Wiki, das gegenüber üblichen Produkten dieser Kategorie a) die Einbindung von Datenbanken sowie b) von Python-Code in Wiki-Seiten erlaubt [1].
- KPAX ist ein Content-Management-System, das wesentliche Grundfunktionen wie Attachments, Auto-Navigation und Benutzergruppen bietet und ein AJAX-Interface einsetzt [2].
Literatur
- Web programming with web2py, Python Magazine, Marco Tabini & Associates, Inc., Juni 2008
- Massimo Di Pierro: web2py Manual, Wiley Publishing, 2008, ISBN 978-0-470-43232-7
- Massimo Di Pierro, Web2py Enterprise Web Framework Manual, Auszug der Kapitel 3 und 9
Weblinks
Wikimedia Foundation.