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="02">
	<meta name="Author" content="Cheng-chien Yu">
	<meta name="Source" content="from Sun Microsystem">	
	<link rel="stylesheet" type="text/css" 
		href="resource/assignment02.css" title="formal">
</head>

<body bgcolor="#ffffff">
<!-- a link to navigate from the top to bottom -->
<a href="#bottom"><img src="images/go_bottom.gif" border="0" alt="Go Bottom"></a>
<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" alt="" border="0">
	</td>
	<td bgcolor="#8CAAE7" nowrap width="100%">
		<img src="images/ts.gif" width="1" height="1" alt="" border="0">
		<b class="heading">3. 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:
<div class="list">
	<UL>
	<a href="http://jakarta.apache.org/tomcat/">
		<img border="0" src="images/tomcat2.gif" hspace="10" align="right"></a>
	<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 class="list">
	<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 
			<a href="http://java.sun.com/products/jsp/">java.sun.com/products/jsp/</a>
			.) 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>

<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>
<div style="float:right; text-align:right">
	<a class="textbody" href="assign03_01.htm">PREVIOUS PAGE</a></div>
<!-- a link to navigate from the bottom to top -->
<a href="#top"><img src="images/go_top.gif" border="0" alt="Go Top"></a>
<!-- end of content -->

<hr>
<div class="textbody" align="center">
<!-- a mail-to link -->
Web Page Made By : <i><a href="mailto:chengchien@linkline.com">Cheng-chien Yu</a></i><br>
Attaendant Class : Santa Monica College - CIS 36H<br>
<!-- Update the last modified date by JavaScript -->
<script language="JavaScript" type="text/javascript">
<!--
	document.write("Last Modified: " + document.lastModified);
// -->
</script><br><br>
<!-- A text navigation line in the footer, which contain a link for each of pages,
	a link to the class home page, and a link to the SMC homw page -->
<a href="assign03_01.htm">page one</a> | 
<a href="assign03_02.htm">page two</a> | 
<a href="http://www.ais.ucla.edu/class/class.htm">Class home</a> | 
<a href="http://www.smc.edu/">SMC home</a>
</div>
<!-- define the position of bottom -->
<a name="bottom"></a>
</body>
</html>