Not a bad day
Started: Tuesday, March 23, 2004 20:59
Finished: Tuesday, March 23, 2004 22:02
Though I didn't get a terribly huge amount done, today turned out to not be too bad. A few minutes ago, the first phase of the "going live" part in $SUPER_SECRET_PROJECT_2 began. I'm sitting here waiting for something to suddenly go horribly wrong, but so far, there are no signs of that.
This afternoon's conference call about the other super secret project (no, not that one, the other one) went as well as could be expected, I suppose. I spent about an hour on the phone with my primary contact, along with someone from the company that had developed the thing. (Yeah, the oracle-related deal.)
The first part of the conversation began with him telling me that I needed to update some (undocumented) mysterious parameters in some config files. I had sort of already guessed that this might be necessary, but I had no idea what to put in them.
When I tried to explain again that the problem that the big huge main servlet at the center of it all was not even loading properly, he was like, "yeah, you just need to set these config files," and proceeded to rattle off various parameter names for files in several disparate directories.
When the few things I did try didn't yield anything more better than the infamous page-long Java exception stack trace, he offered to ssh in himself and fix it, which was fine with me.
He messed around with the config files himself for a while, and it didn't end up much better. He then tried to load up another servlet which hadn't been defined in the deployment descriptor (web.xml, which ships with every java web app), and of course that didn't work, and went on to make a little hello world servlet, "just to test that the tomcat server is working".
When his hello world didn't load, he went into talking about how it might be better if we ran normal apache instead of just tomcat, as running it by itself can cause all sorts of problems and hinder performance. (And it sounded like he was getting ready to terminate the call.)
I wasn't going to let it go like that. I edited web.xml to include a url mapping for hello world (every servlet has to have a mapping before it can run at all; aren't I glad I took time to learn this stuff last fall?), and after that, his hello world ran fine.
He asked if I could add mappings for a couple of the other servlets in the app for testing, which I did. Those more or less worked according to how he said they should, outputting various little strings.
He did some more poking around, but still couldn't convince the big main servlet run properly. Eventually, after a few more long periods of silence, he said he would have to see if he could reproduce this, and get back to us later.
End of phone call. Whew. And we didn't even get to touching Oracle.
Why do I tell all this? Well, I guess it maybe it's because of something scott was saying to me the other day.
"classic IT problem #4. Outsourced IT guy hears about problem. Proposes solution for only $z. Hires other guys for 1/2 z. Has no idea what it will take to get project done. Other guys look bad becuase they didn't do their due diligence in finding out everything."
If I hadn't been absolutely on the ball 100%, the fact that things weren't up and running could easily have been cast as a failure on my part. It would have been easy (and quite natural) for me to get off the phone right after having been told about the location of the mystery config files, and say that I'm smart enough to figure it out from there. Had I done so, I think it's safe to say that I would have gotten stuck even worse. If somebody who is already intimately familiar with the architecture of this huge thing can't get it going after an hour of tweaking, how would I even have a prayer?
I'm still concerned about the Oracle part, because that's one area where I'm feeling pretty lost already, even without another third party's dodgy app to contend with. Each obstacle must be met as it comes.
(And in case anyone thinks this is a dig on the programmer on the other end, that's not what I'm trying to go. Although I probably would have made some different design decisions had I been the one coding it, I know how easy it is to get into the habit of coding based on assumptions that rely on the one particular environment I happen to be using, and then watch in horror as things break horribly when it runs somewhere else.)
In any case, the programmer from the other company has taken on the responsibily of at least getting the web app to show something on the machine we've been using. Based on what I've seen, he might have a difficult task ahead. Then again, maybe he'll know enough about the internals to have it running very soon.
I'm glad that ball is out of my court for the time being.
Now I'm trying to decide whether to watch one of Jaeger's burned Angel episode before going to bed early. (Compared my usual bedtimes lately.)
Maybe just one episode. Famous last words.