(Base One logo) .NET database and distributed computing tools

Visual Studio | Database Technology | Distributed Computing | BFC

Glossary of Terms

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 libraries.
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.
class
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).
client/server
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 simultaneous users.
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.
Java
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 C++.
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.
overloading
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 processing features.)
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 developer's suite.
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.
Back to Top

Visual Studio | Database Technology | Distributed Computing | BFC


Home Products Consulting Case Studies Order Contents Contact About Us

Copyright 2012, Base One International Corporation