Appendix A

Glossary


bstract class  A class that cannot be instantiated because it has one or more pure virtual functions.

access method  A method that encapsulates data members.

ActiveX Documents  Documents that can be viewed in an application, such as Microsoft Internet Explorer, even though they were written by another application, such as Microsoft Word.

AIFF (Audio Interchange File Format)  Developed by Apple Computer for storing high-quality sampled sound.

allocate  To grant a resource, such as memory, to a requesting program.

ANSI (American National Standards Institute)  A major U.S. standards-setting organization.

API (Application Program Interface)  A specification for functions, routines, and data available from a library or program shared or integrated with another program.

applet  A small Java program, designed to run in connection with a Web browser such as Netscape Navigator.

applications  Software designed and written to solve a problem or create a Web-based environment through dynamic page generation or system tasks.

associative class  A container class in which the position of each instance depends upon the contents of the instance. See container class. Contrast with sequence container.

asynchronous  Used to describe the multitude of individual events that occurs simultaneously and without relation to other events except within a larger closed system.

back end  The system-level support that is unseen by the client user but that provides the Web server, database, and external services to help create the interfaces available to the client user.

browser  A software application that allows a user to look up information on the Internet, primarily on the World Wide Web.

buffer  A temporary storage area for information, usually for a short period, which holds that information in the order in which the information is received.

cache  To store a copy of something, usually for fast local access; also, the storage space used for caching.

callback function  A function that is passed (by reference) to another function. The other function calls the callback function under defined conditions (for example, upon completion).

CCITT  The international standards-setting organization for telephone and data communications.

Certification Hierarchy  In security administration, a system by which two people who do not know each other can exchange public keys and still have confidence that they have the other person's correct key.

CGI (Common Gateway Interface)  A mechanism that allows Web users to access non-Web programs.

CGM (Computer Graphics Metafile)  A file format that accommodates both vector and raster images in a single file.

class variables  Variables that are associated with the class as a whole, rather than any specific instance of the class.

client pull  Technology developed for the Web environment that allows a page to reload automatically when the client requests new pages. The client software must be capable of recognizing the special tags, which are added to HTML for this purpose.

CMM (Capability Maturity Model)  A multiple-layer description of software engineering process maturity developed at the Software Engineering Institute.

code signing  A mechanism used in Microsoft's ActiveX control to assure users that the software they are downloading has not been contaminated with a virus. When the control is downloaded the user can check the electronic signature to verify the software vendor and to confirm that the downloaded copy has not been altered since it was signed.

component architecture  A software model in which small special-purpose components are installed in a more general framework to build an application.

compound document  A document that contains components built by more than one application. See also document-centric computing.

concrete class  A class with no pure virtual functions, so it may be instantiated.

constructor  In object-oriented programming, the class method that brings a new instance of the class into existence. Many classes have more than one constructor, for different purposes. See copy constructor and default constructor.

container class  A class, such as a vector or set, that holds instances of other classes.

copy constructor  In C++, a constructor that takes an instance of the class as its parameter and sets the data members to match the value of that instance.

daemon  A program that is left running in the background, waiting for a particular set of circumstances (such as a request) to trigger it into action.

database  A system of applications and data that stores information (retrievable by way of a query interface) in a persistent, stable, and organized fashion.

DBMS (Database Management System)  A mechanism for storing data in files and accessing it with a high-level language. Also see SQL and RDBMS.

deadlock  In operating systems, a situation in which two or more processes are blocked while waiting for resources that the other controls so that none of the affected processes can continue to execute. Also known as the "deadly embrace."

deallocate  To release control of memory that was previously allocated.

default constructor  In C++, the class constructor that takes no parameters and, consequently, sets all data members to their default values.

developers license  In ActiveX, a license that allows the user to make new, runnable copies. Contrast with runtime license.

Distributed LiveConnect  Netscape's plan for communicating between applications, using Object Request Brokers, or ORBs.

dither  To display a color (on a computer screen or printer) that is not actually available in the system color table. Many systems dither by displaying a pattern of pixels that are close to the desired color, tricking the eye into seeing a color which is not actually present.

DNS (Domain Name System)  A system that translates between human-readable domain names and machine-usable IP addresses.

document-centric computing  A style of software design in which the application becomes less visible and the user is only aware that he or she is interacting with the document by using a set of tools. See also compound document.

document objects  An older term for ActiveX documents. See ActiveX Documents.

document root  The directory in the Web server's file system that is the beginning of the file tree of documents available from the Web server. In the URL http://some.where.com/, for example, the trailing slash (/) signifies the document root.

Document Type Definition (DTD)  Formal descriptions of a language, typically written in SGML. Used with the HTML <DOCTYPE> tag to tell validators and other software which version of HTML is used in the document. Often abbreviated DTD.

DTD  See Document Type Definition.

dynamically generated  Made at runtime by the invocation of scripts or programs that are ultimately requested by a user, or the programmed/scheduled events supported by the Web server. A feedback-acknowledgment page is dynamically generated. A sports-score page that updates after every new score, independently of the user, is also dynamically generated.

dynamic library  A code resource designed to be linked into an application on the end user's computer, at load time or runtime. See also static library.

embedded plug-in  A plug-in that appears inside the Navigator window. See also full-page plug-in.

entity header fields  The fields of the Hypertext Transfer Protocol, or HTTP, that are used to send information about the data (also known as the entity). The content of the entity header fields is metainformation, as opposed to the information contained in the data itself.

environments  Places within a Web site where the associations between pages lead to the belief that the pages have a common theme to explore or use for a specific purpose. A Web chat environment, for example, is a set of pages that supports the chat model.

environment variables  The shell data components of a process in the UNIX environment.

EPS (Encapsulated PostScript)  A self-contained PostScript program that draws an image; also known as EPSF.

EPSF  Encapsulated PostScript Format, see EPS.

event handler  In JavaScript, pieces of code that are called in response to events such as mouse clicks.

file system  The hardware and software component of an operating system that manages the access and management needs of electronic files.

filter  A hardware or software component that processes an input data stream into an output data stream in some well-defined way and does no I/O to anywhere else except possibly on error conditions.

firewall  A hardware or software component that limits or denies access to resources on an intranet from users on the Internet.

flat  Lacking any internal structure.

flat-ASCII  Said of a text file that contains only 7-bit ASCII characters and uses only ASCII-standard control characters; also known as plain-ASCII.

flat file  A flattened representation of some database, tree, or network structure as a single file from which the structure implicitly can be rebuilt, especially one in flat-ASCII form.

flatten  To remove structural information, especially to filter something with an implicit hierarchical structure into a simple sequence; also tends to imply mapping to flat-ASCII.

flush  To discard all remaining data in an input or output device. But in C and UNIX, the fflush(3) call forces buffered disk I/O to complete. These two meanings are logically opposite.

fork  To make a new process. This term is commonly used in the UNIX community. To fork a process in UNIX, use fork(). See spawn.

FTP (File Transfer Protocol)  Part of the TCP/IP family of protocols. Anonymous FTP is a common way of offering files to the public.

full-page plug-in  A Navigator plug-in that appears in its own window. See also embedded plug-in.

function  In mathematics, a transform that accepts one or more inputs and produces one output. In computer science, an implementation of such a function. Inputs and outputs may be numbers, character strings, or any other data representation.

function overloading  In object-oriented programming, a technique in which two or more functions with the same name are distinguished from one another by differing number and/or type of parameters.

gadget  In the X Windows system, a component that does not require space on the display.

GET  An access method in HTTP.

Global memory  In Microsoft Windows, all the memory that wasn't allocated by an application or the system. See also local memory.

handle  A pointer to a pointer to data. An indirect pointer.

helper application  An application invoked by a Web browser for MIME types that the browser cannot handle internally. See also plug-in.

hot spot  In Web page design, a location on a graphic that serves as a hyperlink.

HTML  The Hypertext Markup Language. A language defined by the World Wide Web Consortium that is used to define Web pages.

HTML form  An HTML construction that includes the <FORM> tag declaration with one or many <INPUT> tags, with the purpose of collecting data to be passed as input to a CGI program.

HTTP  Hypertext Transfer Protocol, the protocol of the World Wide Web.

httpd  The HTTP daemon, the UNIX name for the Web server.

hyperlink  In hypertext systems, the mechanism by which a user moves from one document to the other, often in a highly nonlinear fashion.

IEEE (Institute of Electrical and Electronics Engineers)  An international professional group and standards-setting organization.

IESG (Internet Engineering Steering Group)  This is a committee formed to help the IETF chair.

IETF (Internet Engineering Task Force)  The group that develops the specifications that become Internet standards.

image map  A graphic that is set up to allow a user's click to select different pages or programs, depending on where the user clicks the graphic. It is customary to associate hot spots on the graphic with specific files or programs. Image maps can be implemented on the client or on the server.

information hiding  In software engineering, the practice of separating a software component's interface from its implementation. Details of the implementation are considered to be hidden from the component's users.

instance variables  Data members that appear in every copy (instance) made from the class.

instantiate  To make an object from a class.

interface thread  In Win32, a thread of control that is capable of receiving and processing messages. Said to include a message pump. Contrast with worker thread.

Internet  The worldwide interconnection of networks to form the network of networks. The Internet originally was a research project for the U.S. Department of Defense called the ARPANET; now, it is mostly organized for commercial and educational purposes.

intranet  A privately owned computer network based on the same open standards as the Internet.

IP (Internet Protocol)  One of the communications protocols of the Internet. IP usually is specified as part of a family known as TCP/IP.

IP address  Four 8-bit numbers used to uniquely identify every machine on the Internet. An IP address usually is written with dots between the numbers, as in 127.0.0.1.

IPC (Inter-Process Communication)  The mechanisms by which software processes talk with one another. Typical UNIX IPC mechanisms include shared memory, pipes, semaphores, and message queues.

ISO (International Standards Organization)  An international standards-setting organization.

ISOC (Internet Society)  A professional society to facilitate, support, and promote the evolution and growth of the Internet as a global research communications infrastructure.

ISP (Internet Service Provider)  An organization that provides access (usually dial-up) to the Internet.

Java Virtual Machine  A software layer that understands Java bytecodes. The Java Virtual Machine is documented in white papers available on-line at http://www.javasoft.com/nav/download/index.html.

JFIF  JPEG File Interchange Format (commonly referred to as JPEG), a popular image format for Web pages.

JPEG  Joint Photographic Experts Group; also, the common name for the JFIF image standard.

JVM  See Java Virtual Machine.

LAN (Local Area Network)  A collection of computers at one physical location or campus that shares resources and their internetworking hardware and software. See also WAN.

LDAP  See Lightweight Directory Access Protocol.

Lightweight Directory Access Protocol  An open standard for remote directory access, defined in RFC 1777, "Lightweight Directory Access Protocol."

local guide  The manual or documentation, assembled for users, that describes the custom software and tools installed.

local memory  In Microsoft Windows, memory that has been allocated to the data segment of a Windows application. See also global memory.

machine language  The instructions, typically expressed in hexadecimal or binary notation, that are understood by a particular processor. For example, 000001002 (0416) is the instruction that tells an Intel 80¥86 processor to add the following byte to the accumulator register.

make  A utility used to generate an output file based on changes in a set of component files.

mapping context  In DOS/Intel computers, a data structure used to describe the relationship between addresses in conventional memory to those in expanded memory.

markup language  A syntax and procedure for embedding in text documents tags that control formatting when the documents are viewed by a special application. A Web browser interprets HTML (Hypertext Markup Language).

message pump  The mechanism in Win32 that receives and processes messages from the operating system. See interface thread and worker thread.

metainformation  In the HTTP, information about the contents of the entity body, sent in entity header fields.

meta-language  A language used for describing other languages. For example, the Standard Generalized Markup Language (SGML) is used to describe the Hypertext Markup Language (HTML).

method  A function that is a member of a class.

MIME (Multimedia Internet Media Extensions)  A mechanism used by e-mail and Web servers to tell a client what type of content is being sent so that the client can interpret the data correctly.

mix-in classes  Classes that typically cannot be instantiated themselves but that are added to an abstract class by multiple inheritance to add features to a new concrete class.

Mozilla  Netscape Communication's internal name of the Netscape browser. This name appears in the browser's identity string, and in some of Netscape's logo products.

MPEG  Moving Pictures Experts Group; also, the audio and video compression standards developed by that group, such as MPEG-1 and MPEG-2.

multiuser  An operating system such as UNIX that is designed to support more than one independent user at a time on the same computer.

multitasking  Performing more than one task at the same time. Multitasking is a feature of some operating systems, such as UNIX, Mac OS, and the newer versions of Microsoft Windows.

name mangling  In C++, the mechanism for changing the internal names of functions so that function overloading is possible.

native methods  In Java, methods that have a Java interface but a platform-specific implementation (for example, C++/Windows).

navigation  The act of traversing a chain of hypertext links from a starting point to a final result.

NCSA (National Center for Supercomputer Applications)  Developed the NCSA Server, a popular UNIX-based Web server. Visit NCSA's Web site at http://hoohoo.ncsa.uiuc.edu/.

Netscape Communications Corporation  Developer of a popular browser (Netscape Navigator) and several commercial servers. See Netscape ONE.

Netscape Navigator  A popular Web browser by Netscape Communications Corporation.

Netscape ONE  A family of Netscape products and technologies based on open Internet standards. "ONE" is an acronym for "Open Network Environment."

Netscape Server Application Program Interface  Netscape's mechanism to allow third-party developers to directly integrate with its servers. The interface is a series of function calls that may be made from an external code resource into the Netscape server.

NIST  U.S. National Institute of Standards and Technology, formerly known as the National Bureau of Standards.

NSAPI  See Netscape Server Application Program Interface.

object-oriented  An adjective used to describe analysis, design, and programming techniques and languages that rely upon the description of the problem in terms of hierarchical classes of objects. Typically, each class has attributes and functions that form a part of its definition.

ORB (Object Request Broker)  Software that allows client components and programs to communicate with a server without having to know which physical machine runs the server. ORBs also provide a high degree of insulation between different operating systems and hardware, so a client does not have to know the server's environment to use its services.

open standards  A standard with publicly available specifications, which can be implemented by any developer. Open standards are typically developed and maintained by a review process in which all interested parties may participate, in contrast to proprietary standards, which are developed and maintained by a single company.

OpenDoc An open component technology sponsored by IBM, Apple, and Adobe (among others). These organizations formed Component Integrations Laboratories (CI Labs) to advance component technology. OpenDoc is their flagship product, which competes directly with Microsoft's Object Linking and Embedding 2 (OLE).

operating system  A collection of software written to provide the fundamental instructions that a computer needs to manage resources such as memory, the file system, and processes.

overloading  In a programming language, the ability to have more than one function of the same name, differing only in the number and type of parameters. See signature.

PATH  An environment variable used to list directories that should be searched for a given file.

PCL (Hewlett-Packard Printer Control Language)  An HP-proprietary language used to render pages on Hewlett-Packard printers.

PDF  See Portable Document Format.

PDL (Page Description Language)  A generic term encompassing PostScript and Hewlett-Packard's PDL.

penalty weighting algorithm  In printing, an algorithm that attempts to match screen fonts with available printer fonts.

Perl (Practical Extraction and Report Language; also Pathologically Eclectic Rubbish Lister)  A rich language developed by Larry Wall. Perl is often used to implement CGI scripts.

PERL  The interpreter for Perl, typically located on a UNIX system at /usr/bin/perl.

plug-in  A technology developed by Netscape and now adopted by some other Web browser vendors to handle certain MIME media types inside the browser environment, instead of with a helper application.

PNG (Portable Network Graphic)  An alternative to GIF for Web graphics.

polymorphism  The ability in a programming language to use instances of subclass as though they were instances of the parent class.

Portable Document Format (PDF)  A platform-independent format for desktop publishing documents developed by Adobe. PDF is widely used on the Internet to exchange documents with fonts, formatting, and graphics intact. Adobe provides a free PDF viewer for all major platforms online at http://www.adobe.com/acrobat/.

POST  An access method in HTTP.

PostScript  A page description language developed by Adobe that is commonly used in laser printers.

preemptive multitasking  In an operating system, a mechanism for interrupting a running task to allocate processor time to another task. Contrast with process multitasking.

process ID  A number associated with a process, which can be used to uniquely identify the process.

process multitasking  Microsoft's term for cooperative multitasking, in which a process must yield the CPU before the operating system can allocate time to another process. Contrast with preemptive multitasking.

proof of concept  A prototype that is built to show that the technique, system design, or marketability of a proposed application or system is likely to be as good as expected.

pure virtual  Used to describe a function in an object-oriented environment. A virtual function that must be overridden by a derived class. See virtual.

PUT  An access method in HTTP.

QUERY_STRING  The environment variable that contains the information passed to a CGI script by means of GET.

QuickTime  Apple Computer's standard for time-based material, such as video, sound, and multimedia sequences. Available for Windows and UNIX computers as well as for Macintoshes.

RDBMS (Relational Database Management System)  A database mechanism in which the user's logical view of the data is based on tables (also known as relations). See also mSQL.

real time  Describes an application that requires a program to respond to stimuli within some small upper-limit of response time (typically milli- or microseconds).

reloading  The act of requesting a page from a Web server that is already visible in the Web browser. The purpose of reloading is mainly to verify changes in documents or to re-invoke certain actions (such as CGI scripts) on the Web server.

replication on command  A proxy server mechanism-a user or system administrator can command the server to fetch a document from the original server and store it locally. Typically used to update mirror sites during non-peak hours in order to reduce traffic during high-demand periods.

replication on demand  A proxy server mechanism-when a user asks for a document that is not in the proxy server's cache (or which has expired), the server fetches that document from the original server and stores it locally. Replication on demand is the most common way to operate a proxy server.

RFC (Request for Comment)  The place where all of the official standards in the Internet community are published.

RIFF WAVE  An audio format, commonly known as WAV.

round robin scheduling  An operating system algorithm used to allocate processor time to active processes evenly.

runtime license  In ActiveX, a license that allows the end user to run the ActiveX component but not to make copies for use elsewhere. Contrast with developers license.

script  A program that runs on the Web server, written in an interpreted language such as Perl or Tcl.

Secure Sockets Layer (SSL)  A channel security algorithm built into Netscape's products.

security stance  A position taken by an organization that trades off security for ease of use and performance.

SEI (Software Engineering Institute)  A research center at Carnegie-Mellon University.

semaphore  A mechanism for restricting access to critical sections of code to a single user or a single process at a time.

sequence container  Container classes in which the order of the stored instances depends on how and when the instance was added to the container, rather than the contents of the instance. See also container class. Contrast with associative container.

server push  Technology developed for the Web environment that allows a page to reload automatically when the server generates new content. The MIME type used for server push is multipart/x-mixed.

server-side includes  In Web pages, directives embedded in HTML comments that are intended to be interpreted by the Web server.

SGML (Standard Generalized Markup Language)  The meta-language in which the Hypertext Markup Language (HTML) is defined. See also Document Type Definition.

SIGHUP  The hang-up signal. In UNIX, SIGHUP is commonly used to tell a daemon to reread its configuration files. Signals are sent in UNIX with the kill command.

signature  The number and type of parameters to a function. Often mentioned in connection with object-oriented systems, as the basis for function overloading.

skeleton  A program that contains the proper header and footer declarations but lacks actual code to perform a task; also, a file stub that provides the framework for the details of the program to be inserted.

SLOC (Source Line of Code)  One line in a computer program. In many languages, each SLOC ends with a semicolon. SLOC is used in COCOMO and PROBE as the basis for estimating software-development time.

spawn  To make a new process. This term is commonly used in non-UNIX operating systems, such as Windows. For example, to spawn a process in Win32, use CreateProcess(). See fork.

SQL (Pronounced see-quel; Structured Query Language)  An ANSI-standard language for accessing databases.

SSI (Server-side include)  A method by which Web pages can include small pieces of information that is not directly stored in their file.

static HTML file  An HTML document that is represented and stored as a file under the Web server's document root. A static HTML file can be changed or updated only by editing the file. Also see dynamic HTML.

static library  A code resource designed to be linked into an application on the developer's machine when the application is linked. See also dynamic library.

STDERR (Standard Error)  A file handle open for output by default in many operating systems and languages; typically used for program error messages.

STDIN (Standard Input)  A file handle open for input by default in many operating systems and languages; typically used for program input.

STDOUT (Standard Output)  A file handle open for output by default in many operating systems and languages; typically used for program output.

TCP (Transmission Control Protocol)  One of the communications protocols of the Internet. TCP usually is specified as part of a family known as TCP/IP. TCP connections are set up by using a three-way handshake to ensure the delivery of every packet.

TCP/IP  A family of protocols that includes TCP, IP, and various applications such as FTP, HTTP, and Telnet. TCP/IP is a layered architecture and is independent of the physical media (for example, Ethernet, serial lines, or fiber optic cable).

text box  An area of a Web page, usually created with <INPUT> tags, that accepts a single line of input.

thread  A "lightweight process" that allows asynchronous work to be done within another process's address space.

TIFF (Tag Image File Format)  A popular high-end file format for images.

time stamp  Time of day, encapsulated in an alphanumeric quantity for registering an event. When files are modified, their "last modified" time stamp is updated with a new time.

toolbar  A compact textual or graphical region of a page that contains hypertext links to other parts of the site or the Web.

twips  In Microsoft Windows, a unit of measurement on an output device such as a screen.

two-phase locking  A mechanism for preventing deadlock; a process is blocked from allocating resources until it can get all the resources it needs. See deadlock.

URL (Uniform Resource Locator)  The address of an Internet resource, such as a Web page.

versioning  In configuration management, the process of assigning each release of a document or piece of software a version number. Automated systems, such as UNIX's Source Code Configuration System, allow a developer to check a module out for modification-the system assigns a new version number whenever the developer checks the module back in.

virtual  Adjective to describe a function in an object-oriented environment. A virtual function may be overridden by derived classes. See also pure virtual.

VRML (Virtual Reality Modeling Language)  A language used to describe three-dimensional "worlds." Many VRML browsers exist. The latest versions of Netscape Navigator include the capability to render VRML scenes.

WAN (Wide Area Network)  A collection of computers that are geographically distributed but share resources and their internetworking hardware and software. See also LAN.

Web server  A machine (or set of machines) connected to the network that runs software that supports the HTTP requests for documents from client machines.

Webmaster  The person who usually maintains the content and operational status of a Web server. Most Webmasters are involved with design and development issues for new content and also with business and marketing issues, network topology design, and any other issue related to the development and maintenance of the Web server.

widget  In the X Windows system, a component such as a button that appears on the display and invites user interaction.

worker thread  In Win32, a thread of control that does not include a message pump. Contrast with interface thread.

World Wide Web  A network of hosts on the Internet that share data and information with the public (or private groups) through the transfer of documents via the HTTP protocol.

XBM (X Bit Maps)  A simple graphics standard used in the X Windows system.

X.500  An international standard for directory servers. Netscape's Directory Server uses LDAP, which can interact with X.500-compliant servers.