GregHowley.com

Component Architecture

September 23, 2004 - -

This is a rant about software and application architecture, so if you're not a programmer, prepare to be bored.

Here at Travelers - excuse me - St.Paul/Travelers, (stupid mergers) we use something called Component Architecture, which means that when a program needs to be written to do a simple task, such as taking a policy number and using it to find the policy's effective date, coverages, et cetera, someone writes it as a component, and then that service is used from umpteen other places. Seems like a good idea, in that it removes redundancy, right?

Ugh. What a mess. The calling chains get so enormous that it would take easily fifty pages to print out most of them, with certain services, such as error checkers, being called over and over. And those services that are repeatedly called use dozens of others, making for a huge web of programs that looks more like a sloppy tangled birdsnest than a neatly structured web.

Two weeks ago, the code I was working on suddenly stopped working. After a day and a half, I determined that nothing I had done had caused it to break. Another week went by before I found where in the tangled mass of code the error was and determined that it was not a data change that had caused the error - it was a change made by someone else in another department who hadn't realized that we used a service that he was changing. Aargh!

Needless to say, I am not a fan of this setup.

Comments on Component Architecture
 
Comment Thu, September 23 - 11:13 AM by tagger
The more things change, the more they stay the same, I guess. I remember commenting to someone that the code I was writing in IBM 360 assembler to call subroutines was longer than the routines they called. Got a blank stare in return.

I may be missing something, but I am assuming the purpose of all this is to build a library of reusable code one can call as needed? It also sounds like you have the ability to hack up each others code, is that right?

Wow! Sounds messy!
 
Comment Thu, September 23 - 11:19 AM by Greg
You are right in all your observations. And yes - it's messy as hell.

Your blank stare comment reminds me of a time I called SNET tech support years ago when I was still connecting via dialup. I forget the question I asked, but when it came out that I was connecting without using SNET's proprietary software and browser, the tech support guy was baffled. That's when I realized that I needed to go elsewhere for help. I think I eventually figured out whatever it was myself.
 
Comment Thu, September 23 - 12:25 PM by tagger
Yeah -- I remember. Part of my routine when I hooked someone up in those days was to tell them to call me before they called the ISP. ISPs used to send out a copy of (unregistered) Trumpet Winsock and (sometimes) a brain-dead or hacked copy of Mosaic or Internet Explorer. If you made the mistake of telling the support guy you were using, say, an actual supported Winsock and Netscape, they'd say, "Oh -- THAT'S the problem. You have to use our software." Nine times out of ten, the ISP changed an IP address and didn't tell anybody, or their phone lines were screwed up. I just don't miss dial-ups.

Gee -- it just hit me -- I hope your boss(es) don't read your blog! :-)

 
Comment Thu, September 23 - 12:28 PM by Greg
My bosses don't read my blog. And if they did, they'd agree with me. The people who decided that things should be architected this way are so high up the chain that I certainly never see them.
 
Comment Thu, September 23 - 12:34 PM by tagger
On a completely unrelated subject . . .

My friend the writer (Jim Hogan) has been after me to make his Web site BB interactive so he could trade comments with fans. I suggested a blog some time ago, but I'm not entirely sure he understands how it works. Would you mind if I pointed him to this blog so he could look it over? Thanks.
 
Comment Thu, September 23 - 12:35 PM by Greg
Of course I wouldn't mind.