Appendix A

Glossary


abstract class  A class that cannot be instantiated, because it has one or more pure virtual functions. See also pure virtual.

access method  A method that encapsulates data members.

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 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 enables 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 and 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.

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

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

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

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.

deallocate  To release control of memory that was previously allocated.

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

DNS  Domain Name System, a system that translates between human-readable domain names and machine-usable IP addresses.

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.

dynamically generated  Made at run-time 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, also is dynamically generated.

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

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

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.

EPS  Encapsulated PostScript, a self-contained PostScript program that draws an image; also known as EPSF.

EPSF  See EPS.

file system  The hardware and software components 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.

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 or tree or network structure as a single file from which the structure implicitly can be rebuilt, esp. one in flat-ASCII form.

flatten  To remove structural information, esp. 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.

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

GET  An access method in HTTP.

handle  A pointer to a pointer to data.

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

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 Transport Protocol, the protocol of the World Wide Web.

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

IEEE  Institute of Electrical and Electronics Engineers, an international professional group and standards-setting organization.

IESG  Internet Engineering Steering Group. This committee was formed to help the IETF chair.

IETF  Internet Engineering Task Force. This group develops the specifications that become Internet standards.

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

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

instantiate  To make an object from a class.

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

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.

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.

LAN  Local Area Network. A collection of computers at one physical location or campus that share resources, and their internetworking hardware and software. Also see WAN.

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

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

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

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  The internal name of the Netscape browser.

MPEG  Moving Pictures Experts Group; also, the audio and video compression standards developed by that group.

multitasking  Performing more than one task at the same time. Multitasking is a feature of some operating systems, such as UNIX.

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

NCSA  National Center for Supercomputer Applications, which 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.

Netscape Navigator  A popular Web browser by Netscape Communications Corporation.

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

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, which differ 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. See also PDL.

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

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.

POST  An access method in HTTP.

PostScript  A sophisticated page description language (PDL) that's used for high-quality printing on laser printers and other high-resolution printing devices.

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

proof of concept  A prototype that's 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  As of a function, 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). Also see SQL.

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 reinvoke certain actions (such as CGI scripts) on the Web 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.

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

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 process at a time.

sequence container  Container classes in which the order of the stored instances depends upon how and when the instance was added to the container, rather than the contents of the instance. See also container class. Contrast 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.

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  Of a function, the number and type of parameters.

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.

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

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.

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

virtual  As of a function. May be overridden by derived classes. See also pure virtual.

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

Web server  A machine (or a 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.

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

XBM  X Bit Maps, a simple graphics standard used in the X Window system.