views:

62

answers:

1

I'm currently working on the requirements/scoping of a project now that could involve:
1) 5 to 6 forms
2) with 250 to 300 questions/fields accross the forms
3) 2 to 3 workflows

Are there any .NET or cross-platform tools that will allow me to put the responsibility of developing the forms back onto a non-technical Business Analyst? Are there any good DSLs for this? I think this person would NOT be sucessful at trying to use InfoPath for this.

I guess I'm looking for a DSL that I could put through an engine at runtime to display the CRUD screens. I'd rather not use my own XML or DSL if there is something like this already out there.

I'm thinking I would display the forms as part of an ASP.NET WebForm or ASP.NET MVC application.

A: 

My hunch for your DSL is that any language sufficiently powerful enough to solve the tasks you have identified will be too complicated for your non-technical business analyst.

That said, for a highly constrained problem domain, (as I think you are heading), it should be possible to come up with a relatively useful DSL.

Indeed, this is the starting premise for Ruby On Rails.

My current bias is towards internal DSLs/language specialization that is: DSLs embedded as part of another language. This may mean embedding IronRuby or IronPython in your .net application.

Whilst this does get you out of the problems of writing a compiler/interpretter for your own custom language, it does mean some up front work writing the DSL in the embedded language.

From experience, I would say that this was small potatoes compared to the benefits of built in documentation, documentation writing support, and all the other language features that appear for free.

jamesh