Magma and Magma on Pharo questions

Chris Muller asqueaker at gmail.com
Wed Aug 12 03:02:24 UTC 2009


Thanks Miguel,

> Do you have a tutorial or recommended way to integrate plain magma with
> seaside.

Not a tutorial, but Brent and I collaborated and published a Seaside
demonstration several years ago:

   http://wiki.squeak.org/squeak/5817

This was a demonstration of the range of scale possible with Magma,
using the Seaside control panel to select a MagmaLocation..  From
using a single session with local connection (small scale) to one
MagmaSession per SeasideSession (large scale).

I'd spent quite a bit of time on and was proud of the demonstration,
but it didn't garner a single reply.  (Well, not until years later, I
suppose, when someone let me know "it doesn't work"  :-)).  I haven't
had time to keep it up new versions of Seaside, but it was just a
demonstration anyway, not intended for use direcly in an application..

> I mean, that considers points like:
>
> - a magma session for each seaside session
> - a pool of connections to magma to be used on demand for seaside
> sessions

Well, I've always liked one MagmaSession per seaside-session.  It was
the original way Magma was intended to be used for OLTP (web) style
apps.  You keep the sessions small so you can have a lot of them.  I
liked this approach because I think it may offer the most consistent
scalability.

When maximum, sub-second performance, is required, I know designers
have employed a pool of larger, shared sessions and keep more objects
cached..

I don't know there should be a "official" way to handle this layer..
it might be too constricting..

> - an easy way to start the connection to magma on the webapp startup (we
> all know that magma it is very slow to start connections and we can't
> afford to open one on each seaside new session)

Perhaps not, but sessions allocate and connect much faster now and a
background process can keep up a 50-session queue of them ready to
go..

> these are very valid concerns with a *new* user to magma and to
> *seaside* that wants to use both in an app.

Yes, I agree.  Thanks for articulating these points!  I plan to
develop some we components this year and will certainly share them.
In the meantime, I'm interested in finding out more about what's
already out there; seasideHelper, Kileueua(??), etc..

 - Chris


More information about the Magma mailing list