Microsoft Computing: Active Server Pages

Microsoft
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

As you know, Microsoft has its own way of doing things. Serving Web pages is no exception. Microsoft has exceeded the bounds of classic Active Server Pages (COM-based) with the addition of ASP.NET. Now you can have your Web-based applications and still maintain consistency in your shop. This article begins an examination of Web application development using Microsoft's ASP technology.

What Is ASP, Anyway?

Let's start at the beginning. ASP is really two things working together. The first is a program running on your Web server, like Microsoft's Internet Information Server (IIS), that is capable of interpreting and servicing ASP requests that come from a browser. "Servicing a request" often means the IIS program has to dynamically create a custom HTML page from, say, database information, and send it back to the browser.

The second thing is the program instructions contained in an ASP document. This is the part you write and store on the server as a Web page. When the user's browser issues a request to the server for your page, the ASP server will perform any needed program processing on the fly, merge the result of the effort with ordinary HTML, and shoot the whole works back to the requester.

OK, that's classic ASP, and many sterling applications have been written using it. Now let me tell you what's wrong with it. Classic ASP relies on server-side scripted instructions (VBScript, JavaScript) to tell it what to do. Since script is interpreted and typeless, a worthy object-oriented programming style is not possible. (For example, classic ASP lacks inheritance and polymorphism.) Further, creating classic ASP code usually results in a hodgepodge of HTML and scripted code mixed together on the same page.

And Then Comes ASP .NET

ASP .NET, the version of ASP built around Microsoft's newer .NET architecture, addresses these shortcomings and more:

  • ASP .NET pages do not use a server-side scripted language. Instead, ASP .NET lets you use a real OO programming language like C#, VB.NET, or C++.NET, together with all the services .NET provides. Also, ASP.NET can access any of the .NET class libraries you have written, often eliminating redundant code.
  • ASP .NET allows you to use widgets that can perform a great many of your validation tasks automatically, often eliminating most client-side coding.
  • You can separate your presentation logic (your HTML) from your business logic (your program code) using a technique called "code behind."
  • ASP .NET is faster. It uses true compiled assemblies rather than scripted code.
  • ASP . NET applications are easier to write. Building an ASP application is similar to writing a standard Windows desktop application. (Also, ASP .NET controls maintain their state during postbacks, making the back-and-forth process less complicated.)
  • ASP .NET applications are easy to deploy because .NET applications are not registered with the system registry.

The IIS

Recall that ASP is made possible through the services provided by an ASP-capable Web server like IIS. Therefore, the server program must be installed, configured, and active on the Web server machine. For most ASP developers, the way to do this is to run IIS on the same PC that is used to develop the application. Once the application is finished, it will then be sent to a production server.

IIS comes with Windows 2000 or XP Professional and is installed as an option. To see if your PC has IIS installed, go to your Control Panel and open Add/Remove Programs. Click the Add/Remove Windows Components button to display the screen in Figure 1. If IIS is not installed, you may select the entry to install. Once installed, IIS is normally allowed to automatically start whenever the PC is started.

http://www.mcpressonline.com/articles/images/2002/Microsoft-ASPNet1V4--10250400.jpg

Figure 1: Install the IIS Windows component. (Click images to enlarge.)

(Note: IIS should be installed before you install Visual Studio .NET. If it is not, Visual Studio will not be aware of the presence of IIS. If this is the case, you may run the command line tool "aspnet_regiis.exe /i" to reconfigure IIS to host .NET applications.)

Configuring IIS Virtual Directories

A Web server program like IIS will listen for an incoming request string coming from a browser. The request string will specify the name of the page file to be served, but the name will not be the actual path and name of the file. Instead, the Web server has user-specified mappings that translate from the request string into a real directory on the server. This arrangement is called "virtual directories," and you are usually required to provide this information to the IIS (the exception occurs when you start a Visual Studio ASP development project where VS.NET configures IIS for you).

To manually configure IIS virtual directories, go into your PC's Control Panel and select Administrative Tools and then Internet Services Manager. From the Manager screen, click Default Web Site to display the screen shown in Figure 2.

http://www.mcpressonline.com/articles/images/2002/Microsoft-ASPNet1V4--10250401.jpg

Figure 2: Use IIS Manager to configure virtual directories.

To see how IIS works, take a moment and right-click on the Default Web Site entry. Select Properties from the context menu and click the Home Directory tab. Note that the default physical location (local path) for requested Web content is specified, as shown in Figure 3. The default physical location on this PC for Web content will be c:inetpubwwwroot.

http://www.mcpressonline.com/articles/images/2002/Microsoft-ASPNet1V4--10250402.jpg

Figure 3: The IIS will use this physical path for Localhost Web content services.

If Web content should be kept somewhere other than the default location, a virtual directory will have to be configured within IIS. A virtual directory is just a named link to a real directory that is used by IIS to protect your server.

To illustrate how classic ASP and ASP.NET work, we'll create a small example application to collect and echo a user ID and password. The example will be created first as classic ASP and then, with the help of Visual Studio, as ASP.NET.

Creating a Classic ASP Application

An ASP application (classic or .NET) must be configured within IIS, so the first step is to return to the IIS Manager (Figure 2) and create a virtual directory to hold the Web content. Right-click on Default Web Site and select New and then Virtual Directory. You'll be presented with a wizard to you step through creating a virtual directory. On the second screen of the wizard, specify a name for your virtual directory (ClassicExample) and on the next screen, an actual directory to map to (C:InetpubwwwrootClassicASP.) Accept the default security settings on the next screen and finish the wizard. You should see a new virtual directory entry in the IIS Manager.

The example application will then display a screen where a user ID and password are collected.

http://www.mcpressonline.com/articles/images/2002/Microsoft-ASPNet1V4--10250403.jpg

Figure 4: This screen collects the user ID and password.

The user's data will be sent to the server, where it will be merged with another page and echoed back to the browser (Figure 5).

http://www.mcpressonline.com/articles/images/2002/Microsoft-ASPNet1V4--10250404.jpg

Figure 5: The server has merged incoming data with the ASP page.

Now we need the presentation instructions (HTML) and a little business logic (some script code) that will tell IIS how to process our application before sending a response back to the browser. We'll need two documents: an HTML form document to collect the data from the user and a server-side ASP document to process the data.

An HTML document becomes an HTML form document when you add the

and
tags. Between the two are the specifications for the controls (text boxes, buttons, etc.) that give your application a user interface (Figure 6).


    
        
        
        

              content="http://schemas.microsoft.com/intellisense/ie5">
    
    
 (1)  

             action="http://localhost/ClassicASP/ClassicExample/ClassicAspPage.asp"
            method="post">
      User Name:
 (2)  
      Password:
 (3)  


      
 (4)  
 (5)  


    
    

Figure 6: The form tags create the HTML form document.

Note these points in the code:

(1) In the opening form tag, the "action" specification identifies the name of an ASP page that will be the partner to this page.

(2) The name used for the user's ID in the input text box will be used by the ASP partner page.

(3) This text box is a hidden text kind for a password. This name will also be used.

(4) The Submit button sends the user ID and password to the server.

(5) This special button automatically resets all text boxes.

This form will collect the user's ID and password and send them to the IIS server. IIS will locate another page (ClassicASPPage.asp in the example) where instructions are kept to process the incoming information, load the page, and pass it the data that came from the user. In this example, the ASP page simply echoes the data received back to the user.


<%@ language="VBScript" %>

    
        Classic ASP Page
        
        
        
    
    
        Here is the text sent:
        
            User name: 
(1)         <%=Request.Form("txtUser") %>
            

            Password: 
(2)         <%=Request.Form("txtPassword") %>
            

        


    

Figure 7: This ASP page will receive the data from the browser, merge it with HTML, and return.

Note these points in the code:

(1) The ASP page refers to the name of the control ("txtUser") on the client document. This code will insert the data that was in the text box into the outgoing HTML stream.

(2)The password text box is similarly referenced.

Store these pages in the directory you specified in your IIS configuration effort. If all is well, you should be able to open your HTML page, enter the information, click Submit, and see the returned confirmation. (I don't have to tell you not to send real passwords in the clear, do I?)

Not that bad considering there are only a few lines of code. And it gets better. Next month, we'll move this humble example from the domain of classic ASP into ASP.NET. As an ASP.NET application, our example can reach its full potential offered by a real programming language.

Chris Peters has 27 years of experience in the IBM midrange and PC platforms. Chris is president of Evergreen Interactive Systems, a software development firm and creators of the iSeries Report Downloader. Chris is the author of The OS/400 and Microsoft Office 2000 Integration Handbook, The AS/400 TCP/IP Handbook, AS/400 Client/Server Programming with Visual Basic, and Peer Networking on the AS/400 (MC Press). He is also a nationally recognized seminar instructor. Chris can be reached at This email address is being protected from spambots. You need JavaScript enabled to view it..

Chris Peters has 32 years of experience with IBM midrange and PC platforms. Chris is president of Evergreen Interactive Systems, a software development firm and creators of the iSeries Report Downloader. Chris is the author of i5/OS and Microsoft Office Integration Handbook, AS/400 TCP/IP Handbook, AS/400 Client/Server Programming with Visual Basic, and Peer Networking on the AS/400. He is also a nationally recognized seminar instructor and a lecturer in the Computer Science department at Eastern Washington University. Chris can be reached at This email address is being protected from spambots. You need JavaScript enabled to view it..


MC Press books written by Chris Peters available now on the MC Press Bookstore.

i5/OS and Microsoft Office Integration Handbook i5/OS and Microsoft Office Integration Handbook
Harness the power of Office while exploiting the i5/iSeries database.
List Price $79.95

Now On Sale

BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  •  

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: