Expertise, and making the best use of it

ctodx
01 May 2008

When you write an application these days, you are relying on code you didn't write and that you have little to no influence over.

But, thankfully, that's all right. It's not a real issue. You are, after all, the world's foremost expert in your business, in your market. You have to be: it is the embodiment of your ideas and talent and your company's insight and business knowledge that produces the killer application for your space.

To within certain ill-defined limits, your killer app will be killer not because of its UI, or its persistence mechanism, or its multitiered architecture. It will be killer because of the way it solves a particular business problem. If that problem is solved in an elegant way, users won't even worry about what language was used to create it, how data is being stored, which libraries were used in its construction. The very fact that the problem is solved well is enough.

Now, of course, you can certainly shred that elegance by clunky UI, by unreliable data persistence, by bad security, by myriad other issues. To avoid all that and more, you use and rely on other people's expertise through using their libraries and frameworks. You are, if you like, adding these other experts as virtual members of your team, there to solve specific problems so that you can solve the overall problem.

eXpressApp Framework (XAF) is like that kind of expert. It was designed and built to help you write applications. It helps you write those applications by letting you concentrate on your area of expertise -- solving your business problem -- whilst our expertise in creating UI and in reporting and in persisting data and in managing security is surfaced through the framework.

XAF enables you to concentrate on designing and building the class model that describes your business problem. Go ahead and devise the abstractions that embody the business. Work out the relationships and associations between objects based on your business analysis. This is all fun stuff, believe you me. Once you've done that -- or maybe you never really "do" it since it's an evolutionary process -- you can sit back and let XAF run your business model. It'll work out the basic UI you need for either a Windows application or a web one (or both, should you need that), it'll work out the best way to persist your objects and their associations, it'll run your validation rules at the right time, and, the best thing of all, it'll update these models and processes as you change and evolve your business model.

You can tweak XAF's Application Model easily (even at run-time!) to give you the UI you want. The framework is fully customizable and hookable, meaning you can add your own validation, business or security rules, or add reporting, scheduling and so on. Building a prototype of your application is extremely swift; and the step from prototype to completed application is very small. What used to take weeks or months, now takes days or weeks.

That's not to say using eXpressApp Framework to create an application is all a bed of roses. It will certainly be much easier and faster than creating an application from scratch, but there's still quite a bit to learn and to understand about XAF until you can get the most benefit from it. But that learning is much less than the learning you would have to do to replicate all that XAF can give you: designing UI, understanding ORM strategies, and so on. The work we're planning and executing on now will help that learning curve with XAF.

Remember: your expertise is in your business, not necessarily in UI or ORM or security or all the other myriad things building an application usually involves. Let XAF take the strain.

 

Tags
1 comment(s)
Anonymous
shankar

Nice article! IMHO Application developer needs better training material i.e at Architect Level so that the process breaks down from Block diagram to a certain degree of grassroot understanding. Do see ECO Training from Capable objects by Peter Morris

Regards

2 May, 2008

Please login or register to post comments.