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.


 

About Jeremy Miller

Jeremy is the Chief Software Architect at Dovetail Software, the coolest ISV in Austin. 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 is the author of the open source StructureMap tool for Dependency Injection with .Net, StoryTeller for supercharged acceptance testing in .Net, and one of the principal developers behind FubuMVC. Jeremy's thoughts on all things software can be found at The Shade Tree Developer at http://codebetter.com/jeremymiller.
This entry was posted in Database and Persistence, Ranting. Bookmark the permalink. Follow any comments here with the RSS feed for this post.