Some trends you just don't see coming, like the return of bell-bottom pants. They are mysterious and leave you wondering what people can possibly be thinking about. Other trends are much more comprehensible and when they start to manifest themselves, you tend to wonder why on earth you hadn't seen them coming in the first place....
One such development that took me by surprise is the explosion of interest in HTML via Java, either by servlets or JSP. Those of you who did see this coming, feel free to feel superior. For the past year or so I've concentrated on Java's impact on the server space, particularly with Enterprise JavaBeans. But I'm starting to see another trend emerging - the use of Java and HTML to present attractive, customized interfaces to end users.
I attribute this to a chicken-and-egg type of relationship. Up to about a year ago there were only a small number of servlet engines and the JSP specification was still churning. That's the chicken. The egg part was the demand, or market space, for products that would support these technologies. Companies like BEA had servlet support in WebLogic, but you weren't likely to buy WebLogic to serve dynamic HTML - too much like swatting a fly with an atom bomb. Other products that emerged included JRun, ServletExec, ATG Dynamo and 10 BaseJ.
Last month (in editorial time, not calendar time), Persistence purchased 10BaseJ with the intent of integrating JSP into their PowerTier server, and BEA is partnering with Macromedia to add support for JSP into Dreamweaver. The number of files that I see on the Internet that end in .jsp keeps growing.
JSP represents a middle ground where Java programmers and HTML designers can meet. The servlet specification was fine for us Java folks, but it was too cryptic for the HTML people, who wanted to add some additional horsepower to their code but didn't want to understand how to get a Reader or a Writer. The ability to embed Java code in HTML is an advantage for programmers who want to see more of what the file will look like when it gets to the browser, rather than having to imagine it while coding in a traditional IDE.
One problem with JSP, though, is the lack of a good interface. Since I use Dreamweaver to write HTML, my hope is that BEA and Macromedia can go beyond simple support for tags and dive deeper into true understanding of Java in the HTML editor. Ideally, I want an editor that can show me what it will look like when it hits the browser, while still providing syntax checking, compiling and the like.
I'd also like it to be portable. By this I mean that I don't want to have to use a separate dialect to achieve this. I want to do it with standard JSP. Some good alternatives are available if that's not your need: both ATG Dynamo and ColdFusion provide solid IDEs, but each requires some compromises when it comes to the standards. Of the two, I think ATG is closest to the JSP standard with their .jhtml files. Their prebuilt components also reduce the amount of coding that's required - and ATG does support embedded Java in HTML.
But I want to be able to walk away from one system and take my code to another. Not the code per se, but the techniques and the knowledge. I want the same thing for EJB too; maybe I'll get there one day.
So I missed the trend on this one. I should have seen it coming much earlier, but I'll be on the lookout for it now. In the meantime I'm going to dust off my old plaid pants - maybe that'll be the next big thing. (I sure hope not.)
Sean Rhody is the editor-in-chief of Java Developer's Journal. He is also a principal consultant with Computer Sciences Corporation
where he specilaizes in application architecture - particularly distributed systems.