Oracle Essentials [Electronic resources] : Oracle Database 10g, 3rd Edition نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

Oracle Essentials [Electronic resources] : Oracle Database 10g, 3rd Edition - نسخه متنی

Jonathan Stern

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید










14.3 Oracle Application Server


Oracle Application Server 10g (AS), which,
prior to Oracle Database 10g, was known as
Oracle iAS, is the other major component of the
"Oracle platform." The whole field
of application servers is significantly less mature than that of
relational databases. Consequently, there is less agreement across
different vendor offerings as to what functionality constitutes an
application server.

Oracle's focus and strategy is based around
servicing the leading enterprise databaseOracle. Some of the
functionality in AS is also provided as part of the Oracle database,
such as the basic web server and the ability to implement
browser-based applications. Other components, such as Oracle Portal,
compete with other vendors' application servers or
niche products.

Oracle Application Server is intended to complement and extend the
Oracle database to handle all IT requirements. With Oracle Database
10g, there has been increased integration
between the two products in two significant ways:

Enterprise Manager, which we have discussed throughout this book, now
manages AS as well as the Oracle database. The new version is known
as Enterprise Manager 10g.

AS can now automatically recognize the failure of a node in an Oracle
database without having to wait for an IP timeout. This allows the
application running in AS to take corrective action more rapidly,
hiding the failure from a user.


We can't hope to do justice to AS in this brief
section, especially considering how the product's
functionality has grown over time. For a much fuller overview of the
concepts and architecture of AS, see the companion book,
Oracle Application Server 10g Essentials,
available from O'Reilly & Associates later in
2004; that book will provide the same type of coverage for AS that
this volume does for the database.


14.3.1 Editions


Oracle
Application Server comes in three separate editions for
Oracle Database
10g:

Java Edition


Contains the HTTP Server, Java Containers for J2EE, JDeveloper,
Toplink, and Enterprise Manager


Standard Edition


Contains everything in the Java Edition as well as Portal, single
sign-on capabilities, and the Content Management SDK


Enterprise Edition


Contains everything in Standard Edition, with these additional
components:

Web Cache

Integration platform

Oracle Internet Directory

Oracle Application Server Certificate Authority

Discoverer

Reporting and Forms services

Personalization

Wireless





In Oracle Application Server 10g, clickstream intelligence and the
database cache are no longer supported as part of the product.

The pricing structure in place as of this writing offers Java Edition
for $5,000 per CPU, with Standard Edition and Enterprise Edition each
available for a higher price.

Please keep in mind that packaging and pricing are the exclusive
realm of Oracle Corporation and can be changed at any time.


14.3.2 Installation


You can see from the brief list of functionality in the previous
section that Oracle Application Server is a broad product. You can
configure AS as part of the installation process to provide different
types of functionality, including J2EE server, Web Cache, Portal,
Wireless, Business Intelligence, and Forms.


14.3.3 Components


The
following sections discuss the various functional components of
Oracle Application Server. Services, which affect the overall
operation of AS, are described later in "System
Services."

14.3.3.1 HTTP Server


The Oracle HTTP Server (OHS) that is
part of Application Server is the same basic product that we
described previously as part of the database. OHS in AS is based on
Apache, but provides some additional modules, known as
mods, including:

mod_oc4j


Directs requests for Java modules to the Oracle Containers for Java
component, described later


mod_jserv


Used for Java Server Pages


mod_webdav


Supports versioning through WebDAV (Web-based Distributed Authoring
and Versioning)


mod_osso


Provides built-in single sign-on functionality



You can add other mods to OHS, but Oracle
Support may ask you to remove unsupported modules if a problem
occurs.

The Oracle HTTP Server includes the ability to use server-side
includes, which can be used to add code to the headers and footers of
all pages served, to implement standardized behaviors and look and
feel.

OHS provides virtual host capabilities, which let you use a single
instance of OHS to map to multiple host names. OHS can act as a proxy
server or a reverse proxy server, and it can also support URL
rewriting, which allows administrators to change the location of a
page without requiring users to change the way they access the page.
OHS includes a proxy plug-in for Internet Information Server and
SunONE server, which lets requests to these servers be automatically
rerouted to OHS. These plug-ins can provide the load balancing
functionality, described in Section 14.3.4.3
for Oracle Containers for J2EE, described in the following section.

14.3.3.2 Containers for J2EE (OC4J)


The core Java capabilities of Oracle
Application Server are provided by Oracle Application Server
Containers for J2EE, also known as OC4J. This component is a Java
Virtual Machine, providing support for a wide range of Java 1.3
standards, including session beans, entity beans (with both
bean-managed and session-managed persistence), and message-driven
Java beans, Java Server Pages 1.2 and Servlets 2.3, and Java Message
Service.

You can scale OC4J by having multiple instances of OC4J on a single
machine as well as having multiple threads, each running a single
application module, in an individual OC4J instance.

OC4J also implements JDBC connections to the Oracle database, which
can include connection pooling.

14.3.3.3 TopLink


TopLink
provides object-relational mapping, the ability to associate object
attributes with relational tables and columns. Because TopLink
performs this mapping, a developer can change the mapping without
changing the Java code that accesses the underlying data.

TopLink also provides caching and optimization to reduce database and
network traffic.

14.3.3.4 Development tools


Oracle Application Server
10g includes several development kits:

XML Development Kit


Provides components, tools, and utilities for working with XML in
applications


Content Management Kit


Integrates with Oracle content management products in Collaboration
Suite, and provides a variety of capabilities, including security,
versioning, workflow, and search and retrieval operations


MapViewer


Makes it easier to build maps to represent themes or locations



The increased need for integration of diverse applications has thrust
web services to the forefront of application development. Oracle
Application Server supports a range of web service standards,
including SOAP, WSDL, and UDDI. AS includes the ability to easily
publish both stateful and stateless J2EE classes as web services,
automatically generating WSDL descriptions and client-side proxy
stubs.

Of course, the course of standards bodies, like that of true love,
never runs smooth. AS already provides integration between .NET SOAP
and Java SOAP, and Oracle has stated its intention to continue this
type of integration.

14.3.3.5 Development servers


Oracle's traditional
development tools, including Oracle Forms Developer (known as
Developer in the past), Oracle Reports, and JDeveloper, are part of
the Oracle Developer Suite of products, as are Oracle Designer and
Discoverer. However, AS includes runtime services for Forms and
Reports.

Oracle Application Server, Enterprise
Edition, comes with a Forms Services component.
This component allows a user to run the user interface to a Forms
application as a Java applet on the client. The Forms Service creates
a server process to handle HTTP requests from the Java client.

AS Enterprise Edition also includes a Reports
Server. The Reports Server creates and manages reports processes to
handle user requests. Reports can be cached for a specified length of
time, so that subsequent requests are satisfied by retrieving the
report, rather than by running the queries for the report again.
Reports can be scheduled to run and be delivered to multiple
recipients.

14.3.3.6 Portal


Oracle
Application Server Portal has gone through some significant changes
in its history. When it was first released under the name of WebDB as
part of the Oracle database, Portal was seen as a tool to create
HTML-based applications, a role now taken by HTML DB, described
earlier. WebDB was renamed Oracle Portal, and the focus of the
product was changed to concentrate on bringing together separate
sources of information into a common desktop.

Entire books have been written on Portal alone, so the description in
this section is, of necessity, a very brief overview of the range of
Portal capabilities.

Portal uses pages, which can consist of static or dynamic information
and which use a theme for overall look and feel. Portal includes
wizards for easy creation of
pages.Portlets are
applications that can get information from a wide variety of sources,
from a database to a web source, and can be plugged into the Portal
framework. The Portal framework provides a look and feel as well as
navigation controls for all the information displayed in it (see
Figure 14-2).


Figure 14-2. A well-known Portal application


Developers can allow users to customize some parts of portlet and
page display, and Portal will automatically save these
customizations. Portal provides a single sign-on capability to
identify users and secure content.

A user can search across all information in a portal with a built-in
search mechanism. Developers can also add categorization to pages to
aid in searches.

A single Portal deployment can also deploy multiple versions of pages
in different languages.

14.3.3.7 Wireless


OracleAS Wireless is a set of
services and applications that form a development platform that can
be used to create applications to address a variety of
mobile devices and forms, including PDAs,
cell phones, and other wireless devices.

OracleAS Wireless supports three modes:

Pull mode


In this mode, a wireless user requests information.


Push mode


In this mode, information is sent to a wireless user.


Persistent mode


In this mode, a wireless user can maintain an application even when
she is out of wireless contact.



This component also includes a set of mobile
enablers, which provide services that wireless
applications commonly need. These enablers include:

Content and data syndication, which translates web and WAP content
for mobile devices

Location services

Personalization

Analytics, used to understand user behaviors

Commerce, used for mobile wallets and payment integration

Provisioning, used for phone and device settings

Synchronization, used for phones and devices, as well as data
synchronization with Oracle Lite

Notification, used to provide multichannel conditional and time-based
alerts


OracleAS Wireless also includes three mobile applications:

Mobile Office


Includes basic productivity applications for mobile devices


Multi-Channel Messaging


Lets you send a message to different mobile devices


Mobile Location


Helps to add location awareness with driving directions, a business
finder, and maps



14.3.3.8 Security


Security
features are used to limit access to data, applications, and
computing resources. The Oracle database has a complete security
system, as described in Chapter 5. Oracle
Application Server can be used to authenticate users, store security
credentials, and implement a concept known as identity
management.

Identity management allows an administrator to establish and maintain
a security identity for a user and enforce it across an entire set of
computing components, such as databases, application servers, and
applications. Oracle Application Server uses the
Oracle Internet Directory (OID)
to store security information and provide user authentication. OID is
an LDAP (Lightweight Directory Access Protocol) compliant store of
information. Any application can access OID, including the Oracle
database.

Identity management also includes a number of other features,
including:

A user provisioning framework that can be integrated with other
applications, such as the HR system, provided by OID

Directory integration tools, provided with OID

PKI certificate management, provided with AS Certificate Authority

Tools for managing security, implemented as part of Enterprise Manager


In addition, AS provides a single sign-on capability. As the name
implies, this service allows a user to log on once; the
user's information is then used by various computing
entities to retrieve the authenticated identity of the user.

Oracle's identity management solution can also be
integrated with other third-party identity management products.

14.3.3.9 Integration


Integration is a broad area that
encompasses bringing together information from different sources. The
Oracle database has a number of features for integration, including
Streams and Heterogeneous Gateways. Application Server includes its
own set of features for integration, including:

Integration Modeler


This is an HTML-based tool that can model business processes and map
data transformations. The results of this tool are stored in a
repository, and they can be changed at any time.


Integration Manager


This
tool handles the runtime processes used for integration.


Adapters


Oracle Application
Server includes a set of adapters for packaged applications, such as
SAP and Peoplesoft, as well as other databases and messaging systems.
You can also create your own adapters with an Adapter SDK.



To complement these main features, Oracle AS includes a repository
for the storage of integration information, such as transformations,
and analysis tools to provide intelligence on how business processes
are being integrated. Enterprise Manager is used to manage the
integration processes defined with AS Integration.

14.3.3.10 Business intelligence


Business intelligence can
encompass a wide spectrum of options. Oracle provides three modules
that are classified as being business intelligence features of
Application Server (Portal is also sometimes added to this category):

Reports Services


These services are discussed earlier in Section 14.3.3.5.


Discoverer


Discoverer is a
tool that business analysts use to obtain business intelligence data
from an Oracle database. Analysts use Discoverer to query and
retrieve data via a browser-based interface and to manipulate it in a
variety of ways, including drill-down, pivoting, and changing the
layout and presentation of data into various forms, such as tabular
and crosstab forms. Administrators set up an End User Layer to
simplify complex access to multiple data sources, complete with
appropriate aggregation. Because Discoverer can also present data in
a graphical format, Figure 14-3 is worth the
remaining thousand words of description.




Figure 14-3. Typical Discoverer output


Personalization


Personalization,
the final component of the AS business intelligence solution, uses
data mining algorithms on data gathered from customer transactions,
web site clicks, and demographics. These help build a recommendation
engine that can be used to create recommendations for individual
customers as they traverse the web site. Personalization can be
deeply complex in setup, but the benefits that come from successful
personalization of sites like web stores can directly result in
higher sales volumes.



We cover business intelligence in the Oracle database in more depth
in Chapter 9.


14.3.4 System Services


The
remaining areas of Application Server capabilities provide services
that affect more than one of the functional areas described earlier:

Management capabilities address the entire AS stack

Caching improves performance across many areas of functionality

Clustering (of several types) and load balancing provide for
scalability and reliability


14.3.4.1 Management


With the Oracle Database
10g release, the scope of Enterprise Manager has
been broadened to encompass AS. Enterprise Manager now provides
availability and performance tracking for both Application Server and
the Oracle database. For instance, Enterprise Manager automatically
provides information on the web pages that take the longest to serve,
and it does this by mining the log files for Application Server, so
there is virtually no impact on performance.

AS now lets you archive the configuration of an individual instance,
either to act as a backup before making configuration changes or to
apply to any other instance.

For more information on other extended features of Enterprise
Manager, see Section 14.4.1.4
section under Section 14.4
later in this chapter.

14.3.4.2 Caching


Caching
is a standard concept in computingcaching speeds up the
retrieval of frequently used information by saving it somewhere where
it can be rapidly retrieved. In the database, this means keeping
frequently used data in memory, rather than retrieving it from disk.
For Reports Server, described earlier, this means saving a report
rather than running it again.

Oracle Application Server includes two specific components meant to
provide additional caching capabilities: the Web Cache and the Java
Object Cache.

14.3.4.2.1 Web Cache


The idea behind the Web Cache is fairly simplemaintain
copies of frequently requested information in a cache so the
information does not have to be retrieved every time it is requested.
The Oracle Application Server Web Cache works on HTML pages and parts
of pages. It can cache either static or dynamic data and includes
validation routines that you can implement to specify when the data
should be refreshed. Web Cache is aware of individual user and
application dependencies on data, so it automatically caches and
delivers situation-specific information.

HTML code uses Edge Side Includes to indicate where partial page
content goes, and Web Cache will use those directives to assemble
pages with cached data. The Web Cache can also cache images, audio,
video, Java, and search results.

Web Cache can also compress web content, which can speed delivery to
clients. Both cache validation rules and compression rules can be
implemented with regular expressions for flexibility.

Web Cache instances can be on the same node as Application Server
instances, or on their own servers, as shown in Figure 14-4. Web Cache instances can be clustered with a
load balancer and use a built-in clustering capability. This
capability provides a shared distributed cache, where each cache
instance is aware of the contents of the other cache instances. Web
Cache can be used with Forms and Reports.

The Web Cache includes a technology Oracle refers to as
surge
protection. Surge protection proactively monitors the load
on each server and implements actions to prevent the servers from
being overwhelmed by a spike in traffic or a denial-of-service
attack.

In Oracle Application Server 10g, Web Cache is
used to collect the data on page service times used by Enterprise
Manager's Application Performance Monitoring
feature, which is described later in the "Grid
Computing" section.

14.3.4.2.2 Java Object Cache


The Java Object Cache is implemented with a set of Java classes. As
its name implies, this cache stores frequently used Java objects in
memory or on disk. Developers use a set of attributes associated with
a Java object to define how an object is loaded into the cache, where
an object is stored, and validation rules that specify when an object
is moved out of the cache.

14.3.4.3 Clustering and load balancing


Oracle Application Server instances
can be clustered together, for higher performance and availability.
You can cluster Web Cache, Java Container, Portal, Forms Service,
Report Servers, or OID instances. In addition, you can use Real
Application Clusters to provide clustering capabilities for the AS
infrastructure or Portal. A multi-tier set of clusters is shown in
Figure 14-4.


Figure 14-4. Multiple levels of clustering in Application Server


mod_oc4j,
which directs requests to the Oracle Container for Java from the
Oracle HTTP Server, provides load balancing across multiple instances
of the Java Container, based on several different types of schemes,
including varieties of random assignment, round robin, and
metric-based.

You can implement load balancing for either stateless requests or
requests that carry state. State-based load balancing is implemented
with cookies, and can be done either explicitly or with the Java
Object Cache. Oracle Java Containers are aware of nodes that share
state information, so they can provide high availability for stateful
load balancing by redirecting requests to a failed node to another
node that shared application state with the failed node.

In Oracle Application Server
10g, you can create policies that can reallocate
a node from one cluster to another without having to restart the
cluster.

Application Server includes a high-availability framework, which
monitors instances for their health, informs the system of problems,
and automatically attempts to restart failed instances. Each node in
a cluster contains its own configuration information, so if the node
containing the repository that describes the cluster becomes
unavailable, OHS can rebuild the repository on a designated backup
node, eliminating this potential single source of failure.

Application Server can be installed to use underlying hardware
cluster functionality in what is called a Cold Failover
Cluster. This configuration uses a shared disk
attached to multiple machines. If the primary server should fail,
operations fail over to a backup server. The 10g
release of AS also supports Active Failover
Clusters (AFCs). (Note that the initial release
of AS 10g does not support this configuration in
a production environment.) AFCs require a load balancer in front of
the active nodes, but both nodes can operate at the same time,
providing scalability with high availability. Figure 14-5 shows the difference between these two types
of failover configurations.


Figure 14-5. Cold Failover and Active Failover Clusters



Of course, many uses of Application Server involve multiple services,
such as Java, identity management, and database access. To use
clustering for high availability, you must avoid single points of
failure for all of these services. This can require careful planning
and multiple clustering and failover schemes.

For easier creation of clusters, AS comes with a feature called
Distributed
Configuration Management (DCM), which simplifies creating clones of
existing nodes and redistributes J2EE components to the new node.

The Application Server 10g release also includes a feature in the
database called failover
notification. Prior to this release, an
Application Server instance had to wait for a TCP/IP timeout to know
that a database server node had failed. With this new release, the
cluster management software for the database cluster proactively
informs the Application Server instance of a failure, reducing
failover time.


/ 167