I was asked to review a CICS Web program for efficiency. There was a development effort underway that was going to change the size of the input and the number of different options this program was going to have to work on.
The first thing I noticed was the program looked through the entire input stream for a XML tag that would identify which function this data was connected to. This tag would have been in the first 30 - 50 characters. This would have been OK if the input stream was small, however this input stream was going to become very large, 2MB - 4MB. The developers also wanted to move this input stream to Working-Storage. They are adding new tags. Hopefully the new user was the first tag, at least his transactions would be a bit quicker. Once the tag was found, the appropriate code was performed, if that tag wasn't found, then on to the next tag. Scanning through 3 MB of XML data 4 or 5 times before finding the tag you want AND you want sub-second response time... !!!! I don't think a CRAY Super Computer could do that!
The program also performed a paragraph to upper case a record, but did it as many times as the record was long.
The program also didn't believe CICS for the length of the input stream and did some really strange checking for what was at the end of the stream to determine the length. I can't believe that CICS didn't return the correct length.
My look through this program was an eye-opener !
My recommendations were ignored and the program was cloned after the changes were made and now there are 3 or 4 of these trying to work.
These programs and my recommendations have resurfaced a few times in the last 3 years and some of my changes have been made, but not all of them. They would be out of the scope of the then current project and it appears to be working, so we aren't going to change it now .... So when??
Friday, December 12, 2008
Subscribe to:
Post Comments (Atom)


0 comments:
Post a Comment