From: www.itworld.com
March 19, 2001 —
When you surf the Internet and peruse a Web page with interactive content, chances are that the page was developed using Microsoft Corp.'s Active Server Pages (ASP) technology or Sun Microsystems Inc.'s JavaServer Pages (JSP) technology.
For example, a Web page containing a weather outlook typically offers dynamic information based on specific requests from the Web browser. The graphical presentation of the page won't change, regardless of whether the user requests a five-day forecast for Denver or Seattle, but accurate weather information -- which usually gets pulled from a database -- does.
ASPs and JSPs are two of the most popular technologies for generating that type of dynamic content for a Web page. The primary difference between the two development methods is that ASPs generally interact with a back-end environment built with Microsoft technologies, while JSPs live in a Java-based environment.
Server-side scripting
Microsoft introduced ASPs, along with its Internet Information Server 3.0, to allow developers to create Web pages that can interact with databases and other applications.
An ASP is a server-side scripting environment used to create dynamic, interactive Web pages. It contains HTML, which defines the page layout, fonts and graphic elements, and embedded programming code that's written in a Microsoft scripting language.
Most ASPs are written using Visual Basic Script or JavaScript, but scripting engines for languages such as Perl and Python are available through third-party vendors.
When a Web browser makes a request, the embedded script runs and pulls up a file with an .asp extension from the Web server, which returns the new results to the browser.
As you might expect, JavaServer Pages are Sun's Java equivalent of Microsoft's ASPs. JSP technology is built on top of servlets, a portable Java program that provides server-side processing.
Just like ASPs, JSPs contain HTML for page layout and use embedded Java programming code that allows dynamic content to be displayed on a Web page.
The JSP gets compiled into servlet byte code to process the Web browser request to a database or another application.
JSP developers use static HTML, scriptlets (snippets of Java code) and tags to create the page that loads in the Web browser. The tags and scriptlets encapsulate the business logic on the HTML page.
When the browser makes a request, the embedded code runs in a servlet engine, which interprets the JSP tags and scriptlets and sends the results back as an HTML page to the browser.
ASPs vs. JSPs
"JSPs were created later, and they're a knockoff of ASPs," says Yefim Natis, an analyst at Stamford-Conn.-based Gartner Group Inc., noting that the introduction of both ASPs and JSPs aided in reducing the time and costs required to maintain and develop Web-based applications.
JSPs and ASPs allow database content, or data from other applications, to be pulled from those resources and displayed on the Web page by a browser. Both technologies emerged to contend with static, predefined Web pages developed using HTML.
By separating the user interface (the appearance of the page) from the content-generation functionality, developers have an easier task of changing both the page layout and the dynamic content.
Labor saver
"In the old days, if you wanted to make changes to an HTML page, like to a price in a catalog, you would have to physically change the price on every single item," says Troy Denkinger, a software engineer at FullAudio Inc., an online music service in Chicago. "When using ASPs or JSPs, the information gets populated on the page dynamically, and all you have to change is the price data in the database. It allows you to take a lot of the labor out of producing online information."
Before the advent of ASP and JSP technologies, developers had to write Common Gateway Interface (CGI) scripts, using languages such as Perl, C or C++ to process user input from the Web browser to the Web server. But CGI scripts present scalability problems if the site receives a large number of concurrent requests.
"Cosmetically, there is no difference between ASPs and JSPs to the user . . . and in terms of functionality, there is really no difference as far as the consumer is concerned," Denkinger adds.
Computerworld