360Flex: OzoneLayer, Hamachi, social insects, and more
February 25, 2007 on 2:53 am | In Flex, Programming | 2 CommentsI’m speaking in 10 days or so at 360Flex in San Jose, and I’m getting pretty pumped about it — I’m looking forward to being both an attendee and a presenter on this trip. It’ll be a nice, small conference with a lot of people that have interesting stuff to say.
I’ve been working feverishly all day on one of my presentations: Model Driven Integrations. (In this case the word “feverishly” is all too appropriate since I came down with a flu-like bug yesterday.) This talk is going to cover an integration approach that generates many related assets in a project from a single central model description file — it cranks out ActionScript classes and interfaces, WSDL, Java, UML models, even Excel spreadsheets. I will be showcasing the use of Hamachi, an open-source toolkit written by my colleague Nate Abramson. A brilliant meta-take on code generation, Hamachi can be described as a model-driven code generator generator (not a typo!).
It’s cool enough to see how easy this makes client/server integration, but I wanted to do something a little more exotic, so I’ve extended this concept to client/client integration. I’ve been prototyping a library called OzoneLayer, which transparently replicates data and actions among a set of connected clients. Every OzoneLayer object exposes a strongly typed AS interface with only application semantics — no networking operations. Once it becomes referenced in an OzoneLayer object graph, its state is automatically replicated across the set of peers; any further method calls and property changes are propagated to every remote copy, making development of multiuser apps and games a snap. Hamachi generates the boilerplate aspect of these objects. I made use of SharedObjects under the hood to do serialization and broadcasting, so I used the Red5 server to provide server-side SharedObject support at a low, low price.
My other presentation is on using Ant with Flex. Dammit, Captain, I’m not a release engineer, but I will be distilling the best of what I’ve seen people do with Ant and Flex. More utilitarian, perhaps, but some stuff that can save folks a lot of time, like organization of large multi-project builds, or how to run flexunit tests from the command line.
2 Comments »
RSS feed for comments on this post. TrackBack URI
Leave a comment
Entries and comments feeds.
Valid XHTML and CSS.
All content copyright (c) 2006-2007 Joseph Berkovitz. All Rights Reserved.
Hi Joe,
Signed up for 360Flex, but am not going to be able to make it after all. Sorry to be missing both of your presentations – they sound enlightening. Any chance you’ll post notes afterward? Especially interested in running FlexUnit tests from the command line as part of an automated build / continuous integration.
Comment by Jago Macleod — February 28, 2007 #
Yes, I will be posting complete notes. In the case of the Ant stuff, I have a complete mini-project framework that’s sort of a self-guiding tour that I’ll make available.
The FlexUnit integration is something that we hope to make available as OS soon, I’m working on that. In the meantime, it might have to be binaries for now.
Comment by joe — February 28, 2007 #