DCSIMG
Programmer’s Backdoor Trap - Ran Wahle's blog

Ran Wahle's blog

Programmer’s Backdoor Trap

Programmer’s Backdoor Trap 

Today I’ve encountered something that made a programmer happy but made me sad.Backdoor

He had to pull data out of Data Warehouse and use it for his system.

Later, he was informed that DWH personnel made his life easy: They’ve decided to write the data into his own database so he wouldn’t have to work so hard.

Unfortunately this news made him happy, and therefore he went on with it, which made me even sadder.

What’s wrong with it?

Well, allot.
1. It opens a backdoor to the system because you have to give permission to another to your
    database.
2. It’s hard to maintain. What happens when you deploy\move your database to another
    server? Starts making calls to the other system’s owner so he will update his own?
3. Let’s assume you gave the permissions so the other system’s will update your database,
    What happens when it fails to do so? Who will know? (a hint, not you, not at first at least).
4. What happens when you need to change your DB schema? How many system owners
    will you need to inform? do you wish to keep track? (you probably won’t).

There are more reasons but I think I can leave you with the one’s written above, feel free to come up with some more on your comments.

That’s was a classic programmer’s trap

It is very tempting to have your job easier at the beginning but the price is opening a backdoor to your system, which is too high.

Fortunately it took only a while to persuade everyone that it is not the way to do things. Now, exchanging data between the databases was replaced by reading the data through a web service.

That's was one system I’ve caught at development stage. This also exists on many production systems at the customer I work for. They mainly let the integration system to write on various system’s databases which I struggle hard to prevent.
If you, as a developer, a team leader or an architect see this trap, please identify it, don’t fall and don’t let others fall into it.

kick it on DotNetKicks.com

Comments

Jerry Nixon said:

It sounds like they created a datamart for this developer to create a report. I think that is a typical scenario in the warehouse world. Even a best practice. Maintenance is easy if the extract is accomplished by a script. And security is easy if the extract properly omitted or scrubbed PII. You know more about the situation, so you are probably right. But the way you describe it makes me think this is okay. Seems like the commoditation of BI requires transient marts that meet contemporary needs. We all know the warehouse itself will never be ready in time to provide value to the business, after all. Marts are the only answer, the only salvation to warehouse efforts. IMO the warehouse has just become a proxy to where the real business value is found.

# October 9, 2012 3:45 PM

Ran Wahle said:

Well Jerry, it was not really the case.

Both applications have to read and write data from the same database.

They actually access the database with the same credentials, to add pain to misery.

The thing is that they treats two different processes, running on different machines and written in different languages, by different teams, to access, read and write to the same database. When I've asked why they're doing it they say that this is actually the same system despite all the things mentioned above(!)

# October 9, 2012 4:19 PM
Leave a Comment

(required) 

(required) 

(optional)

(required) 


Enter the numbers above: