« From the Rumor Mill| Main | From the "Wild Speculation" Department »

Under the Hood: Tools Used on the MAT

| | Comments (0)

Over the years, I've had a lot of mixed experiences with code generation tools. I've been using Rational Rose since it first came out, and I've seen shops delve really deep into the bowels of Rose to create "Big Red Button: projects: you know, where you model and design some and then hit the big button for 3 million lines of generated code?

But round-tripping was always an issue. Too many times, from a cost perspective, it was easiest to use the modeling tool to do an initial detailed design, then complete coding and testing using the IDE.
We've come a long way in the last ten years or so -- I wouldn't dream of running a large project without extensive modeling tool support. But for projects with just one developer? What kind of tools make sense then? Rose will set you back several thousand bucks, and I'd really rather have a car, vacation, heck anything else besides a cute little icon on my desktop.
So when I was developing version 2.0 of the MAT, I pieced together various tools from around the web, and I'm extremely happy with the way things turned out.
First, Enterprise Architect is the tool to use for modeling -- the price is great, and it supports all kind of stuff that the more expensive tools don't. I created my domain model in EA, then created database scripts for my persistent objects.
And my vote for cool tool of the year goes to CodeSmith, which is a templated code generation tool for .NET. CodeSmtith will even go out to your database and build objects based on your tables, which is sweet.
Rounding out the pack is CSLA, an enterprise framework for your business objects. CodeSmith comes with templates that generate CSLA objects from you tables, and CodeSmith also comes with templates for creating SQL Server stored procedures for all of your CRUD operations.
After a week or so of tweaking, learning, and playing around, now I'm wired for sound. If the code requires a change to the design, I change the model, which automatically updates the tables. Table changes automagically update the stored procs and my business object layer. It takes about 5 minutes from the need to change a field and having working code that uses it. All my business logic is abstracted out in its own layer, and I can focus on UI instead of the wiring. Very sweet indeed.

Leave a comment

About this Entry

This page contains a single entry by DanielBMarkham published on July 8, 2005 7:02 PM.

From the Rumor Mill was the previous entry in this blog.

From the "Wild Speculation" Department is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Social Widgets





Share Bookmark this on Delicious

Information you might find handy
(other sites I have worked on)





Recently I created a list of books that hackers recommend to each other -- what are the books super hackers use to help guide them form their own startups and make millions? hn-books might be a site you'd like to check out.
On the low-end of the spectrum, I realized that a lot of people have problems logging into Facebook, of all things. So I created a micro-site to help folks learn how to log-in correctly, and to share various funny pictures and such that folks might like to share with their friends. It's called (appropriately enough) facebook login help