05
Sat, Oct
2 New Articles

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

  • SB Profound WC 5536 Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application. You can find Part 1 here. In Part 2 of our free Node.js Webinar Series, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Brian will briefly discuss the different tools available, and demonstrate his preferred setup for Node development on IBM i or any platform. Attend this webinar to learn:

  • SB Profound WP 5539More than ever, there is a demand for IT to deliver innovation. Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects. The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the company are not aligned with the current IT environment.

  • SB HelpSystems ROBOT Generic IBM announced the E1080 servers using the latest Power10 processor in September 2021. The most powerful processor from IBM to date, Power10 is designed to handle the demands of doing business in today’s high-tech atmosphere, including running cloud applications, supporting big data, and managing AI workloads. But what does Power10 mean for your data center? In this recorded webinar, IBMers Dan Sundt and Dylan Boday join IBM Power Champion Tom Huntington for a discussion on why Power10 technology is the right strategic investment if you run IBM i, AIX, or Linux. In this action-packed hour, Tom will share trends from the IBM i and AIX user communities while Dan and Dylan dive into the tech specs for key hardware, including:

  • Magic MarkTRY the one package that solves all your document design and printing challenges on all your platforms. Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product. Make sure your data survives when catastrophe hits. Request your trial now!  Request Now.

  • SB HelpSystems ROBOT GenericForms of ransomware has been around for over 30 years, and with more and more organizations suffering attacks each year, it continues to endure. What has made ransomware such a durable threat and what is the best way to combat it? In order to prevent ransomware, organizations must first understand how it works.

  • SB HelpSystems ROBOT GenericIT security is a top priority for businesses around the world, but most IBM i pros don’t know where to begin—and most cybersecurity experts don’t know IBM i. In this session, Robin Tatam explores the business impact of lax IBM i security, the top vulnerabilities putting IBM i at risk, and the steps you can take to protect your organization. If you’re looking to avoid unexpected downtime or corrupted data, you don’t want to miss this session.

  • SB HelpSystems ROBOT GenericCan you trust all of your users all of the time? A typical end user receives 16 malicious emails each month, but only 17 percent of these phishing campaigns are reported to IT. Once an attack is underway, most organizations won’t discover the breach until six months later. A staggering amount of damage can occur in that time. Despite these risks, 93 percent of organizations are leaving their IBM i systems vulnerable to cybercrime. In this on-demand webinar, IBM i security experts Robin Tatam and Sandi Moore will reveal:

  • FORTRA Disaster protection is vital to every business. Yet, it often consists of patched together procedures that are prone to error. From automatic backups to data encryption to media management, Robot automates the routine (yet often complex) tasks of iSeries backup and recovery, saving you time and money and making the process safer and more reliable. Automate your backups with the Robot Backup and Recovery Solution. Key features include:

  • FORTRAManaging messages on your IBM i can be more than a full-time job if you have to do it manually. Messages need a response and resources must be monitored—often over multiple systems and across platforms. How can you be sure you won’t miss important system events? Automate your message center with the Robot Message Management Solution. Key features include:

  • FORTRAThe thought of printing, distributing, and storing iSeries reports manually may reduce you to tears. Paper and labor costs associated with report generation can spiral out of control. Mountains of paper threaten to swamp your files. Robot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing. Manage your reports with the Robot Report Management Solution. Key features include:

  • FORTRAFor over 30 years, Robot has been a leader in systems management for IBM i. With batch job creation and scheduling at its core, the Robot Job Scheduling Solution reduces the opportunity for human error and helps you maintain service levels, automating even the biggest, most complex runbooks. Manage your job schedule with the Robot Job Scheduling Solution. Key features include:

  • 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.

  • LANSAWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed. Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

  • LANSASupply Chain is becoming increasingly complex and unpredictable. From raw materials for manufacturing to food supply chains, the journey from source to production to delivery to consumers is marred with inefficiencies, manual processes, shortages, recalls, counterfeits, and scandals. In this webinar, we discuss how:

  • 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

  • Profound Logic Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.

  • 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: