Most middle managers seem to have a large knowledge gap when it comes to web apps. Very few seem to understand that HTML is a markup language meant to format text. Any other use of it is the result of a series of clever hacks. Because those hacks have been so successful, many don�t differentiate between web applications and any other application. The lines between possible and impossible, and cheap and costly seem arbitrary to them.
After years of fielding some seeming ridiculous questions, I decided we should cut out the middle man. Management should skip the developer and ask the programming components themselves to do the job. What would happen if technology could talk, and we removed the developer from the equation?
PHB (Pointy-Haired Boss): My web reports need more advanced printing. I�d like to allow the user to check off all the reports they need to print and press a single button. Then all the reports should print at once. How long would it take you to implement that?
HTML: Why are you asking me? I just format text.
PHB: Format text? My web applications are written in HTML. Surly you do more than that?
HTML: Actually I don�t even really format text. I just mark it so CSS can format it. I used to format text, but someone decided that would be too much responsibility for one technology, you see, I also link to things. You should talk to the web browser. He knows how to print.
PHB: I need to print a bunch of reports from a web page. Can you do that?
Internet Explorer: Sure. I can print web pages. Just load one up, press the print button and repeat.
PHB: No. I want to press a button in the web page to cause many pages to print.
Internet Explorer: If you want to press a button within the web page to print, you need to talk to Javascript. But I'll only print one page at a time, no matter what he says.
PHB: Ok. Javascript, how do I initiate printing from within a web page?
Javascript: If you issue this command, I can pop up the print dialog for quite a few browsers: window.print(); � I can�t promise anything though. Ultimately, its up to the browser.
PHB: Can you print more than one page at a time?
Javascript: I can only pop up the print dialog for the current page. But I can also open as many windows as you want and pop open the print dialog on each of those? Then you would have a bunch of windows, and a bunch of popup dialogs. Or I could open a single window, popup a print dialog, open a new report in the same window, and popup the dialog for it�
PHB: Can we just have one print dialog?
Javascript: All I can do is open the print dialog for a single web page. Maybe you could talk to the app server about getting everything on one page for me. For as much as you paid for him, he should be able to do anything!
PHB: Good idea. App server, can you help me with something?
ISphereLogic: I�m a massively scaling, on demand, multi transactional, threaded, secure enterprise application environment. I can do anything.
PHB: Can you merge multiple pages together so they print all at once?
IsphereLogic: Well� I have minions who can. Try Servlet, JSP, Struts or XSLT. They should be able to help. If they don�t you could talk to any of the CGI solutions, ASP or one of my more proprietary cousins.
PHB: I know my developers were using Struts before. I read about it in InfoWorld and had them switch everything over to Struts because it got 4 stars in the CIO Report. I�ll ask him. Struts� can you help me?
Struts: I am only a controller. I do not handle any trivial matters such as view or data. You should talk to JSP.
PHB: Ok, I�ll�
Struts: But first, you must subclass Action and add entries to web.xml, struts.config and tiles.config before I allow you to talk to him.
PHB: err� kind of controlling, aren�t you?
Struts: It�s what I do.
[15 minutes pass]
PHB: JSP? Can you put these reports on a single page?
JSP: Sure, as long as the data needed is here and the application server lets me. It will probably work.
PHB: I think I have it working, but this sure seems like an unstable house of cards. I hope nothing goes wrong. It sure would be nice if there were someone between me and these technologies to blame if it did.
PHB: Hmmmmm?
Labels: Programming