Today I woke up feeling uneasy about the direction of my current project. For all intents and purposes, I am taking an existing system which was pieced together by a couple of past developers and extending it. I’m not saying the code I inherited was a disaster but I am not going to publicly praise the design and implementation either. The big problem is the existing system works.
I know that last statement sounds funny but put yourself in the position of my customer. They currently have a working product which they wish to extend and private label. With the core functionality already in place (read: tested with dozens if not hundreds of users,) how much time could/should it take to implement my updates?
While ramping up, I jotted down a number of areas where the application could be improved but I tabled every task which wouldn’t get me closer to completing my assignment. In other words, if the change was transparent to my client, I didn’t muck with it — for the most part.
Which brings me to this morning, approximately two weeks into my development, and my uneasy feeling. The bottom-line is I made the wrong call. I should have made the product my own, so to speak, and applied a handful of design changes right off the bat. If I were completing a simple bug fix, this approach would have been wrong, but since I am scheduled for appropriately 2 months of dev, I can “afford” to make the needed improvements. It makes sense as it would ultimately save me effort and frustration while costing my customer no extra time or money.
Today I talked myself into thinking that refactoring/redesigning would be best for everyone and I promptly redesigned the database (all of it) and swapped out the data access layer (all of it) with the help of SSMS Tool Packs and SubSonic, respectively. Of course, I had help. Lots of it. Hours and hours of other people’s time… I’ve written about Getting Started with SubSonic and though I “admire” it, I hadn’t put it to good use until this morning. SubSonic (after a quick review which consisted of watching this webcast) generated my DAL. SSMS Tool Packs was a lucky discovery as it auto-generated my CRUD routines. The product offers much more than this and integrates with each version of SQL Server Management Studio, but I only needed stored proc creation today. All told the entire change took less than 5 hours. It would have taken far less time if I didn’t have a complete brain fart and chase my tail around an incorrectly established SQLEXPRESS connection string. Pretty amazing if you ask me!
To sum things up, thanks to Rob Conery and crew for SubSonic and thanks to Mladen Prajdic for your exceptional contributions. They really helped me get back on track with minimal investment today.
Thanks for the pointer to SSMS Tool Packs. It looks really interesting. One thing I’m having trouble picturing is the overlap between the two. Once you have a DAL, what do you need CRUD routines for? Bulk operations, or something that’s a result of the existing architecture?
I’m only running SSMS Tools with SQL Express. I noticed one glitch – a display of double right-click menu options, but I’m able to overlook this. Two is better than I, I guess. Haven’t tried the tool on other SQL versions yet.
Good questions regarding the need for CRUD SPs if I have a generated DAL. Since SubSonic generates all of the CRUD methods/queries, I don’t actually need the compiled routines, but I am partial to stored procedures so I keep with this approach and referenced the SPs though the generated DAL.
hi!
I’m the autor of the SSMS Tools Pack. you shouldn’t have 2 items in the menu. if you haven’t yet, please install the new 1.0 version.
if you do have it can you please send me an email so i can try to fix this.
Thanx!
oh and i’m really glad it helped you!
After a nice email exchange with Mladen, it seems that duplicate menus can appear if you are running Vista. The good news is the odd behavior goes away once you open/close SSMS — and both menus work until you do so! Thanks to Mladen for following up on this.
[...] bgriswold12:49 pmAdd comment1 Views I very recently posted about using SubSonic to generate my DAL and SSMS Tool Pack to generate the complementing stored procedures. In response to the post, Jon Galloway asked a great question in the comments: Thanks for the [...]
[...] Ben Griswold05:44 pmAdd comment1 Views I’ve publicly praised SubSonic and SSMS Tools Pack, but I haven’t posted adequate information on how one installs and uses the tools for their [...]