Seaside hosting redux
June 10, 2007 by Mark Miller
A while back I wrote about Seaside hosting options. It looks like things have changed some so I figured it was a good time to update my information.
There are still only 2 Seaside hosting sites on the internet.
There’s Seaside-Hosting, which is based in Switzerland. They offer free hosting for non-commercial applications. This service does not host databases like MySQL or PostgreSQL. You can however store data inside your Squeak image. You can also store external files on the server filesystem, using them as support for your site (like graphics images), though they don’t want you using it for hosting files for download. From what I’ve heard, the people who set up Seaside-Hosting will try to accomodate you for a fee if you have requirements that go beyond what they typically offer. There’s an e-mail address you can use to contact them for this purpose on their home page.
A new feature they’ve added since I last looked is you can now set up your own domain name (using a domain registration service) and use that instead of their seasidehosting.st domain.
There’s also Seaside Parasol, which is based in Canada, and offers commercial hosting for Seaside, as well as PHP and Perl. In terms of features not much has changed since the first time I reviewed it. There’s still no support for e-mail or database hosting, but the price has come down to about $23.55/mo. in U.S. Dollars. They’ve also added a Seaside demo potential customers can download and use to see what it’s like. And they’ve added useful information and links for getting Seaside up and running inside Squeak.
The price reduction is an improvement, however, unless they’re offering dedicated hosting it’s still not that competitive when compared with other web hosting platforms. ASP.Net shared hosting averages about $8-$10 (U.S.) per month. RoR and PHP hosting is $8 or less per month.
If you want the opportunity to get your site developed and set up with Seaside, a framework that is head and shoulders above many of the ones out there, Seaside Parasol and Seaside-Hosting are it.
Where can I get Seaside?
Seaside Parasol offers some instructions and links where you can get the Squeak VM and load Seaside into it. There are a couple Seaside developers who have created their own preconfigured Squeak images you can use:
- Ramon Leon
- Damien Cassou’s “Squeak web” image
If you go to Ramon’s page, you get the Squeak VM and his preconfigured image in one Zip file. Ramon’s image contains a bunch of extras. I know about them, because I’ve used his image for learning the Smalltalk language. In addition to Seaside it contains Monticello (a version control system for Squeak), Magritte (a meta language in Smalltalk for creating forms, reports, and graphs, and works with Seaside), Glorp (an object-relational framework for interfacing with an external database), SUnit (a unit testing framework), Albatross (a web app. testing framework, like Watir in Ruby), Mondrian (an app. that shows you graphically how classes are related, and their properties), Toothpick (a configurable logging library), SOAP-Client for interfacing with XML web services (including .Net), Scriptaculous (an AJAX framework for creating slick web UIs), VB-Regex (a regular expression pattern matching library), and some XML parsers/frameworks, among other things.
Damien Cassou’s image may contain the same stuff. I don’t know. One thing about Ramon’s image is it has a few customizations for running on Windows. I think it’ll run on other platforms okay, but expect to get some error messages when you first load it up.
Storing data in the image
Since neither hosting service offers database hosting, if you want to be able to store data, you should do it within the image. One possibility I’ve mentioned before is MinneStore, an object-oriented database written entirely in Smalltalk. I’m not sure how it works. It might just store data inside the image.
A simple way of storing read-only data is to create a class, and then create a class variable within it (equivalent to a static variable inside a class in languages like C++, C#, and Java). You can create your own data structure and put it in this variable using “class side” methods (again, equivalent to static methods in traditional languages). It will remain persistent. You do not need to instantiate an object to access it. It is globally available. If you want the data structure to be updateable and accessible from multiple Seaside sessions, then you’re going to have to use semaphores to make sure operations on the data structure are atomic. That’s when it can get hairy.
Edit 6/11/07: There are a couple of screencasts here and here by Lukas Renggli, on how to register and use the features of the Seaside-Hosting service.
Thanks for sharing.
Are you looking for someone to host Seaside for you? I would be happy to throw it up on my FreeBSD server for you. I support domain names as such, if you would want that, otherwise I could get it up there for you and give you access pro bono and such. I also have a DB there too (MySQL, can install PostgreSQL if you wanted it), if thatr is helpful to you. Let me know.
J.Ja
@Justin:
Re: Are you looking for someone to host Seaside for you?
I’m not looking to do that right at the moment, but it’s something I’m planning on doing. With the app. I’ve been working on, which I talked about a bit in my post called “Coding like writing”, I’m not planning on using a database. I’ll be able to store the data in the image since it’s pretty much read-only data. I’ll see how that goes. I might take you up on your offer anyway, because even though Seaside-Hosting offers free service for apps. like mine, they’re in Switzerland for crying out loud. One of the things I’ve wished for is that I could host my stuff domestically. I figure that will help with the bandwidth if people come to visit my site.
The only reason I mentioned the stuff about the lack of database support is I’m sure that’s an issue for other people who are trying out Seaside. I think it’s a minus at this point that no Seaside-supporting ISP is offering database support right now. Maybe I don’t know what I’m talking about. Like I said in my post, there is in my mind the possibility that a database engine like MinneStore could work by storing data in the image (I don’t know if it does), since by its description it’s totally written in Smalltalk, Squeak’s programming language. Even so, a typical Squeak w/ Seaside image will probably take up about 32 MB of memory (unless I were to use one of the minimalist ones, which would take up less), and that doesn’t include my app. or its data. 31 MB is what Windows Task Manager shows me for Squeak without Seaside. Maybe it takes up less memory if I run it “headless” (without the GUI)? Anyone? Each web session takes an additional 2 MB of memory. That’s what I remember hearing from Avi Bryant, who wrote Seaside.
Anyway, thanks for the kind offer. When I’m ready to put up my app., the option you propose will be something I’ll consider.
Mark,
Another alternative for persisting Seaside data that will be available for beta testing this summer is GemStone/S. GemStone/S provides transparent persistence for Smalltalk applications and should be a real plus for Seaside developers. We have ported Seaside to GemsStone/S along with Monticello to simplify the process of migrating applications to GemStone/S from Squeak.
We are offering a free (for commercial use) version of GemStone/S (details are here: http://seaside.gemstone.com/docs/Announcement-StS2007.pdf). Keep an eye on http://seaside.gemstone.com for more information.
[...] Original post by Mark Miller [...]
http://pressposts.com/Education/Seaside-hosting-redux/
Submited post on PressPosts.com - “Seaside hosting redux”