Oracle7 Server Distributed Systems Volume I: Distributed Data

Contents Index Home Previous Next

Network Issues in a Client-Server System

Although a client-server system can consist of a server process and client process that exist on the same machine, this book assumes that the typical client-server system consists of a client machine and a server machine.

Client-server systems cannot function without communication. Designing any client-server system requires a knowledge of and an ability to implement appropriate networking using SQL*Net, Oracle Names and other network products.

Other communications software may be supplied by Oracle Corporation but is often purchased separately from the hardware vendor or a third-party software supplier.

The simplest network connection, single client to single server, requires only a single protocol, usually provided by the host operating system. DECnet, TCP/IP, LU6.2, and ASYNC are examples.

However, most companies require connections from many types of machines using different operating systems and communication protocols. Such systems grow quickly in complexity.

SQL*Net uses the communication protocols or application program interfaces (APIs) supported by a wide range of networks to provide for a distributed Oracle7 system. A communications protocol is a set of standards, implemented in software, that govern the transmission of data across a network. An API is a set of program functions or calls that allow an application to make use of, or communicate with, an underlying program or system.. In the case of networks, the API provides the means to establish remote process-to-process communication over a communication protocol

Communication protocols define the way a network transmits and receives data. In a networked environment, Oracle7 Server communicates with client workstations and other Oracle7 Servers using SQL*Net. SQL*Net supports communications on all major network protocols, ranging from those supported by PC LANs, to those used by the largest mainframe computer systems.

Without SQL*Net, an application developer must manually code all communications in an application that operates in a networked, distributed processing environment. If the network hardware, topology, or protocol changes, the application has to be modified accordingly.

However, by using SQL*Net, the application developer does not have to be concerned with supporting network communications in a database application. If the underlying protocol changes, the database administrator makes some minor changes, while the application continues to function with no modification.

How SQL*Net Works

SQL*Net drivers provide an interface between Oracle7 processes running on the database server and the user processes of Oracle7 tools running on other computers of the network.

The SQL*Net drivers take SQL statements from the interface of the Oracle7 tools and package them for transmission to Oracle7 over one of the supported industry-standard, higher-level protocols or programmatic interfaces. The drivers also take replies from Oracle7 and package them for transmission to the tools over the same higher-level communications mechanism. This is all done independently of the network operating system.

Additional Information: Depending on your operating system, the SQL*Net software may include the driver software and start an additional Oracle7 background process. See your Oracle operating system-specific documentation for details.

Database Links

For client machines to access a remote database on the server, the communications protocol must be told where the database resides through a database link. A database link is a string that uniquely identifies to the communication software the location and name of the remote database.

Note: Oracle7 requires the database link name to be the same as the global database name (or service name). For more information on naming issues in a distributed system, see [*].

Location Transparency

Oracle7 server provides the means to make data objects such as tables in remote databases look like they are in the local database to an application developer or user of that data object. Once a client-server system has been set up, users should be able to access the remote database with complete location transparency, provided the database link has been properly defined. For more information on location transparency, see [*].


Contents Index Home Previous Next