Welcome to Cheng-chien's Web Site Designed for Santa Monica College Study
Home Assign 02 Assign 03 Assign 04 Assign 05 Final Exam World TimeZones  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
	<title>Java Server Page</title>
	<meta name="Description" 
		content="A Simplfied Guide to JavaServer Pages Technology">
	<meta name="Page" content="04">
	<link rel="stylesheet" type="text/css" 
		href="resource/assignment02.css" title="local_formal">
</head>

<body background="images/cloudbg.gif" 
	topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">

<div class="head" style="text-align:right">
<a href="http://java.sun.com/products/jsp/">
<img border="0" src="images/javalogo52x88.gif" width="52" height="88" 
	vspace="0" hspace="10" align="right" alt="JSP Home"></a><br>
<big>J</big>AVA<big>S</big>ERVER <big>P</big>AGES<SUP><small>TM</small></SUP>
<BR>A Simplified Guide
</div>

<!-- main page content -->
<table cellspacing="0" cellpadding="0" border="0" height="19">
	<tr>
	<td bgcolor="#8CAAE7" valign="top">
		<img src="images/crvRt_8CAAE7.gif" width="10" height="19" border="0"></td>
	<td bgcolor="#8CAAE7" nowrap width="100%">
		<img src="images/ts.gif" width="1" height="1" alt="" border="0">
		<b class="heading">6. JSP Deliverables</b></td>
	<td width="175" height="19" background="images/gradient_8CAAE7.gif">
		<img src="images/ts.gif" width="175" height="19" alt="" border="0"></td>
	 </tr>
</table>

<P>Sun's standard practice for a Java API is to provide the API specification with 
documentation and a reference implementation, so developers and companies can refer 
to a code implementation as they develop their own. Sun provides the following 
deliverables for JSP technology:
<!-- use the DIV tags with style attribute, change the font color of text 
	and backgound color -->
<div style="{color:#CC6600; font-family:verdana,arial; font-size:12px; text-align:justify}">
<UL>
<div style="float:right text-align:right">
	<a href="http://jakarta.apache.org/tomcat/">
	<img border="0" src="images/tomcat2.gif" width="85" height="102" vspace="0" 
		hspace="10" align="right" alt="Tomcat Home"></a></div>
<LI>The JSP Specification - This document defines the application programming 
	interface. The specification is a useful source document for JSP syntax.</LI>
<LI>The JSP Reference Implementation - Sun licensed the JSP and Servlet Reference 
	Implementation to the Apache Software Foundation. This project, called 
	<a href="http://jakarta.apache.org/tomcat/"><BIG><strong style="color:#0000ff">
	Tomcat@Jakarta</strong></BIG></a>, is freely distributable and licensed directly 
	from Apache. Tomcat is already pre-integrated with the Apache Web Server, a 
	popular Web server. For those not using the Apache Web Server, most other Web 
	servers are well on their way to shipping support for JSP technology 
	(see java.sun.com/products/jsp/ for more information).</LI>
</UL>
</div>
</P>

<P><B>Competitive Landscape</B></P>
<P>To understand how JSP technology fits in the progression of products supporting 
dynamic content, it is worth describing a few of the alternatives.
<div style="{color:#CC6600; font-family:verdana,arial; font-size:12px; text-align:justify}">
<UL>
<LI>CGI (Common Gateway Interface) - CGI programs were an early solution for 
	simplifying dynamic content. CGI programs are typically written in C or 
	in Perl, a freely-distributed programming language. Still prevalent in 
	Web-based applications, they can experience severe performance problems 
	when scaling to support high-volume access.</LI>
<LI>Mod_perl is a plug-in for the Apache Web Server that integrates the Perl 
	programming language with the Web server, so programmers can write Web 
	server extensions in Perl. As a replacement for the CGI interface, 
	mod_perl addresses some of the limitations of CGI. This is a powerful 
	solution, but it still has the programmers developing the pages 
	themselves, and is tied closely to the Apache Web Server.</LI>
<LI>Microsoft Active Server Pages (ASP) technology is closer in spirit to JSP 
	technology than the others because its goal is to simplify the page 
	development process. ASP is essentially limited to the Microsoft IIS 
	Web Server information, see java.sun.com/products/jsp/.) ASP relies 
	heavily on Basic-based scripting languages, which tend to be less 
	scalable and more difficult to maintain over time than a 
	component-based approach.</LI>
</UL>
</div>
</P>

<P><B>Portability Across Platforms and Servers</B></P>
<P>JSP technology, as part of the Java family, is designed to adhere to the 
Write Once, Run Anywhere credo. Pages created with JSP technology can run on 
any server, on any platform. Components (such as JavaBeans or tag libraries) 
developed on one platform can run easily on another.</P>
<P>JSP is unique in this capacity - none of the other solutions have this 
degree of platform-independence and cross-platform portability. This frees 
businesses from depending on a single vendor for product solutions or 
development directions.</P>
<P><B>Scalability</B></P>
<P>Scalable performance is critical for Web pages that handle a significant volume 
of users. CGI pages have a significant weakness when scaling to handle many concurrent 
users. A CGI application creates a new process for each access, creating significant 
performance problems in high-volume sites.</P>
<P>JSP pages are compiled once when first invoked and remain in memory; this provides 
better scalability for high-volume sites than the CGI approach.</P>
<P><B>Ease of Development, Deployment, and Maintenance</B></P>
<P>Creating CGI programs and mod_perl scripts are tasks belonging to programmers familiar 
with the programming languages. The same can be said of writing beans or custom tag 
libraries - it requires familiarity with the Java language. But writing and maintaining 
JSP pages that call these custom components is a task that can be delegated to page 
authors familiar with HTML or XML. In other words, only the JSP technology really enables 
a tiered development methodology leveraging each person's skills (described above) in 
addition to a tiered architecture.</P>
<P>Some of the other differences are summarized in the table below. For a more direct 
comparison of the technologies, please see java.sun.com/products/jsp/.</p>

<!-- use the DIV tags with style attribute, change the backgound color -->
<div style="{background:#FFFFCC; padding:0.2em}">
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="3">
<TR>
	<TD></TD>
	<TD><B>CGI/Perl	</B></TD>
	<TD><B>Mod_Perl</B></TD>
	<TD><B>ASP</B></TD>
	<TD><B>JSP</B></TD>
</TR>
<TR>
	<TD><B>Web server</B></TD>
	<TD>Any Web server</TD>
	<TD>Apache Web Server</TD>
	<TD>Microsoft IIS or Personal Web Server</TD>
	<TD>Any Web server, including Apache, Netscape, IIS today</TD>
</TR>
<TR>
	<TD><B>Portable across platforms/servers</B></TD>
	<TD>No</TD>
	<TD>No</TD>
	<TD>No</TD>
	<TD>Yes</TD>
</TR>
<TR>
	<TD><B>Reusable, modular code</B></TD>
	<TD>No</TD>
	<TD>No</TD>
	<TD>No</TD>
	<TD>Yes</TD>
</TR>
<TR>
	<TD><B>Scripting language</B></TD>
	<TD>C, Perl</TD>
	<TD>Perl</TD>
	<TD>VBScript, JScript</TD>
	<TD>Java</TD>
</TR>
<TR>
	<TD><B>Memory leak protection</B></TD>
	<TD>Yes</TD>
	<TD>No</TD>
	<TD>No</TD>
	<TD>Yes</TD>
</TR>
<TR>
	<TD><B>Supports concurrent access without separate processes</B></TD>
	<TD>No</TD>
	<TD>Yes</TD>
	<TD>Yes</TD>
	<TD>Yes</TD>
</TR>
</TABLE>
</div>
<BR>
<!-- end page content -->

<div style="float:right; text-align:right">
<table border="0" cellpadding="0" cellspacing="0">
	<tr>
	<td><a class="textbody" href="assignment03-03.htm">
		<img src="images/arrow_back.gif" border="0" align="right" alt="Previous Page"></a></td>
	<td class="textbody"><b>04</b> OF <b>04</b></td>
	</tr>
</table>
</div>
<a href="#top"><img src="images/top_v1.gif" border="0" alt="Back To Top"></a>

<!-- footer -->
<hr>
<center><pre class="textbody">
Web Page Designed By : <i><a href="mailto:chengchien@linkline.com">Cheng-chien Yu</a></i>
Attaendant Class : Santa Monica College - CIS 36H
Due Date : September 29, 2001.
</pre></center>
<hr>

</body>
</html>