Programming for the Internet
ActiveX is not the first method designed for
programming over a network, but it is the first culmination of many diverse,
prior-existing technologies for programming over intranet and Internet networks.
In this chapter you will learn to recognize the
basic features of a hypertext document, as well as how to receive background information
about ActiveX and Internet programming, including
- Microsoft's drive to focus research on Internet
- The shift from computer-oriented programming to
Internet programming, or ActiveX, has advanced
significantly due to the Microsoft-led initiative to implement the most effective
processes for cross-network development.
Widely Used Desktop Operating System
In its quest to provide a computer environment that
would draw new users (as well as users of other operating systems), Microsoft introduced
Windows 95 in late 1995. This latest version integrates technologies and interfaces
exposed by competing operating systems. Microsoft hoped to draw in users of those systems
by incorporating the speed, graphics and other interfaces from more successful operating
systems such as Macintosh, Atari, Amiga and Commodore. By making the look and feel of
Windows simple and intuitive, Microsoft hoped to also draw in folks who had never used a
When Windows 95 was in its developmental test phases
(alpha and beta releases), the Internet was taking off like a rocket. The Net had
been around for dozens of years, but it was not until about the time of Windows 95's
release that it had become a household word. For some households (and businesses), it came
as America Online, CompuServe, Prodigy, or a few local BBS systems. Others, sometimes
without knowing it, used the Internet by way of a leased line, usually a frame-relay or
ISDN over their office or school LAN (Local Area Network).
As Microsoft developed Windows, it could not ignore
the burgeoning use of their operating system on networked computers. In
acknowledgment of this, Windows 95 includes support for a wide variety of networks. By
default, Windows installs itself as a client for both a Windows (such as NT) and a Netware
network. This is occurring as Netware networks are being phased out in many OFFICE LAN's.
Many Internet users are connected through
independent Internet service providers, or ISPs (such as CompuTek Network and
FishNet). Many more users are connected through dial-up accounts with information
tollways. Either way, the connection is probably made through a dial-up connection over
regular phone lines.
The main difference between ISPs and tollways is
pricing. ISPs tend to charge a flat monthly rate (around $10 to $30 per month, depending
on your calling area), and tollways usually want $2 to $10 or more for every hour online.
Another difference is that ISPs don't generally provide much content or tech support,
whereas tollways focus on these services. For most developers, an account with an ISP is
the way to go.
To keep their foot in the door, Microsoft provides a
hybrid of ISPs and tollways called MSN (The Microsoft Network). MSN acts, for the
most part, as a content provider. If you can't access MSN from the Net (via another
dial-up provider), they offer several levels of metered hourly usage and charge a couple
of bucks per hour for itbut it gives you an Internet connection when no others are
Windows 95 ships with the everything you need to connect to the Internet. If you don't
already have the MSN connection on your desktop, take this opportunity to install it.
MSN is both an ISP and a content provider. If you have an Internet account with another
provider, skip this section. MSN costs about $5 per month if you don't use it for dial-up
access. If you don't have a dial-up connection to the Internet, MSN does the trick, but
the fee goes up to a couple of dollars every hour you're online. Figure 1.1 presents you
with the setup screen for installing MSN; to install MSN, follow these steps:
Step 1From the Control Panel, click the Add/Remove Programs icon.
Step 2From the Windows Setup tab, select Communications and press the Details
command button. This displays a list of communications accessories that you can install.
Step 3Make sure that Dial-Up Networking and Hyperterminal are selected, then press
the OK command button to return to the Windows Setup tab. The Dial-Up Networking component
allows you to make any of several different types of network connections, including and
especially a PPP (Point-to-Point Protocol) connection to the Internet. Hyperterminal
allows you to make telnet-like dial-up connections to local BBS and UNIX shell providers.
Step 4Scroll down the list and select Microsoft Exchange, then press the Details
command button to display a list of Microsoft Exchange programs that can be installed from
the Windows95 Setup disk(s).
Step 5Make sure that Microsoft Exchange is selected. Do not select Microsoft Mail
Services unless you already know that you are using Microsoft Mail. Microsoft Mail is not
Internet Mail. Press the OK command button to return to the Windows Setup tab.
Step 6Scroll down the list and select The Microsoft Network, then press the OK
command button to return to the Windows Setup tab for the last time.
Step 7Finally, press the OK command button on the Add/Remove Programs window.
Windows will prompt you for disks (unless your Win95 CD-ROM or diskettes have remained in
the same place as when you installed Windows). When the installation process is complete,
you will be prompted to reboot your machine.
Step 8Launch the white MSN icon that is now on your desktop (see Figure 1.1) and
follow the prompts for logging on to the Internet .
Figure 1.1. Windows setup
allows you to install MSN , or another service, as your default Internet provider.
Most online services require that you provide a
valid checking or credit card account number. This is like giving your account number to a
cashier at an unfamiliar shop, so always monitor the activity on any accounts usedbe
it over the Internet or elsewhere. This protects you from overcharges (these systems
aren't perfect!) as well as from outright theft.
Most folks first getting a dial-up connection do so
through one of the information tollways. In response to this opening in the market,
Microsoft has developed MSN (The Microsoft Network). One option in Windows 95's setup
process allows you to place a connection to MSN on your desktopputting it and the
Internet just a click away.
Placing the MSN icon on the Windows 95 desktop
consummated the marriage of the ordinary user's computer with the Internet. This marriage
placed an immediate demand on programmers to develop applications that used the
distributed nature of the Internetthe ability to transmit information back and forth
over wide distances and in real-time. Business owners want to use the Internet to give
their business a wide presence on the Internet.
On previous networks, users could share documents
and directories of documents, but this was limited primarily to use on LANs. This was
because most technologies, such as file sharing, were only mature on LANs, not WANs. The
technology was thereit just had not yet been implemented.
Integration of Network
That's when Microsoft took the ball and ran with it.
To maintain dominance in the computer industry, they needed to develop applications that
would allow the greatest percentage of the market to use the Internet with Windows. The
task became complicated because there were many diverse entities working on the standards
under which the Internet would operate.
Figure 1.2. Many different
organizations are involved in defining the standards for the Internet .
Organizations, such as IETF (Internet Engineering
Task Force), The World-Wide-Web Consortium (W3C), Xerox PARC, France's CERN, NCSA
(National Center for Supercomputing Applications), EFF (Electronic Frontier Foundation),
and many others each took one or a few intranet computing concepts and developed methods
and protocols to support those ideas on different systems (see Figure 1.2). These
converted methods and protocols allow for file transfers, e-mail, conferencing, and news
broadcasts to occur on the Net without interfering with each other, and ensure the
delivery of the proper message packets to the intended recipients.
Microsoft has placed their own people
on the boards of many of these bodies to ensure the representation of Windows technologies
in the ongoing task of allowing cross-platform use of the Internet, and to ensure that
Microsoft's products conform to any adopted standards.
The Release of ActiveX
Now that the marriage of Windows and the Internet is
complete, Microsoft is turning their network programming technologies over to the public
domain. This will allow people to write applications for use on the Internet, and will
bring more non-users into the fold of Windows computing.
These technologies are collectively referred to as
ActiveX, reflecting Bill Gates' directive to his developmental staff to "Activate the
Installing the ActiveX Software
Before you go any further, install the ActiveX SDK on your local hard drive. You can find
this tool kit, which is central to this guide, on the enclosed CD-ROM. Installation is
really quite simple:
Step 1Locate the ActiveX.exe" file on the enclosed CD-ROM.
Step 2Double-click this file and accept its installation defaults when prompted.
Step 3Reboot the system when prompted.
Step 4Review the directory in which the file was installed (usually \INetSDK\).
Notice which files ActiveX.exe placed in that directory. You will be using these files
throughout this guide.
ActiveX gives the programmer the ability to enable a
program to access files and messages (and even access actual people) over the
Internetand to be able to market that program to a very wide audience. This
means that a user can acquire an inexpensive custom program for a specific purpose from
darn near anywhere. This is because even the most inexperienced programmers will have the
tools to write applications that can manipulate data over a network right at their
The demand for simple Web browsers and e-mail programs has peakedeverybody needs
them. You probably won't be creating these basic utilities, because anybody can get them
free from Microsoft!
ActiveX gives you the tools to provide what the market really wants: customized,
specialized products created for specific purposes. You will need to identify special
demands that cannot be met by standard Internet utilities.
One of the paradigm shifts effected by Microsoft's
input in network standards involves the idea of documents as enhanced objects .
In earlier operating systems, the whole focus of
programming was limited by the capabilities of the user's computer. For instance, a
programmer who writes a really great paint program has to first determine whether the
end-user's machine will have the graphics resources (hardware, firmware, software, and so
on) to run the application.
Instead of asking "what is the user's computer
capable of doing," ActiveX programmers ask "what does the user want to do?"
(A very happy question!) This compelled Microsoft to adopt the slogan "Where do you
want to go today?"
Certain classes define the different types of
objects supported by a given computer system. The classes define what properties,
methods and events are supported for an object. They also define how an object is to be
implemented on the local machine. These defined objects are instantiated (created),
then uninstantiated (thrown away) as needed by a program.
The Frankenstein Model
Let's take this idea to its wildest extreme: You are
a mad scientist and you are going to create an object called objFrankenstein. To make it,
you must have a specification (or class) for creating it. This specification defines
objFrankenstein's properties, methods, and events.
objFrankenstein will have properties, such as a
brain called objFrankenstein.Brain and a torso called objFrankenstein.Torso. Some of these
properties will be property arrays, such as objFrankenstein.Eyes(Left) and
objFrankenstein will also have events that occur
based on changes in a property. He might have an event called objFrankenstein_WakeUp that
fires whenever he wakes up, or an event called objFrankenstein.Eyes(Left)_Wink that fires
whenever he winks his left eye.
objFrankenstein's methods define how he does things.
An example would be his method for sitting down. When he sits, he might use a method like
following, which is coded in VBScript (with some imaginary objects, properties, methods
objFrankenstein_Sit(Chair as Furniture, Distance as Height)
Select Case Chair
Case "Bean Bag"
jFrankenstein.move "Down" "Distance"
objFrankenstein.move "Down" "Distance"
objFrankenstein.Look "Behind" "You"
Figure 1.3. By treating a
document as a customizable bag of properties, OLE programmers can create almost anything
within that document.
All of this is defined in the class specification
for the object(s) (see Figure 1.3). In ActiveX, the methods for defining these classes on
a computer are expanded to consider the distributed nature of the Internet. This gives
your Frankenstein object certain advanced features, such as privacy and the capability to
re-create modified versions of itself from information available at a remote location.
Pretty wild, eh?
The Document Obje
ActiveX technologies reference each document on the
Internet as an object. By document, I mean an item that exists somewhere on the Net
and can be transferred to another machine. This document object could be a whole program
that runs on a user's machine, or a spreadsheet table, or even a word-processing document,
such as a resume or a business plan. Whatever the object, it is is considered an Internet
document for viewing purposes.
In turn, these document objects have their own
properties, methods and events. Some of the properties of the document can include
Document.Page(), Document.Title, and Document.Author. Some of the events of the document
can include Document_OnLoad and Document_OnUnload. Some of the methods can include
Document.Save and Document.Delete.
Figure 1.4. Documents may
just be a string of text, but if the text is formatted correctly, properties of that
content can be retrieved.
This redefinition of the document compelled the
development of several related technologies. The OLE controls used by programmers of
standalone systems were enhanced or redesigned (see Figure 1.4), which necessitated the
implementation of cryptographic and other security features. Data download services were
implemented to enable users who wanted to view a document that their system was incapable
of manipulating to download controls as needed. Scripting services have also been
redesigned to take advantage of document automation processes.
In and of itself, the sharing of documents over the
Net is only mildly interesting. However, in the last five years, hypertext documents have
become very popularand rightly so (see Figure 1.5). Hypertext is a way of
formatting various forms of content through the Net so that users can interact with the
content regardless of the type of computer they are using. Therefore, Mac, UNIX, and
Windows users can each access, interact with, and update the same information. The most
common type of content that can be shared in this way is called multimedia.
Figure 1.5. A hypertext
document viewed in Netscape .
The standard format for transferring this multimedia
data over the Net is referred to as MIME (Multimedia Internet Mail Extensions). The
entire MIME specification is contained in RFCs (Request For Comment) 1521 (http://ds.internic.net/rfc/rfc1521.txt)
and 1522 (http://ds.internic.net/rfc/rfc1522.txt).
Basically, this specification defines how computers on the Internet share nontext
information, such as video and sound clips. These RFC pages are the first and second
halves of the MIME standard for identification and dissemination of multimedia content
over the Internet.
When someone says "I'm surfing the Net" or
"I'm cruising the Web," he is usually referring to viewing hypertext documents.
Hypertext documents exist on a remote server system, such as NASA's, the Louvre's or the
Library of Congress's. The documents can then be viewed with a Web browser, such as MSIE
(Microsoft Internet Explorer) or Netscape Navigator.
These powerful document viewers allow for content
like you will never see in a traditional newspaper. Instead of simple inline graphics for
a news story or advertisement, content providers place inline audio and video on their
pages. Also, features such as command buttons and scrolling lists allow the user to enter
data (such as a name, address and credit card info) into the page. This user input might
either be some sort of request for, or submission of, information.
The hypertext specification is the definition of how
these documents are put together. Remembering that a document is nothing more than text
strung together, the specification does not define what content is found in a
document. Rather, it specifies how that content is formatted. For a full description of
the hypertext specification, visit Microsoft's Internet Development site (http://www.microsoft.com/intdev), the IETF (http://www.ietf.org), or the Internet Network Information
Center (http://www.internic.net) .
In this chapter, you have become familiar with
Microsoft's drive to integrate the diverse Internet technologies into a cohesive family of
commercial-grade processes for information sharing. You also have been exposed to MSN, one
of the information tollways. These new products and services add value to dial-up
computing as well as leased-line services, such as corporations and research institutions.
You are now also aware of the paradigm shift
involved in the ActiveX integration, which involves a change from computer-oriented to
document-oriented programming. Document-oriented programming allows each document to have
properties, methods and events within which programmers may code their programs. You have
also been exposed briefly to the basics of hypertext documents.
- Q What is the best system for accessing the
- A There is no best system for accessing the
Internet. ActiveX is only mature on Windows 95 machines, but it is being written for Mac
and UNIX as well. Each system has its own strengths and weaknesses. As a rule of thumb:
If your task is graphics-intensive, use a Mac. You could use a more pricey solution, such
as a those put out by Silicon Graphics, but for the money, Mac is the best graphics editor
If your system is for desktop business, use a Windows 95 PC. You could use NT Workstation
as well, but such a powerhorse would be more suited to the network administrator than the
If your system is a server for a LAN, use Windows NT. It supports all of the common
networking features, such as e-mail and chat, and allows very stable security- and
If your system is an Internet server, use Windows NT or UNIX. NT supports the more
important ActiveX server features, but unless you are relying on those features, many ISPs
find a simple UNIX box gives them the most bang for their buck, and with fewer day-to-day
- Q How is Windows 95 used as a dial-up network
- A Most, if not all, dial-up services are
usable through Windows 95 and its applets. For the old BBS-type dial-up, which uses a
login screen and ANSI or ASCII text, there is the HyperTerminal program. The Windows 95
setup process adds connections for several other dial-up services, including AT&T and
MCI. AOL and CompuServe require additional software, and MSN is an installation option on
MSN has built-in support for connections to most types of other networksLAN, WAN,
TelCo (telephone company), and so on. Internet connections are usually handled through the
built-in dial-up networking feature. Technically, this is a dial-up TCP/IP (Transmission
Control Protocol/Internet Protocol) connection using PPP (Point to Point Protocol) over a
Modem (Modulator/Demodulator) through an analog connection. MSN's e-mail program,
Microsoft Exchange, has an additional networking feature called Microsoft Fax. This is a
server and client for the fax network. It works over the telephone network to send and
receive messages over the POTS (Plain Old Telephone System) network.
- Q How is the simultaneous playing of one
multimedia file by multiple systems possible?
- A Although the file begins in one place (the
server), it is transferred to all the machines requesting it. Each requesting machine uses
programs installed on its local machine to play the file. This allows a UNIX user to use a
different method for playing files than an NT user while each listens to the same sound.
Referring to the documentation provided with the
ActiveX SDK and available at their Web site, notice the standards that have been developed
outside of Microsoft (such as PICS, MIME and HTML 3.2). Review and guidemark these sites.
You can add a shortcut to your desktop instead of guidemarking it by selecting File|Create
Shortcut from the Internet Explorer menu bar.
- What is an information tollway?
- What two different components of Windows 95 can be
used to access network services over a modem?
- Why did Microsoft create ActiveX?
- What conceptual shift is reflected in the ActiveX
document objects features?
- What defines an object's properties, methods and
- What are objects composed of?
- Why is HTML such a popular presentation format?
- What format allow multimedia content, such as audio
and video, to be transmitted via the Internet?