Patrick's Blog

Technical Ramblings and More
posts - 24, comments - 45, trackbacks - 0

My Links

News

Twitter












Archives

Post Categories

Thursday, December 13, 2007

Domain Builder Setup

To make things easier to track (and straight in my mind), I have created an open source project to share the domain builder.  You can find the project at Domain Builder on Code Plex.  This will everyone to follow along at home on the progress as well as provide feedback in the process.

Also, I thought would be important to share more of my detailed technical thoughts on the wiki as well.  You can find this along with a list of open tasks and scenarios on the Code Plex website. 

The other items within this post are the links to the inspiration for this project:

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Posted On Thursday, December 13, 2007 11:05 PM | Feedback (1) | Filed Under [ Tech Talk Domain Builder ]

Initial Design of Domain Builder

I have a simple goal.  I want to be able to work with domain experts and quickly diagram the application area.  This should be similar to the class diagram tool already built into Visual Studio. 

Once the diagram is built and approved, the ability to code generate should be next.  My idea here is to generate the Data Access Layer (DAL) by using NHibernate.  This would allow the application to be database agnostic by generating dynamic SQL on the fly.  The Business Persistence Layer (BPL) would be generated using CSLA (Composite Scalable Logical Architecture) by Rocky Lhotka. This allows the domain to take advantage of communication layer within CSLA which now utilizes Windows Communication Foundation (WCF).  It also allows the N-Level undo and security layer utilizing the Principal and Identity objects built into Visual Studio.  These layers working together provide for a rather robust and flexible middle tier(s) of the application. 

My next idea for the domain model is to provide a swim lane diagram to document each of the interactions between the user and the application.  These interactions would then be generated into Model View Presenters (MVP) so that the application could be wired to the domain.  By using the Passive View, as described by Martin Fowler, the view becomes a dumb implementation that should handle just the specific UI logic and not any of the business logic.  By doing this, the same presenter could be used between a Windows interface and Web interface, as well as a Mobile interface.  All these working together would be able to deliver the same user experience regardless of the UI implementing the interaction.

And finally, the implementation model would be modeled using the Component diagram.  This would allow the user to model how the application is implemented on the server(s), how the layers would communicate and where the database is located.  This model would then code generate the configuration file(s) needed. 

So, as you can see, this is a simple goal, but I plan on documenting the process as it progresses.  If you have any comments or questions, feel free to send me a note.

Model

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Posted On Thursday, December 13, 2007 3:52 PM | Feedback (1) | Filed Under [ Tech Talk Domain Builder ]

Powered by: