The connection between the client and the database server is a key component of the overall architecture of a computing system. The database connection is responsible for supporting all communications between an application and the data it uses. Oracle includes a number of features that establish and tune your database connections.
The following features relate to the way the Oracle database handles the connection between the client and server machines in a database interaction. We’ve divided the discussion in this section into two categories: database networking and Oracle9i Application Server.
Database users connect to the database by establishing a network connection. You can also link database servers via network connections. Oracle provides a number of features to establish connections between users and the database and/or between database servers, as described in the following sections.
Oracle’s network interface, Net8, was formerly known as SQL*Net when used with Oracle7 and previous versions of Oracle. You can use Net8 over a wide variety of network protocols, although TCP/IP is by far the most common protocol today.
In Oracle9i, the name of Net8 has been changed to Oracle Net, and the features associated with Net8, such as shared servers, are referred to as Oracle Net Services.
Oracle Names allows clients to connect to an Oracle server without requiring a configuration file on each client. Using Oracle Names can reduce maintenance efforts, since a change in the topology of your network will not require a corresponding change in configuration files on every client machine.
The Oracle Internet Directory (OID) was introduced with Oracle8i. OID serves the same function as Oracle Names in that it gives users a way to connect to an Oracle Server without having a client-side configuration file. However, OID differs from Oracle Names in that it is an LDAP (Lightweight Directory Access Protocol) directory; it does not merely support the Oracle-only Oracle Net/Net8 protocol.
Each connection to the database takes up valuable network resources, which can impact the overall performance of a database application. Oracle’s Connection Manager, illustrated in Figure 1-3, reduces the number of network connections to the database through the use of concentrators, which provide connection multiplexing to implement multiple connections over a single network connection. Connection multiplexing provides the greatest benefit when there are a large number of active users.
You can also use the Connection Manager to provide multiprotocol connectivity when clients and servers run different network protocols. This capability replaces the multiprotocol interchange formerly offered by Oracle, but it is less important today because many companies now use TCP/IP as their standard protocol.
Advanced Security, now available as an option, was formerly known as the Advanced Networking Option (ANO). Key features include network encryption services using RSA Data Security’s RC4 or DES algorithm, network data integrity checking, enhanced authentication integration, single sign-on, and DCE (Distributed Computing Environment) integration.
The popularity of Internet and intranet applications has led to a change in deployment from client/server (with fat clients running a significant piece of the application) to a three-tier architecture (with a browser supplying everything needed on a thin client). Oracle9i Application Server (Oracle9iAS) provides a means of implementing the middle tier of a three-tier solution for web-based applications, component-based applications, and enterprise application integration. Oracle9iAS replaces Oracle Application Server (OAS) and Oracle Web Application Server. Oracle9iAS can be scaled across multiple middle-tier servers.
This product includes a web listener based on the popular Apache listener, servlets and JavaServer Pages ( JSPs), business logic, and/or data access components. Business logic might include JavaBeans, Business Components for Java (BC4J), and Enterprise JavaBeans (EJBs). Data access components can include JDBC, SQLJ, BC4J, and EJBs.
Oracle9iAS offers additional solutions in the cache, portal, intelligence, and wireless areas:
Oracle9iAS Portal is part of the Internet Developer Suite (discussed later in this chapter) and is used for building easy-to-use browser interfaces to applications through servlets and HTTP links. The developed portal is deployed to Oracle9iAS.
Oracle9iAS Intelligence often includes Oracle9iAS Portal, but also consists of:
Oracle Reports, which provides a scalable middle tier for the reporting of prebuilt query results
Oracle Discoverer, for ad hoc query and relational online analytical processing (ROLAP)
OLAP applications custom-built with JDeveloper
Business intelligence beans that leverage Oracle9i Advanced Analytic Services
These capabilities are discussed in Chapter 9.
Oracle Wireless Edition (formerly known as Oracle Portal-to-Go) includes:
Content adapters for transforming content to XML
Personalization portals for service personalization of alerts, alert addresses, location marks, and profiles; the wireless personalization portal is also used for the creation, servicing, testing, and publishing of URL service and for user management
Figure 1-4 shows many of the connection possibilities we’ve discussed.
Because Oracle9iAS is a separate product, it can be used with various versions of the Oracle8i and Oracle9i database and with either edition.
Oracle9iAS itself also is packaged in a Standard Edition and an Enterprise Edition. Features requiring Enterprise Edition include Cache, PL/SQL, Forms Services, Reports Services, Discoverer Viewer, Oracle Internet Directory, Oracle Workflow, Oracle Application Interconnect, and Oracle Enterprise Manager Management Server. For more details about Oracle9iAS, see Chapter 14.