Swazoo in 1 Paragraph

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Swazoo in 1 Paragraph

Ken Treis-4
Just a shot at it...

Swazoo is a free web server and website framework written entirely in
Smalltalk.  It aims for HTTP/1.1 compliance and runs under several
Smalltalk dialects.  Using a composite resolution pattern, Swazoo makes
it possible to build sites that simultaneously use a variety of web
technologies (e.g. server-parsed "active" HTML, servelets, etc).  The
Swazoo development team hopes to create an entire web application
framework built on this foundation.

Related to that last line -- let's start some discussions about a web
application framework. Janko probably has the most experience with this,
so maybe we should start by asking him (please?) to explain how AIDA works.


Ken



Reply | Threaded
Open this post in threaded view
|

AIDA/Web in short (was Swazoo in 1 Paragraph)

Janko Mivšek
Hi Ken, hi all,

Sorry, I'm late again ...

So, what's AIDA/Web in current state:

AIDA/Web is Web Application Server, that is, a web server with a
framework for doing web based applications in Smalltalk way.

Main idea back to 1996 was that we need a Smalltalk friendly way to
produce another user interface for our domain models besides GUI: a web
based presentation. But we didn't want to just put GUI like design on
the web, we wanted to explore a full potential of it. On the other side,
a strict separation of presentation from domain model was still a major
goal and we do that in MVC spirit.

So, goals behind AIDA/Web were/are in short:

- web presentation of domain model in MVC spirit
- full use of all web possibilities in web way, not GUI way
- easy web programming in pure Smalltalk without knowing HTML
- full use of web navigation (hypertext - url links), which is not
present in GUI world
- all usuall stuff like session control (cookies), security etc ...

During all those years using AIDA/Web in production I found basic idea
quite stable and usefull (no big changes in core AIDA for a while) and I
really like to merge, refactor, extend AIDA slowly into Swazoo and I see
CS4 an opportunity to start that.

Guys, help me explain AIDA more with your questions please :)

Cheers
Janko




Ken Treis wrote:

> Just a shot at it...
>
> Swazoo is a free web server and website framework written entirely in
> Smalltalk.  It aims for HTTP/1.1 compliance and runs under several
> Smalltalk dialects.  Using a composite resolution pattern, Swazoo
> makes it possible to build sites that simultaneously use a variety of
> web technologies (e.g. server-parsed "active" HTML, servelets, etc).  
> The Swazoo development team hopes to create an entire web application
> framework built on this foundation.
>
> Related to that last line -- let's start some discussions about a web
> application framework. Janko probably has the most experience with
> this, so maybe we should start by asking him (please?) to explain how
> AIDA works.
>
>
> Ken
>
>
> _______________________________________________
> Swazoo-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/swazoo-devel
>




Reply | Threaded
Open this post in threaded view
|

Re: AIDA/Web in short (was Swazoo in 1 Paragraph)

Ken Treis-4
Janko Mivsek wrote:

> Sorry, I'm late again ...

Hey, you're talking to the guy who took about 3 months (or more) to get
code published in the Cincom StORE.  So you won't get any complaints
from me.  :)

> So, what's AIDA/Web in current state:
>
> AIDA/Web is Web Application Server, that is, a web server with a
> framework for doing web based applications in Smalltalk way.
>
> Main idea back to 1996 was that we need a Smalltalk friendly way to
> produce another user interface for our domain models besides GUI: a
> web based presentation. But we didn't want to just put GUI like design
> on the web, we wanted to explore a full potential of it. On the other
> side, a strict separation of presentation from domain model was still
> a major goal and we do that in MVC spirit.

Now that I've built a few sites using Swazoo, this is really intriguing
to me.  Maybe I ought to just grab the code and pour over it again.

[other good intro text snipped]

> - easy web programming in pure Smalltalk without knowing HTML

Is this by your use of HTML objects (e.g. a "Table" class), or do you
have something that's even higher-level than that?

> - full use of web navigation (hypertext - url links), which is not
> present in GUI world

I also think it's important to acknowledge that web interfaces are
fundamentally different from program GUIs.

> - all usuall stuff like session control (cookies), security etc ...

It seems to me like we could integrate this into Swazoo's composite
resource pattern pretty easily.

> During all those years using AIDA/Web in production I found basic idea
> quite stable and usefull (no big changes in core AIDA for a while) and
> I really like to merge, refactor, extend AIDA slowly into Swazoo and I
> see CS4 an opportunity to start that.

Cool deal.  Maybe you can describe some of the core AIDA objects (i.e.,
where should I start if I want to understand how AIDA works?), and then
I'll spend some time looking at AIDA and summarizing what I find for the
list.  This will be a good learning experience for me, and maybe others
could benefit from it as well.


Ken



Reply | Threaded
Open this post in threaded view
|

Re: AIDA/Web in short (was Swazoo in 1 Paragraph)

Steve Alan Waring
In reply to this post by Janko Mivšek
Hi Janko,

> During all those years using AIDA/Web in production I found basic idea
> quite stable and usefull (no big changes in core AIDA for a while) and I
> really like to merge, refactor, extend AIDA slowly into Swazoo and I see
> CS4 an opportunity to start that.

Great!

> Guys, help me explain AIDA more with your questions please :)

I remember seeing an online presentation you did on AIDA a year or so ago.
Reply | Threaded
Open this post in threaded view
|

Re: AIDA/Web in short (was Swazoo in 1 Paragraph)

Janko Mivšek
Hi Steve

Steve Waring wrote:

>I remember seeing an online presentation you did on AIDA a year or so ago.
>>From memory it was part of a European Smalltalk conference. Do you have a
>link to this?
>
Yes, it was Southampton ESUG conference. You can find a presentation
here: http://www.esug.org/summerschools/2000_Southampton/aida/index.htm .

Home for AIDA/Web is at http://www.eranova.si/aida  (a bit old, i need
to *refactor* the page a bit :)

>
>Is http://www.eranova.si/ still AIDA's home? I have not been able to connect
>to it.
>
Hmm, it works for me, but M$ IIS is strange last days, need to migrate
to Swazoo ASAP :))
Would you try it again, please report if still not ok.

Cheers
Janko





Reply | Threaded
Open this post in threaded view
|

Re: AIDA/Web in short (was Swazoo in 1 Paragraph)

Steve Alan Waring
Hi Janko,

> Yes, it was Southampton ESUG conference. You can find a presentation
> here: http://www.esug.org/summerschools/2000_Southampton/aida/index.htm .

Thanks!

> Would you try it again, please report if still not ok.

I am getting a 10061 connection refused socket error trying to connect to
port 80 at
www.eranova.si / 212.18.45.65

I'll email through a traceroute.

Thanks,
Steve
www.dolphinharbor.org






Reply | Threaded
Open this post in threaded view
|

Re: AIDA/Web in short (was Swazoo in 1 Paragraph)

Janko Mivšek
Steve, it should work now ...

Janko

Steve Waring wrote:

>
>I am getting a 10061 connection refused socket error trying to connect to
>port 80 at
>www.eranova.si / 212.18.45.65
>
>I'll email through a traceroute.
>
>Thanks,
>Steve
>www.dolphinharbor.org
>
>



Reply | Threaded
Open this post in threaded view
|

Re: AIDA/Web in short (was Swazoo in 1 Paragraph)

Steve Alan Waring
Hi Janko,

> Steve, it should work now ...

Fixed!

Thanks,
Steve
www.dolphinharbor.org




Reply | Threaded
Open this post in threaded view
|

Re: AIDA/Web in short

Janko Mivšek
In reply to this post by Ken Treis-4
>
>
>> - easy web programming in pure Smalltalk without knowing HTML
>
>
> Is this by your use of HTML objects (e.g. a "Table" class), or do you
> have something that's even higher-level than that?

Yes, web components.

First, a HTML generation is done in two phases: first you make an object
representation of a page (hierarchy of web elements) and then this
object structure is streamed in HTML.

To build a WebPage, you compose it from WebElements like WebText,
WebImage, WebIputField etc. All those are subclasses of WebElement.
WebElement is actually a composite object, therefore it can contain
other WebElements. This is very handy because you can produce higher
level parts of a page, so called web components. And they can be reused
on other pages!

A glimpse on web elements hierarchy:

WebElement
    WebPage
        WebApplication
            YourApps
            ...
    WebText
        WebLink
        WebAnchor
    WebForm
    WebFormElement
        WebInputField
        WebTextArea
        WebButton
        WebCheckBox
           ....
    WebImage
    WebTable
    WebTableRow
    WebTableCell
    ....
   
And here is one simple method to produce a logon page:

logonPageFor: aSession

    | element |
    self clear.
    self    name: nil;    
        title: 'Logon'.

    element := WebElement new.
    element table width: 500.
    element cell
        addText: 'Username: '.
    element newCell
        add: (WebInputField new aspect: #username forObject: self).
    element newRow.
    element cell
        addText: 'Password:  '.
    element newCell
         add: (WebInputField new type: #password; aspect: #password
forObject: self).
    element newCell
        add: (WebButton new text: 'Logon').

    self add: element.

 
More questions please ;)

Janko