Seaside

Architecture

Seaside Server
Seaside commonly uses the Kom HTTP Server, running in a Smalltalk image, although other servers are possible.
Components
All HTML is output by components, which descend from WAComponent.
Tasks
Descendants of WATask define workflow. They call components to interact with the user.
The root of the website is a Component or a Task.
The Model
The consists of ordinary Smalltalk classes, which can be held in the session, or instance variables of components.

State

The execution context is preserved across postbacks, so state is maintained automatically. A descendant of WASession can hold session-wide data if desired.

Source Files

Smalltalk applications do not exist as independent entities; all the code lives in an image as a set of live objects. Code can be shared by filing out, which produces a file ("goodie") that can be filed into another image. However, there are more sophisticated methods of sharing code, such as the Monticello package manager.

The source for the application is given as a file out, App.st.

Deployment

Deploying a Smalltalk application consists of filing in code, or loading a package. Alternatively, a complete image may be copied to the server.

Tools

Smalltalk has excellent development tools built into the environment. This application was built with Ramon Leon's Squeak image.