Words Software Fun Stuff About me

RSS feed for my blog
Atom feed for my blog
CDF feed for my blog

Sunday, July 04, 2004

Welcome to the Pleasuredome 

So the work of the past few months is almost complete... I've been working on a new framework for building Dell's internal sales management tools.

Codenamed Xanadu, this framework is kind of interesting because it doesn't allow you to write UI code. Most applications have some UI code, some business tier stuff and some data tier stuff, but in Xanadu you don't (can't, actually) write any UI code, and you write almost no data tier code either.

The trick is to define your problem, then describe everything around your problem in a declarative fashion using XML. The XML defines how things should behave, and what actions to perform in the business tier when buttons are clicked or drop-down lists need filling in. But all the complex inter-relationships, automatically disabling as information is provided, having fields hide based on security and so on is all done in XML.

There are actually some startling things that came of this. For one, we aren't tied to a delivery platform. I can run a Xanadu app through a web site, as a WinForms client, or even on PocketPC (in theory). And all the XML, business and data tier logic would remain 100% identical.

Of course, similar platforms have existed before. There were 4GLs in the late 80s and systems such as dBase that let you build apps that were cross platform. There were even systems that let you quickly go from web client to smart client. But all of them required you to write a bunch of code to plumb the bits of the UI together.

And why bother doing all this, you may ask? Well, we have a small team of 8 or so developers trying to maintain 20 apps. Xanadu will let us boil most of them into a handful of apps in a single environment and maintain them all very quickly. Its really just an extension of my recent embrace of agile development methodology, and in particular the idea of supporting rapid development. Where most rapid development approaches require a strong cross-functional team, Xanadu makes it easy because the team doesn't need to be masters of UI programming or even data tier programming to write a great app. And being rapid means we can be highly agile and adaptive to change because change doesn't cost us much to implement.

At some point I will be resurrecting the XSD-to-C# parser and integrating that too. That would allow us to not write much business logic either, or at least not have to write code to define business objects. The business logic is then reduced to an orchestration of business objects defined in XSD, with XML orchestrating the other tiers.

And they say Dell doesn't innovate. Bah!

# posted 7/04/2004 05:53:48 PM | 0 comments

0 Comments:

Post a Comment

This page is powered by Blogger. Isn't yours?
Copyright 2004 Steve Saxon