wt, the witty web toolkit - fosdem · web server apache, lighttpd fastcgi module mod_fastcgi,...

22
FOSDEM 2007 http://witty.sf.net/ Wim Dumon Wt, The Witty Web Toolkit FOSDEM – Lightning talk Koen Deforche – Wim Dumon – Pieter Libin

Upload: others

Post on 22-Mar-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Wt, The Witty Web Toolkit - FOSDEM · Web server apache, lighttpd FastCGI module mod_fastcgi, mod_fcgid Wt session manager Wt session processes Web server apache, lighttpd Wt httpd

FOSDEM 2007 http://witty.sf.net/ Wim Dumon

Wt, The Witty Web Toolkit

FOSDEM – Lightning talk

Koen Deforche – Wim Dumon – Pieter Libin

Page 2: Wt, The Witty Web Toolkit - FOSDEM · Web server apache, lighttpd FastCGI module mod_fastcgi, mod_fcgid Wt session manager Wt session processes Web server apache, lighttpd Wt httpd

FOSDEM 2007 http://witty.sf.net/ Wim Dumon

Wt Basics

● Library to develop web applications– Rich Internet Applications– Web 2.0

● Available for C++ (now), and Java (soon).

● Object Oriented Widget tree model– API is inspired by existing GUI libraries

● Provides abstraction of web technologies– CGI/HTML/AJAX/JavaScript/Forms/DOM

Page 3: Wt, The Witty Web Toolkit - FOSDEM · Web server apache, lighttpd FastCGI module mod_fastcgi, mod_fcgid Wt session manager Wt session processes Web server apache, lighttpd Wt httpd

FOSDEM 2007 http://witty.sf.net/ Wim Dumon

Hello Britney!

Page 4: Wt, The Witty Web Toolkit - FOSDEM · Web server apache, lighttpd FastCGI module mod_fastcgi, mod_fcgid Wt session manager Wt session processes Web server apache, lighttpd Wt httpd

FOSDEM 2007 http://witty.sf.net/ Wim Dumon

Hello Britney!

Page 5: Wt, The Witty Web Toolkit - FOSDEM · Web server apache, lighttpd FastCGI module mod_fastcgi, mod_fcgid Wt session manager Wt session processes Web server apache, lighttpd Wt httpd

FOSDEM 2007 http://witty.sf.net/ Wim Dumon

Is Britney Witty or a Cuty?

Page 6: Wt, The Witty Web Toolkit - FOSDEM · Web server apache, lighttpd FastCGI module mod_fastcgi, mod_fcgid Wt session manager Wt session processes Web server apache, lighttpd Wt httpd

FOSDEM 2007 http://witty.sf.net/ Wim Dumon

Browser and Desktop

Page 7: Wt, The Witty Web Toolkit - FOSDEM · Web server apache, lighttpd FastCGI module mod_fastcgi, mod_fcgid Wt session manager Wt session processes Web server apache, lighttpd Wt httpd

FOSDEM 2007 http://witty.sf.net/ Wim Dumon

Browser and Desktop

Page 8: Wt, The Witty Web Toolkit - FOSDEM · Web server apache, lighttpd FastCGI module mod_fastcgi, mod_fcgid Wt session manager Wt session processes Web server apache, lighttpd Wt httpd

FOSDEM 2007 http://witty.sf.net/ Wim Dumon

Standard Wt Widgets

Page 9: Wt, The Witty Web Toolkit - FOSDEM · Web server apache, lighttpd FastCGI module mod_fastcgi, mod_fcgid Wt session manager Wt session processes Web server apache, lighttpd Wt httpd

FOSDEM 2007 http://witty.sf.net/ Wim Dumon

WLabel interface

Page 10: Wt, The Witty Web Toolkit - FOSDEM · Web server apache, lighttpd FastCGI module mod_fastcgi, mod_fcgid Wt session manager Wt session processes Web server apache, lighttpd Wt httpd

FOSDEM 2007 http://witty.sf.net/ Wim Dumon

Wt: Event Handling

Events &Widget state changes

Render Widget changes

Page 11: Wt, The Witty Web Toolkit - FOSDEM · Web server apache, lighttpd FastCGI module mod_fastcgi, mod_fcgid Wt session manager Wt session processes Web server apache, lighttpd Wt httpd

FOSDEM 2007 http://witty.sf.net/ Wim Dumon

Wt: Session Architecture

● Wt manages multiple sessions

Page 12: Wt, The Witty Web Toolkit - FOSDEM · Web server apache, lighttpd FastCGI module mod_fastcgi, mod_fcgid Wt session manager Wt session processes Web server apache, lighttpd Wt httpd

FOSDEM 2007 http://witty.sf.net/ Wim Dumon

Wt: Session Management

Two modes (runtime option):● Dedicated processes

– One process for each session– High session cost– Kernel-level isolation between sessions

● Suitable for application like e-banking– Easy to debug

● Shared processes– Fixed number of processes handle all sessions– Multi-threaded request handling– Low session cost– Suitable for 'open' applications like google maps.

Page 13: Wt, The Witty Web Toolkit - FOSDEM · Web server apache, lighttpd FastCGI module mod_fastcgi, mod_fcgid Wt session manager Wt session processes Web server apache, lighttpd Wt httpd

FOSDEM 2007 http://witty.sf.net/ Wim Dumon

Wt: Deployment

Web serverapache, lighttpd

FastCGI modulemod_fastcgi, mod_fcgid

Wt sessionmanager

Wt sessionprocesses

Web serverapache, lighttpd

Wt httpd(soon)

Wt sessionprocesses

● Linux & Unix:

● Linux, Unix & Win32:

Page 14: Wt, The Witty Web Toolkit - FOSDEM · Web server apache, lighttpd FastCGI module mod_fastcgi, mod_fcgid Wt session manager Wt session processes Web server apache, lighttpd Wt httpd

FOSDEM 2007 http://witty.sf.net/ Wim Dumon

Wt: Abstraction of web technologies

● Specify what the page should look like, not how it should be updated

● Specify event handling in C++

● Library tries to use AJAX and JavaScript, if not available uses plain HTML page refreshes

● Wt may optimize away server roundtrip

Page 15: Wt, The Witty Web Toolkit - FOSDEM · Web server apache, lighttpd FastCGI module mod_fastcgi, mod_fcgid Wt session manager Wt session processes Web server apache, lighttpd Wt httpd

FOSDEM 2007 http://witty.sf.net/ Wim Dumon

GMail Composer Example

Page 16: Wt, The Witty Web Toolkit - FOSDEM · Web server apache, lighttpd FastCGI module mod_fastcgi, mod_fcgid Wt session manager Wt session processes Web server apache, lighttpd Wt httpd

FOSDEM 2007 http://witty.sf.net/ Wim Dumon

Wt: sample applications

Page 17: Wt, The Witty Web Toolkit - FOSDEM · Web server apache, lighttpd FastCGI module mod_fastcgi, mod_fcgid Wt session manager Wt session processes Web server apache, lighttpd Wt httpd

FOSDEM 2007 http://witty.sf.net/ Wim Dumon

Wt: sample applications

Page 18: Wt, The Witty Web Toolkit - FOSDEM · Web server apache, lighttpd FastCGI module mod_fastcgi, mod_fcgid Wt session manager Wt session processes Web server apache, lighttpd Wt httpd

FOSDEM 2007 http://witty.sf.net/ Wim Dumon

Wt: sample applications

Page 19: Wt, The Witty Web Toolkit - FOSDEM · Web server apache, lighttpd FastCGI module mod_fastcgi, mod_fcgid Wt session manager Wt session processes Web server apache, lighttpd Wt httpd

FOSDEM 2007 http://witty.sf.net/ Wim Dumon

Wt: development status

● Wt 2.0.0 (C++): stable

● JWt (Java)– Runs in Java Application Servers– First release planned in March.

Page 20: Wt, The Witty Web Toolkit - FOSDEM · Web server apache, lighttpd FastCGI module mod_fastcgi, mod_fcgid Wt session manager Wt session processes Web server apache, lighttpd Wt httpd

FOSDEM 2007 http://witty.sf.net/ Wim Dumon

Wt: developers

● Koen Deforche– Initial developer, maintains C++ Wt.

● Wim Dumon– Documentation– Windows port

● Abdiel Janulgue– First template based signal/slot implementation

● Pieter Libin– Port to Java, maintains Java JWt.

Page 21: Wt, The Witty Web Toolkit - FOSDEM · Web server apache, lighttpd FastCGI module mod_fastcgi, mod_fcgid Wt session manager Wt session processes Web server apache, lighttpd Wt httpd

FOSDEM 2007 http://witty.sf.net/ Wim Dumon

Wt on the web

Availability, documentation, etc...

http://witty.sf.net

Page 22: Wt, The Witty Web Toolkit - FOSDEM · Web server apache, lighttpd FastCGI module mod_fastcgi, mod_fcgid Wt session manager Wt session processes Web server apache, lighttpd Wt httpd

FOSDEM 2007 http://witty.sf.net/ Wim Dumon

Thank you!