When Dean Cleaver took a job at a large corporation, he was expecting to experience some enterprise. After all, the company was in the top 50 of the Fortune 500, so if anyone would have enterprise, it sure would be these guys.
Dean's specific role in this organization was to be one of six developers on a newly-created team to maintain a large and growing web application. In his orientation, he learned that the application was converted from Java Server Pages to ASP.NET about a year ago and that rewriting the application was "off the table" for now. Dean thought it was a bit odd that the manager mentioned this *four separate times* without being prompted or asked in any way, but didn't otherwise take much note of it.
When it finally came time to dig into the code, Dean noticed that a few "quirks" remained from the JSP-ASP.NET conversion. Oh, and I should probably mention that "quirks" is my word choice. The exact words that Dean used to describe these were a bit too harsh for this or, really, any publication hoping to make it past even the most liberal firewall. The conversion process used might explain why:
- Open up the Web Application in a web browser (the login page will appear)
- Go to the File menu and click Save As.
- In the File Name box, enter the page's name, but use an ASPX at the end (i.e. "login.aspx")
- Select "Web Page, Complete" from the File Type the Click OK
- Add the newly saved file (login.aspx) and it's corresponding folder (login_files) to the ASP.NET project
- Edit the ASPX page and add the appropriate server-side code
- Navigate through the application and repeat for every page
For the IE deprived, allow me to expand on step four. When Internet Explorer saves as a "Web Page, Complete" it creates a folder (e.g. "login_files"), downloads *all* image, javascript, and CSS files, and places them all in that folder. It then saves the file with all of the image, javascript, and CSS references pointing to that folder. For example, saving a "Web Page, Complete" from this very site produces no less than seventeen files in that folder.
But back to Dean, there were, all in all, there were 203 ASPX pages, 121 "_files" folders, and just as many copies of the same images, stylesheets, and javascripts. To remain consistent, each page had a slightly different coding style and communicated with each other in a slightly different manner. Some of the central pages had to read input parameters (such as username) in the querystring, cookies, and session.
The database, at first glance, was about at the same level. Unfortunately, we won't get to see that in much detail as, after receiving his first assignment to make a minor change to 100+ Javascript and CSS files, Dean decided that this type enterprise is not the type of experience he's looking for.