Get the latest Java books
h t t p : / /w w w . j a v a c o f f e e b r e a k . c o m /
Looking for Java resources? Check out the Java Coffee Break directory!
Duane K. Fields, and Mark A. Kolb
Duane Fields is a web applications developer and recognized Java expert. He holds a holds a B.S. in Engineering from Texas A & M University, frequently speaks at industry conferences, and published numerous articles on the intricate aspects of web application development. He has co-authored two books on Java (his earlier title being DevEdge Web Developer's Library), and has worked for IBM and Netscape.
Mark Kolb has been programming in Java since 1996, and in object-oriented languages since 1984. An aerospace engineer in a former life, he has B.S., M.S., and Ph.D. degrees from MIT. In recent years, he has focused on Internet applications, ranging from applet-based HTML editors to server-side systems for unified messaging. Mark was recently appointed to the expert group for Java Specification Request 000052, A Standard Tag Library for JavaServer Pages.
Together, Mark & Duane co-authored Web Development with JavaServer Pages, and in this exclusive interview they talk to us about web development, and server-side Java.
Q: What do you believe has been the biggest change affecting the Java community in the last year?
A: Duane and Mark - The biggest changes we've seen in the past year is the rapid acceptance of J2EE and the emergence of no or low cost application servers. A year ago support for servlets, JSP, was a bolt-on to other servers, and a free (at least for development) EJB server was nowhere to be found. Today servers like Orion and JRun are available for aspiring server side Java developers to sink their teeth into. I think the availability of such servers is allowing companies to investigate J2EE as well, without having to outlay a large sum of cash up front.
Q: How do you find Java stacks up to other programming languages, such as C++ or VBScript for ASP?
A: Duane - In terms of rich, object oriented design Java is the only game in town, in my opinion. ASP is by definition locked into Microsoft's platform, and doesn't offer the clean, modular abstraction one can obtain with Java.
Q: How does Java Server Pages stack up to competing technologies like Microsoft's Active Server Pages (ASP)? Can JSP match the performance and scalability of ASP, or should developers be evaluating other issues such as portability and ease-of-use?
A: Mark - If just addressing performance issues, NT solutions like ASP are throttled by the fact that they only run on NT. In my experience a similarly equipped Unix machine will beat the NT box in terms of scalability, concurrent connections, and performance. The performance of JSPs are a function of the performance of the VM, the application server, and the hardware, so it's hard to make blanket statements.
Duane - All things being equal, in my experience they are "equally fast". So performance isn't really an issue. Certainly JSPs are more portable, and in many ways easier to use. Especially if you stay away from scriptlets (embedded code) and use the JavaBean related tags. The use of these tags, and custom ones as well, allows web content developers without any coding experience to create dynamic content with JSP.
Q: How do you see JSP in relation to Java servlets? There seems to be a fair bit of overlap between the two. Are there some situations where JSP is preferable to servlets, and vice versa?
A: Mark - Well, JSPs ARE servlets really. JSP code gets parsed, turned into a Java source file, and compiled into a servlet class on the fly. However, it is useful architecturally to speak of them as separate beasts. I recommend using servlets for application control only, deferring all content generation to the JSPs. For example, to display a record from a database you should direct the request at a servlet which collects the data into a bean and forwards the request onto a JSP page for display. Coders can work on servlets, web developers can work on the JSPs.
Q: How do you see Java Server Pages fitting into the framework of the Java 2 Enterprise Edition (J2EE), and Enterprise Java Beans (EJBs)? Will the average JSP developer need to draw on all the different technologies in J2EE?
A: Duane - As alluded to in the previous question, JSP is THE presentation layer for server side applications. JSP allows you to pull content out of servlets, and I think EJBs are great for pulling out business logic in to reusable modules. I think any server side developer working on projects of any complexity will need to learn EJBs, at least understand how to access beans written by others.
Q: Since most, if not all, of your readers will be looking to deploy their JSP applications on the web rather than within an Intranet environment, what should they look for in a hosting provider? Are more hosting providers supporting JSP and servlets, or is it still an ASP lead marketplace?
A: Mark - I don't think they are really competing in that space so much. I would think most JSP/Servlet developers are not hosting their pages and applications on ISP machines, but are rather co-locating their own boxes which they control. Since until very recently there were no low/no cost J2EE servers out there, you won't find that many JSP hosting services.
Q: While there are plenty of e-commerce sites that use either existing technologies, such as Microsoft products, or proprietary systems, it seems like there's a large number of new web startups that are running JSP on their sites.
What sort of percentage of the market do you think JSP claims now?
A: Duane : I have no idea.... Surely there are more ASP programmers out there, and NT is certainly pervasive (like it or not). I think that this percentage would differ dramatically depending on what market segment you were looking at. It is a whole lot easier, but not necessarily better, to throw together an ASP site. Developers are easier to find, and you can hack together something pretty easily by hard coding scripts into the pages, etc. In the long run, you end up constantly maintaining pages, writing the same code over and over again, and having to use programmers to edit your content.
Mark : With respect to web startups, I think the appeal of JSP is its inherent flexibility. JSPs provide access to the complete suite of Java APIs and extensions, are fully integrated with servlets, operate on a wide range of platforms, and are supported by a large number of vendors. These qualities all support the quick response to changing market conditions that are the lifeblood of an Internet startup.
Q: Looking to the future now, where do you see Java heading? Do you think
Java will continue to make inroads with the server-side market and eventually topple other technologies like Microsoft's Active Server Pages?
Are there other complimentary technologies on the horizon, such as J2EE, which
you're particularly enthused about?