Putting XAF's nose to the grindstone

15 November 2007

I read Scott Watermasysk's recent post today with some interest (hat tip: Larkware). The post's premise is that if you can't create an "interesting" prototype of an application in 1000 lines of code or less then you are most likely over-complicating things.

This spoke to me for a couple of reasons. First of all, we're getting close to releasing eXpressApp Framework (XAF). When I say close, I really mean close. Those of you who've been using the current Release Candidate may well be saying, duh, it's ready right now, get on with it already, but in the last three months or so since that RC was released we've been adding some interesting new functionality to make the framework that much easier to use. This new functionality relies in part on DXperience v2007 vol3, and in part on a new iteration of DXCore that Mark's team has also been working on. Although the new version of DXperience is ready to go (and may be released by the time you read this), DXCore is not quite there.

The changes to DXCore need a blog post of their own (and Mark will be writing one), but in essence we've revamped it to only work on Visual Studio 2005 or later and to have a slightly modified interface so that we can add a new feature called "code providers". It is this latter functionality that XAF uses.

Of course, in changing DXCore, it means we have to change CodeRush and Refactor! Pro so there's quite a bit of work happening on that front too.

Anyway, back to XAF and Scott Watermasysk. XAF is a great tool for doing the kind of prototyping Scott talks about. With it, you can very quickly create a working application that shows off a solution to a business problem, and without very much further work provide a full deployable application with the must-haves like proper security and reporting. And pretty much all you need to do is write the lines of code for the business class model. Not many lines of code at all.

Along with that, Scott's post prompted me to go back to an application I've been meaning to write for a little while.

Some of you may know that my wife is a Senior Deputy District Attorney for the 4th Judicial District Attorney's Office in Colorado Springs. Like all government offices the country over, the DA's office is strapped for cash and some nice- to-haves and even must-haves tend to get pushed aside for a rainy day. One of the must-haves that the office is required by statute to provide is a system for reporting victim contacts made by the staff (lawyers, paralegals, investigators, etc) in the DA's office. It's part and parcel of Colorado's Victim Rights Act.

At present this system is a pretty nasty cobbled-together Access database and application that creaks and groans, dies regularly, and whose reporting is best charitably described as laughable. A couple of months back, my wife approached me on behalf of the head Victim Advocate in the office to see whether I and Developer Express could do something about it. They couldn't pay a contractor to do a rework and there was no one internally able to do it or who had the time (the original app was written by someone in-house who had since moved on and who shouldn't have been let anywhere near Access in the first place). Could Developer Express help? And for free?

Of course we could. I told her we had this new product called XAF (her eyes started to glaze over) that would enable me to write such an application very quickly (her eyelids drooped), and allow the staff to run it either as a Windows program (eyelids now closed) or as a browser application. She was practically snoring at this point but woke up when I said that running the program in the browser was the easiest thing for the majority of people in the office to use since there was no install. Only the staff in the Victim/Witness Section need have the full Windows program.

To cut a long story short, Developer Express are partnering with Colorado's 4th Judicial DA's office to write an application that will record the staff's contacts with victims of violent crime and vehicular assault in El Paso and Teller counties, the region covered by the 4th Judicial District (it includes Colorado Springs, Manitou Springs,and Cripple Creek).

I'm going to be writing this application with XAF over the next few days, using the latest in-house version that we demoed at DevConnections. I'll also be blogging about my progress, and this series of blogs will describe in detail how to write and deploy a real-world application with XAF. In the end, we'll deliver a working application to the DA's office and, come to that, any other DA's office in Colorado.

Stay tuned for the next installment where I interview the manager of the Victim/Witness Section (she's called Kelly) about what she wants out of the system.

10 comment(s)
Scott Blood

This is a fantastic idea, it will be nice to see a working real world application using XAF so that people like myself that are weary of jumping onto new unproved technologies without seeing a really good working demo.

Will you be releasing the source code to this or making it available as an application to demonstrate XAF iat work.

15 November, 2007
Julian Bucknall (DevExpress)


Yes, we will be releasing the code, but obviously it'll require a license to XAF in order to recompile it. The finished application itself will be freely available to anyone who wants to download it: we're not in the biz of selling applications for the legal community :).

Cheers, Julian

15 November, 2007

hey Julian, i think i just woke up too! Awesome idea.. should i go put the coffee pot on now?

15 November, 2007
Jim Wilson

Great idea! My DXperience license just expired a few days ago and it's this sort of community commitment that makes renewal a no-brainer.

15 November, 2007
Nate Laff

i'm in colorado. does that mean i get free DX consulting work, too?


worth a shot! hehe

15 November, 2007
Terri Rademan

You recently blogged about unit tests being available.  Will you be using an agile approach with test driven development (TDD) to create this application?

Does XAF support a TDD approach - at least in the business logic tier?

I look forward to hearing about your experience.

15 November, 2007
Rollie Claro


  youre the man!

  how i wish i can do the same here. XAF has gone a long way since its first public trial. the verdict? let's see

15 November, 2007
Gary Gibbons

Julian, I am very interested in how you may implement this to multiple clients if there is a central db sever used - or will there be some sort of client/server implementation?

Does it even need to write to a database outside of the client?

Sounds very cool!


16 November, 2007


Good to hear the release is approaching rapidly. we have used the RC for a little time now and already finished several small projects with it without a problem.

We even asked for some additional functionality which was honoured earlier. looking forward to see if it is in the final release.

We are still missing som efunctionality like the richtextedit control instead of a multi line textbox but soit

continue the good work

20 November, 2007

(See this post to see what this is all about and to set the stage.) I had an enjoyable chat with Kelly

20 November, 2007

Please login or register to post comments.