Oracle Essentials Oracle Database 11g (63 page)

venue

1st A

Main Street

Figure 14-2. Geographic Information System display of a spatial query
Multiple geometric forms are supported by the Oracle Spatial Option to represent many different types of spatial data, including points and point clusters, lines and line strings, polygons and complex polygons with holes, arc strings, line strings, compound polygons, and circles. You can determine the interaction of these features through the use of operators such as touch, overlap, inside, and disjoint.

Data that shares the same object space and coordinates but represents different characteristics (such as physical and economic) is often modeled in layers. Each layer is divided into tiles representing smaller subareas within the larger area. A representation of this tile is stored with a spatial index that provides for quick lookups of multiple characteristics in the same tile. The Spatial Option uses these representations to rapidly retrieve data based on spatial characteristics. For example, youcan perform a query against a physical area to examine where pollutants, minerals, and water are
328

|

Chapter 14: Oracle Extended Datatypes

present. Each of these characteristics is likely to be stored in a separate layer, but they can be quickly mapped to their common tiles. The designers of these spatial-based databases can increase the resolution of the maps by increasing the number of tiles representing the geography.

The Spatial Option fully leverages Oracle’s object features through the use of a
spatial object type
that represents single or multielement geometries. Spatial coordinates are stored in VARRAYs.

Oracle Database 10
g
introduced the GeoRaster for storing, indexing, querying, analyzing, and delivering raster image data, associated spatial vector geometry data, and metadata. This feature enables storage of multidimensional grid layers and digital images in an object-relational schema that are referenced to coordinate systems.

Oracle Database 11
g
added three-dimensional geometry objects and enhanced web services support including business directory, Web Feature Service (WFS), Catalog Services for the Web (CSW), and OpenLS support.

In the real world, most spatial implementations in business aren’t custom-built from SQL, but instead utilize purchased GIS solutions that are built on top of databases.

Many of these GIS providers include Oracle Spatial technology as part of their product bundles.

Using the Extensibility Framework in Oracle

Oracle allows users to extend the basic functionality of the database. Oracle’s extensibility framework provides entry points in which developers can add their own features to the existing feature set. By using this framework you can do the following:
Add new relational or set operators for use in SQL statements
These operators can be useful when working with extended datatypes, such as multimedia or spatial data. You can create relational operators that relate specifically to a particular datatype, such as the relational operator CLOSER TO, which you can use in SQL statements that access spatial data.

Create cooperative indexing

Cooperative indexing is a scheme in which an external application is responsible for building and using an index structure that you can use with complex datatypes. The indexes created are known as
domain indexes
.

Extend the optimizer

If you use extended indexes, user-defined datatypes, or other features, you can extend the statistics-collection process or define selectivity and cost functions for these extended features. The cost-based optimizer can then use these to choose an appropriate query plan.

Using the Extensibility Framework in Oracle

|

329

Add cartridge services

These are services used by Oracle database extensions (such as the spatial capabilities) providing memory management, context management, parameter management, string and number manipulation, file I/O, internationalization, error reporting, and thread management. These services are available to software developers to provide a means to create uniform integration of extensions with the Oracle database.

With these features, the extensibility framework enables you or a third-party software developer to integrate additional functionality into the main Oracle database while still using the core features of the database, such as security management, backup and recovery, and the SQL interface.

330

|

Chapter 14: Oracle Extended Datatypes

Chapter 15

CHAPTER 15

Beyond the Oracle Database15

As we have mentioned (just a few times before!), the Oracle database is a deep and wide product, providing vast realms of capabilities. Until now, though, this book has focused on Oracle as a database—a place to store, retrieve, and manipulate data. As such, your Oracle database is an integral part of your overall infrastructure.

This chapter goes beyond this core functionality to explore features of Oracle beyond its data-centric core. This chapter focuses on three main areas:

• Application Express, a browser-based declarative development tool. Application Express, commonly referred to as ApEx, is a free add-on to an Oracle database that you can use to create applications.

• Fusion Middleware, which encompasses the functionality of Oracle Application Server and more.

• Oracle SOA Suite, which provides the Service-Oriented Architecture (SOA), a group of features and offerings that allow your Oracle database to deliver specific functionality in an easy-to-integrate form.

Application Express

In
Chapter 1,
we provided a basic overview of various development tools that could be used with the Oracle database and stated that we would not delve further into the development area. This section makes an exception to that rule by covering Application Express (commonly known as ApEx), a development tool that comes with the Oracle database and simplifies HTML application development. We discuss ApEx here because the tool can be downloaded for free and installed on an Oracle database installation without any other software, and because the tool creates applications by generating PL/SQL packages that are stored in the Oracle database.

331

The Application Express product was previously known at HTML-DB, which itself sprung from WebDB. All of these products had the same basic development methodology—browser-based wizards that helped youcreate application components that also ran in a browser.

ApEx creates components as PL/SQL packages that produce the browser-based user interface. ApEx components can include forms, reports, and charts. The ApEx development environment gives youthe ability to create rich applications, and that environment is too robust to fully describe in this brief section. The following points emerge as some of the more interesting aspects of ApEx:

• ApEx is data-centric, which means that links can be built into reports and charts.

The automatic links make it easy to drill down into data for more detail.

• You can use a web service to provide data for ApEx forms and reports.

• Youcan import data from a spreadsheet into an Oracle table with an easy utility, or export the contents of a report or page to a spreadsheet.

• Youcan export any report to a PDF, making the report available outside the ApEx environment.

• ApEx allows youto specify basic look-and-feel specifications for all the pages in your application.

• SQL Workshop, a component of ApEx, gives youa graphical interface to use in creating and managing your Oracle data.

• Oracle Technology Network offers a hosted version of ApEx that youcan use from any browser.

• You can create your own security schemes for limiting access to pages within an application.

• You can add JavaScript logic to extend your ApEx application.

• The latest release of ApEx includes an Access migration tool that will help you move your data from an Access application into your Oracle database. Once the data is in Oracle, you can quickly generate an ApEx application for the data.

Oracle Fusion Middleware

At the most basic level, users do not care where the computing resources that handle their requirements come from. The first edition of this book came out at a time when the overall computing environment was moving from a client/server model, where computing operations were split between a client computer and a server, and the dawn of the Internet age, where the “new” paradigm of on-demand computing allowed access to applications without depending on client-side resources. Of course, this change was just another swing of the pendulum, from the days when the computing environment was dumb clients and centralized mainframes.

332

|

Chapter 15: Beyond the Oracle Database

The current IT landscape uses multiple tiers of servers. Many organizations have a database tier, full of servers that handle the Oracle software, and an intermediate tier of application servers. These servers typically are used to deploy applications, acting as a pool of resources that sit between the user and the database tier.

As this multitier architecture grew in popularity, so too did the functionality provided by these application servers. More and more components, which provided a broader reach of prebuilt functional areas, were added to the application servers.

Oracle Application Server (AS), the focus of the following sections, is one of the leading examples of application servers available today, based on both the amount of functionality and the sales of the product.

Oracle Application Server, which, prior to Oracle Database 10
g
was known as Oracle
i
AS, is the other major component of the “Oracle platform.” Oracle Application Server has continually grown in the number of components it includes and the scope of functionality those components address. AS both complements and supplements the capabilities of the Oracle database, combining to create a highly integrated yet open infrastructure.

The main component of Oracle’s Fusion Middleware is Oracle Application Server 10
g
or a more current release (depending on when you are reading this book). Fusion Middleware also encompasses the Oracle SOA Suite, covered in the next section, and other components more recently introduced to the Oracle stack. The remainder of this section focuses on the components of Fusion Middleware that come with Oracle Application Server.

Oracle Application Server Editions

Oracle Application Server comes in four separate editions, as of the release of Oracle Database 11
g
:

Java Edition

Contains the HTTP Server, Java Containers for J2EE, JDeveloper, Oracle Application Development Framework, Toplink, Oracle Business Rules (described as part of the Oracle SOA Suite later in this chapter), MapViewer, and Enterprise Manager.

Standard Edition One

A counterpart to Oracle Database Standard Edition One, AS SE1 contains all the capabilities of Standard Edition but is limited to deployment on a single server with no more than two CPUs. This edition also includes a limited-use licence for Oracle Internet Directory.

Standard Edition

Contains everything in Java Edition as well as Portal, Web Cache, single sign-on capabilities, and the Content Management SDK. Also includes Oracle Internet Directory.

Oracle Fusion Middleware

|

333

Enterprise Edition

Contains everything in Standard Edition with these additional components:

• Reporting and Forms services

• Oracle Business Intelligence Discoverer

• Personalization

• Wireless

• Oracle Sensor Edge Server

• Integration components

• Oracle Enterprise Service Bus described as part of the Oracle SOA Suite below

Youcan optionally add Oracle WebCenter, Oracle Business Activity Monitoring, and Oracle BPEL Manager to the Enterprise Edition, and Oracle Service Registry to all editions of AS. WebCenter is described in this section, while the other three options are covered in the section on the Oracle SOA Suite later in this chapter.

Oracle Application Server 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.

Oracle Application Server Components

The following subsections discuss the various functional components of Oracle Application Server. Services, which affect the overall operation of AS, are described

in the later section, “Oracle Application Server System Services.”

HTTP Server

The Oracle HTTP Server (OHS) that is part of Oracle Application Server is the same basic product that we described in earlier sections as part of the database. OHS in AS

is based on Apache, but provides some additional modules, known as
mod
s, including:

mod_oc4j

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

mod_jserv

Used for Java Server Pages

334

|

Chapter 15: Beyond the Oracle Database

mod_webdav

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

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.

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.

Other books

Khan by Kathi S. Barton
Fan the Flames by Rochelle, Marie
Infamous by Nicole Camden
Good Behaviour by Molly Keane, Maggie O'Farrell
Firefight in Darkness by Katie Jennings
Luck of the Irish by Cindy Sutherland