- application program interface (API)
- a generic term for a standardized, documented set of programming interface conventions
for accessing a group of related facilities, which may reside in separate modular program
- back-end database
- a database residing on a separate computer from the "front-end" machine that
is directly accessed by the user. A local area network
connects many users to one or more back-end servers so that they can share a common
database. The establishment of important standards like ODBC
makes it possible intermix DBMS software from many different
vendors, creating a heterogeneous database environment.
- a basic building block of object-oriented programming.
Classes define types of objects by specifying their properties (data) and the
procedures ("methods") they support. Classes are more powerful than normal
programs, because they are flexible blueprints for generating programs. Unlike
programs, a new class can be derived easily from a an existing class and inherit its
properties and functions ("sub-classing"), with additional programming only to
the extent that the classes actually differ. Classes make it possible to decompose
large, complex programs into much more manageable, maintainable pieces of logic, which
leads to more dependable applications.
- class library
- a collection of related classes, which are a type of
reusable component in object-oriented programming. In Visual C++, programmers would typically build their own
class libraries on top of an underlying foundation, such as the Microsoft
Foundation Class Library (MFC).
- a two-tiered model of database applications where there is a back-end
database "server" that communicates with many front-end "clients"
across a network. The client/server model makes it possible to create
microcomputer-based systems that rival the capacity and dependability of mainframe-based
systems, at a fraction of their cost. Most client/server systems are based on the Structured Query Language (SQL). In contrast to the earlier
"file server" model, client/server systems can support more users by reducing
the amount of network traffic. The newer 3-tier
model carries this idea further, to achieve a still greater capacity for supporting many
- data base management system (DBMS)
- a set of programs for organizing large collections of information and supporting data
entry, access, reporting, and general data maintenance functions. A DBMS lies at the
heart of virtually every data-intensive computer application. There are many diverse
DBMS products from the most prominent names in the software industry, including IBM,
Microsoft, MySQL, Oracle, Sybase, Informix, and others, all of which adhere to variations of the
widely-supported relational model of databases.
- a popular new programming language used to add sophisticated custom features to a
standard Internet browser. One of its attractions is the promise of achieving
greater portability of applications across different operating systems. As an
"interpreted" high-level language, Java can never be expected to achieve the
high performance of "compiled" languages, such as C/C++. Java is best
suited to the construction of interface enhancements in World Wide Web pages, but it would
not be a suitable alternative to lower-level languages like C/C++ for building
"core" functions in high-performance, mission-critical systems.
- local area network (LAN)
- a system of direct interconnection of multiple computers that enables them to exchange
information and share resources such as printers, modems, and other devices.
Typically, a LAN requires the expense of installing specialized hardware such as cabling,
network adapters for each computers, "hubs" for combining connections,
etc. Most LANs use the Ethernet protocol with networking software from Novell and/or
Microsoft. When the geographic size of the network makes direct cabling impractical, a
different approach is used to construct a wide area network (WAN).
- Microsoft Foundation Class Library (MFC)
- an extensive collection of class libraries that
Microsoft provides as a part of its Visual C++
programming environment. The Microsoft Foundation Classes constitute a framework for
general-purpose application development, which relieves C++ programmers from much of the
burden of communicating with the low-level Windows operating system functions.
- object-oriented programming (OOP)
- a general model of programming that builds upon the concept of modular, reusable
components (classes) that can be combined and adapted to
produce robust, complex applications of any kind. One of the most popular examples
of an object-oriented programming language is Microsoft's Visual
- Open Database Connectivity (ODBC)
- a widely used standard for program communication with back-end
databases across a local area network, which is supported by
Microsoft, Oracle, Sybase, MySQL, and almost every major DBMS
product on the market. ODBC incorporates the SQL
language for database manipulation.
- The C++ language allows you to "overload" functions and operators.
Overloading is the practice of supplying more than one definition for a given function or
a basic operator (+, -, =, ++, etc.) The compiler is left to pick the appropriate
version of the function or operator based on the types of the arguments with which it is
called. The benefit of this technique is that it simplifies programming and reduces
the chances of basic usage errors. Instead of a confusing plethora of closely
related functions, each with a different name, logically equivalent operations are grouped
into a much smaller collection of "overloaded" functions and operators.
Overloaded operators make it possible to extend the standard C++ language in the most
transparent possible way, so that existing programs can be converted simply by
recompiling, with minimal source code changes.
- relational data base management system (RDBMS)
- a broad category of DBMS that supports multiple
interrelated tables containing different kinds of information, as opposed to more
restrictive designs that handle only one type of table at a time, or other entirely
different organizations of information that don't rely on tables. The use of
relational databases is now so widely preferred that the term DBMS is generally equated to
RDBMS. By far the most popular language for programming relational databases is SQL.
- Standard Template Library (STL)
- The Standard Template Library (STL) is a collection of data structures and algorithms
that establish uniform ANSI/ISO standards for portable extensions to the basic C++
language. Microsoft's Visual C++ includes STL,
but it also gives you the option of working with the Microsoft
Foundation Class Library (MFC). Unlike MFC, STL is not tied to any specific
platform, and a compatible version of STL exists for virtually every major C++ compiler.
- Structured Query Language (SQL)
- a powerful, standardized programming language for performing relational
database queries, updates, insertions, and other general-purpose database
operations. This widely accepted standard is supported by every major DBMS product on the market, and it is part of the ODBC interface specification.
- three-tier architecture
- a model of large scale database applications that adds a middle level to the older client/server model in order to make more efficient use
of limited back-end database server resources.
Large databases require efficient access to many users, often spread out over a wide
geographic area or a huge corporate network. The 3-tier design is especially well
suited to Internet/intranet applications, because it allows the burden of message
processing to be separated from database processing.
- transaction processing
- the problem of performing multiple operations against a database in such a way as to
assure that errors don't occur because of interrupted operations or conflicts between
simultaneous users. Creating a highly dependable transaction processing system
without incurring a substantial performance penalty is one of the foremost challenges in
building successful applications of large, dynamic databases. (The Base/1 Foundation Component Library includes integrated transaction
- Transport Control Protocol/Internet Protocol (TCP/IP)
- A set of communications protocols used to link dissimilar computers across many kinds of
networks, including both local area networks and wide area networks.
- Visual C++
- Microsoft's premiere object-oriented programming language,
which was used to build Microsoft Office, Internet Explorer, and many of Microsoft's other
commercial applications and operating system components. Visual C++ was also used to
build Netscape Navigator, Lotus Notes, and Corel's WordPerfect Suite. The
NT database servers from Oracle, Sybase, Informix and Microsoft were all built in Visual
C++. A major component of Microsoft's Visual C++
programming environment is the accompanying Microsoft Foundation Class
Library (MFC). The Visual C++ environment also includes an impressive array
of tightly integrated programming tools, such as a debugger, project and source code
management, and a host of other facilities that comprise Microsoft's Visual Studio
- wide area network (WAN)
- a system of interconnecting many computers over a large geographic area, making use of
telephone lines, satellite links, and other long-range communications technologies.
Because of the much greater hardware expense, reduced bandwidth, and the reliance on
existing infrastructure that is shared by general-purpose communications, different
protocols are used in WANs from those typically used in LANs.
Banyan's Vines was an early leader in WAN software, but now TCP/IP has emerged as the preferred WAN protocol because it is
the basis for the Internet as well as LAN-based intranets.
- Windows Socket (Winsock) API
- the standardized core programming interfaces (API) for
connecting Windows applications to a network such as the Internet or a corporate intranet.
This is the level of programming used to build Microsoft's Internet Explorer,
Netscape, Eudora Pro, and most other serious Internet products.