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.
web2py | |
---|---|
Basisdaten
| |
Entwickler | Massimo Di Pierro |
Aktuelle Version | 1.47 (27. Oktober 2008) |
Betriebssystem | Linux, Mac OS X, Unix, Windows, Windows CE |
Programmiersprache | Python |
Kategorie | Web Application Framework |
Lizenz | GPL2 |
www.web2py.com |
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)
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.
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