CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Jeremy D. Miller -- The Shade Tree Developer

Under the hood and working with .Net, TDD, Software Design, and Agile Stuff

Journey into the Heart of Darkness

My poor colleague (martyr) is trying to debug a production issue with some system generated emails today.  If I can get the facts straight, the chain of calls goes:

  1. ASP "Classic" page calling into a...
  2. Stored Procedure that calls...
  3. Another Stored Procedure that calls...
  4. A third Stored Procedure that calls...
  5. An external COM object via DCOM (!) that posts...
  6. Information to a different web page to create and send the email

Of course, the auditing is lacking and all exception handling is done by the stored procedures.  Once again, stored procedure abuse is a very serious problem.  If you really think that T-SQL or PL/SQL is suitable for anything but CRUD or set-based logic, seek professional help immediately.

On a serious note, if you're building a system that generates emails that need to be reliable, I would strongly suggest creating a full audit trail of the email messages sent with an easy way to replay the email messages if you have to.  Your support folks will thank you later.

I'm *this* close to deleting The Daily WTF from RSS Bandit because I think it verges on mean spiritness occasionally, but they always save the day with a post like Integration Nation that's good for a laugh.  I showed it to my colleague today just to let him know that it could be worse.  He didn't seem to feel any better though.

 



Comments

Jeffrey Palermo said:

Maybe the Daily WTF will give out a personal subdomain. Think there is enough content?
# September 13, 2005 8:41 AM

Leave a Comment

(required)  
(optional)
(required)  

Enter the numbers above:
Add

About Jeremy D. Miller

Jeremy began his IT career writing "Shadow IT" applications to automate his engineering documentation, then wandered into software development because it looked like more fun. Jeremy previously worked as a systems architect building mission critical supply chain software for a Fortune 100 company and learned agile development practices as a .Net consultant at ThoughtWorks, one of the pioneers of agile development. Jeremy is the author of the open source StructureMap (http://structuremap.sourceforge.net) tool for Dependency Injection with .Net and the forthcoming StoryTeller (http://storyteller.tigris.org) tool for supercharged FIT testing in .Net. Jeremy's thoughts on just about everything software related can be found on his weblog "The Shade Tree Developer" at http://codebetter.com/blogs/jeremy.miller, part of the popular CodeBetter site. Jeremy is a Microsoft MVP for C#. Check out Devlicio.us!

This Blog

Syndication

News

All opinions expressed here constitute my (Jeremy D. Miller's) personal opinion, and do not necessarily represent the opinion of any other organization or person, including (but not limited to) my fellow employees, my employer, its clients or their agents.

About Me

"Best Of" Compendium

StructureMap (Dependency Injection for .Net)

StoryTeller (Supercharged Fit)

Build your own Cab

TestDriven

MVP