When we last left our weary traveler, he was so close to getting performance results for Single Session per VM, that he could almost taste it. Alas, a perfect storm converged on his cube and months later he remains no closer to those tasty morsels than when he started.
Though stalled on the scaling front, since the release of 2.3 the most interesting thing is that SIXX has been ported to GLASS and is included in GLASS.230-dkh.177. Note that GLASS.230-dkh.177 isn’t the latest version of the GLASS.230 package, but it is the recommended version.
SIXX (Smalltalk Instance eXchange in XML) looks like it will be useful for moving object graphs from Squeak to GLASS (and vice versa). In late September, Norbert Hartl was wondering how to get the data from the RDB used in his Squeak-based Seaside application (using GLORP) into GemStone and in the ensuing conversation it came up that SIXX would be a good candidate and the race was on. At this point I think that Norbert has been able to transfer his data from the RDB into GemStone.
A number of bugs have been fixed in GLASS.230-dkh.177 as well:
- GLASS bugs:
- fix bug 39539 – ‘Sixx errors in seasidetst’
- fix bug 39513 – ‘#withBlanksTrimmed and _matchPatternNoCase: not implemented in QuadByteString’
- fix Bug: 39574 – ‘MASelectorAccessor>>createVariable: problematic when instances on execution stack’
- Pier bugs
The first project to blow into town was SOAP. A customer of ours was interested in using SOAP with GemStone so I ported SoapCore to GLASS. As part of the effort I updated the SOAP-Examples to include some new interoperability tests.
I was able to find SOAP 1.1 servers still running at 4s4c, Microsoft Soap Interop Server and EasySoap++. Predictably, not all of the tests passed. The errors occurred in the way that exceptional values and errors were handled by the server (i.e., not the client’s fault:). The parts of the tests that ‘drove down the middle of the road’ passed against all three servers. Also predictably, I found and fixed subtle bugs after adding tests for each new server.
Just as I caught my breath with the SOAP work, Monticello2 (MC2) popped up on the radar. This time it was Julian Fitzel blowing into town and the town was Vancouver, BC. Julian was planning on talking to Colin Putney about MC2 and Seaside2.9 and I was interested in participating in that conversation.
Seaside2.9 has been broken up into a whole bunch of components and the dependency graph for the components is pretty complicated. For the short term, Seaside Universes will be used, but the longer term belongs to Monticello2.
I’ve been searching for a configuration solution since at least last March, but haven’t found a good solution in Monticello(1). I want something better than the GLASS package that I currently use to communicate configuration information. MC2 looks like a very good candidate.
In preparation for the conversation with Julian, Colin, and Avi, I decided that it would be a good idea to port MC2 to GLASS. I finished the initial port in a couple of weeks (in time for the meeting) and have continued working on MC2 since then.
The most recent diversion came in the form of OmniBrowser. In order to get the last bits of the MC2.0.29 UI working, I needed to update to the latest version of OmniBrowser. Since I was building a new version of the GLASS client, I decided that it might as well be based on Squeak 3.10.
As of yesterday, I have been doing all of my development using the new GLASS client. Overall, 3.10 appears to be more stable than 3.9 (I have yet to have the UI fritz out on me when I close a debugger). It’s not completely free of bugs, but I think I can actually fix the bugs that I have been seeing.
I plan on continuing doing development for MC2 and the new GLASS client in a separate branch of the GLASS package. Once I feel that the tools are stable I will merge the new OmniBrowser code into the main GLASS package branch.
Finally, I haven’t spent much time in the last several months on Seaside 2.9. We have a functional port, but it hasn’t been updated for several months. Seaside 2.9a1 was announced last month and 2.9a2 is imminent so we will have to get our butts in gear. James is looking forward to spending some quality time on Seaside2.9 very soon now and I’ll make time for Seaside2.9 before the end of January.