MUSCLE + Marrow = Cross Platform, distributed, client-server application framework.
At least, that’s what it’s going to end up being someday if I ever finish it.
I had some time today, and was able to spend some time on the Marrow MUSCLE front-controller. I slapped a Swing GUI on the server-side component, so you can keep an eye on what’s happening on the server-node end of things. There’s plenty more to be done — I need to flesh out the client framework a bit more, but it’s working rather nicely with all the small test applications I’ve been building.
The latest attempt at turning a Marrow web-app into a Marrow MUSCLE app yielded great results today. The persistence layer (iBATIS), and -all- the commands were working nearly right-off. I had to finish up some bits that I marked TODO back in April, and I fixed a few bugs. The whole thing is starting to come together quite well. It’s getting to the point where I’m going to have to implement some of the trickier bits, like selecting which server peer to connect to for command execution (load-balancing across multiple server instances) and implementing thread pooling for the server peers (if I’m not already getting that for free from the MUSCLE libs)… I tell ya, this is where it gets FUN! I also need session state with a server peer to propagate to parameter settings on the client node in the muscled server, that way if a server peer drops, the client could connect to another without loosing state.
Without a picture, this is all rambling — Is your head about to pop yet?
You’ll just have to wait.
