JSP Insider - http://www.jspinsider.com

News - Articles/Tutorials/Code/Reviews - JSP/Servlet Hosting Companies - Links

JSP Buzz 04/24/2001 - Quarterly Java Review


***** IN THIS ISSUE ************************************************** 
News
1:Severe Security Flaw Threatens Netscape Users
2:VB Users Migrating to Newer Languages
3:Sun Cooks Java for Real-Time Computing
4:Java Salary Review

Rambles 
1:Attack of the Killer Spiders
2:Using XML in Server-Side Applications

Links 	
1:Tomcat Double Feature
2:Design for Performance Part 2: Reduce Object Creation
3:The Jakarta Taglibs Project--Part I
4:Manage Distributed Sessions
5:Level 1 DOM - Introduction
6:BBSpot
7:Improve Your XSLT Coding Five Ways
8:Savor Success with Java on the Front End
9:Enterprise Servlets and J2EE

Product Releases
1:JTEST 4.0
2:JRun Certified to Be J2EE Compatible
3:Zeus 3.3.8
4:JEdit 3.1
5:Microsoft XML Parser 4.0

Reviews
UltraEdit 8.0

Main Topic
JSP / Server Side Java Market Quarterly Review - 4.2001

Like this newsletter? Tell a friend about the JSP Buzz!


================================================================
              THE LATEST NEWS
================================================================
1) Severe Security Flaw Threatens Netscape Users (BetaNews 4.21.2001) 
Turns out the SmartDownload option also is a SmartHacking upgrade. The 
latest security bug opens the way for programmers to execute any code 
on a victim's system. The best part is that even when SmartDownload is 
disabled Netscape users are still vulnerable to attacks. While AOL (the 
parent company of Netscape) has been quiet about the bug, internally 
the company has issued a security alert to staff to fix the problem. If 
you are a Netscape user make sure to either upgrade to the SmartDownload 
v1.4 or totally remove SmartDownload.

2) VB Users Migrating to Newer Languages  (NewsAlert 4.17.2001)
Visual Basic usage is down while Java usage continues to increase. While 
the trend isn't a surprise, the numbers are more shocking, showing that 
VB and Java usage are neck to neck. Indications are that Visual Basic is 
still in a downturn and Java usage is still increasing.

3) Sun Cooks Java for Real-Time Computing (ZDNet 4.11.2001) 
Java is being used more for real time applications and embedded systems. 
A rough reference design for the "Real Time" Java might be released 
towards the end of this month.

4) Java Salary Review (Gamelan)
A review of the average salaries for Java Programmers. The trick, of 
course, is getting the job in the first place.


================================================================
                   Rambles by Casey Kochmer
================================================================

**************** Attack of the Killer Spiders ****************** 

Traffic for a web site is extremely important. However, not all traffic 
is created equal. Case in point is the spiders and crawlers. Spiders 
are an important part of the Internet. They scour and probe sites for 
information. Sometimes, though, it makes sense to block spiders from 
crawling a site. This is especially true for web applications. Web 
applications often are private sites which do not need or desire to be 
indexed by the search engines. Also, many web applications are pushing 
the edge of performance for one reason or another. The extra traffic 
from spiders could be enough to cause a server to slow down or even 
crash. For the average site spiders should not cause a problem. As an 
example, at JSPInsider, over the past 20 days, out of 370,000 page 
requests only 6,000 came from spiders, not enough to cause a problem for 
the site. However, with our current server being close to maxing out, we 
did consider blocking the spiders until we move to a more powerful 
server in May.

So, what is the best way to handle spiders?  It is relatively easy to 
control most spiders through a file called robot.txt. Once this file is 
created it is possible to post to the spiders how to handle a site. For 
more information on this check out:

Search Indexing Robots and Robots.txt 

Of course, if you tell spiders not to scour your site, then the site 
will not get automatically indexed by search engines. This could be good 
or bad depending on the site's needs. Keep in mind it is possible to 
partition a site so some sections get crawled and other are left alone. 
It is even becomes possible to tell spiders from different search 
engines to act differently. 

For more general information check out:
Spider Food

The topic for this Ramble was supplied by Peter McEvoy.  Thanks Peter!


************ Using XML in Server-Side Applications ************** 
Two issues ago, I mention that I was planning to write an main topic 
about using XML. I came across an article written by Brett McLaughlin 
which does a fantastic job of covering of this topic. So instead of 
writing it myself, I have the pleasure of recommending the following 
piece.

Data Binding from XML to Java Applications: Part 1 (Brett McLaughlin 4.2001)

This is an excellent introduction of how to plan and incorporate XML 
within Java code. In part one of this four-part series, find out what 
data binding is, how it compares to other methods of handling XML data 
in Java applications, and how to start using it. This installment looks 
at why to use data binding and how to model constraints for XML 
documents being converted to Java objects. If you are at all interested 
in using XML in your Java project then this article is well worth the 
time!


================================================================
              Links of Interest
================================================================

[Tutorial] Tomcat Double Feature 

Installing and Configuring Tomcat (James Goodwill 3.29.2001)

Deploying Web Applications to Tomcat (James Goodwill 4.19.2001)

The JSP community needed a document to walk newer programmers through 
installing and using Tomcat. This tutorial fills in this need nicely. As 
an added bonus, a walk through of incorporating servlets within Tomcat 
can be found here too. If you are having problems installing Tomcat or 
want a well written introduction, then this is for you. However, be 
warned, the material is geared towards Tomcat 4.0 and would not be as 
useful for users of the 3.x versions of Tomcat.

[Article] Design for Performance Part 2: Reduce Object Creation 
          (Brian Goetz 03.2001)
This article reviews how to increase the performance of your Java code 
by making wise design choices up front. It is common to overlook how the 
design of objects has a major impact of the speed. Brain gives a good 
review of this and provides examples.

[Article] The Jakarta Taglibs Project--Part I (Steve Meloan 4.2001)
This article, the first of two parts, explores the Jakarta Taglibs Project. 
The first part of the article is a quick review of Tag libraries. This 
section has mistakes and the reader should skip ahead to the Jakarta 
Taglibs project section. It explains how Jakarta organization works 
and presents a nice introduction to both the Jakarta project and the 
Taglibs sub-project.

[Article] Manage Distributed Sessions (Kelly Davis & Robert Di Marco 4.2001)
Using RMI and the Proxy API introduced in JDK 1.3, this article describes 
a technique that allows one or more Servlet servers to maintain and 
exchange session information. This is worth reading if you are interested 
in learning more on how to manage session objects. This article is also 
of general interest to anyone working on multiple servers for a single 
project. This is not intended for new programmers, but rather for mid-
level Java programmers.
 
[Reference] Level 1 DOM - Introduction (Peter-Paul Koch)
This article is well worth the time for newer programmers trying to get 
a handle on the DOM object for their HTML coding pleasure. The site is 
also worth visiting for help in HTML and JavaScript. It is a solid 
resource for finding the answers to general client-side design 
questions. 

[Fun Site] BBSpot
This site of technology news satire won't be for everyone. 
However, at times the jabs it delivers are dead on funny. 

[Article] Improve Your XSLT Coding Five Ways (Benoît Marchal 1.2001)
Using XSLT requires a different mind set than Java. As a result, this 
article is nice as it helps show simple ways of using XSLT. This article 
will be useful to both new and mid-level programmers.

[Article] Savor Success with Java on the Front End (Alex Kalinovsky 4.2001)
This article reviews the options a server-side Java programmer has in 
building client-side interfaces for a web application. Alex talks about 
Swing-, HTML-, and XML-based front ends for JSP / Java applications. 

[Sample Chapter] Enterprise Servlets and J2EE (Jason Hunter 4.2001)
This sample chapter reviews using Servlets in a J2EE environment 
(Enterprise Servlets). It focuses on distributing traffic load and 
the actual integration with J2EE.  The chapter is easy to read and 
provides a good introduction to the subject.

================================================================
                     Product Releases
================================================================
[QA Software] JTEST 4.0 (ParaSoft 4.18.2001)
Jtest is a fully integrated, easy-to-use, automatic class testing tool 
for Java. This package is for larger companies wanting to automate 
testing procedures of their Java. While it's not cheap ($3,495), it 
does receive good reviews and press around the Internet.

[J2EE] JRun Certified to Be J2EE Compatible (Macromedia 4.10.2001) 
JRun has successfully passed Sun Microsystems' comprehensive Java 2 
platform, Enterprise Edition (J2EE) test suite.

[Server] Zeus 3.3.8 [4.2001]
Zeus recently upgraded its web/application server software. This ZDNet 
review gives an overview of its qualities. The speedy Zeus server is a 
well established product in the market place. Zeus has JSP and Servlet 
support through JRun and Tomcat. 

[Editor] JEdit 3.1 (4.21.2001)
This is the latest release of a great tool! This version adds folding, 
narrowing, reverse search, improved undo, improved regular expression 
support, improved abbreviation support, and various other minor changes.

[XML/XSLT] Microsoft XML Parser 4.0 (MSDN 4.13.2001)
Very kewl! The latest version of the Microsoft XML parser (MSXML) was 
released this month. It includes support for SAX and has the support 
of the latest World Wide Web Consortium (W3C) XML Schema, Proposed 
Recommendation, dated March 30, 2001. This link will be of interest for 
server-side programmers performing client-side XML / XSL parsing in the 
Explorer 5.x Browser.

================================================================
                           Reviews
These reviews are not sponsored and are not advertisements. They 
are just my observations of various software packages I have been
evaluating. 
================================================================

[Text Editor] UltraEdit 8.0 (Ian David Mead) 
A great text editor! The latest version offers a tie into HTML Tidy 
which allows quick validation of HTML code. This one feature is 
extremely nice since well formed HTML is extremely important now. In 
building the DHTML kit, I have found the majority of my problems happen 
when the HTML is malformed, so being able to validate the HTML is a 
great time saver. The program is fast and offers many features such as 
hex editing and column mode which allows cut and paste within a column 
rather than horizontally.  All in all, this is a great text editor. Even 
when using tools like JEdit or NetBeans, UltraEdit still has a  place 
helping programmers in their daily tasks. 

================================================================
                     MAIN TOPIC by Casey Kochmer
================================================================

***** JSP / Server Side Java Market Quarterly Review - 4.2001 *****

One of the advantages of writing the JSP Buzz is that it gives me an 
opportunity twice every month to track JSP and related technologies. 
Last year people were just getting to really know JSP. Now, in 2001, 
it seems people are really beginning to push JSP. The best sign of this 
is the fact that the amount of high quality written materials is 
increasing at a ever faster pace. This makes editing the Buzz even 
harder due to difficult choices in deciding what materials to list, a 
difficulty I am glad to see. The other aspect of this is the appearance 
of more advanced written material being published as JSP developers 
mature and learn how to use JSP. All this shows the JSP market place is 
indeed growing and becoming more vibrant. 

This leads me to two other trends I am seeing:  the need for frameworks 
and the over abundance of J2EE / JSP servers.

Frameworks and Template Engines

Frameworks/template engines are needed to ease the development of ever 
more complex web applications. The choice of Servlet-based solutions, 
however, has exploded -- and they all compare themselves to JSP.  Of 
course, each one claims to be better. To me these comparisons validate 
JSP's success and reinforces JSP is a solid solution. However, it also 
shows the need for both a framework for the Java programmers and a 
reusable code model for non-Java programmers to access when building 
web applications. JSP, Struts and the various Tag library projects will 
fill this need quite nicely. This combination will help power JSP 
applications to the next level of reusability. As a framework, I have 
found that Struts has everything it needs to be a success. After 
watching the Struts community in action over the past two months, it is 
clear that the Struts project has both the vision needed for long term 
success and the support of a ever growing and vibrant user community. As 
a result, Struts is here to stay as the primary JSP framework of choice.

This leaves open the question, what is the fate of the other Servlet 
frameworks? Of all these frameworks Enhydra clearly stands out. Without 
a doubt, Enhydra is here to stay and has become a major force in the 
application development world.  Of course, Enhydra is more than just a 
framework, but it also fits nicely within this category in my opinion.  
I believe the majority of the other frameworks will drift into obscurity. 
One or two will survive and prosper, but with the exception of Enhydra, 
it is too early to say which ones will make the cut. As a result, I 
recommend caution to new users looking for a Servlet framework to use 
within a web application. Being a JSP programmer, I personally recommend 
Struts, with Enhydra as my second choice.

Over Abundance of J2EE Servers
 
It's amazing how many server solutions exist.  To get an idea, 
see the partial list of server solutions at Java Skyline.

Having all of these products is a good thing. It drives competition 
which, in turn, drives product development. It also drives marketing, so 
keep in mind the survivors tend to be the solutions which have superior 
marketing techniques. BEA and IBM have claimed the top two spots and are 
here to stay. The battle is now raging to determine the handful of other 
winners to join BEA and IBM. Expect the marketing war among these 
products to be exceptionally fierce as they struggle for survival.  

Recent HP Bluestone announcements provide an interesting example.

  HP is now offering Enhydra as part of its server solution. 
   (Tom Sullivan 4.9.2001)
  

  HP teams up with WebGain (and shooting for .NET  compatibility to boot).
    (Thor Olavsrud, 4.17.2001)
 
And HP Bluestone is pushing Struts compatibility as well! 

From this simple example it is clear HP is trying to market itself to 
everyone. And the reason is clearly one of survival, since a year from 
now it will be too late. With the economy currently tightening up,  it's 
standing room only for J2EE servers outside the #1 and #2 slots. This 
means customer loyalties are ever more important to building a large 
customer base, something which is required to support these complicated 
and expensive server products. As a result, the battle is on to win 
hearts and market share.  Similar marketing pushes have been happening 
for IPlanet and SilverStream. 

Other conclusions I have drawn with respect to J2EE servers include:
-Companies historically bad at marketing will probably fade into niche 
 market places or simply fail.
-Products such as Orion will capture a niche market where the primary 
 need is for a fast JSP container and J2EE is of secondary importance. 
-This is an excellent time for developers in larger companies to work out 
 some sweet deals with the various vendors. 
-The battle to be the dominant low cost J2EE server is still raging and
 I would predict that JBoss will win here. (It's both free and a solid
 open source project.)
-The marketing and strategic moves made by HP Bluestone will probably
 ensure it is one of the survivors in this market. 
 
If you are interested in other commentary on the J2EE market place
check out Floyd Marinescu's look into the J2EE server market place.

Over Abundance of JSP Containers

While all of the J2EE servers will have JSP containers, many web 
applications don't need a J2EE server. So this leaves Resin, Jetty and 
Tomcat to capture this market. Expect some J2EE servers such as Orion 
and JRun to compete in this marketplace as well. The uncertainty of the 
J2EE market place will drive uncertainty here. As a result I plan on 
generally using Tomcat for development and using more robust containers 
such as Resin or Orion to drive production systems. Tomcat really isn't 
fast enough for production except for smaller systems. However, by 
developing in Tomcat, I want to ensure the most portable code possible. 
This will make it simple to port web applications among various 
solutions. 

Summary

Well, such are my insights on the server side market as it currently 
stands, starting for the second quarter of 2001. As always, I love to 
hear from JSP Buzz readers about your own crystal ball viewings and 
experiences.

================================================================
                           SUBSCRIPTION
================================================================
You may unsubscribe from or subscribe to this newsletter by going to:
http://www.jspinsider.com/jspbuzz/index.view

Browse all of the JSP Insider source-code.

Questions or comments? Contact support@jspinsider.com.