Monday, July 11, 2005

Don't play with strange databases... don't know where they've been, or who's been touching them.

I've been burned pretty badly in the past by making assumptions about existing databases. Database documentation isn't always helpful either, because it is out of date or just wrong to begin with. Even if the documentation is "correct," the corresponding code may be using it differently than the database designer intended. Even worse, you often have to interpret the data, and that's dangerous when you don't know the database. The only accurate source of information is usually the subject matter expert for the system.

What's the answer? I don't know. All I can say is to approach someone else's database with great caution. Kinda like going up to a big, mean looking dog and trying to make friends. I wouldn't make any kind of assumption about the meaning of any table or field. Put some effort into understanding the schema and expect to go back and forth a little bit.

It's the year 2005. Isn't the existence of SOA supposed to eliminate the need to be doing integration directly against a database? I'm writing a little code to integrate our main application with another 3rd party system. The only way I have to do this right now is to just write SQL queries against their database schema. I feel dirty.

Even worse is when shops start writing their own extensions and back door queries against a 3rd party application. That's a great idea. Take a database that you're not supposed to touch directly, and that you don't fully understand, and write all kinds of custom code into it. That'll really make it easy to upgrade the software package later.

Don't Make It Worse

At a previous employer they use an ancient inventory system that is written in a rare 3GL language. If you think of your IT infrastructure as the cardiovascular system of a manufacturer, the inventory system is the heart muscle. Everything else talks to the inventory system. The business logic of the system was bound up in the UI screens, so the only front door integration point was a screen emulation package from the vendor that was only certified for low volumes. At this point an intelligent IT organization in the SOA era would start looking for alternatives. My old employer beat the integration problem by writing hundreds of PL/SQL procedures to duplicate the business logic in the screens in lieu of a real service layer. To support other functions they added about 300 custom tables to the out of the box database. Just to make things worse, the database customizations were different region to region.

At one point I needed to write an integration from the inventory system to my application. I went and asked the SME where I could find a certain piece of information. He told me to look in table A and I turned around to leave. He then said, "you could also get it out of table B, or table C come to think of it." Oh, ouch. When I left they were struggling with a batch job that was supposed to run nightly that was taking about 25 hours to run and locking all kinds of database tables. They've experienced some problems with scalability, who would have guessed?

Even though the system is horribly obsolete and arguably an opportunity cost slowing down new development, they have no chance of upgrading to the newer J2EE version with web services because their database is way too wired. Idiots.


Anonymous military payday loans said...

how do you come with so many ideas. i am trying to write on my cash advance , but can get much out of it .
hope this helps me out. thanxs

6:08 AM, April 10, 2006  
Anonymous Anonymous said...

cant stop my self from commenting your nice blog . it was just so simple. do keep on writing. insurance

3:22 AM, June 22, 2006  
Anonymous Anonymous said...

Your blog seems to be a perfect guide in helping opthers to develop a blof of there own. i have taken some tips from it and i hope to implement on my blog. thanxs for the help . regards . cash advance

2:20 AM, June 23, 2006  
Anonymous Anonymous said...

Dear folks. I have defected to Seed Blogs on a promise of fame, fortune and women. So this will be my last ever post at this site. The new link is here instant cash loan , and the news feed in Atom form is here. It's been fun, so drop by for a chat.

5:32 AM, June 27, 2006  
Anonymous Anonymous said...

So far, two people have come out and said they think that Day By Day is at leastsometimes funny. Neither has provided any physical evidence of this. so please have a look at Fast loan

11:15 PM, July 05, 2006  
Anonymous Anonymous said...

Promise, I'm good. Everything is fine....I've just been busy and blah blah blah blah. You know the drill.I'll update more at payday loan online , when I can. In the meantime, please know that you are all in my thoughts, and I would never leave you without at least saying Goodbye.

4:39 AM, July 10, 2006  
Anonymous Anonymous said...

Thank you for your informative blog, it is good to see that people are still sharing their knowledge and experience. share my knowledge on Renters insurance and visit us .

12:52 AM, July 13, 2006  
Anonymous business company health insurance small said...

Hi Friend! You have a great blog over here!
Please accept my compliments and wishes for your happiness and success!
If you have a moment, please take a look at my business company health insurance small site.
Have a great day!

2:28 PM, August 02, 2006  
Anonymous Auto insurance said...

I was surfing through a few blogs and came across yours and wanted to say
very nice job on the content, so I have bookmarked your site for future
reference. Just in case you are interested I have Auto insurance site. It pretty much

covers Auto insurance related stuff.

12:26 AM, August 07, 2006  
Anonymous Anonymous said...

Well done!
[url=]My homepage[/url] | [url=]Cool site[/url]

8:55 PM, November 14, 2006  
Anonymous Anonymous said...

Nice site!
My homepage | Please visit

8:55 PM, November 14, 2006  
Anonymous Anonymous said...

Nice site! |

8:55 PM, November 14, 2006  
Anonymous Anonymous said...

Can anyone recommend the well-priced RMM tool for a small IT service company like mine? Does anyone use or How do they compare to these guys I found recently: N-able N-central database monitoring
? What is your best take in cost vs performance among those three? I need a good advice please... Thanks in advance!

9:14 AM, December 19, 2009  

Post a Comment

<< Home