I've just been playing with WxPerl, and it rocks!
This stuff is just how my brain works with regard to building GUIs. Build up your stuff as subclasses of base GUI elements, and join them together in initializers. Have callbacks as virtual methods. Have everything automatically called for you from a main loop.
It's kinda very POE like that way. And I'm a big fan of POE.
So now I want to combine the two in a very funky way. I was talking on #axkit (irc:irc.openprojects.net/#axkit) last night about "B2B Integration", which is this buzzwordy thing which only a very few people seem to totally grok. The reason these few people grok it is because it's the world's simplest concept hidden behind buzzword mania. The meme was planted by someone asking me if AxKit could be a b2b application server, and I didn't really know what that meant, so I went looking.
Basically, a B2B integrator, in my mind works like this:
1. A POE server
2. A bunch of different POE components that send messages into POE upon receiving a message (these components might be HTTP, SMTP, ticker, SOAP, etc etc). The messages are in XML format.
3. Message transformers that convert these XML messages into different formats, possibly by sucking in other data sources. Often this is either XSLT, or a SAX filter, or custom code.
4. Data source providers, that turn "legacy" formats (Databases, ordinary files, stuff at the end of URIs, mainframe stuff, etc) into XML.
5. Output systems that decide what to do with the result. Maybe email it somewhere, or do a credit card transaction, or execute some code, or send a HTTP response, or anything.
6. (This seems to be the key to making $$$ with these things) A GUI to create these pipelines.
So, I'm thinking of just building this thing. I mean, this isn't rocket science, it's just a bunch of POE components, a bunch of SAX drivers, a bunch of SAX filters, and a bunch more POE components. The only bit that isn't trivial is the GUI, which I'm looking forward to playing more with WxPerl for.
The interesting thing is, this could be AxKit 2.0, since AxKit does half of this already. And the experience I've gained doing AxKit means some of it will just kind of drop together.