Now that you have an understanding of how to use Active Server Pages, bring together the database capabilities and other Active Server tools to deliver a complete interactive site.
Though addressed in Chapter 2, when you create a site, the hardware resources, software components, and performance monitoring features of a site should not be overlooked.
Our case looks at an Introduction Service currently in use on the Internet to understand the ways Active Server Tools come together to enable a business on the Internet.
The time has come to bring together the objects, components, and scripting capabilities provided by Active Server Pages to build a comprehensive Web-based business. The tools you have read about to deliver features from user tracking to database access come together to enable the construction of a comprehensive product or service-based business site. This chapter introduces you to the creation of an Introduction Service currently in operation on the Internet at http://www.1st-site.com. As you explore this Internet-based site, you will apply Active Server Pages to enable the development of the core components necessary to implementing any Internet- or intranet-based business, including:
Bringing together the technology provided by Internet Information Server 3.0's Active Server Pages to construct a business site offering products and services involves the same type of design and development steps found in more traditional Client/Server application development processes. Critical steps in this process include the development of an intuitive client application to support the user, the implementation of a secure, flexible and scalable server, and the effective use of database tools for managing information.
With Active Server Pages, the browser becomes the client. Active Server Pages allows the use of a browser that only understands displaying HTML pages. Active Server Pages as discussed in this book focuses almost entirely on the tools, which rely entirely on the server for any processing other than standard HTML requests and posts. While this allows applications to be developed that support the widest possible number of browsers, the browser client can also enhance the Active Server application by including client-side features. These features can include Netscape Plug-ins, Client Side Java Script, or VBScript, as well as Client-Side ActiveX Controls.
The server-based services make up the heart of Active Server Pages. With Active Server, certain tools are required in the server implementation such as a Windows-based operating system and Web server. This book focuses on Windows NT Server, though Windows 95 and Windows NT Workstation can also serve Active Server Pages. With the selection of Windows NT Server and Internet Information Server as the operating system and Web server, the choice of hardware used and additional components and services utilized must be determined, depending on the amount of traffic and specific site features selected.
While much of this book focuses on Microsoft Access, sometimes this type of ODBC compliant and user-friendly tool does not provide sufficient performance or stability for Active Server applications. ODBC compliant drivers enable you to utilize database servers from Microsoft SQL Server on Windows NT, to UNIX-based tools from Informix to Oracle. When your application requires high traffic loads and extensive database reliance, be careful not to overlook the need to utilize high performance databases.
![]()
Open DataBase Connectivity (ODBC) refers to the Microsoft promoted standard for accessing databases in Windows NT. With the release of 3.0 and future planned enhancements, this has become the standard for enabling programs to communicate with databases. For more information visit http://www.microsoft.com.
Often, high performance database servers can become an integral part of your application by introducing extended features. For example, in this case study, you will see the use of Microsoft's SQL Server for SMTP message delivery.
![]()
Simple Mail Transport Protocol (SMTP) has become the messaging or electronic mail standard of the Internet. Microsoft Exchange Server, Microsoft SQL Server, and countless other applications continue to extend the methods for leveraging this standard for delivering information.
Generally your key Windows NT Services include the Web server, which executes your Active Server Pages, a database server to execute your SQL queries, and perhaps an e-mail server to support integration of mail features into your application.
This book focuses on the task of utilizing Active Server Pages to develop interactive Web-based environments. However, we must also address enabling the robust and flexible processing of these pages through the proper selection of hardware and software. In addition to these selections, the monitoring and general maintenance of acceptable performance levels can become critical, as the traffic volumes of your site begin to grow. The key issues that can often be overlooked in the development process include:
The Windows NT operating system provides some degree of security, but don't be lulled into a false sense of comfort by the name and all of the C2 security-level hype. Windows NT Server is not secure just out of the box. Although the level of security often demands balancing acceptable cost and risk tolerances, any implementation team minimally should understand the issues involved in the security question. Most companies, for example, make certain assumptions before evaluating what measures to take with respect to security, such as whether or not the physical servers are secure from malicious attack; generally, if physical access to your servers is compromised, any sufficiently sophisticated attacker can disable your site, if not actually get access to your data. Lets face it, a sledge hammer, if nothing else, can usually disable a computer. Once your basic assumptions have been set, you can begin to evaluate the necessary level of security needed.
At a minimum, consider the network access and NT security features. The network security can be managed by a range of hardware- and software-based Firewall products that create proxies to limit access to IP addresses and packet filtering. At the NT server, control over users and their file, directory, and application execution-related permissions can be controlled.
![]()
Please review current articles on NT security holes. Some of the known problems include the use of protocols like Netbios over TCP/IP, the ability to execute bat files, the everyone group, and the guest account.
Building flexibility into your site relates to how and which services become critical to your application. If you select services that have an upgrade path from a third party vendor or have an object model that allows easy maintenance, supporting your application's forward move will be a much easier task. One effective approach to building flexibility is the use of DCOM components. DCOM components can extend your ability to quickly expand features by creating callable functions that can easily be re-used in the development of new or the modification of existing features. Components developed in-house and an increasing number of third-party components that provide upgrade paths for your applications without costly investments in custom software development should be considered.
![]()
Distributed Component Object Model (DCOM), similar to Component Object Model(COM), can be thought of as a simple evolution of the Object Linking and Embedding (OLE) standards before them. In short, DCOM represents an OLE object without any user interface, and some exciting new features.
In addition to the selection components, applications often will rely on additional NT services such as database and e-mail services. The application services you select to support the Active Server pages can dramatically effect the flexibility to change and enhance your application.
![]()
Scalability, second perhaps only to "open" as a buzzword in application development, provides one key measure of the quality designed into an application.
Ensuring a scalable application in the Internet area becomes incredibly important. Unlike an Intranet application in which user communities and transaction volumes can be accurately estimated, the Internet offers the possibility of rapid volume increases. Understanding what hardware and software resources will become bottlenecks and knowing how to address these problems is vital during the application development process.
![]()
In my experience, most planners vastly overestimate traffic volumes; occasionally, however, you hit upon a huge success, and you need to know how you can respond to changes in traffic.
The key resource problems a Web-based application can run into include the following areas:
Simple Web servers love RAM. They run well on a slower Central Processing Unit (CPU), provided adequate RAM is present. Active Server Pages require both RAM and execution resources on the CPU. Similarly, databases often focus much more on the RAM for caching than on the CPU. In addition to RAM and CPUs, network bandwidth and disk I/O can also become a bottleneck.
With Active Server Pages, database servers, and DCOM objects, resources can often be distributed across multiple computers, creating alternatives to implementing servers with gigabytes of RAM and multiple CPUs. These issues, however resolved, should not be overlooked in the design and development stages of the site.
While real-time monitoring and usage tracking can sometimes be handled by network administrators or service providers, be certain that you have adequate tools in place to assure acceptable performance and uptime levels. If a network administrator ensures you that this area is under control, ask some key questions:
![]()
Domain Naming Services (DNS) will probably not be an application that you manage or support directly. DNS servers, coordinated by the Internic, run at many locations across the Internet, cooperatively providing name resolution for Web sites such as your www.yourcompany.com to a unique Internet address (IP) like 205.171.129.2.
Regardless of the assurances a network administrator gives you or your decision to monitor the site yourself, consider a program such as IPSWICTH's WhatsUp monitoring services. These services can ping your site and others on the net at set intervals and page, e-mail, or beep you when failure occurs. Also consider an external, off-site such as RedAlert to ping your server (http://www.redalert.com). This company can provide a valuable safeguard if your monitor goes down or a problem develops that you can't detect from your monitoring computer.
The following chapters explore the specific functionality enabled in the Love@1st-site.com Introduction Service. This case study focuses on the key features and elements of the site that will be required by many businesses that attempt to build a community and deliver a service over the Internet for a fee.
The site provides a fee-based subscription service that enables the member to search the member database and to request introductions in a controlled and secure environment. The site effectively uses the Web's capability to provide in-depth information and search features to members who are reviewing other members' profiles.
To aid your understanding of the case study, Table A.1 provides an index of all the ASP pages used and of the overall table layout for the site. The .asp files reside in two directories. The root directory controls the Active Server Pages used for managing the membership communities experience and includes:
Table A.1 Complete List of .asp Files in Root Membership Directory
File Name | Size | Purpose |
abandon.asp | 82 bytes | Testing tool to abandon Sessions |
archive.asp | 667 bytes | Frame Set for Archive area |
archive_left.asp | 2 Kb | Left window of Archive |
archive_right.asp | 2 | Right window of Archive |
archive_top.asp | 521 bytes | Top window of Archive |
billingupdate.asp | 4 | Billing processing code |
billingupdate2.asp | 4 | Billing processing code |
confirm.asp | 382 bytes | Confirmation page for New Member sign-up process |
confirmactivate.asp | 2 | Members reactivating |
confirmbillupdate.asp | 3 | Members updating their billing information |
confirminactivate.asp | 2 | Confirmation of taking de-activation for a member |
edit3_top.asp | 250 bytes | Members editing information |
editacct1.asp | 6 Kb | Members editing information |
editacct1_frame.asp | 670 bytes | Members editing information |
editacct2.asp | 17 Kb | Members editing information |
editacct2_frame.asp | 683 bytes | Members editing information |
editacct3.asp | 7 Kb | Members editing information |
editacct3_frame.asp | 688 bytes | Members editing information |
editacct5.asp | 8 Kb | Members editing information |
editacct5_frame.asp | 673 bytes | Members editing information |
editacct_bot.asp | 599 bytes | Members editing information |
editacctupdate.asp | 11 Kb | Members editing information Processing |
editprofile.asp | 730 bytes | Frame set for members editing information |
global.asa | 1 Kb | Application control routines |
inactivate.asp | 1 Kb | Initial de-activation page for members |
logon.asp | 2 Kb | Core logon page |
logoncheck.asp | 4 Kb | Processing for logon |
logonsearch.asp | 1 Kb | Alternative search for logon |
logonsearchrun.asp | 2 Kb | Processing for alternative search for logon |
newacct1.asp | 4 Kb | New Account sign up process |
newacct2.asp | 13 Kb | New Account sign up process |
newacct3.asp | 13 Kb | New Account sign up process |
newacct4.asp | 5 Kb | New Account sign up process |
newacct5.asp | 9 Kb | New Account sign up process |
newacct6.asp | 11 Kb | New Account sign up process |
profile.asp | 722 bytes | Frame Set for reviewing Member Profile |
profile_bot.asp | 2 Kb | Bottom of profile review frame |
profile_display.asp | 9 Kb | Core page of profile review frame |
profile_evaluate.asp | 3 Kb | Processing page of profile review |
profile_process.asp | 2 Kb | Processing page of profile review |
profile_top.asp | 2 Kb | Top of profile review frame |
reactivate.asp | 728 bytes | Member re-activation process |
scan.asp | 4 Kb | Page for detailing picture scanning process |
scanaction.asp | 684 bytes | Page for detailing picture scanning process |
search.asp | 5 Kb | Criteria selection for search frame |
search_top.asp | 578 bytes | Top of search frame |
searchframe.asp | 665 bytes | Frame Set for search criteria |
searchrun.asp | 8 Kb | Processing for search features |
start.asp | 657 bytes | Frame set for member after logon |
start_left.asp | 2 Kb | Left home page for members after logon |
start_right.asp | 2 Kb | Right home page for members after logon |
start_top.asp | 769 bytes | Sat Nov 16 12:26:12 1996 |
validate.asp | 596 bytes | Validation include for top of all pages |
validatenew.asp | 753 bytes | Validation include for top of all New Account sign up pages |
The secure administrative area resides in a separate directory, secured by Windows NT's file- and directory-level permissions included in Table A.2.
Table A.2 List of .asp Files in Secure Administrative Directory
File Name | Size | Purpose |
adminparamadd.asp | 905 bytes | Processing to add parameter |
adminparamdetail.asp | 1 Kb | Review detail value of parameter |
adminparamhead.asp | 908 bytes | Top level review of value for parameters |
adminparamupdate.asp | 1 Kb | Processing to update parameter |
adminprofileupdate.asp | 1 Kb | Processing to update member profile |
adminroute.asp | 341 bytes | Router for managing administrative area |
adminsearch.asp | 3 Kb | Search criteria for finding members |
billingtypes.asp | 784 bytes | Display billing plans |
billingtypesadd.asp | 1 Kb | Add new billing plan |
billingtypesdetail.asp | 1 Kb | View detail of existing billing plan |
billingtypesupdate.asp | 2 Kb | Update existing billing plan |
download.asp | 3 Kb | Initiate download to accounting system |
referredby.asp | 794 bytes | Display top level referral parameters |
referredbyadd.asp | 691 bytes | Add new referral parameter |
referredbydetail.asp | 1 Kb | View details of referral parameters |
referredbyupdate.asp | 1 Kb | Update referral parameter |
toggledownload.asp | 577 bytes | Process download to accounting system |
Finally, the database responsible for enabling the site includes 6 tables. You explore the individual tables and their relationships in more detail as you explore the specific features they enable. For now, the tables include:
The overall table layout and relationships are illustrated in Figure A.1.
This shows the table layout for database enabling the Introduction Service site.
In the following chapters you explore the use of Active Server Pages features and components to implement the features necessary to construct a fee-based subscription service and community on the Web. You will focus on the building of a community and the managing of members Web-based environment, as well as the administrative and billing components of the site.
© 1997, QUE Corporation, an imprint of Macmillan Publishing USA, a Simon and Schuster Company.