Web-Anwendungsentwicklung à la MVC
Übersicht Über Georg Heeg Ein industrielles Beispiel Web-Anwendungen aus Smalltalker-Sicht MVC für das Web Programmierdemo Zusammenfassung VisualWaf als Produkt
Über Georg Heeg eK 100% Smalltalk seit 1987 Geschäftsstellen in –Dortmund –Köthen (Anhalt) –Zürich (CH) Beratung und Produktentwicklung VisualWorks Support EMEA für Cincom Windows CE Plattform
Ein Industrielles Beispiel MSR-Spezifikationswerkzeug für Anlagenplanung und –bau Wissensbasiertes System Standardisierungsprojekt (DIN) Pay-per-use oder Hersteller-spezifisch SpecSheet
Ein Industrielles Beispiel Domain –12 Packages –111 Klassen mit 612 Methoden Web-Applikation –10 Packages –53 Klassen mit 403 Methoden –9 Tasks, 6 Views, 1 Controller –57 SSP-Pages SpecSheet
Ein Industrielles Beispiel
Web–Anwendungen VisualWorks enthält das WebToolkit –Genaue Implementierung von JSP/ASP Server-Script-Page Eigener Web-Server oder Brücken Verwaltung von Web-Sites –Scripten in Smalltalk-Syntax
Web–Anwendungen Web-Anwendung aus Smalltalk-Sicht primitive Neandertal-Technologie –Ausgabe: HTML-Strings für Werte –Eingabe: Dictionary von Strings –Zustandslos –Sehr einfacher Satz von Widgets (ST80 2.2, ca. 1986) TN3270 in bunt mit Musik
Die Versorgungslücke Request Browser Smalltalk Domäne Außenwelt app domain Application Model Response
Web-Anwendungen Smalltalker arbeiten mit –Reicher Menge an Widgets –MVC als Modell der Anwendungsarchitektur –ValueModel und Aspect-Kanäle zur Verbindung von GUI und Anwendungsmodell –Event-getriebene Anwendungssteuerung –Komplette Abstraktion der Präsentationsimplementierung (nur Smalltalk-Werte)
VisualWaf Ziele Web-Anwendungsentwicklung so einfach wie GUI-Entwicklung machen GUI-Konzepte erhalten Web-Konzepte erhalten Die Zusammenarbeit von Web-Designern und Smalltalk-Entwicklern fördern
VisualWaf Ziele Einfach zu schnellen Ergebnissen Tragfähig für anspruchsvollste Anwendungen Effizient für hohen Datendurchsatz
MVC à la GUI ViewControllerSmalltalk Domain Outside Domain aspect messageaspect value app domain Application Model Programmierung Konfiguration
MVC für das Web View = Response-Service –Darstellung der Smalltalk-Domäne in HTML –Erzeugung von HTML-Elementen –Optional Erzeugung ganzer Webseiten Controller = Request-Service –Interpreter der HTTP-Requests (Formulare) –Interpreter der String-Werte als Smalltalk-Werte Gröbere Granularität als GUI-MVC –Inhalte ganzer Seiten statt –Inhalte einzelner Widgets
Die Versorgungslücke Request Browser Smalltalk Domäne Außenwelt app domain Application Model Response
MVC für das Web Request Browser Smalltalk Domäne Außenwelt property app domain Application Model Task action Response Programmierung Konfiguration... PageViewPageController
Live Demo
Live Demo Zusammenfassung Anwendungsmodell WebApplication –Site- und Task-Konfiguration –Schnittstelle zur Domain-Logik –ApplicationModel Anwendung zusammengesetzt aus Tasks –Modell der verarbeiteten Webseiten –Empfänger der HTTP-Request-Inhalte –Verantwortlich für Workflow –ApplicationModel eines SubCanvas
Live Demo Zusammenfassung Modell von Web-Pages –Name, URL –Values mit Typen Optionale View und Controller pro Page –Custom-HTML für Scripten auf Webseiten –Servlet für HTTP-Transaktionsverarbeitung –Spezifische Verarbeitung der Werte Typ-Konvertierung Fehlerbehandlung Fachliche Prüfung Deklarative Verbindung von Controller und Task –Aspects
Einige Features Präzise Workflow-Kontrolle durch Positionen Modell für Web-Komponenten Nebenläufiger Workflow auf einer Seite Mehrfache States pro Session
Positionen You are here!-Zeichen Position = State#+ Task+ Page+ Task- Internal Eine Position pro Seite und pro Web- Komponente Schlüssel für kontrollierten Workflow aPosition gotoTask: aTask page: aPage
Web-Komponenten
<!-- #include region=Workspace Fügt Komponente ein Welche? Das wird durch die Position Workspace bestimmt Fortschreiten der Positionen erfolgt unabhängig von einander
VisualWaf Features Application-server combined with server-script/servlet engine Choice of SSP-pages and application generated HTML on per page basis Multiple states per session allows synchronous browser windows Pages aggregated from regions: multiple independent workflow Well-defined abstraction of Web concepts for application developers Model of pages allows runtime inspection and adaptation Prepared for content management systems Automated Web value conversion with rich error handling Slim, powerful and well documented: easy to understand, use and adapt Same application concepts as traditional GUI development Very rapid prototyping of Web applications: 2 classes with 7 methods Based on WebToolkit
Zusammenfassung Web-Anwendungsentwicklung kein Problem Bekannte Architekturkonzepte Gute Koexistenz von GUI und Web Entwicklungskosten GUI und Web vergleichbar Freie Wahl von SSP-Seiten und Servlet- erzeugten Seiten Basiert auf WebToolkit
VisualWaf Ein Georg Heeg eK Produkt Version 3.0 verfügbar CPU-basiertes Lizenzmodell Consulting- und Entwicklungsunterstützung Wenden Sie sich an Andreas Tönne für eine Evaluationslizenz VisualWaf is a trademark of Georg Heeg eK
Georg Heeg eK Baroper Str. 337 D Dortmund Tel: Fax: Georg Heeg AG Riedtlistr. 8 CH-8006 Zürich Tel: Fax: Georg Heeg eK Mühlenstr. 19 D Köthen Tel: Fax: