Return to Exploration Air Home Page
About The Exploration Air Sample Site Click here to learn how this page works


Introduction

This page outlines important details about this site. We recommend you read this page or at least become acquainted with it, because it outlines the rationale for building the site.

Topics

  • Overview of the site
  • Some design philosophies used for the site
  • The core technologies used in the site
  • Data sources used in the site
  • Index of Active Server Pages (ASP) components used in the site
  • Navigational images used in the site
  • Frequently Asked Questions
  • Overview

    This sample site is the Web site for a fictitious airline named Exploration Air. The site is a demonstration of how you can use Microsoft Internet Information Server (IIS) 4.0 to build Web applications using a range of development tools and technologies.

    Exploration Air has four main audiences for its Web site:

  • Internet users (public)
  • Secure Internet users (Frequent Flyer Club members)
  • Intranet users (administrators and employees)
  • Extranet users (business partners)
  • All access is determined by various authentication mechanisms:

    Scenario How Secure? Security/Authentication Required
    Internet users No security, all users have the equivalent of read-only access.
    Secure Internet users High security. To log on, the user must enter a Frequent Flyer ID and password. This is all performed across a secure HTTPS (uses Secure Sockets Layer) link.
    Intranet users Intranet users must be validated against a Windows NT-based server using Windows NT Challenge/Response authentication and hence must be using Microsoft Internet Explorer 3.0 or 4.0. Microsoft Internet Explorer is the corporate standard at Exploration Air.

    If the user is validated, then access to various Web applications is determined by Windows NT access control using the Permission Checker component.

    Extranet users Extranet users, such as business partners, require a high degree of authentication and privacy in their communication with Exploration Air. Business partners must authenticate themselves with Exploration Air before they can perform any business functions. The business partners must have a client-side SSL certificate. Exploration Air maintains a list of valid business partners.

    Design Philosophy

    High-Level View
    The overall design is driven by the need to show a holistic view of Web development: applications at both the server and at the client. Web applications tend to extend beyond pure HTML, Web clients, and Web servers, so there are many issues which need to be faced, such as component design, development languages, database access, personalization, and security.

    META Tags
    It is possible for you to control how your Web page is indexed by Microsoft Index Server, by using the META tag to specify both additional keywords to index, and a short description. Add the META tags between the
    <HEAD>
    and
    </HEAD>
    tags on each page.
    <META NAME="KEYWORDS" CONTENT="keyword1, keyword2, ...">
    Keywords are used by search engines to index your document in addition to words from the title and document body. Typically used for synonyms and alternates of title words.
    <META NAME="DESCRIPTION" CONTENT="page abstract">
    The DESCRIPTION tag is a short, plain-language description of the document used by search engines to describe your document. It is particularly important if your document has very little text, is a frameset, or has extensive scripts at the top. If no DESCRIPTION tags are used, the search engine will not return much useful information for such documents.

    The Title Tag
    It is also important to give Web pages a descriptive TITLE tag that is short, accurate, and able to stand on its own, out of context. The content of the TITLE tag is displayed as the page title in the search return list.
    <TITLE>Page Title</TITLE>

    Dynamic Variables
    The Exploration Air Sample Site has scripted its graphics and fonts as variables for a different approach to flexibility, rather than using Cascading Style Sheets. This separates content from presentation for easier design management and updates. Information can be managed in the most appropriate manner, and does not have to be stored in HTML pages that must be changed by hand whenever the data changes.
    As well, the advantages of dynamic content are available to any user. Active Server Pages files and applications do not require special steps by administrators. IIS knows when an ASP file changes, and recompiles it at the next request.

    Accessibility
    Accessibility means making computers accessible to a wider range of users than would otherwise be the case. Building the Exploration Air Sample Site meant following guidelines to make pages as accessible as possible without compromising usability or appeal:
    • Good ALT text for all graphics
    • Useful link text
    • Minimum usage of frames
    • Alternate fonts

    For more information regarding accessibility in Windows and Web applications refer to the Microsoft Accessibility Home Page

    Technologies Used

    The following tools and technologies are used in the site.

    Tool/Technology More Info Comment
    Microsoft® Internet Information Server IIS Microsoft Internet Information Server 4.0 (IIS) was designed with five tenets in mind: Ease-of-use, Programmability, Robustness and Security, Standards, Performance and Scalability.

    IIS is implemented as a Windows NT service and is the foundation on which this sample site is built.

    Active Server Pages® ASP Active Server Pages (ASP) enables server-side scripting for IIS with native support for both VBScript and JScript, Microsofts version of JavaScript. Using ASP, a developer or Webmaster can create dynamic and personalized web pages. With this version of IIS, ASP-based solutions (Web applications) can be marked as transactional, and all transactions-aware components will be enlisted in the transaction.

    This site uses Active Server Pages extensively, and we recommend you take the time to look at and learn from the sample ASP code.

    Microsoft® Transaction Server MTS Microsoft Transaction Server, formerly known by its code name, "Viper," is a product that combines the features of a Transaction Processing (TP) monitor and an object request broker in an easy-to-use package. Microsoft Transaction Server delivers the "plumbing" including transactions, scalable services, connection management, and point-and-click administration, thus providing developers with the easiest way to build and deploy scalable server applications for business and the Internet.

    This site uses MTS to coordinate transactions within Active Server Pages across SQL Server data sources and components written in Visual Basic, Visual J++ and Visual C++.

    Microsoft® SQL Server SQL Microsoft SQL Server is a high-performance relational database management system designed specifically for enterprise- class distributed computing.

    The Exploration Air site uses SQL Server to store all transactional data. Transactional in this sense means under the transaction control of Transaction Server.

    Microsoft® Certificate Server Certificate Server Microsoft Certificate Server will issue, revoke, and renew digital certificates that identify users for subsequent authentication using public key technology.

    It is recommended you use Certificate Server to create the server-side certificate for Exploration Air.

    SSL requires a server certificate to work correctly.

    ActiveX™ Data Objects ADO The ActiveX Data Objects (ADO) programming model represents the best of the existing Microsoft data access programming models. If you are familiar with Data Access Objects (DAO) or Remote Data Objects (RDO), you will recognize the interfaces and will be able to work with them very quickly. You will also notice considerable improvements in the model; tasks that were awkward in previous models have either been fixed or eliminated from the ADO model.

    Exploration Air uses ADO throughout from ASP scripts to applications written in programming languages such as Visual Basic, Visual J++ and Visual C++.

    Remote Data Services RDS The Microsoft Remote Data Service goes beyond the current generation of Web data access tools by allowing clients to update the data they see. End users are not restricted to staring at a static HTML results table. With RDS, end users can alter, add, and delete data they have queried and retrieved. All changes are buffered locally, and can be submitted to the server for inspection, processing and, if appropriate, storage in the database. The benefits of traditional client/server technology have migrated to the Web, and the read-only, static client is a thing of the past. By providing a local data cache, the end user is able to navigate through large data sets without costly server roundtrips.

    This site uses RDS on some pages (Microsoft Internet Explorer 3.0 or later is required).

    Microsoft® Index Server Index Server Microsoft Index Server works with Internet Information Server to provide your organization access to all of the documents stored on your intranet or Internet site. You can perform full-text searches and retrieve all types of information from any Web browser, in just about any format.

    The Exploration Air site uses Index Server to index all documents and publicity material.

    Microsoft® Visual InterDev™ Visual InterDev Microsoft Visual InterDev is the integrated Web Application Development System for the Microsoft® Windows® operating system. Among other features, Visual InterDev enables rapid development and deployment of database-driven Web applications.
    Microsoft® Visual Basic® Visual Basic Microsoft Visual Basic can be used to produce applications for the Microsoft Windows operating system. You can creates everything from simple programs to advanced, enterprise-wide client/server applications.

    Most of the transactional database components were written using Visual Basic.

    Microsoft® Visual C++® Visual C++ Microsoft Visual C++ is an object-oriented programming language. In the object-oriented view of programming, programs consist of software modules called objects rather than sets of data loosely coupled to many different procedures.

    Some of the transactional components were written using Visual C++.

    Microsoft® Visual J++™ Visual J++ Microsoft fs Visual J++ is a development tool for creating Java™ applications and applets.

    The Fun 'n' Games COM component and some applets were written using Visual J++.

    Microsoft® Visual SourceSafe™ Visual SourceSafe Microsoft Visual SourceSafe is a team-oriented tool for source-code version tracking.

    Visual SourceSafe stores the latest copy of each source file. But it also stores older versions, making it easy to "go back in time" and retrieve an old version of a file or an entire project. And "reverse delta" technology used in Visual SourceSafe ensures that storing these old versions takes a minimum of disk space.

    Microsoft® JScript™ JScript Microsoft JScript is a powerful scripting language targeted specifically at the Internet. It is implemented as a fast, portable, lightweight interpreter for use in World Wide Web browsers and other applications that use ActiveX Controls, OLE Automation servers, and Java applets.

    This site mainly uses JScript for client-side, browser-neutral code, although some JScript is used by ASP.

    VBScript VBScript Visual Basic Scripting Edition (also known as VBScript) is a subset of the Microsoft Visual Basic language. It is implemented as a fast, portable, lightweight interpreter for use in World Wide Web browsers and other applications that use ActiveX Controls, OLE Automation servers, and Java applets.

    This site mainly uses VBScript for server-side script code in ASP.

    ActiveX ActiveX ActiveX is a set of technologies from Microsoft that enables interactive content for the World Wide Web. With ActiveX, you can make Web sites come alive by using multimedia effects, interactive objects, and sophisticated applications that create a user experience comparable to that of high-quality CD-ROM titles. ActiveX provides the glue that ties together a wide assortment of technology building blocks to enable these "active" Web sites.
    Secure Sockets Layer SSL SSL provides privacy, authentication, and integrity between two communicating applications (a client and a server). Second, the protocol is designed to authenticate the server, and optionally the client. The advantage of the SSL protocol is that it is application-protocol independent. A "higher level" application protocol (HTTP, FTP, TELNET, and so on) can layer on top of the SSL Protocol transparently. The SSL protocol can negotiate an encryption algorithm and session key as well as authenticate a server before the application protocol transmits or receives its first byte of data. All of the application protocol data is transmitted encrypted, ensuring privacy.

    This site uses SSL to provide a secure channel for the Frequent Flyer members, and uses client-side SSL for the extranet scenarios.

    Refer to Certificate Server for more information on how you can generate SSL certificates.

    Active Directory Services Interfaces ADSI The Microsoft Active Directory Service Interfaces (ADSI) defines a directory service model and a set of COM interfaces that enables Windows NT and Windows 95 client applications to access several network directory services.

    ADSI allow applications to communicate with LDAP-compliant and NDS-compliant directory services in addition to the Windows NT Directory Service and NetWare 3.x-compliant namespaces. ADSI is X.500-compliant for LDAP and NDS.

    The Exploration Air site uses ADSI to provide programmatic administration for IIS.

    Data Sources Used

    The Exploration Air site uses two main data sources:

  • Flat text files
  • Microsoft SQL Server Database
  • Flat text files
    The headline and public relations material is stored as text files and accessed using the FileSystemObject.

    Microsoft SQL Server
    Data held in SQL Server can be enlisted as part of a Microsoft Transaction Server transaction. Data that must be transactional is held in this database. This includes Frequent Flyer details.

    Microsoft Data Access Architecture

    The following diagram illustrates how the Microsoft Data Access Components work together.

    Microsoft Universal Data Access

    Index of ASP Components Used

    The following standard components are used throughout the Web site.

    Component Purpose Where Used
    Browser Capabilities The Browser Capabilities component provides your scripts with a description of the capabilities of the client's Web browser. Default.asp
    Channel.asp
    Permission Checker The Permission Checker component uses password authentication protocols provided in Microsoft Internet Information Server to determine whether a Web user has been granted permissions to read a file. Default.asp
    Database Access The Database Access component uses ActiveX Data Objects (ADO) to access information in a database or other tabular data structures such as Microsoft Index Server. DetailInsurance.asp
    AdvSearch.asp
    File System The File Access component uses the FileSystemObject and TextStream objects to retrieve and modify information stored in files on the server. Default.asp
    SetPrefs.asp
    CodeBrws.asp
    Global.asa
    (NOTE: You must open Global.asa outside of IIS.)
    Page Counter The Page Counter component counts and displays the number of times a Web page has been opened. At regular intervals, it writes the number of hits to a text file so that in the event of a server shutdown, the data is not lost. Default.asp

    Navigational Images

    The following images appear throughout the Web site.

    Behind the Scenes When you see the Behind the Scenes icon, it means there is an explanation available of how this page works. The icon can be found in the upper right corner of many pages.
    Under Construction This part of the Web site is still under construction.


    ©1997 Microsoft Corporation. All rights reserved. Terms of Use.