sts2007

GLASS: Gemstone, Linux, Apache, Seaside and Smalltalk

May 2, 2007 17:31:29.400

Gemstone has had the most interesting set of stories out of this year's conference - they announced a free (including commercial use) version of Gemstone/S on Monday night, and today they are introducing GLASS - which puts together Seaside with a persistence story. Ruby on Rails is a large part of the inspiration behind the nomenclature. Seaside does what it does better than Rails (in our opinion) - but it has had no persistence (database) story.

The nice thing about Seaside is that you write applications in a very natural fashion using Smalltalk - the development pattern is more like that for traditional "screen" apps than most web application frameworks. Seaside came out of some Ruby work Avi Bryant did, but then moved to Smalltalk due to the better set of libraries and tools.

Seaside is attractive because it makes it much easier to create stateful applications over HTTP. The way it does this is via continuations - served pages can be associated with continuations (the stack). James Foster is now going through the standard Counter example that comes with Seaside. To support Seaside, you need continuations. We now have that in VisualWorks, ObjectStudio 8, Dolphin, Squeak, and Gemstone. Gemstone has added support because they can jump in and add value immediately with persistence.

Gemstone can work with internal web servers (Swazoo, Hyper, and Kom), or external servers - Apache (via FastCGI), or Lightpd (also via FastCGI). The Gemstone port is pretty nifty - they built an interface to Monticello and support loading straight from there. Interesting side effect there - they now use _ as an assignment operator, since Squeak code uses that. They do require spaces before and after - and this is a change from earlier revs of Gemstone.

Looks like something you'll want to head on over to Gemstone's site to take a look at. Since you can run multiple Gemstone VMs (hitting the same back end data), you can scale pretty much linearly. From the tools level, you can use VisualWorks, VisualAge, or Squeak to browse/edit code. The VW and VA interfaces are richer and more feature-full. The link above is a public "sandbox" that you can set up an account in and try things out in.

Technorati Tags:

Comments

[Marten Feldtmann] May 3, 2007 10:52:51.656

What did Gemstone announce ? A free version ? I can not find anything on their home page.

 

Marten 

Re: GLASS: Gemstone, Linux, Apache, Seaside and Smalltalk

[ David Buck] May 3, 2007 11:30:19.551

Comment by David Buck

They announced that they are releasing a version of GemStone/S which is free even for commercial work. It doesn't support VW or VA clients but is rather a pure server GemStone system. It has limitations on the number of connections (2 - one for Seaside and one for development), total database size, and maximum page cache size. It is, however, appropriate for small to medium sized applications that want to run Seaside on GemStone.

[] May 3, 2007 12:39:27.661

No Smalltalk clients :-( and I had hope, that something like DB2 Express-C would be available ... 

 

Smalltalk clients supported

[Philippe Marschall] May 4, 2007 11:06:59.525

Only Squeak is Supported as Smalltalk client

 from the Seaside mailing list:

GemStone 2.x free edition: 2gb ram limit, 4gb database size, 64 million objects, 2 gems max, no VW or VA connectivity - Squeak only, seaside and monticello built in, fastcgi support, database can be used as monticello repository, free sandbox website for those wanting to play with it hosted by GemStone