SWAZoo - AIDA

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

description

SWAZoo - AIDA. A Smalltalk Web Application Server Janko Mivsek Eranova d.o.o. Ljubljana, Slovenia On the sunny side of the Alps. Contents. AIDA/Web demo architecture examples SWAZoo goals Discussion. AIDA/Web. A Web server Framework for dynamic web applications. Where is usefull?. - PowerPoint PPT Presentation

Transcript of SWAZoo - AIDA

Page 1: SWAZoo - AIDA

SWAZoo - AIDA

A Smalltalk Web Application Server

Janko MivsekEranova d.o.o.Ljubljana, SloveniaOn 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 serverFramework 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 ideasMVC for the WebWebElementsSession managementSecurityPersistent everythingSmalltalk 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 statelessSession 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)SSLSocketAccessorSeamless 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 usedLightweight TransactionMonitorCaching on a AIDA/Web side35.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 projectMerging 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 frameworkSmalltalk Web Application ServerSOAPXML

Page 25: SWAZoo - AIDA

SWAZoo

HTTP 1.1 serverVirtual serversResource hierarchyURL resolutionHTTPRequest parsing

Page 26: SWAZoo - AIDA

Discussion

Smalltalk in e-commerce world?