Bob Glushko, director of UC Berkeley's Center for Document Engineering, has a saying that goes something like, "Just take your application's XML schema, give it to the Platform, and press the big red button. Done, application created." That was the vision behind the Center's "XML Application Platform" project I led last year. It's model-based application nirvana, where the data model is explicit in the Schema, and through annotations and maybe some additional metadata, an entire web-based application is created automatically. And it's hard to do. We built a prototype on Orbeon's Presentation Server, which can be thought of as a next-generation Cocoon, but alas a 2 semester research project can only get so far...
I've finally starting digging deeper into JotSpot, the new-wiki-kid-on-the-block. They're positioning as an "application wiki", and I'm now seeing what that actually means. From what I see so far they've done a nice job of making it very easy to have 2-way integration with enterprise data and applications, whether through web services or RSS (e.g., see Jon Udell demo that includes integrating with SalesForce.com). David Mattison writes:
The problem, though, is that the wiki, by itself, has limited programmability. You can enter text and make links, but that’s not quite the same as building an actual application. While both SocialText and JotSpot appear to offer additional components that they’ve built, the next stage may be for them to start promoting easy integration with additional outside apps and components developed by others. If you start thinking of the wiki as less an open whiteboard for text, and more an open workbench for integrating web services-based applications however you’d like, things start to get much more interesting.
So if JotSpot and other "application wikis" like SocialTextand XWikican come up with rich enough scripting languages, the wiki becomes the natural platform to power the Big Red Button Platform. The real work comes in creating the XML models that capture the semantics of access control, workflow, and some of the other aspects that real apps require. But much of that stuff is presumably already in the Wiki! So with some thinking and work, I can picture these aspects as little JotSpot applications/services that get stitched together with some XML configuration and viola, we've got XML schema-driven applications -- and a Big Red Button!