Michael's profileBrownie PointsBlogLists Tools Help

Blog


    May 22

    More Thoughts on the Domain Tree

    I think the most important feature of XAML as a declarative language/object model map is the ease with which it can be tooled. There is really no value added over the standard forms designer and imperative code if XAML doesn't have a designer associated with it a la Blend or Cider. Likewise, XAML would be superfluous if Windows Workflow didn't have its designer.

    What is the common thread among these frameworks? They both have design tools that are immediately familiar to people who normally work in the associated domain. XAML is what those tools spit out, providing a lingua franca between people who know UI design or workflow design, and people who know programming. Basically, everyone involved in creating an application has his or her own...wait for it...domain specific language. Graphic designers speak vectors and gradients and paths, workflow engineers speak activities and decisions and synchronization, and programmers speak objects and functions and variables. The only person missing from the picture is the business analyst.

    What do BAs know? They take written requirements and turn them into use cases with actors. A use case lends itself very well to the Command pattern an actor performs a specific action against the application's domain and expects a certain result.

    What if we were able to take the language of the business analyst and provide the foundations of an application? Without leaving their comfort zone, a business analyst could define the core domain objects, commands, and services that the application is expected to provide. All that would remain is for an Architect to map those domain objects (possibly refining them) against a datastore, a UI designer to create the look and feel, and a developer to code the logic that drives it.

    Orcas will provide an O/RM tool and supporting framework (in LINQ to SQL and its associated designer) that will look as familiar to a data architect as their common tools. All that is missing is the BA design tools and a supporting framework. This is where Application Foundation comes into play. It will provide a toolable framework (through XAML) for creating the core architecture of an application. As they say "code is the only currency". Until I give you something that works...I'm just theorizing and daydreaming. BTW, I recently read an article...book...blog posting or something that spoke about this concept, and for the life of me I can't find my original source. But my search for that source has led me to find that it is a mantra in the open source community. Anyway, let me get some working code in front of you guys so we can talk more.

    Comments

    Please wait...
    Sorry, the comment you entered is too long. Please shorten it.
    You didn't enter anything. Please try again.
    Sorry, we can't add your comment right now. Please try again later.
    To add a comment, you need permission from your parent. Ask for permission
    Your parent has turned off comments.
    Sorry, we can't delete your comment right now. Please try again later.
    You've exceeded the maximum number of comments that can be left in one day. Please try again in 24 hours.
    Your account has had the ability to leave comments disabled because our systems indicate that you may be spamming other users. If you believe that your account has been disabled in error please contact Windows Live support.
    Complete the security check below to finish leaving your comment.
    The characters you type in the security check must match the characters in the picture or audio.

    To add a comment, sign in with your Windows Live ID (if you use Hotmail, Messenger, or Xbox LIVE, you have a Windows Live ID). Sign in


    Don't have a Windows Live ID? Sign up

    Trackbacks

    The trackback URL for this entry is:
    http://mbrownchicago.spaces.live.com/blog/cns!2221DC39E0C749A4!356.trak
    Weblogs that reference this entry
    • None