26
SWAZoo - AIDA A Smalltalk Web Application Server Janko Mivsek Eranova d.o.o. Ljubljana, Slovenia On the sunny side of the Alps

SWAZoo - AIDA

  • Upload
    esug

  • View
    830

  • Download
    2

Embed Size (px)

DESCRIPTION

SWAZoo - AIDA: A Smalltalk Web Application Server, by Janko Mivsek. (ESUG 2000, Southampton)

Citation preview

Page 1: SWAZoo - AIDA

SWAZoo - AIDA

A Smalltalk Web Application Server Janko Mivsek Eranova d.o.o. Ljubljana, Slovenia On the sunny side of the Alps

Page 2: SWAZoo - AIDA

Contents

  AIDA/Web   demo   architecture   examples

  SWAZoo   goals

  Discussion

Page 3: SWAZoo - AIDA

AIDA/Web

  A Web server   Framework for dynamic web applications

Page 4: SWAZoo - AIDA

Where is usefull?

  Internet   web sites, portals, e-shops, e-commerce,

newspapers, discussion forums, …

  Intranet, Extranet   Web based business apps   B2B   CRM, Document systems, Unified messaging   ...

Page 5: SWAZoo - AIDA

Competition

  Java   IBM WebSphere   ...

  Microsoft

Page 6: SWAZoo - AIDA

AIDA/Web demo

Page 7: SWAZoo - AIDA

Download it and try!

  http://www.eranova.si/aida   complete source   small demo

  Open source

Page 8: SWAZoo - AIDA

Architecture

  Original design ideas   MVC for the Web   WebElements   Session management   Security   Persistent everything   Smalltalk Server Pages

Page 9: SWAZoo - AIDA

Original design ideas

  Web of objects   … connected by object references

  Web ob pages   … connected by URLl links

Page 10: SWAZoo - AIDA

Original design ideas

  Every object should be able to represent itself as a web page

  Object references should be mapped to URL references and vice-versa (automatically!)

Page 11: SWAZoo - AIDA

MVC on Web

  Complete separation of presentation from domain model

  Observer pattern: domain object are not aware of presentation

Page 12: SWAZoo - AIDA

domain object

MVC on Web

a WebApp

domain object

observee

Page 13: SWAZoo - AIDA

MVC on Web

  Multiple Views of the same object   discussions - hierarchical/cronological

  Registration of web print methods for different views

Page 14: SWAZoo - AIDA

MVC on Web

  Web forms   Input fields connected to domain object

attributes with a pluggable adapter   Submit button   Action methods

Page 15: SWAZoo - AIDA

WebElements

  Smalltalk objects representing the elements of a web page   text, url links, images, tables, input fields, …

  Composite objects   nesting of web elements   reusable web components

Page 16: SWAZoo - AIDA

Complete path of a WebRequest

Page 17: SWAZoo - AIDA

Session management

  Sessions used to separate users from each other

  Web is stateless   Session identification   cookies   parameter in an URL

  Sessions are permanent and persistent

Page 18: SWAZoo - AIDA

Security

  Access rights   who is allowed to view or update my object?   Access rights for each view   separate right for update (form submit)

  URL links to the prohibited objects are inactive

  Authentication

Page 19: SWAZoo - AIDA

Security

  SSL (Secure Socket Layer)   SSLSocketAccessor   Seamless integration in

AIDA/Web

Page 20: SWAZoo - AIDA

Persistent Everything

  Almost all objects of AIDA/Web are persistent   requests, sessions, security, …

  Gemstone or Versant ODB used   Lightweight TransactionMonitor   Caching on a AIDA/Web side   35.000 hits/h

Page 21: SWAZoo - AIDA

Smalltalk Server Pages

  Calls to Smalltalk from HTML static pages   Like ASP, JSP, …

  <AIDA WebStatistics printCounter>

Page 22: SWAZoo - AIDA

Examples

Page 23: SWAZoo - AIDA

SWAZoo

  Smalltalk Web Application ZOO :-))   a CampSmalltalk project   Merging all Web related work together   Commanche, Hydrogen, ByteSmiths toolkit,

AIDA/Web   VisualWave, VisualAge SST

Page 24: SWAZoo - AIDA

Internet related CS projects

  Internet Client/Server framework   Smalltalk Web Application Server   SOAP   XML

Page 25: SWAZoo - AIDA

SWAZoo

  HTTP 1.1 server   Virtual servers   Resource hierarchy   URL resolution   HTTPRequest parsing

Page 26: SWAZoo - AIDA

Discussion

Smalltalk in e-commerce world?