1
Two-Tier Networks
In a two-tier network, a client communicates directly with a server. This is also
known as a client-server
client server architecture
architecture. A client-server
client server network is an architecture
that involves client processes that request services from server processes. The
client and server communicate over a network using a given protocol, which
must be installed on both the client and the server.
A common error in client-server network development is to prototype an
application in a small, two-tier environment and then scale up by adding more
users to the server. This approach can result in an ineffective system,
y as the
server becomes overburdened. To properly scale to hundreds or thousands of
users, it may be necessary to implement an N-tier architecture, which introduces
one or more servers or agents between the client and the server.
2
N-Tier Networks
In an N-tier architecture, the middle-tier agent can provide:
Translation services (as in adapting a legacy application on a mainframe
to a client-server environment or acting as a bridge between protocols)
Scalability services (as in acting as a transaction-processing monitor to
balance the load of requests between servers)
Network agent services (as in mapping a request to a number of different
servers, collating the results, and returning a single response to the client)
3
Complex Network Issues
Networks should improve communication rather than impede distributed
operations In a more complex network environment
operations. environment, several issues must be
addressed:
Different hardware platforms that run different operating systems
Multiple protocols used on these platforms
Different syntax between different but connected applications
Different geographical locations in which the connected applications
reside
A well-designed complex network can support a large-scale distributed system.
4
Oracle Network Solutions
Oracle provides a full suite of products and tools to address almost any
networking need
need. Connectivity issues are addressed by a wide range of
protocols that are supported by Oracle Net Services. Oracle Internet Directory
(OID) is tightly integrated with Oracle9i. OID is a Lightweight Directory Access
Protocol (LDAP), Version 3 compliant directory service and fulfills requests for
everything from net service names to user credentials to policies. You can use
Oracle Connection Manager and Oracle Shared Server, to enable Oracle to
support huge user demands. Security needs are addressed by Oracle’s support
off third-party
thi d t encryption
ti and d data
d t iintegrity
t it products
d t and d authentication
th ti ti adapters.
d t
Oracle supports industry or de facto standard security products rather than
proprietary products. Oracle also supports the integration of non-Oracle
databases through Oracle Heterogeneous Services.
5
Oracle Net Services
Oracle Net Services provides the industry’s broadest support for network
transport protocols
protocols, including TCP/IP,
TCP/IP TCP/IP with Secure Sockets Layer (SSL),
(SSL)
and Named Pipes. All data conversion using Oracle Net Services is transparent
to the user and the application. This enables Oracle Net Services to operate
across different types of computers, operating systems, and networks to
transparently connect any combination of PC, UNIX, legacy, and other systems
without expensive changes to the existing infrastructure.
Oracle Net Services provides mechanisms which reduce the need for
configuration in simple environments. Configuration utilities provide access to the
full spectrum of Oracle Net Services functionality. For simple environments,
Oracle Net Services’ default settings provide a transparent name resolution
adapter. This eliminates the need for generating configuration files. For more
complicated environments, Oracle Net Services employs the Oracle Internet
Directory to store connection information in a centralized repository.
Oracle
O l Net
N t Services
S i addresses
dd Internet
I t t connectivity
ti it th
through
h iintegration
t ti off
standard solutions such as Remote Authentication Dial-In User Service
(RADIUS) and Lightweight Directory Access Protocol (LDAP) with legacy
systems.
6
Database Connectivity with HTTP
Connections to the Oracle server are not limited to Oracle Net Services alone;
clients can establish connections by using Internet protocols such as Hypertext
Transfer Protocol (HTTP). Using these Internet protocols, you can run
applications from within a Web browser to connect directly to an Oracle9i
database. Internet technologies such as Internet File System, Enterprise
JavaBeans (EJB), and the Internet standard Secure Sockets Layer (SSL)
protocol provide added security to network connections.
7
Directory Naming
LDAP is an Internet standard for directory services. LDAP has emerged as a
critical infrastructure component for network security and as a vital platform for
enabling integration among applications and services on the network. It simplifies
management of directory information considerably by providing the following:
A well-defined standard interface to a single, extensible directory service,
such as the Oracle Internet Directory
Rapid development and deployment of directory-enabled applications
An array of programmatic interfaces that enables seamless deployment of
Internet-ready applications
8
Oracle Internet Directory
The Oracle Internet Directory (OID) complies with LDAP, Version 3. It provides
the following features:
Integrates with Oracle8i and Oracle9i databases, making it easy for you to
administer users and systems
Provides a scalable, cross-platform directory structure for reliable, secure
Internet computing
Enables OID-based directories to stay synchronized even when
distributed
Integrates existing public key certificates, wallets, and access privileges
Maintains routing policies, system management objects, and quality of
service issues
Enables service resellers that lease lines from carrier-class providers to
segregate directories with customer information from their providers while
sharing the infrastructure information required to provide quality service
Note: Configuration of Oracle Internet Directory is discussed in the Oracle Net
Services: Advanced Administration course.
9
Oracle Shared Server
The Oracle Shared Server architecture has been designed for user scalability.
By enabling efficient server
server-side
side resource sharing
sharing, the Oracle Shared Server
allows a large number of users to connect simultaneously to a database server.
Dispatcher
The dispatcher is a process that handles the management of the connections to
the valuable server processes. A dispatcher can support multiple client
connections concurrently.
Server processes
Shared servers handle the retrieving and saving of data to the database and any
other CPU processing that the application needs.
The Result
This task distribution in the Oracle Shared Server is very efficient and enables
large user scalability. It also leads to very good connection time and throughput.
Note: Oracle Shared Server was known as Oracle Multithreaded Server (MTS)
in versions before Oracle9i.
10
Oracle Connection Manager
Oracle Connection Manager is a gateway process and control program that is
configured and installed on a middle tier
tier. Oracle Connection Manager can be
configured for the following features:
Multiplexing
Oracle Connection Manager can handle several incoming connections and
transmit them simultaneously over a single outgoing connection. You can use
multiplexing to provide access to the server to more users. The configuration is
offered only in a TCP/IP environment
environment.
Cross-protocol Connectivity
Using this feature, a client and a server can communicate with different network
protocols.
Network Access Control
Using Oracle Connection Manager, designated clients can connect to certain
servers in a network based on the TCP/IP protocol.
11
Connection Multiplexing
The example in the slide shows how Oracle Connection Manager acts as a
multiplexer to funnel data from many clients to one server
server.
1. The initial connection from a client to a server is established
by connecting to Oracle Connection Manager.
2. Oracle Connection Manager establishes the connection to
the server.
3. When additional clients request connections to the server
through Oracle Connection Manager
Manager, they use the same connection that
Oracle Connection Manager used for the initial connection.
12
Oracle Advanced Security
Oracle Advanced Security provides data privacy, integrity, authentication, and
single
sign-on.
Authentication ensures that users are authenticated appropriately.
Encryption ensures that the data transmitted between nodes remains
private.
Data Integrity ensures that data is not modified or tampered with during
transmission.
transmission
Single sign-on enables users to authenticate to multiple servers using a
single username/password combination.
Note: Oracle Advanced Security is a product that is licensed separately.
13
Heterogeneous Services
Heterogeneous Services provide seamless integration between the Oracle
server and environments other than Oracle
Oracle. Heterogeneous Services enable you
to do the following:
Use Oracle SQL to transparently access data stored in non-Oracle data-
stores like Informix, DB2, SQL Server, and Sybase
Use Oracle procedure calls to transparently access non-Oracle systems,
services, or application programming interfaces (APIs), from your Oracle
distributed environment
A Heterogeneous Service agent is required to access a particular non-Oracle
system.
Benefit
Heterogeneous Services enable integration with foreign data sources.
Note: Configuration of Heterogeneous Services is discussed in the Oracle Net
Services: Advanced Administration course.
14
External Procedures
Oracle support of external procedures allows the developer more development
choices than standard SQL or PL/SQL provide
provide. The listener can be configured to
listen for external procedure calls. When a PL/SQL or SQL application calls an
external procedure, the listener launches a network session-specific process
called extproc. Through the listener service, PL/SQL passes the following
information to extproc:
Shared library name
External procedure name
Parameters (if necessary)
The extproc program then loads the shared library and invokes the external
procedure.
15