SWAZoo - AIDA A Smalltalk Web Application Server Janko Mivsek - - PowerPoint PPT Presentation

swazoo aida
SMART_READER_LITE
LIVE PREVIEW

SWAZoo - AIDA A Smalltalk Web Application Server Janko Mivsek - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

SWAZoo - AIDA

A Smalltalk Web Application Server

Janko Mivsek Eranova d.o.o. Ljubljana, Slovenia

On the sunny side of the Alps

slide-2
SLIDE 2

Contents

 AIDA/Web

 demo  architecture  examples

 SWAZoo

 goals

 Discussion

slide-3
SLIDE 3

AIDA/Web

 A Web server  Framework for dynamic web applications

slide-4
SLIDE 4

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  ...

slide-5
SLIDE 5

Competition

 Java

 IBM WebSphere  ...

 Microsoft

slide-6
SLIDE 6

AIDA/Web demo

slide-7
SLIDE 7

Download it and try!

 http://www.eranova.si/aida

 complete source  small demo

 Open source

slide-8
SLIDE 8

Architecture

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

slide-9
SLIDE 9

Original design ideas

 Web of objects

 … connected by object references

 Web ob pages

 … connected by URLl links

slide-10
SLIDE 10

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!)

slide-11
SLIDE 11

MVC on Web

 Complete separation of presentation from domain model  Observer pattern: domain object are not aware of presentation

slide-12
SLIDE 12

domain

  • bject

MVC on Web

a WebApp domain

  • bject
  • bservee
slide-13
SLIDE 13

MVC on Web

 Multiple Views of the same object

 discussions - hierarchical/cronological

 Registration of web print methods for different views

slide-14
SLIDE 14

MVC on Web

 Web forms

 Input fields connected to domain object attributes with a pluggable adapter  Submit button  Action methods

slide-15
SLIDE 15

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

slide-16
SLIDE 16

Complete path of a WebRequest

slide-17
SLIDE 17

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

slide-18
SLIDE 18

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

slide-19
SLIDE 19

Security

 SSL (Secure Socket Layer)  SSLSocketAccessor  Seamless integration in AIDA/Web

slide-20
SLIDE 20

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

slide-21
SLIDE 21

Smalltalk Server Pages

 Calls to Smalltalk from HTML static pages  Like ASP, JSP, …  <AIDA WebStatistics printCounter>

slide-22
SLIDE 22

Examples

slide-23
SLIDE 23

SWAZoo

 Smalltalk Web Application ZOO :-))  a CampSmalltalk project  Merging all Web related work together

 Commanche, Hydrogen, ByteSmiths toolkit, AIDA/Web  VisualWave, VisualAge SST

slide-24
SLIDE 24

Internet related CS projects

 Internet Client/Server framework  Smalltalk Web Application Server  SOAP  XML

slide-25
SLIDE 25

SWAZoo

 HTTP 1.1 server  Virtual servers  Resource hierarchy  URL resolution  HTTPRequest parsing

slide-26
SLIDE 26

Discussion

Smalltalk in e-commerce world?