Sei sulla pagina 1di 80

Data. Its at the very heart of your business.

Your data holds your best ideas, your plans


for the future. And when your data is on NetApp, your entire business pulses with strength and
feels the beat. Ideas ow, breakthroughs happen, markets are tappedand even created.
At NetApp, were committed to bringing you storage and data management solutions built
to keep the heart of your business beating with strength and efciency. Learn how
we help your business go further, faster. Visit netapp.com/heart.
D O E S Y O U R B U S I N E S S H A V E A H E A R T ?
2008 NetApp. All rights reserved. Specications subject to change without notice. NetApp and the NetApp logo are registered trademarks of NetApp, Inc. in
the U.S. and other countries. All other brands or products are trademarks or registered trademarks of their respective holders and should be treated as such.
Untitled-10 1 3/18/08 9:17:38 PM
DEVELOPER
NATION
THE CHOICE OF ARCHITECTURE,
STANDARDS, AND TOOLS
UNITES THE ORACLE
ENTERPRISE APPLICATION
DEVELOPER COMMUNITY
WRAP IT UP /36
ENERGIZING THE
EFFICIENT ENTERPRISE /41
ENLIGHTENED
DEVELOPMENT /44
THE POWER OF TWO /47
MAY/JUNE 2008
ORACLE. COM/ORACLEMAGAZI NE
MJ08_Cover_02.indd 5 3/24/08 3:00:13 PM
w
w
w
.
r
e
d
.
d
e
Best-in-class architecture
2008 Fujitsu Limited. All rights reserved. Fujitsu, the Fujitsu logo and PRIMEQUEST are registered trademarks or trademarks of Fujitsu Limited in the United States and other countries.
All designations used in this document may be trademarks, the use of which by third parties for their own purposes could violate the rights of the trademark owners. Changes in design
and technology are reserved. Intel, Intel Logo, Intel Inside, Intel Inside Logo, Itanium, Itanium Inside are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the
United States and other countries.
Project2 3/18/08 1:19 PM Page 1
FlexFramefor Oracle
Pre-integrated and pre-tested, FlexFramefor Oracle paves the way for greater
flexibility and cost effectiveness in applications based on Oracle Application
Server or Oracle Database. This innovative infrastructure solution distributes
resources, replacing rigid hardware and software configurations with virtual
relationships.
PRIMEQUEST
The fault-immune PRIMEQUESTserver represents best-in-class SMP capabilities
for Itanium-based systems. With its high performance memory sub-system,
PRIMEQUESTis designed to support robust and demanding database workloads.
Benefit from two best-in-class dynamic IT infrastructure solutions today.
Be ready for Service-Oriented Architecture tomorrow. We make sure.
www.fujitsu-group.net
for Oracle solutions.
Project2 3/18/08 1:26 PM Page 2
PillarAd-Oracle-8x10.875.pdf 3/12/08 4:53:51 PM
VOLUME XXI I , I SSUE 3
CONTENTS
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 3
Many fast-growing companies
choose the familiar Microsoft
Windows operating system
and development platform.
Read how businesses
running Oracle technology on
Windows achieve outstanding
performance, scale their technology,
and reduce maintenance costs.
Alan Joch
Oracle News Briefs / 18
Interview / 21
Jeff Pollock, senior director of product
management, Oracle data integration, talks
about the new Oracle Data Integration Suite.
From Our Readers / 8
From the Editor / 10
Try the Tools Tom Haunert
AT ORACLE
Events / 12
Find out about current and
upcoming industry events.
Oracle Resources / 15
OTN Bulletin / 17
Learn whats happening with
Oracles most dynamic online
community.
DEPARTMENTS
12
FEATURES
/36
Not just for visionaries anymore,
service-oriented architecture
(SOA) applications are widely
deployed in production
environments. See how
companies use Oracle
SOA Suite with business
process management
frameworks and business
intelligence components to create reusable
software components and integrate their
organizations. David Baum
ENERGIZING
THE EFFICIENT
ENTERPRISE
Todays enterprise application
developers must acknowledge
both legacy and cutting-edge
technologies while using a
variety of architectures,
standards, and tools to meet
the demands of the enterprise.
Find out how Oracle unites enterprise
application developers with a broad
range of standards-based choices,
enabling their businesses to succeed.
David A. Kelly
WRAP IT UP
DEVELOPER
NATION
Cover illustration by I-hua Chen
/28
/41
MJ08_TOC.indd 3 3/21/08 11:36:48 AM
4 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
CONTENTS
COMMUNI TY
Partner News / 22
Liquid Computing, Accenture, Secure Path,
Satyam Computer Services, Kepware
Technologies, Knowledge Services
Book Beat / 22
Commitment / 25
The United Negro College Fund makes college
education a reality for many aspiring students.
Peer-to-Peer / 26
Debra Lilley,
Dennis Remmer,
Steve Romeo
DEVELOPER
FRAMEWORKS
Enlightened Development / 44
Simplifying common navigation and coding
tasks Steve Muench
BROWSER- BASED
The Power of Two / 47
Use Oracle SQL Developer to aid Oracle
Application Express development.
David Peake
PL/ SQL
On the PGA and Indexing
Collections / 51
Best practices for knowing your PGA impact
and indexing collections Steven Feuerstein
. NET
It Takes All Types / 55
Build applications with Oracle Developer
Tools for Visual Studio and Oracle user-
defined types. Christian Shay
TECHNOLOGY
DATA WAREHOUSE
Accelerating Data Warehousing / 59
Oracle OLAP 11g brings high-performance data
warehouse features to Oracle Database 11g.
Dan Vlamis
SQL DEVELOPER
Making Database Connections / 63
Connect to Oracle and third-party databases from
Oracle SQL Developer. Sue Harper
OCP
Back Up and Recover / 67
New backup and recovery features in Oracle Database
11g save time and data. Sushma Jagannath
ASK TOM
On Seeing Double in V$SQL / 69
Our technologist looks at SQL repetition in V$SQL and
differences in cardinality. Tom Kyte
22
59
44
COMMENT
I N THE FI ELD
New IOUG Award Is Double Honor / 73
From the Oracle Contribution Award to Ken
Jacobs to Tom Kyte Ari Kaplan
ALL SECURE
SOA What? / 75
Even with service-oriented architecture, consider
the source. Mary Ann Davidson
ANALYST S CORNER
SOA Means Business / 76
Service-oriented architecture delivers the
technology that businesses want. David Baum
73
MJ08_TOC.indd 4 3/17/08 4:12:01 PM
6 M ay / J u n e 2 0 0 8 o r a c l e . c o m / o r a c l e m a g a z i n e
edi tori al
editor in chief Tom Haunert tom.haunert@oracle.com
Senior managing editor Caroline Kvitka caroline.kvitka@oracle.com
Features editor Kay Keppler kay.keppler@oracle.com
contributing editor and Writer Blair Campbell
editor in chief, otn Justin Kestelyn justin.kestelyn@oracle.com
technology advisor Tom Kyte
contributors Marta Bright, ed DeJesus, Kirk Donnan, Jeff erickson,
aaron Lazenby, Fred Sandsmark, Rich Schwerin, Leslie Steere
deSi gn
Senior creative director Francisco G. Delgadillo
design director Richard Merchn
designer yasmin amer
Publi Shi ng
Publisher Jeff Spicer jeff.spicer@oracle.com
adverti Si ng SaleS
associate Publisher Kyle Walkenhorst kyle@sprocketmedia.com +1.323.340.8585
northwest & central u.S. Tom Cometa thomas.cometa@sbcglobal.net +1.510.339.2403
Southwest u.S. Shaun Mehr shaun@sprocketmedia.com +1.323.658.6250, ext. 205
midatlantic u.S. Dawn Becker and Lisa Rinaldo dbeck71@optonline.net +1.732.772.0160
northeast u.S./canada David and ann Schissler schissler@comcast.net +1.508.394.4026
europe/middle east/africa/asia Pacific Mark Makinney mark.makinney@oracle.com +44 0 1903.810.210
mailing-list rentals edith Roman associates +1.800.223.2194, ext. 684
Producti on & oPerati onS
Sales and Production director Jennifer Hamilton jennifer.hamilton@oracle.com +1.650.506.3794
Senior circulation manager Karin Kinnear karin.kinnear@oracle.com +1.650.506.1985
edi tori al board
Ian abramson, Karen Cannell, andrew Clarke, Chris Claterbos, Karthika Devi, Kimberly Floss,
Kent Graziano, Taqi Hasan, Tony Jambu, Tony Jedlinski, ari Kaplan, Val Kavi, John King, Steve Lemme, Carol McGury,
Sumit Sengupta, Jonathan Vincenzo, Dan Vlamis
reSourceS
oracle Products
+1.800.367.8674 (u.S./Canada)
oracle Services
+1.888.283.0591
oracle Press books
www.oraclepress.com
Printed by Brown Printing
SubScri Pti on i nFormati on
Subscriptions are complimentary for qualified individuals who complete the subscription card found in each
issue or online at oracle.com/oraclemagazine. For change of address, mail in label with the new address to
Oracle Magazine, P.O. Box 1263, Skokie, IL 60076-8263.
magazi ne cuStomer Servi ce
oracle@halldata.com, fax +1.847.763.9638, phone +1.847.763.9635
Pri vacy
Oracle Publishing allows sharing of our mailing list with selected third parties. If you prefer that your mailing
address or e-mail address not be included in this pro gram, contact Customer Service at oracle@halldata.com.
copyright 2008, oracle and/or its affiliates. all Rights Reserved. no part of this publication may be reprinted or other wise
reproduced without permission from the editors. ORACLE MAGAZINE IS PROVIDeD On an aS IS BaSIS. ORaCLe eXPReSSLy
DISCLaIMS aLL WaRRanTIeS, WHeTHeR eXPReSS OR IMPLIeD. In nO eVenT SHaLL ORaCLe Be LIaBLe FOR any DaMaGeS
OF any KInD aRISInG FROM yOuR uSe OF OR ReLIanCe On any InFORMaTIOn PROVIDeD HeReIn. The information is
intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any
contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing
decisions. The development, release, and timing of any features or functionality described for Oracles products remains at the sole
discretion of Oracle. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of
their respective owners.
Oracle Magazine (ISSn 1065-3171) is published bimonthly with a free subscription price by: Oracle, 500 Oracle Parkway, MS OPL-3C,
Redwood City, CA 94065-1600. Periodicals Postage Paid at Redwood City, CA, and additional mailing offices. POSTMASTER: Send
address changes to: Oracle Magazine, P.O. Box 1263 Skokie, IL 60076-8263.
PL/SQL Developer is the Oracle development tool that gives you
maximum productivity, ease of use and all the features you need,
for a reasonable price.
Visit our website for additional details:
www.allroundautomations.com/plsqldev
The adventures of
H
arry
&
G
arry
f r o m o u r READERS
8 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
TELEMATICS AND BIOMETRICS
I was so glad when I saw your article about telematics and
biometrics (Embedded Oracle: Telematics and Biometrics,
November/December 2007, otn.oracle.com/oramag/oracle/07-
nov/o67embedded.html). I am interested in knowing more
about these two devices.
Afolabi Oladeji
mikafolad@yahoo.com
Two companies were featured in this article, BIO-Key
(www.bio-key.com) and Prolificx. Since that article was published,
Prolificx has been acquired by Imarda. More about that company
can be found at www.imardainc.com.
BETA EXAMS
Oracle had a beta exam for Oracle Database: SQL Certified
Expert and the results were released in January 2008. I was
wondering if you can provide the statistics of how many have
taken and passed this exam and a breakdown of this informa-
tion into different countries.
Mark Marucot
markmarucot@yahoo.com
To date, 200 people have completed the Oracle Database SQL
Expert Beta Exam, but a breakdown by country is not available.
For more information on the Oracle Expert Program, includ-
ing which exams are scheduled and how to take them, please
go to education.oracle.com/pls/web_prod-plq-dad/db_pages
.getpage?page_id=189. For the certification forum, please go to
forums.oracle.com/forums/forum .jspa?forumID=459.
ORACLE E-BUSINESS SUITE COVERAGE
I have found very few articles on Oracle E-Business Suite in
Oracle Magazine. Can we have articles on Oracle E-Business
Suite appear more regularly?
Devendra Gulve
devendragulve@gmail.com
MORE ABOUT HYPERION
Its been a while since Oracle acquired Hyperion. As a busi-
ness intelligence consultant working both with Oracle and
Hyperion and as a great fan of your magazine, Im wondering
when we will see articles on Hyperion issues in the magazine.
Alexandru Daniela
sdi78@yahoo.com
PDF COPY NEEDED
The Oracle Magazine January/February 2008 digital issue is very
slow to download. A noneditable PDF file will be appreciated.
Susanta Sahu
sussahu@yahoo.com
There is a way for you to pull down the magazine in PDF format.
In the digital edition, Click Download in the top right of the
navigation bar. You can then save a PDF version of the magazine.
LETS PARTY
After reading Beyond Declarative Validation by Steve
Muench (May/June 2007, otn.oracle.com/oramag/oracle/07-
may/o37frame.html), I would like to know how to get
party_code from a pop-up window (LOV template) based on
a selected party_type (drop-down LOV). I have already set
one bind variable in a pop-up LOV for searching party_name.
How do I bind party_type with party_code?
Aribam Priya
priyaaribam@oneapps.com
Steve Muench replies: If you are using Oracle JDeveloper/ADF
10.1.3, I suggest looking at section 19.3.1: How to Create Popup
Dialogs of the Oracle Application Development Framework
Developers Guide for Forms/4GL Developers (download.oracle
.com/docs/html/B25947_01/web_complex003.htm#CEGDIBCH) on
the Oracle ADF Learning Center at otn.oracle.com/products/adf/
learnadf.html for more information. The SRDEmo sample applica-
tion features the SRStaffSearch.jspx page, a pop-up LOV dialog.
Send your opinions about what you read in Oracle Magazine, and suggestions
for possible technical articles, to opubedit_us@oracle.com. Or click the Write the
Editors link on our Web site, oracle.com/oraclemagazine.
Letters may be edited for length and clarity and may be published in any
medium. We consider any communications we receive publishable.
send mail to theEDITOR
Your corrections, your opinions, and your requests:
Heres your forum for telling us whats right and
wrong in each issue of Oracle Magazine, and for
letting us know what you want to read.
MJ08_READERS.indd 8 3/14/08 3:19:01 PM
Copyright 2008, Oracle. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.
CRMOnDemand.com
or call 1.866.906.7878
Oracle Customer Relationship Management
Over 4.6 Million Satisfied Users
#1 In CRM
Pre-Built Integrations to ERP
Tailored By Industry
Private Database Option
CRM
On Demand
ith a little help, I recently finished rebuilding a
stairway that connects my house to my backyard.
This was a low-priority project that I had decided to
tackle with the tools I had, rather than investing in
new ones; I didnt want more tools that I might never use again,
and I already had more tools than garage space.
Some knowledgeable people helped me with the project,
offering suggestions about a variety of things. My own slow
progress and their descriptions of tools that would save time
finally inspired me to make the project a high priority and get
the equipment I needed to finish the job quickly.
After buying several expensive new tools, I quickly finished
the backyard stairs, making good use of some of the new tools
and underusing others. My next project is an obvious one:
creating new storage for the tools in my garage.
THE DEVELOPER GARAGE
My latest power tool investments have increased my apprecia-
tion for the process of trying and using software tools. Software
development tools may take up some space, but with the size
of todays hard disks, it would take a lot of tools to fill your
developer garage. Additionally, with tools such as Oracle
JDeveloper and Oracle SQL Developer, you can install and
easily continue to use multiple releases, including the latest
production and technology preview or early adopter releases.
And if space or managing multiple versions of the same tools
is an issue, there are hosted instances of tools such as Oracle
Application Express (apex.oracle.com) that allow you to use
the latest production release along with the latest beta or
preview release (when available).
Software tools have another advantage over physical tools in
that you can easily try themfor freebefore you buy them.
The Oracle products available on OTN (otn.oracle.com/software)
come with a standard development license that allows you to
Try the Tools
Oracle Technology Network serves up the tools, the ACEs, and the interaction.
READ more about
Oracle Developer Tools
otn.oracle.com/products/developer-tools
Oracle SQL Developer
otn.oracle.com/products/database/sql_developer
Oracle ACE Program
otn.oracle.com/community/oracle_ace
Oracle Mix
mix.oracle.com
use full versions of the products for free both for self-educational
purposes and while developing and prototyping your applica-
tions. This makes Oracle development tools free to download
and free to learn, and the evaluation period is unlimited. (Some
Oracle development tools offer an even better license. Oracle
JDeveloper and Oracle SQL Developer, for example, are free,
without the self-education or development restrictions.)
Information on all Oracle products and technologies is
available on OTN, including best-practices information and
how-to articles. And when you are ready to share your experi-
ence and recommendations about the Oracle products you
have tried, there are many ways to interact with Oracle ACEs,
technology experts, and users through the discussion forums
(forums.oracle.com), blogs (blogs.oracle.com), the Oracle Wiki
(wiki.oracle.com), and one of the newest information exchange
vehicles, Oracle Mix (mix.oracle.com).
THE DEVELOPER MAGAZINE RACK
This is the annual developer issue of Oracle Magazine, and Im
happy to report that the Oracle tools discussed in this issue are
available for download, self-educational purposes, developing
and prototyping applications, and more through OTN. Note
that in Christian Shays It Takes All Types (page 55)about
using the new release of Oracle Developer Tools for Visual
Studiotrial versions of the referenced third-party software are
available, but there may be restrictions on the evaluation period
and the number of times that a trial product can be installed.
I see the use of Oracle SQL Developer growing in presenta-
tions, demonstrations, and articles, and the tool is featured
prominently in this issue, in three different Technology and
Developer section articles as well as the Developer Nation
(page 28) cover feature. In this issues Oracle SQL Developer
column (page 63), Sue Harper describes the products latest
database connection features, including connections to third-
party databases.
YOURE ACES
The cover of this issue of Oracle Magazine is a true composite
application. The Developer Nation cover features pictures of
more than 100 Oracle ACEs.
Is your picture on this cover? If you are not yet an Oracle
ACE, learn more about the Oracle ACE program and the nomi-
nation process at otn.oracle.com/community/oracle_ace.
Tom Haunert, Editor in Chief
tom.haunert@oracle.com
f r o m t h e EDITOR
1 0 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
MJ08_EdNote.indd 10 3/17/08 4:18:42 PM
1 2 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
a t O r a c l e EVENTS
events LOCATOR
Australian Oracle User Group Bootcamps:
Oracle Fusion Middleware and Oracle
E-Business Suite Release 12 Financials
May 512, Melbourne, Australia
www.ausoug.org.au
Georgia Oracle Users Group Meeting
May 8, Atlanta, Georgia
www.gouser.org
UKOUG Oracle Spatial SIG Meeting
May 14, London
www.ukoug.org
Northern California Oracle Users Group
Spring Conference
May 15, Foster City, California
www.nocoug.org
Twin Cities Financial OAUG Quarterly
Meeting
May 15, Bloomington, Minnesota
twincitiesfin.oaug.org
Southern California PeopleSoft User Group
Quarterly Meeting
May 20, Long Beach, California
scp.oaug.org
Swedish and Finnish Oracle User Groups
Baltic Sea Cruise
May 2022, Stockholm to Helsinki and back
May 2123, Helsinki to Stockholm and back
www.ougf.fi
www.orcan.se
Nashville Oracle Users Group Meeting
May 21 and June 18, Nashville, Tennessee
www.noug.net
Northeast Ohio Oracle Users Group
Meeting
May 2223, Cleveland, Ohio
neooug.org
Ohio Valley OAUG Spring Conference
May 23, Cincinnati, Ohio
ohio.oaug.org
New York Oracle Users Group Summer
General Meeting
June 10, New York City
www.nyoug.org
Dallas Oracle Users Group Membership
Drive Party
June 26, Addison, Texas
www.doug.org/meetings2008.cfm
Oracle Events
oracle.com/events
Oracle OpenWorld 2008
oracle.com/openworld
Locate user groups
otn.oracle.com/collaboration/user_group
O R A C L E U S E R
G R O U P S
G
E
T
T
Y

I
M
A
G
E
S
ODTUG Kaleidoscope
June 1519, New Orleans
The Oracle Development Tools User Groups
annual Kaleidoscope conference returns
to New Orleans with two full-day symposia
on Oracle Fusion Middleware and Oracle
Application Express, a half-day session on
Oracle Application Express versus Oracle
Application Development Framework, and
more than 100 sessions. Get details at
www.odtugkaleidoscope.com.
JavaOne
May 69, San Francisco
This annual conference continues to expand
its program into areas that play well with
Java technology, including rich internet
applications, scripting languages, Web 2.0,
e-commerce, collaboration, and developer
tools. Get details and sign up at java.sun
.com/javaone/sf.
Management World 2008
May 1822, Nice, France
Sponsored by TM Forum and featuring more
than 3,500 attendees from 70-plus countries,
Management World is a global event for the
management of information, communications,
and entertainment services in an online world.
Get more information at www.tmforum.org/
events/managementworld2008/4807/
home.html.
Microsoft Tech-Ed 2008
For Developers: June 36
For IT Professionals: June 1013
Orlando, Florida
With back-to-back conferences for devel-
opers and IT professionals, Microsofts
largest annual technical education event has
expanded to meet the specific needs, inter-
ests, and priorities of two distinct audiences.
Get details and sign up at www.microsoft
.com/teched2008.
Global Oracle Human Capital
Management Users Group 2008
Conference
June 2225, Las Vegas
This annual conference provides a venue
for Oracle E-Business Suite and Oracles
PeopleSoft Enterprise users to interact with
peers, vendors, and Oracle thought leaders.
Vertical sessions for retail, education, and com-
pensation and benefits have been added. Learn
more at ohug.org/index.php/conferences.
Healthcare Financial
Management Association Annual
National Institute
June 2326, Las Vegas
This conference features sessions on topics
including accounting, audit, and tax exemption;
pricing strategies and patient communication;
and supply chain and cost management. Sign
up at www.hfma.org/ani/2008.
Gartner SOA and Application
Development and Integration
Summit
June 2526, London
With end-user case studies, analyst roundtables,
and information on new integration technologies,
this summit covers service-oriented architecture,
application integration, Web services, middleware,
and rich internet applications. Learn more at
www.gartner.com/it/page.jsp?id=605110.
Technology Events
Conferences and sessions to help you stay on the cutting edge
MJ08_Events.indd 12 3/12/08 1:52:39 PM
08010320_ow_june_profit_ad.pdf 3/7/08 3:23:16 PM
Drag & Drop
Data Conversion
Once you have defned a data
mapping in MapForce, simply click
the Output Window to convert data
instantly. Or, generate royalty free
code and deploy it with no addi-
tional fees or deployment adaptors
required. With MapForce, you can
implement data integration and Web
services applications without writing
any code!
Test drive MapForce for yourself Download a free, 30-day trial at www.altova.com
Check out Altova MapForce

2008 the award-winning graphical data mapping tool from the creator
of XMLSpy

. Drag & drop to map, convert, and transform data between:


Drag & drop data mapping & conversion
Support for all major relational databases
Database query window with SQL editor
FlexText utility for parsing fat fles
Support for EDIFACT and X12 EDI messages
Integration with Microsoft

Visual Studio

2005
& 2008
Connecting data to Web services
Auto-generation of XSLT 1.0 and 2.0, XQuery, Java,
C#, or C++ for royalty-free use
Drag & drop Web services creation
Extensible function library for fltering / processing data
Visual function builder for custom functions
Instant data conversion & output window
Flat
files
WS EDI
XML
XML Databases EDI Flat Files Web Services
M F O l M i dd 1 3/4/2008 10 9 08 AM
omag0508p014.indd 1 3/18/08 10:41:58 PM
a t O r a c l e RESOURCES
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 1 5
Whats New at Oracle
The latest podcasts, courses, and offers
WEBCAST
Upgrading to Oracle Fusion Applications:
Planning Ahead
oracle.com/pls/ebn/live_viewer.main?p_
shows_id=6119672
Cliff Godwin, senior vice president of appli-
cations development, Oracle, discusses
the importance of upgrading to the latest
Applications Unlimited releases and the
evolutionary path to Oracle Applications
built on Oracle Fusion Middleware.
PRODUCT DEMOS
Oracle JHeadstart Demos Available
otn.oracle.com/products/jheadstart
Oracle JHeadstart is an extension to
Oracle JDeveloper that boosts devel-
oper productivity when building Oracle
Application Development Framework
(Oracle ADF) applications. It is based
on Oracle Consultings best practices
on various large Oracle ADF projects.
New demos are available for download
that show you how to add multilanguage
support, fine-grained security, and flex-
fields to your Oracle ADF application;
upgrade your Oracle JHeadstart /Oracle
ADF 10g application to Oracle ADF 11g; and
migrate your Oracle Forms application to
an Oracle ADF application.
ORACLE UNIVERSITY
Hyperion Financial Management 9.3.1: Create
and Manage Applications
oracle.com/education
(Search keyword: Hyperion Financial
Management 9.3.1)
This five-day course provides instruction
on creating and managing applications in
Hyperion Financial Management. Students
learn to create an application, enter data,
and adjust and view data using data grids
and data forms. They also learn to enter and
process journals and intercompany data,
load rules, calculate and consolidate data,
manage the review and approval process of
financial data, and apply system security to
Hyperion Financial Management data.
Hyperion Planning 9.3.1: Create and Manage
Applications
oracle.com/education
(Search keyword: Hyperion Planning 9.3.1)
This five-day course provides instruction
for creating and managing applications
using Hyperion Planning. Students learn
to create applications, add dimensions
and members, import members, load data,
set up security, create data forms, set up
task lists, set up calculations, and move a
plan through the planning cycle. Students
also learn to access data offline and
analyze plan data.
PODCASTS
Greening Your Supply Chain
oracle.com/profit/audiocasts.html
Rich Kroes, product strategy director for
Oracle supply chain management, spent
2007 raising awareness about the economic
and social benefits of a greener supply
chain. He talks about how Oracles exper-
tise with data and operational efficiency
make the companys solutions perfect for
going green.
Hosting Government Systems with Oracle
On Demand
oracle.com/magcasts
Richard Cirigliano, Oracle vice president, On
Demand for the federal government prac-
tice, talks about how hosted software has
fundamentally changed the IT strategy of
the U.S. federal government.
Whats Fueling the Increased Customer
Adoption of Identity Management and Driving
Oracles Security Product Strategy?
oracle.com/products/middleware/
ofmradio.html
Hasan Rizvi, vice president of identity
management products, Oracle, talks about
trends driving increased customer adoption
of identity management and whats driving
Oracles identity management product strat-
egy, including the most recent acquisitions
and the product road map.
SOA for the Real World
oracle.com/techcasts
Demed LHer, senior principal product
manager from the Oracle SOA Suite team,
talks about whats unique in the suite and
why support for service component archi-
tecture and complex event processing tech-
nologies is so important.
Oracle Real Application Testing
oracle.com/database/podcasts.html
David Mitchell, senior vice president of
research at Ovum, discusses the key chal-
lenges facing IT when it comes to inad-
equate testing of production applications
following change implementation and how
Oracle Real Application Testing stacks up
For Oracle product information, call the number for
your region:
Country Phone Number
U.S. and Canada.....................................1.800.367.8674
Australia ....................................................1800.735.467
Austria.......................................................0800.29.7626
Belgium........................................................0800.73280
Brazil .........................................................0800.901.985
China.........................................................800.810.0161
Denmark.........................................................8088.1068
Finland ......................................................0800.113.573
France .......................................................0800.905.805
Germany.................................................0800.1.810.111
Greece.................................................00800.353.12020
Hong Kong......................................................3002.1246
India ..........................................................1600.44.6725
Indonesia...........................................001.800.1.672.253
Ireland........................................................1850.672253
Italy ..............................................................8008.74720
Japan ........................................................0120.155.096
Malaysia....................................................1800.80.1837
Mexico...................................................01800.221.7321
The Netherlands .............................................0800.0827
New Zealand .............................................0508.555.215
Norway...........................................................800.14411
Philippines........................................................811.5831
Portugal .......................................................800.853.021
Singapore................................................1800.6722.531
South Africa...............................................0800.994.225
South Korea...............................................080.2194.114
Spain............................................................900.952900
Sweden ........................................................020.798798
Switzerland................................................0800.55.2574
Taiwan.......................................................0800.672.253
Thailand ..............................................001800.441.0545
Turkey .................................................00800.353.90014
U.K. .........................................................0870.5.332200
MJ08_Resources.indd 15 3/12/08 1:58:00 PM
1 6 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
RESOURCES
ORACLE E-MAIL SUBSCRIPTIONS
Stay Informed
oracle.com/goto/signup
Oracle newsletters and e-mail announce-
ments are the best way to stay informed
about new Oracle products and features,
trends, and issues affecting how you use IT
in your business; upcoming events you dont
want to miss; and special offers. Subscribe
to your choice of 16 targeted newsletters
and get news and original content on a
regular basis. Or sign up for Oracle news
and product announcements, and get infor-
mation as it becomes available.
RESOURCE KITS
Get SOA Expertise On Demand
oracle.com/goto/soaoffer
Register to access the SOA Leadership
Roundtable Webcast, where leading com-
panies and industry experts share their
experiences in designing and implement-
ing SOA solutions. Find out why these
organizations chose an SOA approach,
how they secured management approval
and addressed challenges, and lessons
learned during implementation. Other SOA
resources, including a free SOA assess-
ment, are also available.
Get Started with Oracle on Windows DVD
oracle.com/goto/powertogrow
Learn how Oracle gives you the power to
grow in a Windows environment by provid-
ing a scalable, easy-to-use platform for
running your business at a price you can
afford. Request your free copy of this DVD,
which contains Oracle Database 11g soft-
ware, white papers, and tutorials.
against traditional methods of testing in
database environments.
Growing Your Business with Oracle Database
oracle.com/database/podcasts.html
Oracle customer Tom Clark, CIO of
Property Condition Assessments, dis-
cusses how Oracle Database Standard
Edition One addresses the needs of
midsize companies like his by providing a
scalable, affordable, and secure platform
for growing your business.
Solving Business Challenges with Oracle
Application Express
oracle.com/database/podcasts.html
Chris Thomson, solutions director at Indigo
Tide, a consulting organization with a focus
on Oracle technologies, discusses how he
uses Oracle Application Express to develop
fast, secure, and scalable Web applications
that automate workflow for his clients.
Using SecureFiles in Oracle Database 11g
oracle.com/database/podcasts.html
Tim Frazier, senior technical architect
at National Ignition Facility, discusses
how his company is using the Oracle
SecureFiles feature in Oracle Database
11g on a large scale to help harness clean,
efficient energy sources.
Why Oracle Customers Should Adopt SOA-
based Integration Today
oracle.com/appcasts
Nadia Bendjedou, director of product strat-
egy, Oracle, discusses service-oriented
architecture (SOA)based integration and
its role as the backbone for Oracles next
generation of applications.
Oracle Real Application Clusters on Windows
oracle.com/database/podcasts.html
Sachin Kothari, manager of corporate appli-
cations and systems integration at Solutia,
discusses how the global chemical manu-
facturing company improved its application
performance, scalability, and reliability by
deploying Oracle Real Application Clusters
on Windows.
Data Integration: Missing Piece for a
Successful Service-Oriented Architecture
oracle.com/products/middleware/
ofmradio.html
Miranda Nash, senior director of devel-
opment, Oracle Fusion Middleware,
describes Oracles data integration strat-
egy and why data integration is key to a
successful SOA.
Fusion Development Experience and Oracles
Next-Generation Applications
oracle.com/products/middleware/
ofmradio.html
Ted Farrell, chief architect for Oracle
Fusion Middleware, discusses the Oracle
Fusion Middleware development experi-
ence and its benefits for Oracles next-
generation applications, plus the latest on
Enterprise 2.0 technologies.
Applications Unlimited and Siebel 8.0
oracle.com/appcasts
Scott Nash, vice president, Oracles Siebel
product management, discusses the
success of the Siebel 8.0 release, cus-
tomer momentum, how Oracle continues
to invest in the Siebel product line, and
whats new for Siebel and customer rela-
tionship management (CRM).
What Are Social CRM Applications?
oracle.com/applications/podcast-
fusion.html
Anthony Lye, senior vice president of CRM,
Oracle, discusses how Oracles social CRM
applications combine powerful enterprise
applications and the latest in social net-
working with Web 2.0 technology to improve
end-user productivity.
When you think about the impact that companies have on
the environment, it really starts at the beginning of their
value chains with how a companys products are sourced,
produced, fulfilled, serviced, and ultimately how they are
disposed of.
Rich Kroes, Product Strategy Director, Oracle Supply Chain Management, in the Greening Your
Supply Chain podcast (oracle.com/profit/audiocasts.html)
OVER
HEARD
Oracle Blog Center
oracle.com/blogs
Oracle Consulting
oracle.com/consulting
Oracle events and Webcasts
oracle.com/events
Oracle Podcast Center
oracle.com/podcasts
OracleMetaLink
metalink.oracle.com
Oracle Newsletters
oracle.com/newsletters
Oracle Support
oracle.com/support
Oracle University
oracle.com/education
MJ08_Resources.indd 16 3/12/08 1:58:12 PM
a t O r a c l e OTN BULLETIN
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 1 7
BY JUSTI N KESTELYN
Embracing Web 2.0
OTN lights the way at Oracles marketing 2.0 summit.
s a community, Oracle Technology
Network (OTN) members have
been interacting informally for
nearly a decade now. Were used
to anything-goes discussions; building
on each others work; and learning from
informal, user-created content. Except for
a few commonsense rules of the road,
OTN is a relatively open environment.
This was the model set before a group
of leaders from across Oracles vast mar-
keting organization, which met in January
2008 to participate in a competition-
based marketing 2.0 summit. The event
was not about Web 2.0 technology per se,
but rather about the impact of collabora-
tive community participation on how we
work together internally as well as with
customers and partners.
The summit implemented design
principles that, in my opinion, set the
standard for such meetings, within
Oracle or elsewhere. Most important
among them was a commitment to use
Web 2.0 tools. For example, all com-
munications about meeting logistics
occurred via a private Facebook group,
and the summits DNA was made of
open space memes. Attendees were
expected to have completed homework
assignments, which included hands-
on use of standard-issue tools such
as Twitter and Google Reader. And all
meeting notes were recorded via wiki.
The summit was a real mind opener.
Im confident that Oracles global market-
ing organization is now on the same page
about things such as the value of trading
control for influence, promoting transpar-
ency, and working with the rest of the
Oracle ecosystem collaboratively in ways
that do not necessarily involve technol-
ogy. This is good news for developers,
who thrive on relationship networks as
well as community-generated content.
With this event, Oracle has headed
down the road toward embracing these
concepts on a wider scale. OTN members
can be proud for leading the way.
Watch video from the marketing
2.0 summit, and read more about it, at
blogs.oracle.com/otn/2008/02/01#a1217.
OTN DEVELOPER DAY: FOCUS ON THE ORACLE
FUSION DEVELOPER
In 2007, OTN Developer Day work-
shops were convened in cities all across
the globe. In 2008 and beyond, youll
see even more of them, in even more
countries, and on even more topics.
Although OTN Developer Day
will continue to be offered globally to
database application developers who
want to learn how to use tools such as
Oracle Application Express, Oracle SQL
Developer, and Oracle Developer Tools for
Visual Studio, going forward the primary
focus will be on serving the newly emerg-
ing Oracle Fusion developer role. If you
are an Oracle Forms developer investi-
gating a transition toward Java Platform,
Enterprise Edition, and service-oriented
architecture; a Java developer exploring
the principles of rich internet applica-
tions; or an application developer seeking
to synergize business processes across
different packaged applications, OTN
Developer Day is an excellent platform
from which to dive into those topics.
With a curriculum recently updated for
use with Oracle Fusion Middleware 11g
Technical Previews, these free workshops
are even more relevant for developers
who dont want to be left behind.
See the OTN Developer Day sched-
ule for North America and register at
otn.oracle.com/events/otn-developer-day.
IN THE MIX
Oracle Mix started off as a charming
diversion, but now its on its way to
becoming the epicenter of the rich and
diverse Oracle community.
Originally a proof of concept created
by Oracle AppsLab, Oracles internal
think tank, Oracle Mix is now the de
facto social network for Oracle custom-
ers and partners. Thanks to an appeal-
ing and adaptable set of features, Oracle
Mix is a framework in which a broad
range of affinity groups can mature.
Groups include those dedicated to
Oracles PeopleSoft Enterprise Portal;
the Undutchables (users from the
Netherlands); Oracle E-Business Suite
DBAs; and of course, OTN members. In
a sense, Oracle Mix is now the ultimate
example of Oracle hosting and facilitat-
ing the ongoing conversation. Join in at
mix.oracle.com. O
Justin Kestelyn (justin.kestelyn@oracle.com) is senior
director, Oracle Technology Network and developer
programs, as well as OTN editor in chief.
OTN home
otn.oracle.com
OTN Headlines
otn.oracle.com/pub/news
Free software downloads
otn.oracle.com/software
Documentation
otn.oracle.com/documentation
Technology Centers
otn.oracle.com/tech
Podcasts
otn.oracle.com/techcasts
Technical articles
otn.oracle.com/pub/articles
Blogs
blogs.oracle.com
Discussion forums
forums.oracle.com
Developer Events Calendar
otn.oracle.com/events
Oracle ACE Program
otn.oracle.com/goto/oracle-ace
MJ08_OTN.indd 17 3/12/08 12:53:53 PM
a t O r a c l e BRIEFS
?
KNOW D I D Y O U
1 8 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
?
KNOW D I D Y O U
ORACLE SECURE BACKUP 10.2 AVAILABLE
O
racle is now shipping Oracle Secure
Backup 10.2, a high-performance tape
backup for Oracle databases and network-
attached storage (NAS) file systems.
Oracle Secure Backup is a complete enter-
prise solution for centralized tape backup
management with advanced features such
as encryption, vaulting, and dynamic
drive sharing. Customers can achieve
high-quality, low-cost data protection for
their entire IT environment with Oracle
Secure Backups security policies that
safeguard data stored on tape and control
access to backup systems and data.
This new release provides policy-
based encryption at the domain, host,
backup, or tape level. Oracle Secure
Backup 10.2 provides automated man-
agement of all encryption keys associated
with tape backups. Encryption keys are
centrally stored on the Oracle Secure
Backup Administrative Server, which
manages decryption during restoration.
Oracle Secure Backup 10.2 auto-
mates tape management throughout its
lifecycle, from creation to expiration to
reuse. Existing tape storage pool concepts
have been extended to include policy-
based management for tape vaulting,
duplication, and migration from virtual
tape library to physical tape. In addition,
Oracle Secure Backup automates tape
management according to user-defined
policies, which may include duplicating
tapes that leverage the same or differ-
ent retention and vaulting schedules as
original tapes and scheduling rotation of
tapes between multiple locations.
Performance is the No. 1 concern of
most customers focused on backup and
recovery, says Juan Loaiza, senior vice
president, systems technology, Oracle.
Customers will be able to achieve up to
40 percent faster Oracle Database backup
to tape using Oracle Secure Backup 10.2.
ORACLE DATABASE VAULT CERTIFIED FOR
ORACLE E-BUSINESS SUITE
O
racle has certified Oracle Database
Vault for use with the Oracle
E-Business Suite, which enables custom-
ers to better protect sensitive applica-
tion data from unauthorized access by
usersincluding privileged users who
are misusing their privileges. Oracle
Database Vault is an advanced database
security product designed to enforce
when, where, how, and by whom data
can be accessed.
Many Oracle E-Business Suite
applications, including Oracle Human
Capital Management, Oracle Financial
Management, Oracle Supply Chain
Management, and Oracle Customer
Relationship Management, contain
personal identification information,
social security numbers, or credit card
numbers. Regulations such as Sarbanes-
Oxley, the Health Insurance Portability
and Accountability Act, Basel II, and
Payment Card Industry Data Security
Standards require companies to consider
separation of duty and strong controls
on access to sensitive information. The
certification of Oracle Database Vault for
use with Oracle E-Business Suite enables
customers to better address their security
and regulatory challenges.
Oracle Database Vault transparently
defends against unauthorized access to
application data as well as intentional or
accidental harmful database changes by
any users, even DBAs, by considering
factors such as time of day, authentica-
tion, and application. It can also be used
to enforce separation of duties within
the database. For example, Oracle
Database Vault can block a DBAs access
to sensitive application data, while per-
mitting the DBA to perform day-to-day
operations such as database backup and
recovery, tuning, and replication. With
Oracle Database Vault, customers can
consolidate application databases and
enforce strong boundaries and policies
around access to that data.
Oracle Database Vault monitors
activity inside the database and enforces
real-time preventive controls, says Vipin
Samar, vice president of database security,
Oracle. Organizations can now protect
sensitive Oracle E-Business Suite applica-
tion data at the sourcethe database.
SECURITY SKILLS MOST NEEDED FOR IT
A telephone and online survey of more than
3,500 IT professionals in North America,
Europe, and Asia showed that security-
related skills are considered most important
to todays IT organizations. In countries with
established IT industries, including Australia,
Canada, France, Germany, Italy, Japan, the
Netherlands, the U.K., and the United States,
73 percent of survey respondents said security
was most important, but just 57 percent said
that IT employees were proficient in these
areas. The gap was wider in countries with
emerging IT industries, including China, India,
Poland, Russia, and South Africa, where 76
percent said security skills were important but
only 57 percent had those skills.
Source: CompTIA
www.comptia.org/pressroom/get_
pr.aspx?prid=1317
SERVER VIRTUALIZATION IMPORTANT, BUT
HARD TO MEASURE RETURN
More than half of large enterprises
worldwide54 percentthink managing their
virtual server environment is a critical or high
IT priority, but just 45 percent think theyre
doing an effective job of it. In a survey of 300
CIOs and IT executives in the U.S., Europe, the
Middle East, Africa, and Asia Pacific working
for companies with more than US$250 million
in annual revenue, 56 percent of respondents
said they are using multiple platforms or
vendors for server virtualization management,
while 35 percent have standardized on
a single vendor. Just 28 percent of CIOs
responding have a method in place to measure
virtualization return on investment.
Source: CA
www.ca.com/about/virtual_survey
EVALUATION SOFTWARE POPULAR, USEFUL
95 percent of software developers download
evaluation copies of software from vendors,
according to an online survey of 386 IT
developers. A full 70 percent evaluate what
they download, and 80 percent of evaluators
end up buying at least some of the software.
Source: Developer Marketing Patterns 2008,
Evans Data Corp.
www.evansdata.com/reports/viewRelease
.php?reportID=10
?
KNOW D I D Y O U
MJ08_BRIEFS.indd 18 3/12/08 11:55:15 AM
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 1 9
ORACLES JD EDWARDS ENTERPRISEONE
TOOLS 8.97 RELEASED
O
racles JD Edwards EnterpriseOne
Tools 8.97 is now generally avail-
able. This release provides streamlined
system management, faster performance
for client browsers, and improved report-
ing based on XML standards, to enable
JD Edwards EnterpriseOne customers to
achieve a lower total cost of ownership.
It also provides an open platform for
customers to choose hardware, operat-
ing systems, and database technologies
based on their IT strategies and business
requirements. JD Edwards EnterpriseOne
Tools 8.97 supports Oracle Enterprise
Linux and Oracle Fusion Middleware.
JD Edwards EnterpriseOne Tools
8.97 continues the evolution of JD
Edwards EnterpriseOne toward a
service-oriented architecture (SOA) and
provides customers with expanded func-
tionality, performance, and usability.
Our customers are under constant
pressure to achieve substantial pro-
ductivity gains with fewer resources.
Through an evolving and more com-
prehensive technology platform, we are
delivering a better ownership experi-
ence to our customers at a lower cost,
says Lyle Ekdahl, Oracle vice presi-
dent of product strategy. JD Edwards
EnterpriseOne Tools 8.97 also contin-
ues our delivery on the Applications
Unlimited commitment and allows
customers to take advantage of the
latest technology, in many cases without
having to upgrade their applications.
One of the new features in JD
Edwards EnterpriseOne Tools 8.97
is server manager, a centralized Web
console for the monitoring and manage-
ment of all JD Edwards EnterpriseOne
server components. Other enhancements
include simplified menu navigation, use
of browser tabs, easier import/export
of data in JD Edwards EnterpriseOne
application forms, and support for the
Firefox browser.
Thanks to the latest tools release, JD
Edwards EnterpriseOne applications
can operate in an SOA natively, without
dependency on third-party products.
Design tools, wizards, and reference
implementations are provided to help
customers and partners leverage these
new integration capabilities.
JD Edwards EnterpriseOne Tools 8.97
also delivers improved embedded report-
ing with Oracle Business Intelligence
Publisher. Users can launch a complete
run-publish-distribute cycle from a
single user interaction, output multiple
objects such as invoices from a single
batch of data, and produce reports in
multiple formats including Adobe PDF,
HTML, RTF, Microsoft Excel, Microsoft
PowerPoint, XML, and eText.
ORACLE UNVEILS NEW ORACLE IDENTITY
MANAGER 10g RELEASE
A
new release of Oracle Identity
Manager, a key component of the
Oracle Identity Management 10g Release
3 suite of products, is now available. It
addresses the growing concerns orga-
nizations have regarding compliance
and the time it takes to complete an
audit. A component of Oracle Fusion
Middleware, Oracle Identity Manager
is a user-provisioning and administra-
tion solution that enables organizations
to automate the process of adding,
updating, and deleting user accounts
from applications and directories. It
improves regulatory compliance by
providing granular reports that indicate
exactly who has access to specific data,
resources, and information.
The new release features enhanced
attestation capabilities to automate the
ongoing certification of access privileges
to meet compliance requirements. It also
offers 19 new compliance and opera-
tional report templates that help organi-
zations streamline the audit process.
In addition, a graphic workflow
designer simplifies the creation and
maintenance of provisioning and
approval workflows; an inbound
gateway based on the Web Services
Service Provisioning Markup Language
(WS-SPML) 2.0 standard supports
rapid integration across heterogeneous
environments; and updated connector
wizards ease the creation of new connec-
tors and streamline integration.
The new release of Oracle Identity
Manager further delivers on our commit-
ment to provide customers provisioning
software that helps them more efficiently
meet compliance requirements while
improving security and the overall user
experience, says Hasan Rizvi, vice presi-
dent, identity management and security
products, Oracle. With this release, orga-
nizations can more rapidly experience
the benefits identity provisioning delivers
across their diverse IT environments.
ORACLE ACQUIRES CAPTOVATION
O
racle has agreed to acquire
Captovation, a leading provider of
document capture solutions that stream-
line the process of capturing mission-
critical content for access from within
business applications and processes.
Captovations software will be part of
Oracle Enterprise Content Management,
an Oracle Fusion Middleware com-
ponent that provides comprehensive
capabilities for managing dynamic,
transactional, and historical content.
By adding document capture to
Oracles leading content management,
process automation, and back-office
applications, Oracle will be the only
vendor that can provide customers with
a fully integrated solution for automat-
ing back-office operations, says Thomas
Kurian, senior vice president, Oracle
Server Technologies. O
Oracle Secure Backup
otn.oracle.com/products/secure-backup
Oracle Database Vault
oracle.com/database/database-vault.html
Oracles JD Edwards EnterpriseOne
Tools 8.97
oracle.com/applications/enterpriseone-tools-8-9-
7-data-sheet.pdf
Oracle Identity Manager
oracle.com/products/middleware/identity-
management/identity-manager.html
Oracle and Captovation
oracle.com/captovation
MJ08_BRIEFS.indd 19 3/12/08 11:55:33 AM


2
0
0
8

E
m
b
a
r
c
a
d
e
r
o

T
e
c
h
n
o
l
o
g
i
e
s
,

I
n
c
.


A
l
l

r
i
g
h
t
s

r
e
s
e
r
v
e
d
.

Number of silos in which your customer data resides.


Coincidentally, also the number of totally different
denitions you have for customer.
Embarcadero solutions help manage data
enterprise-wide, enabling you to build and
communicate an architecture of your data assets
so you always know what is what, and where it is.
With just one, everything gets simpler. You and
your business are empowered to use and reuse
reliable, relevant, and timely data across a range
of platforms and storage formats. Understanding
your data is nally possible, and getting a hold
of the metadata is the key. Standards can be
dened and enforced. Data redundancy is
eliminated. Its no coincidence that the most
sophisticated solution is also the simplest.
See how one gets it done.
Call 415.834.3131 or visit www.embarcadero.com
denition
BY JEFF ERI CKSON
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 2 1
a t O r a c l e INTERVIEW
Data Integration as a Service
Manage data integration as part of an SOA with Oracle Data Integration Suite.
ntegrating data across multiple tiers
just got a lot easier. The new Oracle
Data Integration Suite provides a
comprehensive, open standardsbased
integration platform that connects hetero-
geneous datasources and applications.
Jeff Pollock, senior director of product
management for Oracle Data Integration,
sat down with Oracle Magazines Jeff
Erickson to discuss the new suite. The fol-
lowing is an excerpt from that interview.
Download a podcast of the full interview
at oracle.com/magcasts.
Oracle Magazine: What does the new suite
mean for our customers service-oriented
architecture (SOA) implementations?
Pollock: Oracle is bringing to market a
converged infrastructure for managing
process, message, and data integration.
It wasnt so long ago that our customers
had to go to different vendors for each of
these solutions. Were pulling them into a
common infrastructure to lower their cost
of ownership, and enabling customers to
do new things with their SOA infrastruc-
tures. They will be able to execute things
like data integration jobs; extract, trans-
form, and load (ETL); business intelli-
gence; and data loading directly from the
SOA tier. No other vendor can claim that.
Oracle Magazine: What technologies make
up the new Oracle Data Integration Suite?
Pollock: The suite includes Oracle Data
Integrator, which is the ETL and data
integration component; Oracle Hyperion
Data Relationship Manager, which is
the master data management (MDM)
component; Oracle Enterprise Service
Bus from Oracle SOA Suite; and Oracle
BPEL Process Manager, which is the
process orchestration component.
Oracle Magazine: How does Oracle Data
Integrator address customer needs?
Pollock: Traditionally, people thought of
their data management infrastructure
as completely separate from their SOA.
But as SOA becomes more prevalent in
our customers infrastructure, we see a
common desire to control, manage, and
negotiate the data integration compo-
nents as part of the SOA infrastructure.
Our customers often move hundreds
of megabytes or even gigabytes of data
through an XML format, so it makes sense
to transform that data with a data inte-
gration tool like Oracle Data Integrator,
because it can do it much faster than cus-
tomized programming in Java.
We also see the need to manage
database loading and replication and
application migrations as part of the SOA
tier. Oracle Data Integrator provides all
of these capabilities and data services
directly within an SOA component. So
you can begin to think of data integration
or ETL as just another SOA service.
Oracle Magazine: What other capabilities
does the suite provide our customers?
Pollock: Oracle Data Integration Suite
provides a single platform to support the
whole range of data delivery styles our
customers need, including real-time milli-
second response times, enterprise applica-
tion integration or SOA message-based
distribution, and bulk delivery.
Having a single infrastructure to
support these different data delivery styles
is really crucial for Oracle customers,
because typically they would have had to
purchase software from multiple vendors
and then stitch them together themselves.
Another aspect thats important is the
MDM capability. Our customers need to
manage common reference data across
these various data distribution channels.
A common MDM infrastructure will
ensure that the highest-quality data is
used in all of those data flows.
Oracle Magazine: How does the suite help
data administrators, architects, process
modelers, or nontechnical business users?
Pollock: At the end of the day, nontech-
nical business users may never know that
Oracle Data Integration Suite is there.
What they will notice is higher-quality
data at a fresher rate. The rest of the roles
have different views into the suite and dif-
ferent tools to do their jobs. Now they are
all tied together with the common work-
flow infrastructure.
Thats the heart of what were trying
to do with this product: weve pulled
together a range of the data management
products and functions into a single
unified offering that our customers can
leverage in an easier way to meet their
enterprisewide data integration needs. O
Jeff Erickson is a senior editor with Oracle Publishing.
DOWNLOAD the podcast
oracle.com/magcasts
LEARN more about Oracle Data
Integration Suite
oracle.com/technologies/integration/odi-suite.html
Jeff Pollock, Senior Director of Product Management,
Oracle Data Integration
B
O
B
A
D
L
E
R
MJ08_INTERVIEW.indd 21 3/14/08 4:00:42 PM
c o m m u n i t y PARTNER NEWS
BEAT b o o k
LIQUID COMPUTING SUPPORTS ORACLE VM
O
racle partner Liquid Computing, the
developer of the LiquidIQ fabric-
based computing system, has announced
support for Oracles new server virtualiza-
tion software, Oracle VM.
Liquid Computing has been working
with Oracle to optimize the performance,
security, and management of Oracle VM
on the LiquidIQ platform. LiquidIQs
flexible, high-availability platform layer
under Oracle VM provides a dynamic
virtualized environment, with LiquidIQ
providing software definitions of server,
networking, and I/O processes. This
capability allows Oracle customers to
provide greater service agility and IT
management of the servers and infra-
structure running Oracle application
stacks deployed on Oracle VM.
LiquidIQ simplifies data center opera-
tions and reduces the complexity of man-
aging clusters, servers, networking gear,
and cables. The company claims that
LiquidIQ can lower acquisition costs of
servers, switches, software, and network-
ing infrastructure by 45 percent or more;
reduce annual data center operating
expenses by up to 90 percent; decrease
data center floor space requirements by
up to 85 percent; and reduce power costs
by up to 30 percent.
The high costs and inflexibilities
associated with traditional data center
infrastructure are causing a lot of pain
in todays IT infrastructures, says Greg
McElheran, president and CEO of Liquid
Computing. The new-generation data
center will need fabric-based comput-
ing coupled with hypervisor technolo-
gies. Together, Oracle VM and LiquidIQ
provide a complementary solution.
ACCENTURE LAUNCHES INNOVATION CENTRE
FOR ORACLE IN EUROPE
O
racle Certified Advantage Partner
Accenture has opened an Innovation
Centre at Oracles U.K. headquarters in
Reading. The new center, a European
hub for joint business development and
technology demonstrations, is the first of
its type on an Oracle campus in Europe.
The center will encourage closer col-
laboration between Accenture and Oracle
executive leadership, technologists, and
product development personnel. It gives
Accenture special access to Oracles
research and development organizations,
provides Accenture with prerelease ver-
sions of new Oracle software, and helps
Accenture accelerate training on Oracle
technologies across its European opera-
tions. For Accenture clients, the center
provides a site to view joint Oracle-
Accenture technology developments,
including client-specific proofs of concept.
The new Accenture European
Innovation Centre for Oracle, which
builds on the long-standing relationship
between our two companies, is an impor-
tant step forward in our ongoing efforts
to help clients derive maximum business
value from their investments in Oracle
technologies, says David Burns, head of
Accentures Oracle practice in Europe.
The center joins the Accenture
Innovation Centre for Oracle, located at
Oracles global headquarters in Redwood
Shores, California; the Accenture
Centre of Excellence for Oracle in
Bangalore, India; and other Centres
of Excellence throughout Europe. The
Innovation Centres for Oracle are part of
Accentures three-year, US$450 million
investment in service-oriented architec-
ture (SOA), announced in July 2006.
SECURE PATH LAUNCHES ORACLE-POWERED
WEB PLATFORM
O
racle partner Secure Path, a provider
of digital media asset registration and
data management solutions, has launched
MediaDNS, a standards-based Web
platform that centralizes data manage-
ment, distribution, analytics, and report-
ing for digital media. MediaDNS was
created using Oracle Fusion Middleware
and takes advantage of Oracle BPEL
Process Manager and Oracle Application
Development Framework (Oracle ADF).
Secure Path is the primary North
American registration agency for the
International Standard Audiovisual
Number (ISAN) and in that capacity
Pro Oracle
Application Express
By John Edward Scott
and Scott Spendolini
Apress
www.apress.com
ISBN: 978-1590598276
Oracle Application Express is an application
development framework for quickly
developing database-backed applications.
Pro Oracle Application Express looks under
the hood of Oracle Application Express
to expose the full power behind its easy-
to-use GUI interface. Learn to produce
powerful, polished applications with lessons
on user-authentication models; layout and
navigation; Ajax integration; localization
issues such as time zones and translations;
and much more.
Authors John Edward Scott and Scott
Spendolini have focused their careers on
developing Oracle Application Express
applications. Scott runs ShellPrompt,
a hosting service that handles many
large-scale Oracle Application Express
applications. Spendolini is one of the original
creators of the tool. Pro Oracle Application
Express is your opportunity to learn Oracle
Application Express from the very best.
Ajax in Oracle
JDeveloper
By Deepak Vohra
Springer
www.springer.com
ISBN: 978-3540775959
Asynchronous JavaScript and XML (Ajax)
is a Web technique used to transfer
data between a browser and a server
asynchronously, without posting the Web
page to the server. Ajax in Oracle JDeveloper
is for Web application developers, IT
architects, project managers, and system
administrators who want to learn techniques
for Web search and RSS feeds with Ajax,
as well as form validations with Ajax
frameworks for Java, JavaServer Pages,
JavaServer Faces, and PHP. The book
will also help you understand the many
advantages Oracle JDeveloper has over the
Eclipse integrated development environment.
Author Deepak Vohra is an Oracle
Certified Associate and a Sun Certified Java
Programmer and has published in a wide
array of technical journals. Vohra has an MS
in mechanical engineering from Southern
Illinois University.
Look for Oracle books at otn.oracle
.com/bookstore
2 2 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
MJ08_PARTNER.indd 22 3/14/08 3:21:23 PM
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 2 3
KNOWLEDGE SERVICES EXPANDS
EDUCATIONAL OFFERINGS
K
nowledge Services, a member of
the Oracle PartnerNetwork and
an Oracle Approved Education Center
(OAEC), has opened a state-of-the-art
classroom facility in Tampa, Florida,
and has begun offering new classes
for Oracle Database 11g and Oracles
PeopleSoft applications. Knowledge
Services new facility joins those in
nine other U.S. cities that offer expert
skills and needs assessments, compre-
hensive training plans, and staffing
solutions. The company also provides
registration services for all Oracle and
OAEC classroom locations worldwide
through its network of global educa-
tion partnerships.
The new facility features individual
workstations, high-quality video pro-
jection, high-speed wireless internet
connectivity, and other amenities. The
new classes include Oracle Database
11g New Features for Administrators,
Oracle Database 11g Administration
Workshop I and II, PeopleSoft Release
8.4.8, PeopleSoft Server Administration
and Installation, PeopleSoft Security,
and PeopleTools I and II.
We use our centers to provide expert
technology training and outstanding
customer service, whether its a large
corporation taking advantage of our free
skills assessments and planning services
or an individual interested in registering
for a single class, says Julie Bielawski,
CEO of Knowledge Services. O
.
Liquid Computing
www.liquidcomputing.com/oraclevm
Accenture
www.accenture.com
Secure Path
www.secpath.com
Satyam Computer Services
www.satyam.com
Kepware Technologies
www.kepware.com
Knowledge Services
www.knowledgeservices.com
handles digital media asset registration
for U.S.-based film and TV companies.
Having the centralized MediaDNS reg-
istry enables Secure Path to manage,
translate, and integrate the continually
expanding content and metadata catego-
ries required by media companies.
Running Secure Paths platform on
Oracle Fusion Middleware provides us
with the highly scalable and adaptable
solution that we need to meet our cus-
tomer requirements and support future
growth, says David Benson, chief tech-
nology officer at Secure Path.
The company chose to build
MediaDNS on Oracle Fusion
Middleware because of its scalability,
extensibility, and ability to manage
complex processes. Oracle BPEL Process
Manager and Oracle ADF enabled
Secure Path to develop MediaDNS as an
SOA platform that incorporates more
than 50 processes for integrating meta-
data and interacting with Web services
administered by the ISAN International
Agency in Geneva, Switzerland.
SATYAMS AIRLINE XPRESS TAKES OFF
S
atyam Computer Services, an Oracle
Certified Advantage Partner, has
released Airline xPress, an Oracle-based
back-office solution for low-cost airlines.
Encompassing purchasing, inventory,
human resources, and accounting pro-
cesses, Airline xPress provides predefined
business process flows, ready-made
project lifecycle components, templates,
and utilities all generally suited for the
airline industry and for emerging airlines
and low-cost carriers in particular.
This robust solution will help airline
industry organizations enjoy markedly
enhanced operational efficiency, says
Sriram Papani, senior vice president of
enterprise applications at Satyam. By
leveraging Oracles leading-edge applica-
tion products and Satyams exceptional
innovation capabilities, we have created
a standardized solution that will acceler-
ate transformation and drive their future
competitive strength.
Airline xPress handles end-to-end
business processes in revenue man-
agement, cost management, assets
management, inventory management,
and human resource management.
Specifically, it captures general station,
outstation, agent, and ICH bookings,
thereby preventing revenue leakage;
demarcates revenue streams into pas-
senger, cargo, and miscellaneous sales
categories; manages and controls direct
operating costs such as fuel and aircraft
lease payments; and captures and allo-
cates indirect costs.
KEPWARE ANNOUNCES PLANT FLOOR
COMMUNICATIONS FOR ORACLE
K
epware Technologies, a provider of
communication software for auto-
mation and a member of the Oracle
PartnerNetwork, has announced that
KEPServerEX will provide manufactur-
ing plant floor execution data to Oracle
manufacturing applications.
Kepware is extremely proud to
work with Oracle, says Roy Kok,
vice president of sales and marketing
for Kepware. The architecture of our
KEPServerEX product is a natural fit
for all OEM applications, delivering
high reliability and consistent opera-
tion across all 130-plus protocols that
we offer, in a solution that is easy and
straightforward to validate and support.
Kepware offers experience in both
open process control (OPC) and
embedded device communications.
KEPServerEX, the newest version
of Kepwares OPC server, allows
users to set up communications
from equipment to control business
systems via plug-in device drivers
and components. Other new features
of KEPServerEX include OPC client
functionality, enabling KEPServerEX
to act as a gateway from any OPC
server, including third-party device
drivers and higher-level HMI/SCADA
or Historian products; data analytics
based on real-time plant floor data;
and complex data tags for aggregat-
ing information into concise time- or
event-relevant structures.
MJ08_PARTNER.indd 23 3/14/08 3:21:31 PM
Your Source for Oracle and Oracle Partner White Papers
OracleWhitePapers.com
Discover theNew
Copyright 2008, Oracle Corporation and/or its afliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its afliates. Other names may be trademarks of their respective owners.
8 x 10.875
omag0508p024.indd 1 3/19/08 11:08:23 AM
BY AARON LAZENBY
c o m m u n i t y COMMITMENT
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 2 5
ommunity activists, corporate
donors, and United Negro
College Fund (UNCF) staff
and friends gathered in San
Francisco in February 2008 for the 19th
Annual Frederick D. Patterson Awards
Gala. Attendees were on hand to cel-
ebrate the UNCFs good work in the
San Francisco Bay Area, to recognize
community leaders contributions to the
African-American community,
and to present the Corporation
of the Year Award to Oracle.
The UNCF is the nations
oldest and most successful
organization devoted to closing
the educational attainment
gap in the United States. Since
1944, the UNCF has raised
US$2.5 billion to support its
39 member institutions and
has helped more than 300,000
students earn undergraduate
and graduate degrees. Over the
course of a decade, Oracle has
contributed more than US$11 million to
support the UNCFs missionthrough
cash grants, software donations, and
mentorship programs.
The U.S. Census Bureau reports that
18.5 percent of African-Americans com-
plete four or more years of collegewhile
the national average is 28.7 percent.
According to Shirley Matthews, area
development director for the UNCF in
San Francisco, many UNCF financial
aid recipients are from families that earn
less than US$30,000 a yearmany from
single-parent homes where they are likely
to be the first to attend college.
These are kids who have potential
but have not had the academic exposure
or the finances to continue their educa-
tion, says Matthews. The cost of edu-
cation is increasing, and some people
have a budget where it just doesnt
work. If they cant get scholarships, they
A Dream Conferred
The United Negro College Fund makes college education a reality for many aspiring students.
M
A
R
G
O
T

H
A
R
T
F
O
R
D
cant continue their education.
The relationship between the UNCF
and Oracle began when Oracle CEO
Larry Ellison approved a US$350,000
in-kind software donation to help the
UNCF upgrade its internal systemsa
donation that helped the UNCF address
some of its nonstudent stakeholders.
Donors expect things from us too:
quick responses to requests, regular
reports of expenses, feedback from the
recipients, says Matthews. But like
most nonprofits, we dont have a huge
staff. So having the software to help us
do the things we want to do is a service
to both our students and our donors.
Oracle went on to contribute US$9.8
million in software and training to the
UNCFs Technical Enhancement Capital
Campaign to improve the state of com-
puters and other technical equipment in
member schools, such as Fisk University
in Nashville, Tennessee, and Morehouse
College in Atlanta, Georgia. In 2001,
Oracle and the UNCF created the Oracle
Scholars Program to give financial aid to
students with an interest and aptitude
in technology, science, engineering, and
mathematicsas well as allow them to
work on the Oracle campus during the
summer. The students love it, says
Matthews. They learn what the work
world is like and get invaluable mentor-
ship and advice from Oracle employees.
Through an annual Oracle Community
Impact Grant, the UNCF has also estab-
lished a scholarship program that serves
poor African-American communities in
the San Francisco Bay Area. Students are
selected based on need and academic
performance to receive a US$7,000 schol-
arship. One recipient, San Franciscos
Jonique Green, illustrated the
importance of these programs in a
written report to the UNCF.
Returning home from Fisk
University on the sad occasion of
her uncles death, Green found a
surprisingly uplifting welcome in
the form of a life-changing conver-
sation with her cousin Joseph.
He looked right into my eyes
and told me they were all rooting
for me, Jonique recalls, noting that
shell be only the second member
of her family to earn a college
degree. After that day, college and
postcollege education has been the most
prominent thought in my mind. When he
said that, I realized that graduating from
Fisk University is much bigger than me.
Jane Robertson, senior director of
Oracle Diversity, says that the work of
the UNCF intersects perfectly with the
companys commitment to both educa-
tion and a diverse workplaceand she
could not be happier with the results.
Every year Im asked if there is another
organization Id like to work with, says
Robertson. And every year I say no. The
UNCF is the best at what they do. O
Aaron Lazenby is a director with Oracle Publishing.
Oracles Commitment
oracle.com/commitment
United Negro College Fund
www.uncf.org
Hank Fore (left) and Robert Shoffner of the UNCF with Jane Robertson, Senior
Director of Oracle Diversity, at the Frederick D. Patterson Awards Gala
MJ08_COMMITMENT1.indd 25 3/21/08 12:37:05 PM
BY BLAI R CAMPBELL
c o m m u n i t y PEER-TO-PEER
2 6 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
Catering to Change
Oracle ACEs stay current through advisory boards, social networking, and innovative applications.
Debra Lilley
What is your favorite tool or
technique on the job? Good old-
fashioned Oracle Discoverer.
I love to enable end users to
get at the data they put in. My
brother-in-law is an Oracle
user in a very large govern-
ment department. He laughs
at me for getting so excited
by Oracle technology, but a few days ago he rang up and said
he loved Oracle Discoverer. He had problems finding data in
the application, and Discoverer
solved the problem.
How do you use the internet today?
My daughter is at university, and
social networking sites are the
only way to get her attention, so
its useful for that. . . . Im also part
of the pilot for Oracle Mix, the
new community site for Oracle
customers [see mix.oracle.com].
If you were going to the International
Space Station for six months and
could only take one Oracle reference
book, what would it be? Im excited
to read Mark Rittmans Oracle
Business Intelligence Suite Developers Guide [McGraw-Hill/
Osborne Media, March 2008].
Dennis Remmer
Whats your favorite tool or tech-
nique on the job? I find Oracle
JDeveloper 10.1.3and now
Oracle JDeveloper 11gto be
an excellent tool. In the ideal
top-down/test-first world of
service-oriented architecture
[SOA], it provides great fea-
turesparticularly with respect
to integrating with a range of
middleware environments and other tools
like Oracle Business Process Analysis Suite.
Which new features of Oracle Database are you finding most valuable?
The mature XML processing and internal Java virtual machine
capabilities of the Oracle Database 10g and 11g platforms are
incredibly important to the sorts of
systems were building today.
What advice do you have about how
to get into Web and database devel-
opment? Be technology agnostic,
understand the business, under-
stand the key standards, and take
an architectural perspective. With
SOA, youre potentially dealing
with any number of disparate
technologiesparticularly around
development platforms and infra-
structure. You have to be flexible
and cater to change.
Steve Romeo
Which new features of Oracle applications are you finding most valu-
able, and why? The new Oracle Manufacturing Execution System
in Oracle E-Business Suite 12 is very exciting. Having the ability
to run our business in a demand pull envi-
ronment rather than a push environ-
ment means were able to align our
business to our customers needs. It
lets us proactively act on our manufac-
turing demand rather than struggling
with meeting product demands.
Tell us about a unique use of applications
at your company. We utilize a mobile
supply chain in such a way that all
our transactions are recorded live on
the manufacturing floor. For instance,
the process of loading and unloading a truck is accomplished
through scanning the boxes through the system, which updates
our single global instance in real time. This makes the entire
company more efficient, ultimately
getting our products to customers
much faster and more accurately
than traditional methods.
What would you like to see Oracle,
as a company, do more of? Embrace
users ideas and needs. Ive seen
tremendous improvement in this
area with Oracles customer advi-
sory board processand continu-
ing on this path is great for both
Oracle and the users. O
peerSPECS
Company: LogicalTech, an IT
consulting, development, and
integration firm
Job title/description: Oracle
Fusion practice manager, running
a business practice responsible for
consulting, architecture, integration,
and development involving SOA and
Oracle Fusion Middleware
Location: Brisbane, Queensland,
Australia
Length of time using Oracle
products: 17 years
Oracle ACE
otn.oracle.com/community/
oracle_ace
peerSPECS
Oracle ACE
otn.oracle.com/community/
oracle_ace
Company: BREG/Orthofix, a global
medical device company
Job title/description: Director
of IT, responsible for technology
leadership for BREG/Orthofix in
the United States, Mexico, and
throughout Europe
Location: San Diego, California
Length of time using Oracle
products: Eight years
Oracle ACE
otn.oracle.com/community/
oracle_ace
Company: Fujitsu, a provider of IT
and communications solutions
Job title/description: Head of
business intelligence in the Fujitsu
Services EMEA Oracle practice;
Oracle Fusion Champion working
with Oracle E-Business Suite
customers
Location: Belfast, Northern
Ireland, United Kingdom
Oracle credentials: Oracle
Certified Professional in Applications
and Oracle Master in IT
peerSPECS
MJ08_PEER.indd 26 3/13/08 2:28:42 PM
HOW MUCH
IS THAT OPEN
SOURCE IN
THE WINDOW?
LINUX HAS NEVER LOOKED SO GOOD
Today`s reaI-worId open source soIutIons are powerIuI, dynamIc, and green enough to deIIver
proven busIness vaIue In every part oI the enterprIse: 8usIness-crItIcaI systems. MobIIe devIces.
Desktop apps. The next-generatIon data center.
Don`t just dream about what open source couId do Ior your busIness. Come to the Industry`s
denItIve resource Ior LInux and open source products, traInIng, and InsIght-and brIng back
the soIutIons your busIness has been waItIng Ior.
August 4-7, 2008
The Moscone Center
San Francisco, CA
REGISTER TODAY AT
www.linuxworldexpo.com
AN WORLD EXPO EVENT
LInuxWorId Is open to busIness proIessIonaIs onIy. No one under 18 years oI age wIII be admItted.
IDG-LINUX_022008_OM.pdf 1 2/29/08 3:15:22 PM
THE CHOICE OF ARCHITECTURE,
STANDARDS, AND TOOLS UNITES
THE ORACLE ENTERPRISE
APPLICATION DEVELOPER
COMMUNITY.
BY DAVI D A. KELLY
2 8 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
DEVELOP
MJ08_Developer.indd 28 3/24/08 4:23:22 PM
nterprise application development means
different architectures, standards, and
tools to different developer communities.
At the same time that new architectures
and scripting languages such as service-
oriented architecture (SOA) and PHP drive
the direction of application development at
some companies, others continue to embrace
established tools, traditional languages,
and legacy applications. Todays enterprise
application developers need to useand
often combinethe best technologies with
transactional infrastructure components to
create scalable applications that cut across
traditional application boundaries. I
-
H
U
A

C
H
E
N
ER NATION
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 2 9
MJ08_Developer.indd 29 3/24/08 4:24:16 PM
3 0 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
Thats why Oracle has worked to provide a wide range of
standards-based, integrated application development technolo-
gies and products for all types of business and IT needsfrom
Web 2.0 to Microsoft .NET to open source, PL/SQL, and more.
Take the example of the move to SOA.
To enable a world where you can assemble capabilities
quickly to create new applications systems, you have to imple-
ment the capabilities as services, says Anne Thomas Manes,
vice president and research director, Burton Group. From an
Oracle developer perspective, that means you need to stop
thinking in terms of n-tiered applications and start thinking
in terms of service-oriented systems. Figure out where youve
got a core capability thats used by multiple applications, and
refactor that into a service.
BETTING ON THE FUTURE
While many organizations are using new application develop-
ment technologies, theres still plenty of room for tried-and-
true approachesespecially when it comes to creating highly
scalable and responsive applications.
Take the example of Betfair, an online
gaming company that pioneered the
concept of betting exchanges back
in 2000. Headquartered in London,
the company has approximately
1,200 employees, including about 25
Oracle database developers and 150
application developers.
Betting exchanges allow people
to bet against each otherpeer-to-
peer bettingrather than betting
against the house or a traditional
bookmaker. Betfair essentially
serves as an exchange (like a stock
exchange), facilitating bets between
users and then taking a commission
of the winnings. Today, Betfair is the
worlds leading betting exchange and
one of the foremost online gaming
sites in the U.K.
To accomplish this, Betfair relies
on Oracle technology. It runs Oracle
Database on several distributed databases around the world
and has Oracle Data Warehouse running on Oracle Real
Application Clusters (Oracle RAC). In addition, Betfair uses
Oracle Coherence for its in-memory distributed data caching
requirements and Ajax for its front-end applications.
But the core of Betfairs business logic is written in PL/SQL.
The company has more than 250,000 lines of PL/SQL code,
and the betting engine that runs that core exchange system is
written entirely in PL/SQL.
We really push the envelope of Oracle and PL/SQL with
our exchanges, says Alex De Vergori, database architect,
Betfair. We take in excess of 5 million transactions a day, and
it all goes straight through to the database, where those bets
match with other transactions.
From an application architecture perspective, Betfair is also
fully embracing the move to SOA. Traditionally people look
at SOA in a very middle-tier sense, and were doing that as
well, says De Vergori. But were also trying to apply those
same principles within our existing database technology. So we
Performance and scalability are important to Betfair. We take in excess of 5 million transactions a day, and it all
goes straight though to the database, where those bets match with other transactions, says Alex De Vergori, the
companys database architect.
With Oracle, our
scalability growth has
been exponential,
so that has really
enabled us to succeed
in our market.
Alex De Vergori,
Database Architect, Betfair
J
O
H
N

B
L
Y
T
H
E
MJ08_Developer.indd 30 3/17/08 1:37:53 PM
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 3 1
definitely see this going more and more along those lines
componentizing well-defined interfaces and building a direc-
tory and services infrastructure for both our middle-tier and
database logic.
One of Betfairs key business objectives is to reduce its time
to market for new applications or functionality. Thats where
SOA comes in. Another part of Betfairs application develop-
ment solution is using an agile development methodology.
Were finding that agile [development] works quite well for
us. For example, it means that we can turn over more releases
more quickly, says De Vergori.
As you might expect, the user experience is critical. In fact,
the companys goal is to make the user betting experience
occur in less than a seconda goal that Betfair is meeting
with the help of Oracle technologies.
We find that 99.99 percent of all our bets are matched
and handled in subsecond response times, says De Vergori.
When youre turning over 1,000 bets per second at peak,
thats quite a technology achievement.
For Betfair, the combination of proven PL/SQL applica-
tion logic with new SOA and agile approaches is paying big
dividends. And its initial bet on an Oracle architecture was a
winning one.
Oracle has been our core for almost the entire life of the
company. The scalability you get with the Oracle database
and, over the years, the improvements in the sheer raw speed
of PL/SQLas well as the underlying data operationshave
really helped our scalability, says De Vergori. With Oracle,
Building an Enterprise 2.0 World
Build Oracle Enterprise 2.0 applications and create an interactive Web 2.0 world using your choice of
development frameworks and tools.
Community Benefts
Developers and end users can work
individually and collaboratively within
organizations and across enterprises by
using Enterprise 2.0 applications. The
enterprise can incorporate Web 2.0
technology, such as Ajax-enabled rich
user interfaces and mashups, across an
open, secure, scalable, and integrated
technology stack.
Java and Service-Oriented
Architecture (SOA) Development
Developers can use Java and SOA
developer tools, part of the Oracle Fusion
Middleware family of products, to defne
business logic, create user interfaces,
expose applications as Web services, and
orchestrate them into integrated Web 2.0
and business processes.
These tools include Oracle WebCenter,
Oracle Application Server, Oracle
Application Development Framework,
Oracle BPEL Process Manager, Oracle
Coherence In-Memory Data Grid,
Oracle JDeveloper, Oracle SOA
Suite, Oracle Data Integration
Suite, and Oracle TopLink.
Open Source Development
Developers leverage Oracles investments
in developing, testing, optimizing, and
supporting open source technologies
such as Linux, Ruby on Rails, PHP, Apache,
Eclipse, Berkeley DB, InnoDB, Spring,
SASH, and Apache MyFaces Trinidad to
build online communities.
Oracle Database Development
Database developers use Oracle SQL Developer for
SQL and PL/SQL development and Oracle Application
Express to create Web-based applications that have
the performance, security, scalability, and availability
necessary for Enterprise 2.0 requirements. Developers
can also embed Oracle databases and middleware
components within their products to enhance Web 2.0
capabilities.
.NET Development
.NET developers can build data-rich Web
2.0 .NET applications leveraging the
power of Oracle Database with Oracle
Developer Tools for Visual Studio, Oracle
Data Provider for .NET, and Oracle
Providers for ASP.NET.
Oracle Fusion Middleware
Oracle Database
S
T
E
V
E

L
Y
O
N
S
MJ08_Developer.indd 31 3/17/08 1:38:03 PM
3 2 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
ments in environments requiring large numbers of connections
with minimal database resource usage. Connection pooling
will be huge for us, says Dixon, for several reasons.
Reducing the cost of infrastructure is important. After ini-
tially trying to scale by adding hardware, Community Connect
moved to a very distributed system. The approach has worked
well, but it has also added management and administration
requirements. To solve the challenges of a growing company,
Community Connect is now in the process of implementing
Oracle Database 11g and Oracle RAC. [Oracle] RAC provides
us the ability to build one consolidated database and add
hardware resources as necessary, says Dixon.
Oracles support for open source and standards like PHP
is also very important for
Community Connect. PHP
and Oracle used to be con-
sidered a strange combina-
tion. Now having Oracle
working on and contrib-
uting to the PHP OCI8
extension, I am assured
that features that I want to
leverage will be available
to our application in future
database releases because
Oracle is actively working
on the extension with fore-
sight, says Dixon.
The PHP OCI8 exten-
sions increasing support of
existing OCI functionality
and improving interface has
made it easier for develop-
ers to access and manipulate
data in a more scalable and
maintainable fashion, says
Dixon. For example, prior
to the upgrade to Oracle
Database 10g and the most
recent OCI8 PHP extension,
a developer might have a
situation where a loop in
a Web page would need
to execute the same query
20 times per result to fetch
additional information for
the 20 matching users. By
leveraging the binding of
user-defined types in Oracle
Database 10g, developers
can now pass in a collection
of user ids that they need
information for and receive
the requested data back in
one logical round-trip.
our scalability growth has been exponential, so that has really
enabled us to succeed in our market.
IT TAKES A COMMUNITY TO DEFINE YOUR APPLICATION
For some companies, competitive pressures and user demands
drive application development and the urgency for new fea-
tures. In such situations, organizations need both an appli-
cation development process and an IT infrastructure agile
enough to adapt quickly.
We need to be able to go from the developers starting
point to deployment as quickly as possible and know that
it will scale, says Levi Dixon, data architect, Community
Connect, the leading publisher of niche social networking
communities. Community
Connect has five distinct
social networking sites,
including BlackPlanet
.com and AsianAve.com.
The companys flagship
site, BlackPlanet.com, was
recently ranked the fourth
largest social network
according to Hitwise, an
internet viewership mea-
suring company.
As a social networking
site, scalability, uptime,
maintainability, ease of
administration, and flex-
ibility are very important
to us, with the end goal of
making the user experi-
ence as friendly as pos-
sible, Dixon says.
Dixon, a former devel-
oper himself, now guides
Community Connects
developers in creating
scalable applications, as
well as designing the infra-
structure to support those
applications.
Theres a lot of thought
that goes into making our
site scale for large numbers
of concurrent users, and
Oracles attention to this
idea is resulting in new
features that have immedi-
ate impact, says Dixon.
One of those features is
database resident connec-
tion pooling, introduced
in Oracle Database 11g to
address scalability require-
Scalability, uptime, maintainability, ease of administration, and flexibility are very
important to us, says Levi Dixon, data architect, Community Connect.
Our road map incorporates Oracle because
we believe it to be a cost-effective and highly
reliable Web solution for the long term.
Levi Dixon, Data Architect, Community Connect
C
A
T
H
E
R
I
N
E

G
I
B
B
O
N
S
MJ08_Developer.indd 32 3/17/08 1:38:21 PM
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 3 3
Dixon believes that its
important for organizations
to have a solid infrastruc-
ture base from which to
leverage new technologies,
which Oracle provides for
Community Connect.
From an infrastruc-
ture perspective, our road
map incorporates Oracle
because we believe it to be
a cost-effective and highly
reliable Web solution for
the long term, with each
new version providing
increased abstraction for
developers and less special-
ized knowledge required,
says Dixon.
TOOLS INFRASTRUCTURE
Sometimes when a company
wants to rearchitect its software, the tools make all the differ-
ence. Take the example of PAETEC, a leading telecommunica-
tions provider based in Rochester, New York. When PAETEC
rearchitected its successful telecommunications expense man-
agement enterprise software solution using Oracle Application
Express, it got more than it bargained for.
We looked at various options for the rearchitecture of our
applications, including .NET and J2EE, but then we looked at
Oracle Application Express and thought it was a great technol-
ogy solution, says Dennis Vanill, senior software manager,
PINNACLE Software Solutions, PAETEC.
Using Oracle Application Express, PAETEC was able to
encapsulate traditional three-tier architecture directly into a
consolidated Oracle environment. The Oracle Database is
our data tier, [Oracle] Application Express is our presentation
tier, and in between we have a business logic tier, which weve
implemented by using views within the Oracle framework,
says Vanill. In addition, were wrapping an SOA framework
on top of that, so that well be able to expose any of those
views as Web service calls, enabling our customers to access
the system through any tool theyd like.
With Oracle Application Express, we were able to archi-
tect our entire enterprise-class commercial application, which
consists of more than 800 windows and 900 tables, to lever-
age reusable user interface [UI] technology independent of our
application API and views, to reduce the complexity of the
entire UI framework, says Larry Foster, vice president/general
manager, PINNACLE Software Solutions, PAETEC.
In addition, new features in Oracle Application Express 3.1
such as interactive reporting provide even more out-of-the-
box functionality and power for users. The new interactive
reporting from a Web browser that weve included through
Oracle Application Express will revolutionize the way people
use a telecommunications
expense management
system, says Foster. It
provides functionality that
customers used to have
to purchase separately.
Now, as long as you know
what your data is, its all
presented to you in nice,
organized views that a
layperson can understand.
With Oracle Application
Express technology, the
power to do spreadsheet
analytics easily is all there.
But the benefits of
using Oracle Application
Express dont stop at more-
powerful analyticsthey
also extend to enabling
customers to customize
their PINNACLE deploy-
ment without custom coding. Our decision to go with
[Oracle] HTML DB, which has now evolved into Oracle
Application Express 3.1, was based on adopting a philosophy
to simplify the entire technology framework while providing
flexibility to our customers to modify fields, windows, and
menus and organize security roles to meet their job require-
ments, says Foster.
Mike Hichwa, vice president of software development,
Oracle, says that Oracle Application Express has seen this
philosophy in the development community. Developers want
simplicity and lightweight ease of use, he says. Oracle
Application Express is a good example of this, since you
can run it in a classic mode to do application development
against an Oracle database, or it can be used in a hosted form,
enabling users or programmers without a lot of experience to
create full-fledged applications using a lightweight but sophis-
ticated browser interface.
Although its been a long roadclose to 20 years of
changesfor PAETECs PINNACLE application, Foster thinks
the best is yet to come. Now that weve completed the move
to an Oracle Application Expressbased architecture, were
really excited about being able to react, respond, and build
new features and functions into the application much faster
than weve ever been able to do in the past, says Foster.
OPTIMIZING BUSINESS PROCESSES
While some companies like PAETEC are leveraging Oracle tools
to rearchitect software, other companies application devel-
opment efforts are focused in different areas. Development
Dimensions International (DDI), for example, is focused on
optimizing existing solutions to generate increased efficiencies.
DDI provides HR consulting services. It has 75 offices
around the world and has had consistent double-digit growth
Oracle SQL Developer is just easy to use, says James Hughes, DDIs manager of software
engineering. Its pretty much one of those favorite icons on our desktops.
R
I
C
K

Z
A
I
D
A
N
MJ08_Developer.indd 33 3/17/08 1:41:03 PM
3 4 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
over the past three years. DDIs IT infra-
structure is primarily based on Oracle
and Microsoft technologies, including
Oracle E-Business Suite.
From an application development
perspective, were focused on a lot of
service-oriented projects right now,
says James Hughes, manager of software
engineering, DDI.
A good example is the automation
of daily exchange rates into our Oracle
production system, he says. We used
to enter exchange rates manually, but
now that were operating in multiple
countries, its impossible. So weve used
a service-oriented architecture to pull
that information from a currency rate
provider and then automated the entire
process using ODP.NET [Oracle Data
Provider for .NET] from Oracle. We
created a Windows-based service using
that technology to automatically update
all of our currency information in our
production Oracle databases.
In general, DDIs application develop-
ment work focuses on creating solutions
and automation for processes that span
applications. Thats where the develop-
ment of custom Web services is coming
into play, says Hughes. We need to
expose Oracle data and functions to
many of our applications, so were
developing a set of Web services that our
software development teams can use to
integrate well with other systems.
So far, the results have been impressive. Using ODP.NET
and other Oracle technology, the company implemented a
print-on-demand process that enables it to route orders for
printed materials to locations around the world directly after
an order is placed in Oracle E-Business Suite. Our Oracle/
ODP.NET print-on-demand process saves us warehouse
space because we dont have to keep materials stocked, and
it reduces shipping costs and legal restrictions when shipping
internationally, says Hughes.
DDI has several developers with strong Microsoft back-
grounds, so the company is making good use of Oracles
ODP.NET functionality. Weve found that ODP.NET is a great
piece of technology. Since more of the people I work with are
Microsoft .NET developers, were able to leverage their knowl-
edge set by using ODP.NET, says Hughes.
Hughes team also finds Oracle SQL Developer a welcome
addition. Oracle SQL Developer is just easy to use, says
Hughes. It looks a lot like Microsoft SQL Enterprise Manager,
so it was an easy transition for our people to pick up. Were
constantly using Oracle SQL Developer to look at the database
structures, run queries, and make
sure that things are working cor-
rectly. Its pretty much one of those
favorite icons on our desktops.
Graphical tools can help create
scalable applications quickly and
easily, but Hughes is also inter-
ested in Oracle E-Business Suite
12 to enable even greater effi-
ciencies while reducing custom
development. Were looking at
our business processes and trying
to rearchitect them and find ways
to use technology to make our
employees more efficient, he says.
We know that there are a lot
of manual things going on out
there, so were looking at the other
products Oracle has to bridge those
gaps and make things work more
smoothly, he says. Thats why
were looking at Oracle E-Business
Suite 12 and exploring how well
be able to solve those types of
problems without having to build
the types of custom applications we
have in the past.
BUILDING FOR THE FUTURE
New enterprise application develop-
ment architectures, standards, and
tools provide choice for developers.
At the same time, new and chang-
ing business needs are driving
application development, requir-
ing developers to call on both traditional and cutting-edge
application development technologies. The Oracle enterprise
application developer community is answering business needs
with the best technology choices and driving the future of
enterprise application development. O
David A. Kelly (dkelly@upsideresearch.com) is a business, technology, and travel
writer who lives in West Newton, Massachusetts.
Betfair
www.betfair.com
Headquarters: London
Revenue: 182 million
Employees: 1,200
Oracle products: Oracle Database, Oracle Data
Warehouse, Oracle Real Application Clusters, Oracle
Coherence
Community Connect
www.communityconnect.com
Headquarters: New York City
Employees: 100
Oracle products: Oracle Database, Oracle Business
Intelligence Enterprise Edition, PHP OCI8 extension
PAETEC
www.paetec.com
Headquarters: Rochester, New York
Revenue: US$1.6 billion
Employees: 4,500
Oracle products: Oracle Application Express, Oracle
E-Business Suite, Oracle Identity Management, Oracle
Internet Directory, Oracle Web Conferencing, Oracle
Communications MetaSolv Solution, Oracle Enterprise
Manager
Development Dimensions International
www.ddiworld.com
Headquarters: Pittsburgh, Pennsylvania
Revenue: US$155 million
Employees: 1,200
Oracle products: Oracle Database; Oracle E-Business
Suite, including Financials, Time and Labor, HR, and
Project Accounting
SNAP
SHOTS
LEARN about Oracle Developer Tools
otn.oracle.com/products/developer-tools
VISIT Developer Tools forums
forums.oracle.com/forums/categoryHome.jspa?categoryID=84
DOWNLOAD Oracle JDeveloper
otn.oracle.com/software/products/jdev
LISTEN to the podcast Oracle Gets Behind the Wheel on
Open Source Tools and Middleware
feeds.feedburner.com/~r/OracleOfmRadio/~3/127126878/5671669.mp3
MJ08_Developer.indd 34 3/17/08 1:41:14 PM
oracle.com/goto/soa
or call 1.800.ORACLE.1
Copyright 2008, Oracle. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.
Best
*InfoWorld, January, 2008
2008 InfoWorld
Technology of the Year Awards
*
Oracle SOA Suite
ease of implementation and affordability
make it a standout consideration.
Oracle Fusion Middleware
Hot-Pluggable. Comprehensive.
Service Oriented Architecture
omag0508p035.indd 1 3/18/08 8:25:04 PM
I
-
H
U
A

C
H
E
N
WRAPIT UP
ervice-oriented architecture (SOA)
has quickly gone from a futuristic
information technology concept to a
cost-effective way to build, integrate, and reuse
modular business services. Oracle customers
have deployed SOA applications in production
environments, and some of these customers are
using Oracle SOA Suite to take these applications
to the next level by combining them with business
process management frameworks and business
intelligence (BI) environments. According to Harish
Gaur, Oracles group product manager, Oracle
Fusion Middleware, customers see enormous
business value when they enhance their SOA
footprint with business intelligence, Web 2.0,
DESIGN, BUILD, AND SHAPE YOUR SERVICE-ORIENTED
ARCHITECTURE WITH ORACLE SOA SUITE.
3 6 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
MJ08_SOA.indd 36 3/14/08 3:33:12 PM
BY DAVI D BAUM
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 3 7
MJ08_SOA.indd 37 3/14/08 3:33:23 PM
and process modeling tools. Together, Oracle SOA Suite and
Oracle Business Process Analysis Suite, which makes it easier
to model business processes and convert them into useful
information systems, offer customers an end-to-end business
process modeling platform.
Many organizations have built rich composite applications
using Oracle SOA Suite with Oracle Application Development
Framework and Oracle WebCenter to offer self-service func-
tionality to their customers and employees, says Gaur. But
its not enough just to automate processesyou also need to
monitor and improve them. Putting a layer of BI on top of SOA
can give users tremendous insight into process performance
and help them identify deficiencies and take corrective actions.
One organization taking full advantage of these applica-
tions is ViewSonic, a global provider of computer display
products. IT pros at ViewSonic started working with SOA in
2006, mainly to integrate distribution operations more closely
with the activities of external stakeholders such as distributors
and vendors. We had problems integrating their data into our
systems, and we wanted to empower them to participate in
our core business processes, says Dipankar Basu, manager
of software applications at ViewSonic. We also wanted to
speed up certain customer-facing activities such as process-
ing rebates.
With Oracle E-Business Suite controlling more than 90
percent of the companys business processes, ViewSonic
developers needed an SOA system that integrates closely with
Oracle applications. The company uses Oracle ADF Business
Components and Oracle BPEL Process Manager, key compo-
nents of Oracle SOA Suite. Oracle BPEL Process Designer, part
of Oracle BPEL Process Manager, provides a unified design-
time environment to develop user interfaces and orchestration
services. This functionality helps Basu create automated work-
flow processes, and Oracle Web Services Manager gives his
development team a safe way to expose company data. This
makes it easier to offer new services to customers and partners
through Web-based interfaces, he says.
Basu sees two major benefits to Oracle SOA Suite: it can
be deployed with minimal resources, and it interfaces directly
with ViewSonics core applications. Moreover, it enables devel-
opers to take advantage of their existing skill sets and staff
knowledge, such as PL/SQL, Java, and Oracles open interfaces
to Oracle Forms and Oracle Reports. We have a core team of
just four developers, so we needed something that we could
deploy quickly, with minimal hand-holding, Basu says. We
picked up Oracle SOA Suite with relative ease.
Oracle E-Business Suite controls more than 90 percent of ViewSonics business
processes, says Dipankar Basu, manager of software applications.
We needed something that we could
deploy quickly, with minimal hand-
holding. We picked up Oracle SOA Suite
with relative ease.
Dipankar Basu,
Manager of Software Applications, ViewSonic
rganizations running complex IT systems,
especially those requiring partner or cus-
tomer interactions with Web interfaces, are
concerned about issues such as meeting runtime
demands, developing intermediate layers, han-
dling large XML payloads, and ensuring reliability
and scalability across varied systems. According
to Jonathan Purdy, principal solutions architect
with the Oracle Coherence team, service-oriented
architecture (SOA) can address these issues
with mature software technologies such as
midtier caching, load balancing, and high avail-
ability through service-level grid enablement.
Collectively, Oracle calls these infrastructure
components the SOA grid.
With the SOA grid, IT professionals achieve
vital support for enabling enforceable service-
level agreements across entire service ranges,
including custom enterprise system applications,
Web services, messaging, and legacy main-
frames, Purdy says. The grid transparently
solves many of the problems related to achieving
high availability, reliability, scalability, and perfor-
mance in a distributed environment.
One element of a grid-enabled environment
is the midtier caching layer, which offloads the
memory storage of a service instance across
a diverse server grid. A large data set can be
delivered to the grid as a single operation, and
the grid disperses the contents of the collection
across multiple primary and backup nodes to
improve performance and scalability, he says.
The result is information systems with faster
response time and more-predictable quality of
service, with minimal configuration overhead and
self-healing functionality to respond to server
outages. Purdy says, Oracles SOA grid helps you
achieve a successful implementation and drives
adoption of service-oriented computing initiatives.
THE SOA GRID
P
E
T
E
R

S
T
E
M
B
E
R
3 8 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
MJ08_SOA.indd 38 3/14/08 3:33:33 PM
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 3 9
The team used Oracle JDeveloper and Oracle Application
Development Framework to develop a sales allowance
program. Web-based interfaces handle special pricing requests;
direct interfaces link to external warehouses. ViewSonic now
has six major sales allowances, which let distributors request
special pricing and customers instantly process rebates. These
allowances are revealed by Web services created with Oracle
SOA Suite.
Our key service metric involves how quickly we can turn
around customer requests, says Basu. Oracle SOA Suite
helps us reduce turnaround times by more than half in most
of our interactions with external stakeholders. The entire
rebate process is now more accurate for customers and more
efficient for ViewSonic.
Before ViewSonic implemented SOA technology, the rebate
process was time consuming, requiring lots of paperwork, and
entailed a cumbersome approval process. Automation brought
single-point approval clearances. The net result is not only
a much faster turnaround, but all the data is in one place so
there is less chance of fraud, Basu adds. We also gained a
much quicker and broader reporting capability.
ViewSonic plans to use this SOA technology to create
additional customer-facing interfaces, to share other types of
information with distributors, and to forge tighter links with
suppliers. Weve proven that SOA can deliver tangible returns
in a relatively short time frame, Basu says. Oracle SOA Suite
enables our team to do more with less.
COORDINATING CRITICAL PROCESSES
SOA is changing how organizations look at and plan business
services. SOA helps organizations define critical business
services and devise a flexible model of where the business is
going, says Chris Haddad, vice president of applications plat-
form strategies at Burton Group. Once you perceive business
functions and capabilities as services, you remove the tradi-
tional impediments to human workflow reengineering.
This concept is true for Move, Inc., as developers there
strive to improve workflow processes used by distributors
and business partners. Move is the leading online consumer
destination for real estate search and for consumers seeking
the information and connections they need before, during,
and after a move. Move operates Move.com, a comprehensive
real estate search engine with exclusive access to Realtor.coms
listing content, as well as new home and rental content from
throughout the Web. The company operates in an extremely
competitive industry that requires it to bring new products to
market quickly.
Move began its SOA journey because of a need for better
integration. Following several corporate acquisitions, coordi-
nating business processes among many different information
systems and reconciling information between fulfillment and
billing was a laborious manual task. Managers also lacked
clear and timely visibility into the order-to-cash cycle. Each
system used a unique internal ID to identify customers, which
complicated the billing process. Additionally, there were mul-
tiple sources of orders and service requests, manual reconcili-
ations between orders and fulfillment, and complicated billing
and revenue recognition.
According to Manish Bhansali, Moves technology director,
the complexity of these systems and the number of manual
controls resulted in expensive auditing processes. Move
needed information systems that helped accelerate the busi-
ness rather than disrupting it or slowing it down.
Move selected Oracle SOA Suite because it integrates well
with the companys existing back-office systems, as well as with
new products that might be deployed in the future, Bhansali
says. Move uses Oracle SOA Suite to coordinate activities among
Oracles PeopleSoft financials and human resources management
applications, Oracles Siebel Customer Relationship Management
(CRM), and several Microsoft applications.
SOA technology lets us extend and evolve these applica-
tions instead of replacing them, Bhansali says.
Oracles Gaur agrees. The value of Oracle SOA Suite to
applications customers is twofold, he says. It not only
provides a certified, standards-based technology for applica-
tions customers, but it also helps them prepare for future
Oracle Applications.
Move uses Oracle BPEL Process Manager to orchestrate the
companys workflow processes in a visual, user-friendly way.
The technology shields business users from the connectivity
and structure of the applications, which is handled by Oracle
SOA Suite. Our developers simply define a process, and that
process subscribes to the Oracle Enterprise Service Bus mes-
saging standards, says Moves Bhansali. Oracle BPEL Process
Manager provides an audit trail that makes it easier for our
financial officers to respond to auditors questions.
To add analytic capabilities to its business, Move uses
Oracle Business Intelligence Suite Enterprise Edition, which
Move picked Oracle SOA Suite because it integrates well with the companys
existing back-office systems, says Technology Director Manish Bhansali.
B
O
B
A
D
L
E
R
MJ08_SOA.indd 39 3/14/08 3:33:44 PM
4 0 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
in conjunction with SOA supplies
insight into managing customers,
orders, employees, and sales. We use
BI dashboards to give salespeople a
constant view of business transactions
in real time, says Bhansali.
Finally, Oracle Customer Data Hub
creates a single source of customer
information for Move. The data hub
includes data cleansing, data dedu-
plication, and data enrichment tools
and creates cross-references among
systemsso all users and applications
can access accurate customer records.
This accelerates sales and marketing
processes, order capture and contract
processes, and customer service pro-
cesses, Bhansali says.
Thanks to SOA, information flows
to all parts of the business, easily and
rapidly, says Bhansali. As a result,
billing processes that used to take 15
days now run in 15 minutes, and dif-
ferences among platforms, software
architectures, and network protocols
are transparent.
Bhansali estimates that overall
development time has been cut by 50
percent thanks to the SOA software.
We can route, log, and enrich information without rewrit-
ing applications, and we can deploy solutions incrementally,
project by project, to better manage expenses, he notes.
IMPROVED CUSTOMER SERVICE
ABN AMRO uses Oracle SOA Suite to add cohesion to its
customer-facing applications. As one of the largest banks in
Europe and a global leader in wholesale, private, and retail
banking, ABN AMRO selected the Oracle software to create a
less-complex IT environment.
We wanted to offer new services to customers more
quickly and maintain a fast time to marketwithout encoun-
tering massive IT re-engineering, says Richard Kolkhuis
Tanke, enterprise architect for ABN AMRO. We had a busi-
ness process management structure in place, but the whole
environment was expensive and cumbersome. Creating or
adapting applications to respond to business changes impacted
many parts of the software infrastructure and thus required
major IT involvement, he says.
These issues came to the fore when the bank started re-
engineering its business processes to make it easier for custom-
ers to interact with the bank through
multiple channels. A customer should
be able to open an account on our
Web site, get halfway through the
process, then pick up the phone to call
the service hotline to add additional
information, Kolkhuis Tanke says.
After that, he might appear in person
to sign a contract, while his wife sup-
plies a signature via the internet.
The resulting architecture com-
bines these customer-facing channels
and streamlines the banks back-office
business processes around PeopleSoft
CRM. This makes the bank more
appealing to customers while giving
managers a firm grip on decision-
making, reporting, and planning.
Oracle SOA Suite automates the
development cycle and improves visi-
bility into the underlying process, says
Kolkhuis Tanke. We expect to realize
two to three times more productivity
in both development and deployment
using this SOA technology.
INVOLVE BUSINESS USERS
Involving business usersand not
just IT prosin the development
process has resulted in a product that more accurately meets
customer needs, according to Kolkhuis Tanke. Further, the
functionality is more likely to be reused, which lowers long-
term development costs.
Ultimately, we have a more stable and available environ-
ment and can respond to new business opportunities more
quickly, he says. Oracle worked with us to help us achieve
our goals for this project. O
David Baum (david@dbaumcomm.com) is a freelance business writer based in
Santa Barbara, California.
Oracle SOA Suite automates the development cycle and improves visibility into the
underlying process. We expect to realize two to three times more productivity.
Richard Kolkhuis Tanke, Enterprise Architect, ABN AMRO
ViewSonic
www.viewsonic.com
Headquarters: Walnut, California
Industry: Computer hardware
Employees: 800
Oracle products: Oracle SOA Suite, Oracle BPEL
Process Manager, Oracle Web Services Manager, Oracle
Database 11g, Oracle E-Business Suite, Oracle Portal
Move, Inc.
www.move.com
Headquarters: Westlake Village, California
Industry: Online real estate search engines
Employees: 1,600
Oracle products: Oracle SOA Suite, Oracle Business
Intelligence Enterprise Edition, Oracle BPEL Process
Manager, Oracles PeopleSoft financials and human
resources management applications, Oracles Siebel
Customer Relationship Management (CRM)
ABN AMRO
www.abnamro.com
Headquarters: Amsterdam
Industry: Banking
Employees: 107,000
Oracle products: Oracle SOA Suite, Oracle BPEL
Process Manager, Oracle Enterprise Service Bus, Oracle
Database 11g, PeopleSoft CRM, PeopleTools Enterprise
SNAP
SHOTS
READ more about
Oracle SOA Suite
oracle.com/technologies/soa/soa-suite.html
Oracle BPEL Process Manager
otn.oracle.com/products/ias/bpel
DOWNLOAD Oracle SOA Suite
otn.oracle.com/software/tech/soa
MJ08_SOA.indd 40 3/14/08 3:33:52 PM
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 4 1
ast-growing companies need to make efficient use of all
their resources, including personnel and information
technology. And many fast-growing companies choose
Microsoft Windows as their operating system and develop-
ment platform because its familiar on the desktop and in
the data center.
If I already have Windows and Windows expertise in
house, why not use that platform? says Jim Shepherd, senior
vice president with AMR Research, explaining what partly
fuels Windows loyalty.
Sticking with Windows is especially attractive when com-
panies team it with Oracles database, middleware, and enter-
prise applications. The self-managing characteristics of Oracle
Database reduce maintenance costs and DBA management
burdens associated with other databases. At the same time,
sophisticated technologies such as Oracle Real Application
Clusters (Oracle RAC) bring high availability and scalability to
Windows implementations.
Shepherd also credits Oracle for its history of supporting a
variety of hardware and operating system platforms, including
Windows. Oracle knows how to do these ports, how to test
them, and how to make everything work, Shepherd says.
ARCHITECTURAL FLEXIBILITY
Supporting the Windows platform alone has some limita-
tions: for example, Microsoft SQL Server runs only on the
Windows operating system, thus limiting users architectural
flexibility. By contrast, Oracle Database supports Windows,
Linux, and UNIX, as well as .NET applications and industry-
standard Java/Java Platform, Enterprise Edition; C/C++; and
PHP programs.
The Oracle on Windows combination lets organizations
BY ALAN JOCH
J
U
P
I
T
E
R

I
M
A
G
E
S
ENERGIZING
THE EFFICIENT ENTERPRISE
COMPANIES SEE SUCCESS WITH THE POWER OF ORACLE ON WINDOWS.
MJ08_WINDOWS.indd 41 3/17/08 3:59:35 PM
4 2 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
pick and choose the capabilities that best
address their individual needs. For example,
Solutia takes advantage of Oracle RAC and the
Oracle Enterprise Manager central manage-
ment console to achieve high availability in its
Oracle on Windows implementation. Based in
St. Louis, Missouri, Solutia is a US$3.8 billion
global performance materials company. Its
businesses include nylon plastics and fibers,
interlayers used in laminated glass for automo-
tive and architectural applications, and spe-
cialty chemicals.
APPLICATION AVAILABILITY
Solutia relies on Oracles PeopleSoft Enterprise
for payroll applications, but for production,
shipping, and logistics applications in its South
Carolina and Florida production facilities, the company runs
two-node clusters built on Microsoft Windows Server 2003
running Oracle Database and Oracle RAC. Solutia built the
front ends of these homegrown applica-
tions using C# and .NET.
This Oracle on Windows environment
works well for Solutia, according to Sachin
Kothari, manager of corporate applications
and systems integration. Standardizing on
this environment offers cost benefits and
gives us a commonality of expertise, he
says. We have some cost benefits from a
licensing standpoint, but in terms of staff-
ing and supportability, we dont need as
many skill sets. When you focus on one
platform, you can combine systems or
databases into fewer servers. Everything is
easier when you have fewer environments
to support.
Demonstrating the flexibility of this
environment, Solutia presents the appli-
cations to users with a Citrix thin-client
interface or, in some cases, a Windows
Mobile front end.
Pretty much all of the processes at
the plants somehow touch our Oracle
database, so we needed to make the
system highly available, Kothari says.
High availability means two things to Kothari. First, theres
minimizing planned downtime to add security patches or
perform other maintenance tasks on
servers and related systems. Thanks to
Oracle RAC, the company patches the
operating system by shutting down select
nodes, completing the upgrade, and then
shifting the workload to the remaining
nodes. Dynamic load allocation also miti-
gates the negative impact of unplanned
downtime. Oracle RACs automatic
failover capabilities keep server blade
failures and other unexpected events from
disrupting production. Since Solutia has
run Oracle Database and Oracle RAC on
Windows, the company hasnt had any
instances of downtime, Kothari says.
THE POWER OF WINDOWS AND ORACLE
Oracle Database and Oracle RAC
users such as Solutia can take advantage
of Oracle Data Provider for .NET
(ODP.NET), which provides optimized
ADO.NET data access to Oracle Database,
according to Santanu Datta, Oracle senior
director, database development.
All of the processes at the
plants somehow touch our Oracle
database, so we needed to make
the system highly available.
Sachin Kothari, Manager of Corporate
Applications and Systems Integration, Solutia
Running Oracle in a Windows environment works well, according to Solutias Sachin Kothari. When
you focus on one platform, you can combine systems or databases into fewer servers. Everything is
easier when you have fewer environments to support.
W
I
L
B
O
R
N
A
N
D
A
S
S
O
C
I
A
T
E
S
Solutia
www.solutia.com
Headquarters: St. Louis, Missouri
Industry: Performance materials and
specialty chemicals
Employees: 6,000
Oracle products: Oracle Database 10g,
Oracles PeopleSoft Enterprise, Oracle Real
Application Clusters, Oracle Enterprise
Manager 10g, Oracle Data Provider for .NET
Siemens Shared Services
www.siemens.com
Headquarters: Orlando, Florida
Industry: Shared services for Siemens
U.S. divisions
Employees: 74,000 (North America)
Oracle products: Oracle Database,
Oracles PeopleSoft Enterprise, Oracle Real
Application Clusters, Oracle Partitioning,
Oracle Enterprise Manager 10g, Oracle
Automatic Storage Management
SNAP
SHOTS
MJ08_WINDOWS.indd 42 3/17/08 4:00:01 PM
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 4 3
Thanks to Oracle Developer Tools for
Visual Studio and ODP.NET, companies
can use Microsofts Visual Studio and C#
or VB.NET to develop .NET applications
that access Oracle Database and use its full
power including Oracle RAC, advanced
security, and support for complex data-
types, Datta says.
With transparent Oracle RAC sup-
port in ODP.NET, companies can leverage
Oracle RAC with Windows without having
to modify their .NET applications, he says.
ECONOMICAL SCALABILITY
To achieve its efficiency goals, Siemens
Shared Services decided six years ago to
move its PeopleSoft Enterprise human
resources applications from a client/
server architecture to a Web implemen-
tation that allows managers and employ-
ees to view and edit their records.
The organizations main data center in
Orlando, Florida, operates a large Oracle
Database on Windows implementa-
tion for central processing of payroll,
employee self-service, manager self-service,
and HR reporting for Siemens divisions
across the United States. The Web self-service project prom-
ised big changes.
Suddenly instead of having 50 or 60 users online process-
ing payroll, we have several thousand people in different time
zones who are updating their payroll information and chang-
ing their addresses, says Steve Montgomerie, senior Oracle
DBA at Siemens Shared Services.
That meant the system now had to accommodate vastly
more users and maintain high performance levels throughout
the day and night. With our PeopleSoft environment we do
a lot of overnight batch processing, so even a server failure at
2 a.m. hurts us, Montgomerie says.
When it committed to the Web applications, the company
installed a two-node cluster running Oracle Database and
Oracle RAC on Windows. We were able to scale horizontally
and, by adding more servers, we could better manage the
load, he says.
A COMBINATION FOR THE FUTURE
Montgomerie points out that commodity-server clusters repre-
sent an industrywide change in thinking.
The RISC processor used to be king of the hill. But now
Intel and AMD have really stepped up with faster processors,
and memory is so cheap that machines now come standard
with 16 gigs of RAM, Montgomerie says. We can launch
large memory implementations and support really large
systems to take advantage of commodity-priced hardware.
In the months ahead, Siemens Shared Services will com-
plete its application tier upgrade running on Oracle Database,
which will continue to leverage Windows. What convinced
Montgomerie that the Oracle Database on Windows combina-
tion is the right choice for the future?
Once we set up the environment, we found that, aside
from Windows patches and small configuration changes, its
almost maintenance-free, he says. And we basically dont
touch the databaseit just runs. O
Alan Joch (ajoch@worldpath.net) is a technology writer based in New England who
specializes in enterprise, Web, and high-performance-computing applications.
Steve Montgomerie, senior Oracle DBA, says that Siemens Shared Services will continue to leverage
Windows and Oracle. We found that, aside from Windows patches and small configuration changes, its
almost maintenance-free. We basically dont touch the databaseit just runs.
GET STARTED with Oracle on Windows DVD
oracle.com/goto/powertogrow
READ about Oracle Database 11g on Windows
oracle.com/technologies/microsoft
VISIT the Windows Server System Center
otn.oracle.com/tech/windows
DOWNLOAD
Oracle Database 11g
otn.oracle.com/software/products/database
Oracle Developer Tools for Visual Studio
otn.oracle.com/software/tech/dotnet/odtxe_index.html
C
H
A
R
I
T
Y

D
E

M
E
E
R
MJ08_WINDOWS.indd 43 3/17/08 4:00:20 PM
BY STEVE MUENCH
d e v e l o p e r FRAMEWORKS
4 4 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
Enlightened Development
Simplifying common navigation and coding tasks
n this column, we exercise several
new features in the upcoming Oracle
JDeveloper/Oracle Application
Development Framework (Oracle
ADF) 11g release that improve developer
productivity. Well see firsthand how they
simplify working with your Oracle ADF
applications components and pages.
To continue, download the starter
workspace at otn.oracle.com/oramag/
oracle/08-may/o38frame.zip and ensure
that youre using the Oracle JDeveloper
11.1.1.0 Technology Preview 3 release,
available as a free download on Oracle
Technology Network at otn.oracle.com/
products/jdev/11. Start by extracting the
contents of the o38frame.zip file and
opening the FrameworksMayJun2008
.jws workspace in Oracle JDeveloper.
Note that the Model project in the
starter workspace defines a familiar Emp
entity object, an EmpView view object,
and an HRModule application module.
The ViewController project defines
SearchEmployees.jspx and EditEmployee
.jspx pages that allow searching for
employees and editing a given employees
data, respectively. Before proceeding,
adjust the properties of the scott con-
nection in the Application Resources
zone of the Application Navigator until
you can successfully test a connec-
tion to a SCOTT schema. If you need
to create the tables, use the provided
CreateDeptEmpTables.sql.
As the last step in this column, we fix
a bug in the sample application, so we
wont run it until the end.
EXPLORING COMPONENT RELATIONSHIPS
Weve seen enough examples in previ-
ous columns to know that Oracle ADF
empowers us to build sophisticated,
cleanly layered business solutions that
rely on a metadata-driven implemen-
tation of all the typical application
functionality. However, understanding
how all of the different components
are related isnt always straightforward.
Oracle JDeveloper 11g includes new
design time features to simplify the task
of understanding and navigating the
relationships between components. To
observe these features in action, lets start
with a Web page and see how easily we
can follow the links from a particular
component on the user interface back
through the Oracle ADF Model layer to
the view object that queries the data and
the entity object that handles its trans-
actional behavior and validation. Well
start with the EditEmployees.jspx page
and navigate to the related entity object
to see its validation rules.
With the sample workspace,
FrameworksMayJun2008.jws, open in
the Application Navigator, first select
the ViewController project. To quickly
navigate to the EditEmployee.jspx Web
page, select Navigate -> Go to File from
the main menu. When the Go to File
dialog box appears, type the letter e to
display a subset list of files including only
those whose names start with that letter.
Continue by typing the letter d, and note
that the EditEmployee.jspx page and its
page definition are now the only entries
in the list. Select EditEmployee.jspx
from the list, and press the Enter key; the
page opens in the visual editor. (In a large
application, this Go to File feature will
save you time, so note its key accelerator:
Ctrl-Alt-[-].)
With the Design tab selected, right-
click the Sal.inputValue text field UI
component in the visual editor and
select Goto Binding. This changes
the active tab of the visual editor to
the new Bindings tab, which shows a
visual representation of the page defini-
tion for the current page, with the Sal
binding related to the text field you
clicked selected. Connector lines indi-
cate that the Sal attribute comes from
the EmployeesIterator binding, which
binds to the Employees data collection
in the HRModuleDataControl data
control. (In the Technology Preview 3
release, you may have to select a dif-
ferent binding such as Hiredate from
the list and then select the Sal binding
again so the connector lines show cor-
rectly.) Armed with this information,
expand the Data Controls section
of the Application Navigator and the
HRModuleDataControl node inside it.
Right-click the Employees data collec-
tion and select Edit Definition to open
the overview editor for the view object
related to that data collection. Click the
Entity Objects tab of the editor, and
select the Emp entity usage from the
Selected list. Note the Definition hyper-
link that appears below the list. This is
the name of the entity object that par-
ticipates in this view object. Click that
oramag.model.Emp link to open the
overview editor for the Emp entity object.
Click the Attributes tab of the editor,
and click the Sal attribute in the table.
Expand the Validation Rules section to
see Sal Range(1,5000). So in a few clicks,
we have navigated from the user interface
component to its binding, to the related
view object and entity object.
FINDING USAGES
Next, lets navigate in the other direc-
tion. Well start with the Sal attribute in
the Emp entity object and see how to
discover which view objects reference
that entity attribute and, in turn, which
page definitions reference that view object
attribute. With the Emp entity object
open in the overview editor, click the
Attributes tab, right-click the Sal attri-
bute in the table, and select Find Usages.
A new tab called Emp.Sal appears in
MJ08_FRAMEWORKS.indd 44 3/17/08 12:34:24 PM
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 4 5
framework class, you cant navigate to
it. Press the Backspace key to widen
the list of methods again, and use
Quick Outline to navigate to the
prepareRender method by selecting it
in the narrowed method list and press-
ing the Enter key. (To further simplify
your debugging, when the production
release of Oracle ADF 11g becomes
available, you can request the full
Oracle ADF source code by opening an
OracleMetaLink service request.)
The last two code navigation fea-
tures well explore are the quick peek
and the tasks window. Notice the
colored bands in the overview margin
on the far right edge of the code editor
for the CustomPageController class.
If you hold your cursor over any
band, a floating window will appear,
offering a quick peek at the relevant
source code lines, along with a heading
explaining why the band is there. For
example, holding the cursor over the
first, peach-colored band, youll see
the onRemoveWithKey method and
a heading that says, Parameter ctx
not used. (You can double-click the
band to navigate to it.) You can access
a similar quick peek feature from the
Structure window by holding the Ctrl
key down while hovering over a method
name. (Again, you can double-click the
method name to navigate to it.)
Next, choose View -> Tasks from
the main menu to show the Tasks
tab and window. The tab lists all the
places in your code where you have
left TODO comments as a reminder
that some work is left to be done. For
example, there is a Fix this code task
for the CustomPageController class.
Double-click the task to navigate to the
relevant line. In the next section, well
fix this code with the help of one more
productivity feature.
USING CODE ASSIST SUGGESTIONS
In the CustomPageController.java
file, find the onRemoveRowWithKey()
method, an event handler that will
trigger whenever an end user inter-
acts with a page that uses the built-in
RemoveRowWithKey operation to
the log window, showing all the usages
of this entity attribute. We can see that
the EmpView view object references the
Emp.Sal attribute. Next, click the line
in the Emp.Sal log window that reads
EntityAttrName=Sal (it is indented
beneath the EmpView.xml node). This
brings you to the XML Source tab of
the EmpView view object editor, to the
line that references the Sal entity object
attribute. Click the Overview tab to
switch to the overview editor, and click
the Attributes tab. Right-click the Sal
attribute, and again select Find Usages.
An EmpView.Sal log window tab
appears, showing the two page defini-
tions that reference this Sal view object
attribute: EditEmployeePageDef and
SearchEmployeesPageDef. So again weve
seen that its easy to find which compo-
nents are using other components to do
impact analysis or just to better under-
stand how the application components
are related. The Find Usages feature we
used on Oracle ADF components here
works with Java classes as well.
NAVIGATING AROUND CODE
Although you can use the Go to File
feature to find any Java source file in
your application, Oracle JDeveloper
offers a specific feature to find any Java
class in your workspace, in the core
Java Developers Kit (JDK) library, or in
any other library your project uses. For
example, to quickly find the source file
of the java.util.ArrayList class, choose
Navigate -> Go to Java Class from
the main menu or press the Ctrl-[-]
key accelerator. When the Go to Java
Class dialog box appears, type the initial
characters of the class name ArrayList
until the list reduces enough for you to
select ArrayList (java.util) by using the
arrow keys and pressing the Enter key.
Note that you did not have to remember
the package name and that you can use
combinations of uppercase and lower-
case letters to more quickly reduce the
list. For example, if you were to type
ArLi, you would find any classes in any
packages whose name contains Ar fol-
lowed by Li, including ArrayList. You
can also use the asterisk as a wildcard
character. For example, typing the name
*Listener*Impl would match any class
whose name contained Listener and
ended with Impl. Also note, in the
Go to Java Class dialog box, that the
Go to radio group enables you to select
either Source or Javadoc. By setting
this option appropriately, you can also
quickly jump to the Javadoc API refer-
ence documentation for any class.
In the Go to Java Class dialog box
(open it with Navigate -> Go to Java
Class from the main menu, or press
the Ctrl-[-] key accelerator), find the
CustomPageController class in the work-
space. Once you have the source of any
Java class in the code editor, you can use
several additional code navigation tools
to further explore related classes. Note
that the Structure window shows you
an outline of the methods in the current
class as well as the name of the class it
extends (PageController).
Lets use the Structure window to
quickly navigate to a method in a class
by name. Click in the Structure window
(or press Ctrl-Shift-S), begin typing
the method name prepare, and see the
search find the first matching method,
prepareModel. You can either con-
tinue typing to make the method name
unique or use the arrow keys to select
the prepareRender method. When you
press the Enter key, the cursor moves in
the code editor to the selected method.
Note that the Structure window shows
only the methods in the current class.
To quickly navigate to any method
in a class, including those inherited
from superclasses, use Quick Outline
instead. From the code editor, select
Navigate -> Quick Outline (or press
Ctrl-Shift-`). When the Quick Outline
window appears over the code editor,
note that by default it presents methods
sorted by class. (Using the toggle
button on the far right, you can change
the way the methods are sorted.) Begin
typing val, and note that the list is nar-
rowed to include methods that contain
val, such as validateModelUpdates
from the PageController superclass;
however, because you wont have the
source code for this base Oracle ADF
MJ08_FRAMEWORKS.indd 45 3/17/08 12:35:10 PM
4 6 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
FRAMEWORKS
READ more Frameworks
otn.oracle.com/oramag/oracle/frameworks
READ more about Oracle
JDeveloper and Oracle ADF
otn.oracle.com/products/jdev
otn.oracle.com/products/jdev/tips/muench/
designpatterns
Oracle ADF Developers Guide
otn.oracle.com/documentation
DOWNLOAD
Oracle JDeveloper 11g
Technology Preview
otn.oracle.com/products/jdev/11
Starter workspace for this column
otn.oracle.com/oramag/oracle/08-may/
o38frame.zip
delete a row. This custom code aug-
ments the default row-delete processing
by immediately causing the transaction
to commit as well.
Weve left a TODO comment in the
code to remind ourselves to fix a problem
on the line that reads JUCtrlActionBinding
oper = null. Replace the null on
that line with ctx, the name of the
PageLifecycleContext parameter, followed
immediately by a dot (.). This causes a
list of available methods to appear. Begin
typing the first few letters of the
getEventActionBinding() method name to
quickly reduce the list, and then choose
that method by pressing the Enter key.
At this point, a red, wavy line
appears below the method call, indi-
cating a compilation error. Hold your
cursor over ctx.getEventActionBinding()
to see a tool tip that explains that
there is a missing cast because
getEventActionBinding() is returning an
interface; we want to use the concrete
class instead. Also notice the Code
Assist lightbulb that appears in the
left margin. Click that icon to display
the menu of Code Assist suggestions
for correcting the problem. Select the
first option in the list: Cast To . . .
JUCtrlActionBinding. This fixes the
problem automatically. (By using the
Ctrl-Alt-Enter key combination, you can
apply Code Assist suggestions without
using the mouse as well.) At this point,
you can test the application by right-
clicking the SearchEmployees.jspx
page in the Application Navigator and
selecting Run.
I hope this quick overview of
Oracle JDeveloper 11gs code and com-
ponent navigation features will prove
useful to you as you continue to check
out the new features in the upcoming
production release. For more infor-
mation, see the draft of the Fusion
Developers Guide for Oracle Application
Development Framework, available with
the Oracle JDeveloper 11g Technology
Preview 3 release. O
Steve Muench is a consulting product manager for
Oracle JDeveloper and an Oracle ACE. Since 1990
he has developed and supported Oracle tools and
XML technologies and continues to evangelize them.
Muench coauthored the Oracle ADF Developers Guide
for Forms/4GL Developers (Oracle, 2006) and shares
tips and tricks on OTN (otn.oracle.com) and in his Dive
into ADF blog (radio.weblogs.com/0118231).
Oracle HCM User? Were rolling out the red carpet for you!
The Global OHUG 2008 Conference
June 22
nd
- June 25
th,
2008
The Mirage Hotel, Las Vegas, Nevada
3hare experienoes in using
0raole

produots and servioes


with other 0Pu0 members and
learn from their experienoes.
lntuenoe direotion and improve
the produots through oommunioa-
tion and oooperation with 0raole

.
Provide a forum for sharing
knowledge and news from all
souroes with other 0Pu0
members.
Lnoourage broad use of the
produot through dialogue with
prospeotive oustomers.
Aohieve maximum business value
from our investment in 0raole


produots.
Register today at: www.ohug.org.
Mention this ad when registering
and save 10. Aooess Code:
0RACLLMA0
Join us!
Membership is free.
Oracle Human Capital Management User Group
Cedar Hill, TX 75106-1412
Why attend?
MJ08_FRAMEWORKS.indd 46 3/17/08 12:35:29 PM
BY DAVI D PEAKE
d e v e l o p e r BROWSER-BASED
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 4 7
The Power of Two
Use Oracle SQL Developer to aid Oracle Application Express development.
racle Application Express and
Oracle SQL Developer are
no-cost tools that both work
with Oracle Database versions
9.2 and above. Not only can Oracle
SQL Developer help you develop data-
base applications but it also lets you
browse, export, import, deploy, and
remotely debug your Oracle Application
Express applications.
This column introduces the ways
Oracle SQL Developer and Oracle
Application Express work together to
aid your development efforts. Well
see how to browse Oracle Application
Express information from within Oracle
SQL Developer. Then well walk through
an example of remotely debugging a
browser-based applications PL/SQL
code from Oracle SQL Developer.
OVERVIEW
Using Oracle SQL Developer in con-
junction with Oracle Application
Express, you can browse across mul-
tiple applications and pages and drill
down to specifics quickly. For example,
in Oracle Application Express, you
need two browsers to view the code
for two lists of values (LOVs) in two
applications simultaneously. In Oracle
SQL Developer, this task is as simple
as expanding both applications in
Connections Navigator. Oracle SQL
Developer also provides several very
useful and detailed reportsabout
applications, pages, schemas, and
workspacesspecifically for Oracle
Application Express (under Data
Dictionary Reports).
Oracle SQL Developer lets you
export, import, and deploy applications
across multiple workspaces, instances,
and databases. Right-clicking the appli-
cation name invokes a context menu
that lets you move the application and
its supporting objects from one work-
space to another. This capability is espe-
cially useful for deploying applications
from your development environment to
testing or production.
You can copy SQL code from your
Oracle Application Express regions,
LOVs, and validations; paste it into
a SQL worksheet in Oracle SQL
Developer; and execute the query.
Oracle SQL Developer lets you enter
values for the bind variables and run
explain plan or autotrace against the
query to identify performance issues
and tune the SQL.
This columns examples require
Oracle Application Express 3.0.1 or
above and Oracle SQL Developer
1.2.1 or above. (Note that you cannot
perform the examples steps on the
hosted version of Oracle Application
Express at apex.oracle.com.) You also
need an Oracle Application Express
workspace associated with the sample
HR schema available in the default data-
base installation.
BROWSING ORACLE APPLICATION EXPRESS
INFORMATION
In Oracle SQL Developer, create a con-
nection to the HR schema. See the
Oracle SQL Developer column Making
Database Connections in this issue of
Oracle Magazine for step-by-step instruc-
tions on making connections from
Oracle SQL Developer to a database.
Once the connection is established,
you can see an Application Express
node under the HR connection in
Connections Navigator, as shown
(under the XE DPeake connection) in
Figure 1.
You can now browse the HR users
Oracle Application Express applications,
using the detail tabs in Oracle SQL
Developer, as shown in Figure 2.
REMOTE DEBUGGING
You can use Oracle SQL Developer to
debug PL/SQL remotely. This capability
is especially useful when an application
isnt failing but also isnt producing the
results you expect. As an exercise, follow
these steps to debug a procedure in the
asset manager packaged application
deployed in Oracle Application Express:
Step 1: Obtain and install the packaged
application. Download, import, and
deploy the asset manager application in
Oracle Application Express.
1. Download asset_manager_1.0.zip
from otn.oracle.com/products/database/
application_express/packaged_apps/
packaged_apps.html#ASSETS, and save
the file locally.
2. Unzip the file.
3. In Oracle SQL Developer, connect to
the HR schema.
4. Right-click the Application Express
node under HR in Connections
Figure 1: Oracle Application Express node in Oracle
SQL Developer
MJ08_BROWSER.indd 47 3/13/08 2:26:37 PM
4 8 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
BROWSER-BASED
Navigator, and select Import
Application.
5. Browse to and open the unzipped
asset_manager_1.0 folder, and select
the asset_manager_installer_1.0.sql
file.
6. Click Next.
7. Click the Run Install Script check
box (see Figure 3), and click Next.
8. Click Finish.
9. Click OK in the success window.
Step 2: Configure Oracle SQL Developer for
remote debugging. Set up Oracle SQL
Developer for debugging the applica-
tions EBA_ASSET.update_status
procedure remotely.
1. In Oracle SQL Developer, connect
to the database as a user with DBA
privileges.
2. Enter the following code in the SQL
worksheet. If necessary, replace PUBLIC
with the user defined to run Oracle
Application Express in mod_plsql.
(PUBLIC is correct if youre using
Oracle Database 10g Express Edition.)
grant DEBUG CONNECT SESSION to HR;
grant DEBUG on HR.EBA_ASSET to PUBLIC;
3. Click Run Script (or press F5).
4. Connect as HR.
5. In Connections Navigator, open the
Packages node and click EBA_ASSET.
6. Right-click EBA_ASSET Body, and
select Edit.
7. Right-click in the margin on the detail
pane, and select Toggle Line Numbers.
8. Scroll down to line 113, right-
click in the margin, and select Toggle
Breakpoint.
9. Right-click in the main body, and
select Compile for Debug. (Note that
running a package in debug mode
severely hampers performance. Once
testing is complete, you should recom-
pile the package.)
10. Right-click HR in Connections
Navigator, and select Remote Debug
(see Figure 4).
11. Click OK.
Step 3: Configure Oracle Application Express
for debugging. Set up Oracle Application
Express to debug the EBA_ASSET
.update_status procedure:
1. Log in to Oracle Application Express
tcp(localhost,4000);
END IF;
eba_asset.update_status(:P11_ASSET_ID);
IF :DEBUG = YES THEN
dbms_debug_jdwp.disconnect;
END IF;
This code is designed to fire only
when the page is run in DEBUG mode.
The second IF statement disconnects
the debugging session.
as HR.
2. Click Application Builder.
3. Click Asset Manager 1.0.
4. Click Page 11 Inventory Details.
5. Under Processes, click Update Asset
Status.
6. In the Source box, replace the exist-
ing code with the following:
IF :DEBUG = YES THEN
dbms_debug_jdwp.connect_
Figure 2: Detail tabs for an application
Figure 3: Importing and deploying an application
MJ08_BROWSER.indd 48 3/13/08 2:26:57 PM
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 4 9
7. Click Apply Changes.
Step 4: Run the application. Run the
asset manager application in Oracle
Application Express, first normally and
then in DEBUG mode.
1. In Oracle Application Express, navi-
gate back to page 1 and click Run.
2. Log in as HR.
3. Select Assets.
4. Click the edit icon for any asset
record.
5. Click the edit icon for an inventory
record in that asset record. Change
the status value.
6. Click Apply Changes. The applica-
tion performs normally, because its not
in DEBUG mode.
7. Click on the edit icon for the same
inventory record.
8. Click Debug in the developer toolbar.
9. Change the status value, and click
Apply Changes.
10. Oracle SQL Developer should now
have the desktop focus. (If not, the
application will show a partially com-
plete process and you should navigate
to Oracle SQL Developer manually.)
11. Use the Oracle SQL Developer
debugging controls to resume, step over,
and step into the procedure (see Figure
5). As you step through the procedure,
you can see the data values change.
Once the procedure finishes execut-
ing, the remote debugger disconnects.
You can use remote debugging to
step through complex PL/SQL process-
ing thats not performing its intended
function. Reviewing the data values as
you step through the program helps you
identify incorrect logic.
CONCLUSION
You can use Oracle SQL Developer
to perform the following tasks as
you develop your Oracle Application
Express applications:
O Navigate rapidly through all your
applications components
O Export, import, and deploy
applications
O Tune SQL
O Remotely debug PL/SQL
The combination of Oracle SQL
Developer and Oracle Application
Express can give your Web application
development efforts a significant pro-
ductivity boost. O
David Peake (david.peake@oracle.com) is a principal
product manager in Oracles Server Technologies
division. He has been with Oracle since 1993.
Figure 4: Oracle SQL Developer configured for remote debugging
READ more Browser-Based
otn.oracle.com/oramag/oracle/browser
LEARN more about
Oracle Application Express
apex.oracle.com
Oracle Application Express/
Oracle SQL Developer integration
otn.oracle.com/products/database/application_
express/html/sql_dev_integration.html
DOWNLOAD Oracle Application
Express
otn.oracle.com/products/database/application_
express/download.html
UPGRADE Oracle Application
Express within Oracle Database 10g
Express Edition
otn.oracle.com/products/database/application_
express/html/3.1_and_xe.html
Figure 5: Remote debugging in Oracle SQL Developer
MJ08_BROWSER.indd 49 3/21/08 1:57:05 PM
Writtcn by Icading OracIc profcssionaIs, OracIc Prcss books offcr thc most dcnitivc, compIctc,
and up-to-datc covcragc of OracIc products and tcchnoIogics avaiIabIc. Wc'vc bccn thc prcmicr
sourcc for OracIc information for morc than a dccadc, and thc tradition continucs with thc
rcIcasc of OracIc Databasc 11g.
(=(03()3,,=,9@>/,9,*647<;,9)662:(9,:63+
}on the Cruce lress Communty to be the rst to heur ubout
nev Cruce lress reeuses und specu oers ut
^^^6YHJSL7YLZZ)VVRZJVT
OracIc Databasc 11g Ncw fcaturcs
Robet| C. Iteeman
ucky nd out ubout u the
revoutonury nev eutures uvuube
n Cruce Dutubuse llg so you cun
pun or upgrudes or mgrutons.
OracIc Databasc 11g
DBA Handbook
Bob Bty|a and Iev|n Ioney
1he bestseng, comprehensve
gude to Cruce dutubuse
udmnstruton hus been uy revsed
und upduted or the nev reeuse.
OracIc Automatic Storagc Managcmcnt
Lnder-the-Hood & lructcu Depoyment Cude
!|||n Vengut|elat, Muta|| Va||a|h, and
R|ch Iong
Bu||d and manage a sca|ab|e, h|gh|y
ava||ab|e s|otage |n|tas|tuc|ute u||h Ctac|e
u|oma||c S|otage Managemen| (SM).
OracIc Databasc 11g SQl
/ason It|ce
Access Cruce dutubuses through
SL stutements, construct lL/SL
progrums, und use SL lus und SL
Deveoper n the nev dutubuse reeuse.
OracIc Databasc A]AX & PHP
Wcb DcvcIopmcnt
Iee Batney and M|chae| McIaugh||n
ud und depoy hghy responsve
dutu-drven \eb 2.0 uppcutons.
OracIc Databasc 11g Pl/SQl
Programming
M|chae| McIaugh||n
Desgn und dever robust,
euture-rch lL/SL uppcutons.
Untitled-5 1 3/18/08 8:38:41 PM
BY STEVEN FEUERSTEI N
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 5 1
d e v e l o p e r PL/SQL PRACTICES
On the PGA and Indexing Collections
Best practices for knowing your PGA impact and indexing collections
y DBA wants me to reduce the
amount of PGA (program global
area) memory I use in my
collection-based programs. Isnt it
the DBAs job to manage memory, and if it isnt,
how am I supposed to know how much PGA
memory I am using?
Sure, it is ultimately the responsi-
bility of the database administrator to
analyze memory usage and to either
make the necessary adjustments in the
database configuration or recommend to
the developers what should be changed
in their code.
Having said that, I strongly encour-
age all developers to become as aware of
and as involved as possible in all aspects
of deployment of your code, to ensure
the best-possible results for your users.
It is certainly possible, for example,
for you to measure the amount of PGA
memory your program uses. To do so,
however, you will need to go back to
your DBA and ask that person to grant
SELECT privileges to your schema on
the following views:
SYS.V_$SESSION
SYS.V_$SESSTAT
SYS.V_$STATNAME
Once you can query from these views,
compile the show_pga_memory proce-
dure, shown in Listing 1 (and included
in the show_pga_memory.sp file in the
sample code download for this column,
at otn.oracle.com/oramag/oracle/08-
may/o38plsql.zip), in your schema. You
can then call show_pga_memory after
running your application code to see
how large the PGA has become.
When I used this procedure to test
BULK COLLECT with different LIMIT
clause values, I found that the size of
my PGA ranged from 4,613,072 bytes to
46,883,792 bytes.
INDEXING COLLECTIONS
I want to use associative arrays to quickly look
up an office product name for a given product
number and a product number for a given
product name. Product names are unique, and
product numbers are integers. I see how I can
use the product number as the index value
in my collection of names, but I also need to
reverse the process and find a product number
for a given product name. Can I create another
index on a collections contents?
A collection has only one index,
which is defined explicitly in associative
array types with the INDEX BY clause (as
integer or string) and implicitly in nested
table and varray types (as integer only).
So if you need to find the index
value (location) at which a given
element resides, you will have to do
one of the following:
O Scan the contents of the collection
until you find a match.
O Construct a second collection that will
emulate (act like) an index on the first or
primary collection.
I demonstrate both of these tech-
niques below, based on a set of office
product data that is initialized within the
package body.
Scan until you find it. First, I create a
package whose specification includes a
collection of product names, as shown in
Listing 2.
Suppose I have the name of the pro-
duct and want to find its index value so
that I can remove that element. Listing 3
contains the product_lookup1 function,
which scans the collection until it finds a
match on the name.
This is a very simple program, easy
to understand and maintain. Yet it may
perform inefficiently for large collec-
tionsespecially if I try to locate the
index value for a name that is not in the
list. To do so, I would have to scan the
full contents of the collection. Clearly,
Id rather not have to look through the
collection element by element.
Emulating a table column index. A much
better approach is to follow the example
CREATE OR REPLACE PROCEDURE show_pga_memory (
context_in IN VARCHAR2 DEFAULT NULL
)
IS
l_memory NUMBER;
BEGIN
SELECT st.VALUE
INTO l_memory
FROM SYS.v_$session se, SYS.v_$sesstat st, SYS.v_$statname nm
WHERE se.audsid = USERENV (SESSIONID)
AND st.statistic# = nm.statistic#
AND se.SID = st.SID
AND nm.NAME = session pga memory;
DBMS_OUTPUT.put_line ( CASE
WHEN context_in IS NULL
THEN NULL
ELSE context_in || -
END
|| PGA memory used in session =
|| TO_CHAR (l_memory)
);
END show_pga_memory;
codeLISTING 1: show_pga_memory procedure
MJ08_PLSQL.indd 51 3/13/08 1:12:06 PM
5 2 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
PL/SQL PRACTICES
package body in Listing 5.
I have, first of all, changed the
structure of the body, having moved
the lines of code used to populate the
names collection into its own initialize
procedure. I then call that procedure in
the initialization section of the package.
I find it easier to maintain such code
in its subprogram than to have a long,
complex block of code at the end of my
package. Also, I could now, if necessary,
expose this subprogram in the package
specification so that it can be reinitialized
as needed during a session.
The initialize procedure itself con-
tains a local procedure, add_product,
that takes a name and does two things:
O Adds that name to the list of names
of Oracle Database. If you want to quickly
find a row in a table based on a given
column value, you create an index on
that column. For this question, if I were
working with a relational table, I would
create an index on the product name.
I can do something similar for a
collection, but to do so, I will have to
define a second collection to emulate
the index on a table column. For the
remainder of this column, I will use
the term index collection when referring
to the collection I create to emulate an
index on a table column.
A collection can have only one index,
and my list_of_names collection is
already indexed by product number. So
I will have to create a second collection
and index this one by product name.
Listing 4 shows the modified office_
products package specification.
Note, first of all, that I no longer use
hard-coded declarations for the types ref-
erenced in my collection types. Instead, I
have switched to using subtypes.
This approach is completely optional
but highly recommended. In other
words, I could define my collection types
as follows:
TYPE names_list_aat IS TABLE OF
VARCHAR2(100) INDEX BY PLS_INTEGER;
TYPE index_list_aat IS TABLE OF
PLS_INTEGER INDEX BY VARCHAR2(100);
Both approaches will execute in
exactly the same way. So why bother
with subtypes? Because the resulting
code explains itself much more clearly,
making it easier to understand, debug,
and maintain.
Because Im using subtypes, my
package specification tells mevery
explicitly and without the need for com-
mentsthat I have these two collections
to work with:
O office_products.list_of_names, a list of
the product names indexed by the index
value (product number)
O office_products.index_by_name, a list
of the product numbers indexed by the
product name
Of course, I still need to populate
these collections, so lets look at the
CREATE OR REPLACE FUNCTION product_lookup1 (NAME_IN IN VARCHAR2)
RETURN PLS_INTEGER
IS
c_count PLS_INTEGER := office_products.list_of_names.COUNT;
l_index PLS_INTEGER := office_products.list_of_names.FIRST;
l_return PLS_INTEGER;
BEGIN
WHILE (l_index IS NOT NULL)
LOOP
IF office_products.list_of_names (l_index) = NAME_IN
THEN
l_return := l_index;
l_index := NULL;
ELSE
l_index := office_products.list_of_names.NEXT (l_index);
END IF;
END LOOP;
RETURN l_return;
END product_lookup1;
codeLISTING 3: Function for finding name of product
CREATE OR REPLACE PACKAGE office_products
IS
TYPE names_list_aat IS TABLE OF VARCHAR2 (100)
INDEX BY PLS_INTEGER;
list_of_names names_list_aat;
END office_products;
CREATE OR REPLACE PACKAGE BODY office_products
IS
BEGIN
list_of_names (1567) := Stapler;
list_of_names (75009) := Mousepad;
list_of_names (101) := Pencil sharpener;
END office_products;
codeLISTING 2: Initial office_products package specification and body
CREATE OR REPLACE PACKAGE office_products
IS
SUBTYPE name_t IS VARCHAR2(100);
SUBTYPE index_t IS PLS_INTEGER;
TYPE names_list_aat IS TABLE OF name_t
INDEX BY index_t;
TYPE index_list_aat IS TABLE OF index_t
INDEX BY name_t;
list_of_names names_list_aat;
index_by_name index_list_aat;
END office_products;
codeLISTING 4: Modified office_products package specification
MJ08_PLSQL.indd 52 3/13/08 1:12:15 PM
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 5 3
O Updates the index collection to associ-
ate that product name (the index value of
this string-indexed collection) with the
index value of the original list of names
I then call add_product for each row
in the products table.
With this emulated index in place,
my lookup function now becomes very
simple, as shown in Listing 6. This
function returns the index value for the
specific name, if a row exists for that
name. If not, the function simply returns
NULL. Because NULL is never allowed
as an index value, it is a good indicator
for Sorry, no product with that name.
This second approach, taking advan-
tage of the emulated index, results in
a very simple lookup program, but, of
course, the setup code is more com-
plicated. Increased code complexity is
justified if I can get a substantial boost in
performance. Lets see if that is the case.
Comparing the performance of lookup
programs. I want to compare perfor-
mance for these scenarios:
O Scan collection for a name in the
collection
O Scan collection for a name not in the
collection
O Index find for a name in the collection
O Index find for a name not in the
collection
First I change the initialize procedure
so that I can load a nontrivial volume of
data into the collections (I will no longer
populate the collections in the initializa-
tion section), as shown in Listing 7.
I then construct a compare_lookups
procedure that relies on DBMS_UTILITY
.GET_CPU_TIME to help me calculate
elapsed CPU time down to the hun-
dredth of a second. Listing 8 includes
the code for timing the performance of
the collection scan implementation.
I then call this compare_lookups
procedure with variations in the number
of rows in the collection and the number
of calls to the lookup programs:
BEGIN
compare_lookups (100, 1000);
compare_lookups (1000, 1000);
compare_lookups (100000, 1000);
compare_lookups (100000, 10000);
END;
Listing 9 includes the results I ob-
tained (in hundredths of a second) in an
Oracle Database 10g Release 2 instance
on a laptop with 4GB of memory.
From this data, I draw the following
conclusions:
O For collections with small amounts of
data, you can take either approachthe
scan find or the index findto finding
the index containing a certain element,
CREATE OR REPLACE PACKAGE BODY office_products
IS
PROCEDURE initialize
IS
PROCEDURE add_product (index_in IN index_t, NAME_IN IN name_t)
IS
BEGIN
list_of_names (index_in) := NAME_IN;
index_by_name (NAME_IN) := index_in;
END add_product;
BEGIN
add_product (1567, Stapler);
add_product (75009, Mousepad);
add_product (101, Pencil sharpener);
END initialize;
BEGIN
initialize;
END office_products;
codeLISTING 5: Modified office_products package body
CREATE OR REPLACE FUNCTION product_lookup2 (NAME_IN IN office_products.name_t)
RETURN PLS_INTEGER
IS
l_index PLS_INTEGER;
BEGIN
IF office_products.index_by_name.EXISTS (NAME_IN)
THEN
l_index := office_products.index_by_name (NAME_IN);
END IF;
RETURN l_index;
END product_lookup2;
codeLISTING 6: Modified product lookup (product_lookup2) function
CREATE OR REPLACE PACKAGE BODY office_products
IS
PROCEDURE initialize (count_in IN PLS_INTEGER)
IS
PROCEDURE add_product (index_in IN index_t, NAME_IN IN name_t)
IS
BEGIN
list_of_names (index_in) := NAME_IN;
index_by_name (NAME_IN) := index_in;
END add_product;
BEGIN
list_of_names.DELETE;
index_by_name.DELETE;
add_product (1567, Stapler);
add_product (75009, Mousepad);
add_product (101, Pencil sharpener);
FOR indx IN 1 .. count_in
LOOP
add_product (indx * 1000, Product || indx);
END LOOP;
END initialize;
END office_products;
codeLISTING 7: Modified initialize procedure
MJ08_PLSQL.indd 53 3/13/08 1:12:26 PM
5 4 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
PL/SQL PRACTICES
and performance will be fine.
O For collections with hundreds and
certainly thousands of elements, you
should build an index collection and
use that to find indexes for elements.
Performance is stable regardless of col-
lection counts.
Finally, as with any performance
analysis and conclusions, you should run
the script compare_lookups.sql (avail-
able in the sample code download for
this column) yourself on your version of
Oracle Database and confirm the results.
Dont forget. . . . Collections offer a very
efficient mechanism for looking up data.
Retrieving data from a collection cached
in the program global area is much faster
than doing so from a persistent tables
data cached in the system global area.
You must always remember the fol-
lowing, however, when using package-
level collections in this way:
O The data you are caching in the collec-
tion is static while the user is asking for
the information. If the source of this data
changes (if, for example, it is queried from
a table), your cache will be out-of-date.
O Your database server must have enough
memory (in addition to the SGA alloca-
tion) to handle all the PGAs for each
session connected to Oracle Database
that uses this package-based cache. Each
PGA will have its own copy of the cache.
If you are developing your software
for Oracle Database 11g, you should take
advantage of the function result cache,
which I wrote about in the September/
October issue of Oracle Magazine (On
the PL/SQL Function Result Cache, at
otn.oracle.com/oramag/oracle/07-sep/
o57plsql.html). It offers performance
similar to that of package-based caches
but is shared across all sessions in the
database instance and is automatically
invalidated if any changes are made to
dependent tables.
Regardless of the approach you take,
remember that collections have only a
single index but that you can always add
your own emulated indexes by populat-
ing other collections with the cross-
referencing information. O
Steven Feuerstein (steven@stevenfeuerstein.com) is
Quest Softwares PL/SQL evangelist. He has published
10 books on Oracles programming language, including
Oracle PL/SQL Programming and Oracle PL/SQL Best
Practices (OReilly Media). Feuersteins self-appointed
mission in life these days is to improve the quality and
quantity of PL/SQL code testing.
CREATE OR REPLACE PROCEDURE compare_lookups (
coll_count_in IN PLS_INTEGER
, iterations_in IN PLS_INTEGER
)
IS
l_time_before PLS_INTEGER;
l_index PLS_INTEGER;
BEGIN
office_products.initialize (coll_count_in);
.
.
.
l_time_before := DBMS_UTILITY.get_cpu_time;
FOR indx IN 1 .. iterations_in
LOOP
l_index := product_lookup1 (
Product || TO_CHAR (coll_count_in / 2));
END LOOP;
DBMS_OUTPUT.put_line (
Scan Find - name exists =
|| TO_CHAR (DBMS_UTILITY.get_cpu_time l_time_before));
.
.
.
END compare_lookups;
codeLISTING 8: compare_lookups procedure
READ more
Best Practice PL/SQL
otn.oracle.com/pub/columns/plsql
DOWNLOAD
Oracle Database 11g
otn.oracle.com/software/products/database
sample code for this column
otn.oracle.com/oramag/oracle/08-may/o38plsql.zip
COUNT in collections = 100
Number of times program lookup called = 1000
Scan Find - name exists = 0
Scan Find - name does not exist = 2
Index Find - name exists = 0
Index Find - name does not exist = 0
COUNT in collections = 1000
Number of times program lookup called = 1000
Scan Find - name exists = 12
Scan Find - name does not exist = 11
Index Find - name exists = 2
Index Find - name does not exist = 0
COUNT in collections = 100000
Number of times program lookup called = 1000
Scan Find - name exists = 681
Scan Find - name does not exist = 1391
Index Find - name exists = 0
Index Find - name does not exist = 0
COUNT in collections = 100000
Number of times program lookup called = 10000
Scan Find - name exists = 6578
Scan Find - name does not exist = 14043
Index Find - name exists = 1
Index Find - name does not exist = 0
codeLISTING 9: Results of compare_lookups procedure
MJ08_PLSQL.indd 54 3/13/08 1:12:34 PM
BY CHRI STI AN SHAY
d e v e l o p e r .NET
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 5 5
It Takes All Types
Build applications with Oracle Developer Tools for Visual Studio and Oracle user-defined types.
sing Oracle Data Provider for
.NET (ODP.NET), a high-
performance ADO.NET-
compliant data provider,
developers can take advantage of all of
Oracle Databases enterprise features
with performance tuning and secu-
rity features built in. ODP.NET can be
used in conjunction with
Oracle Developer Tools for
Visual Studio, an add-in for
Microsoft Visual Studio that
makes common database
tasks easy for .NET develop-
ers. For example, you can
create tables, edit and debug
PL/SQL, edit and run SQL
scripts, automatically gener-
ate .NET code to access data-
base schema objects, and do
many other database tasks
right from Visual Studio.
User-defined types
(UDTs) make it possible
to model real-world enti-
ties such as customers or
purchase orders as objects
in Oracle Database, and ODP.NET 11g
has added support for UDTs, so that
developers can access their objects,
VARRAYs, and nested table types from
C# or VB.NET code. Oracle Developer
Tools for Visual Studio also supports
UDTs, enabling you to use Visual Studio
to create and modify them and autogen-
erate .NET code to access them. (UDTs
will be of particular interest to .NET
developers leveraging Oracle Spatial and
Oracle Advanced Queuing, which accept
UDTs as part of their PL/SQL interfaces.
VARRAYs and nested table types are fre-
quently used in PL/SQL business logic.)
In this article, I use both
ODP.NET and Oracle Developer Tools
for Visual Studio to take you, step
by step, through the process of using
Visual Studio to create UDTs in Oracle
Database, and then I create a sample
ASP.NET Web application to display the
value of those objects.
The steps in this article require Visual
Studio 2008 or Visual Studio 2005 and
access to an Oracle Database (Oracle9i
Database or later) instance. You should
also be able to get this articles sample
application working with Visual Studio
.NET 2003, in which case the steps will
be significantly different from those used
in this article.
Youll need to download and install
both Oracle Developer Tools for Visual
Studio and ODP.NET version 11.1
or later. These products are free and
can be downloaded from the Oracle
Technology Network using the link in
nextSTEPS, at the end of this article.
If you are not familiar with the object-
relational features of Oracle Database,
see nextSTEPS to find the URL for
accessing Oracle Database Object-
Relational Developers Guide, which
describes concepts and terminology
used in this article.
DESIGNING THE DATA AND THE APPLICATION
I keep the database design simple while
demonstrating some of the object-
relational features of Oracle Database. To
that end, I first define a simple customer
object type, CUSTOMER_OBJ, that con-
sists of a customer number; a customer
name; an address object, ADDRESS_OBJ;
and a phone number list,
PHONELIST_OBJ (which
will be a VARRAY of as many
as 10 phone numbers). The
CUSTOMER_OBJ objects
will live in the CUSTOMER_
TAB object table. (When
you store objects in an
object table, they become
referenceable, meaning that
you can refer to them via
a pointer, a REF, in other
table columns. You can also
dereference any REF in
SQL statements and in appli-
cation code.) Finally, I create
a CUSTOMER_MEETINGS
relational table that con-
sists of a meeting ID, a
meeting date, a location, and a REF to a
CUSTOMER_OBJ object.
My ASP.NET Web application design
is also very simple: I display all customer
meetings on a Web page, along with all
of the details for each customer. I could
have just as easily created a Winform
(thick client) application, and the steps to
do so are very similar to what I do here
for this ASP.NET Web application.
CREATING USER-DEFINED TYPES
Oracle Databases primary integration
point with Visual Studio is server explorer
(see Figure 1), a tree control that enables
you to view your Oracle Database
schema. Each schema object in server
explorer provides context menu items that
launch various wizards and designers. L
I
N
D
Y

G
R
O
E
N
I
N
G
MJ08_ODT.indd 55 3/17/08 4:21:30 PM
5 6 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
.NET
With Visual Studio, ODP.NET, and
Oracle Developer Tools for Visual
Studio installed and an Oracle Database
schema available, you are ready to start
building the application. First, connect
to Oracle Database. In Visual Studio,
right-click the Data Connections
node of server explorer and select Add
Connection. Make sure that Oracle
Data Provider for .NET is selected, fill
in the connection dialog box with the
necessary database information, and
click OK to connect.
Next, construct the various child
components of the CUSTOMER_OBJ
object, starting with the address object
type. In server explorer, scroll down
to the User-Defined Types node,
right-click it, and select New Object
Type. This launches object designer,
as shown in Figure 2. Enter ADDRESS_
OBJ for Type name. Click Add four
times to create four attributes. Select
each attribute on the left side of the
designer (under Attributes) and then
change its Name and Type on the right
side (under Attribute Properties) using
the following values:
Name Type (Data type)
STREET VARCHAR2(200)
CITY VARCHAR2(200)
STATE CHAR(2)
ZIP VARCHAR2(20)
Note that you can click Preview
SQL>> to see the SQL that is going to be
executed. Click OK to create the type.
Now, create PHONELIST_OBJ, which
is a VARRAY of phone numbers. Again
right-click the User-Defined Types
node, and this time select New Varray
(as shown in Figure 1). This launches
the VARRAY designer. In the Type Name
field, enter PHONELIST_OBJ; in the Limit
field, enter 10; in the Type field, enter
Varchar2; and in the Size field, enter 20.
Then click OK to create the object type.
The last type to define is
CUSTOMER_OBJ. Once again, right
click the User-Defined Types node and
select New Object Type.
Enter CUSTOMER_OBJ for Type name.
As you did when creating ADDRESS_
OBJ, first click Add four times to create
four attributes. Next, select each attri-
bute on the left side of the designer
(under Attributes) and then change
its Name and Type on the right side
Figure 1: Server explorer and context menu
Figure 3: Object table designer
Figure 2: Object designer
MJ08_ODT.indd 56 3/17/08 4:21:38 PM
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 5 7
server explorer, right-click the Tables
node and select New Relational Table.
Enter CUSTOMER_MEETINGS for Table
name. Click Add four times to create four
columns. Next, select each column on the
left side of the designer (under Columns)
and then change its Name and Data
type on the right side (under Column
Properties) using the following values:
Name Data type
MEETING_ID NUMBER
TIME DATE
LOCATION VARCHAR2(20)
CUSTOMER CUSTOMER_OBJ
As before, when selecting the data-
type for the CUSTOMER column, you
will need to look near the bottom of the
Data type list for the CUSTOMER_OBJ
user-defined type. Check the Create as
Ref check box (see Figure 4), and click
Save to create the table.
POPULATING THE OBJECTS WITH DATA
The schema objects have been created in
Oracle Database; now you need to load
data into them. To load the data, you
will execute SQL statements by using the
ad hoc query window that Oracle has
integrated into Visual Studio. In server
explorer, right-click the Tables node and
select Query Window. Enter the SQL in
Listing 1, select all the statements, and
click the green execute toolbar icon to
run them all.
CREATING THE ASP.NET WEB APPLICATION
Now that the database is ready, create
the ASP.NET Web application, by taking
advantage of the automatic .NET code
generation features of Visual Studio. In
the main menu, choose File -> New
Project, and then under Visual C#,
select ASP.NET Web Application.
Choose View -> Toolbox, and then
under the Data section of the Toolbox,
drag and drop a GridView control onto
the ASP.NET design surface. Right-click
the small arrow in the upper right-hand
corner of the GridView control to open
the GridView Tasks pane (see Figure
5). From the Choose Data Source
list, select <New Data Source>. This
will start the datasource configuration
Figure 4: Relational table designer
INSERT INTO Customer_tab
VALUES (
1, John Doe,
Address_obj(111 Lollipop Lane, Redwood Shores, CA, 95054),
PhoneList_obj(415-555-1212)
) ;
INSERT INTO Customer_tab
VALUES (
2, John Smith,
Address_obj(333 Island Drive, Edison, NJ, 08820),
PhoneList_obj(609-555-1212,201-555-1212)
) ;
INSERT INTO Customer_tab
VALUES (
3, Richard Roe,
Address_obj(555 Clay St, San Francisco, CA, 94115),
PhoneList_obj(415-555-1212,650-555-1212, 510-555-1212)
) ;
INSERT INTO Customer_meetings
SELECT 1, 12-JAN-2008, HQ - 200, REF(C)
FROM Customer_tab C
WHERE C.CustNo = 1 ;
INSERT INTO Customer_meetings
SELECT 2, 13-JAN-2008, HQ - 300, REF(C)
FROM Customer_tab C
WHERE C.CustNo = 2 ;
codeLISTING 1: Loading the data
(under Attribute Properties), using the
following values:
Name Type (Data type)
CUSTNO NUMBER
CUSTNAME VARCHAR2(200)
ADDRESS ADDRESS_OBJ
PHONELIST PHONELIST_OBJ
The last two attributes are user-
defined types you just created. You will
find user-defined types at the bottom of
the Attribute Properties Type list, after
all of the standard Oracle datatypes.
Now you need to create an object
table to give the CUSTOMER_OBJ
objects a place to live, so that you can
refer to them in other tables by using
REFs. In server explorer, right-click the
Tables node and select New Object
Table. When the dialog box opens,
enter CUSTOMER_TAB for Table name
and select CUSTOMER_OBJ from the
Object type list (see Figure 3). Click
Save to create the table.
To finish building your database
schema objects, you need to create the
CUSTOMER_MEETINGS table. In
MJ08_ODT.indd 57 3/17/08 4:21:45 PM
5 8 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
.NET
wizard, which will create and configure a
SQLDataSource component that contains
automatically generated ODP.NET data
access code. When the wizard opens,
double-click the database icon. Select the
correct connection, and then continue
to the Configure the Select Statement
screen. Click the Specify a Custom SQL
Statement radio button, click Next, and
enter the following SQL statement in the
text box:
SELECT MEETING_ID, TIME, LOCATION,
DEREF(CUSTOMER)
FROM CUSTOMER_MEETINGS
Note that the SQL includes the SQL
DEREF operator. This makes sure that
the object value is returned, rather than
the REF, which is nothing more than
a large hexadecimal value, similar to a
ROWID. (You could also create an appli-
cation that queries for the REF and then
fetches each object value individually,
using its REF, but that approach is not
covered in this article.)
Click Next and then Test Query
to make sure there are no errors. Then
click Finish. Go to the GridView
Tasks pane again, and click Add New
Column. For Header Text, enter
Customers, and for Data Field, select
DEREF(CUSTOMER).
USING THE CUSTOM CLASS WIZARD
At this point, the GridView and
SQLDataSource controls do not know
what to make of the CUSTOMER_OBJ
types being returned by Oracle
Database. By definition, they are user-
defined, and therefore you must provide
a mapping between the Oracle user-
defined datatype and a .NET class that
will hold the data. To do this, use the
Oracle Custom Class wizard.
In server explorer, go to each of the
three user-defined types you created
(CUSTOMER_OBJ, PHONELIST_OBJ,
and ADDRESS_OBJ) and do the fol-
lowing: Right-click the type name, and
select Generate Custom Class. Then
accept all the defaults until you reach
the end of the wizard, which will add a
C# class file to the project.
The SQLDataSource control will ask
DOWNLOAD
ODP.NET and Oracle Developer Tools for
Visual Studio .NET 11g
otn.oracle.com/dotnet
READ more Shay
cshay.blogspot.com
READ more about object-relational
features
Oracle Database Object-Relational Developers Guide
download.oracle.com/docs/cd/B28359_01/
appdev.111/b28371/toc.htm
the CUSTOMER_OBJ object to render
its value as a string, by calling its
ToString() method, so you need to
modify the ToString() method on
both the CUSTOMER_OBJ and the
PHONELIST_OBJ custom classes. (In this
example, you can ignore the ADDRESS_
OBJ ToString() method, because its indi-
vidual members are rendered explicitly by
the CUSTOMER_OBJ ToString code). For
this sample application, use the code in
Listing 2 for the ToString() methods.
One last thing you need to do is make
sure the HTML tags you are passing back
with the CUSTOMER_OBJ custom class
ToString() method are honored by the
GridView control. Go back to GridView
Tasks, and select Edit Columns. In the
dialog box that appears, under Selected
Fields, select CUSTOMERS. In the
Properties pane on the right, set HTML
Encode to False and then click OK.
RUNNING THE ASP.NET WEB APPLICATION
From the main menu, select Debug ->
Start without Debugging. This starts
a Microsoft Internet Information Server
Web server (built in to Visual Studio)
and also launches a Web browser with
a URL pointing to that Web server. The
Web browser displays a grid containing
the MEETING_ID, TIME, LOCATION,
and CUSTOMERS column data.
Now that you have walked through
the basics, I encourage you to further
exercise the ODP.NET and Oracle
Developer Tools for Visual Studio 11g
releases. Happy coding! O
Christian Shay (christian.shay@oracle.com) is a
principal product manager at Oracle.
Figure 5: Configuring the GridView control
ToString() method for CUSTOMER_OBJ class (in Customer_obj.cs):
public override string ToString() {
return Customer Number: + CUSTNO + <br>Name: + CUSTNAME + <br>Address: +
ADDRESS.STREET + + ADDRESS.CITY + + ADDRESS.STATE+ + ADDRESS.ZIP +
<br>Phone Numbers:<br> + PHONELIST.ToString(); }
ToString() method for PHONELIST_OBJ class (in Phonelist_obj.cs):
public override string ToString()
{
string ret = ;
for (int x = 0; x < m_PHONELIST_OBJ.Length; x++)
{
ret = ret + m_PHONELIST_OBJ[x] + <br>;
}
return ret;
}
codeLISTING 2: ToString() method for custom classes
MJ08_ODT.indd 58 3/21/08 2:22:47 PM
BY DAN VLAMI S
t e c h n o l o g y DATA WAREHOUSE
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 5 9
Accelerating Data Warehouses
Oracle OLAP 11g brings high-performance data warehouse features to Oracle Database 11g.
n option of Oracle Database 11g
Enterprise Edition, Oracle OLAP
11g is a full-featured online
analytical processing engine.
Because Oracle OLAP 11g is embed-
ded in Oracle Database, it benefits from
database scalability, security,
and manageability features.
Key new features in
Oracle OLAP 11g include
database-managed relational
views of a cube, a cube scan
row source that is used by
the SQL optimizer, and
cube-organized materialized
views. This article focuses
on enhancements in Oracle
OLAP 11g, how OLAP cubes
fit into the Oracle data ware-
house, and how they are
used within SQL-based busi-
ness intelligence applications
to provide enriched content
with high performance.
WHY OLAP?
Users queries are often unpredictable.
On different days, the same users will
perform trend analysis, drill down on
specific product lines, and compare a
weeks sales against those of the same
week last year. With standard relational
systems, it is difficult to optimize data
structures that provide consistently good
query performance for such an unpre-
dictable query pattern.
To address this need, DBAs and
designers frequently create a system of
summary tables or materialized views.
OLAP cubes, which provide consis-
tently fast query performance across an
entire data model, often provide a better
alternative to summary management.
Sophisticated calculations can be easily
embedded within the cube to enhance
the analytic content of applications.
These calculations often rely on data
from many rows and interrow calcula-
tions. For example, an OLAP cube might
include a calculation that compares the
current years sales for each region and
product line with those from the same
period last year and two years ago. The
cube structure is optimized to handle
this kind of querying and analysis.
WHY ORACLE OLAP?
Oracle OLAP uses an analytic work-
space in the database to perform OLAP
analysis. Oracle OLAP stores data in the
database as multidimensional cubes,
which are designed for fast incremental
update and query. Cubes are organized
by dimensions, which act as keys to the
fact data and define the basic structure
of the cube. In many ways, a cube is
similar to a star schema. The cube plays
the role of the fact table, and an OLAP
dimension plays the role of a dimension
table. Dimensions can be simple lists
of members, or they can be organized
into levels and hierarchies. Hierarchical
dimensions enable data to be aggregated
from lower levels to higher levels of
summarization. They support naviga-
tion such as drill-down and certain types
of calculations such as Share to Parent,
Share within Ancestor, and Rank within
Parent. They also support many time-
series calculations such as Year to Date.
These types of calculations
are easy to define within the
analytic workspace manager
(the administrative tool of
Oracle OLAP 11g) and are
efficiently computed within
the cube at runtime.
Oracle OLAP 11g can
significantly shorten query
processing times for users of
SQL-based business intel-
ligence (BI) tools such as
Oracle Business Intelligence
Suite Enterprise Edition
and other third-party tools.
Oracle OLAP 11g also
makes it easy to embed
computations in an OLAP
cube. Oracle OLAP 11g capabilities are
all provided within Oracle Database,
which allows for centralized control of
data, business rules, and security.
CREATING CUBE-ORGANIZED MATERIALIZED
VIEWS FOR SUMMARY MANAGEMENT
Cube-organized materialized views
are a new capability in Oracle OLAP
11g that enables cubes to be used as a
summary management solution, often
replacing relational summary tables
and table-based materialized views. In
this scenario, an application queries the
fact table by using aggregation func-
tions (such as SUM) and a GROUP BY
clause, and the query rewrite feature of
the database automatically redirects the
query to the cube-organized material-
ized view. The cube manages summary
data transparently to the querying
application, and users benefit from D
A
N

H
U
B
I
G
MJ08_OLAP_11g.indd 59 3/14/08 3:28:45 PM
6 0 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
DATA WAREHOUSE
improved query performance.
To create a cube-organized material-
ized view, DBAs build a cube from the
fact and dimension tables that applica-
tions currently query. They then enable
the cube to allow materialized view
refresh and query rewrite. The materi-
alized view can be created via an API
call or, more commonly, via certain
options in the analytic workspace
manager, as shown in Figure 1. The
cube is self-indexing and manages the
entire aggregate space.
Build the GLOBAL sample cube. To create
and use the GLOBAL sample OLAP
cube and walk through the Oracle OLAP
11g capabilities this article describes,
install and set up the products, schema,
and workspace as follows:
1. Install the Oracle Database 11g
database server and client. Note that
the server and client are separate
downloads, both available on Oracle
Technology Network at otn.oracle.com.
From this page, select Downloads ->
Database, and then click the See All
link next to the name of your operat-
ing system in the Oracle Database
11g download section. When install-
ing the database server, you can use
default options. When installing
the client, make sure you select the
Administrator option to install the
extended set of tools, which includes
the analytic workspace manager.
2. Download the GLOBAL schema
(global_11g_schema.zip) from otn
.oracle.com/products/bi/olap. From
this page, click the 11.1 link next to
the Global Schema selection in the
Downloads section of this page. Unzip
the file contents to a directory.
3. Download otn.oracle.com/oramag/
oracle/08-may/o38olap.zip, and unzip
the contents, the global_oramag.xml file,
to a directory.
4. Follow the directions specified in the
global_11g_readme.html documentation
file, which is provided in the GLOBAL
schema zip file downloaded in step 2.
These directions enable you to create the
GLOBAL schema with the tables neces-
sary to build an analytic workspace.
5. Launch the analytic workspace
manager. From the Windows Start menu,
you can find it at {Oracle11g Client
Home} -> Integrated Management
Tools -> Oracle OLAP Analytic
Workspace Manager and Worksheet.
6. Create a connection to your instance,
by right-clicking Databases and select-
ing Add Database to tree. . . . Enter a
description for the connection and the
appropriate connection string for your
instance (such as localhost:1521:orcl11).
Then click Create.
7. Expand the Database tree until your
new connection appears, and then click
+ (plus sign) next to your connection to
connect to the instance. Enter GLOBAL
for the username, and enter the pass-
word you assigned in step 4.
8. Expand the Schemas tree until you
see Analytic Workspaces. Right-click
Analytic Workspaces, and select
Create Analytic Workspace from
Template. . . .
9. Navigate the file chooser to find the
global_oramag.xml template file you
downloaded in step 3. Choose this file,
and click Create. Wait for a few minutes
while it creates the analytic workspace.
10. Right-click the new GLOBAL ana-
lytic workspace, and select Maintain
Analytic Workspace GLOBAL.
11. Click >> (Add All), and then click
Finish. This step loads data into the
cube and aggregates it according to the
settings specified in the template file.
It may take a few minutes to complete.
Once youre done, click Close to close
the build log.
Run the OLAP query. With the GLOBAL
cube loaded and the data aggregated,
now enter the following
SELECT t.calendar_year_id time,
p.class_id product,
c.region_id region,
SUM(f.sales) sales
FROM time_dim t,
product_dim p,
customer_dim c,
units_fact f
WHERE t.month_id = f.month_id
AND p.item_id = f.item_id
AND c.ship_to_id = f.ship_to_id
AND c.region_id = AMER
GROUP BY t.calendar_year_id,
p.class_id,
c.region_id
ORDER BY t.calendar_year_id,
p.class_id;
Figure 1: Analytic workspace manager
MJ08_OLAP_11g.indd 60 3/14/08 3:29:01 PM
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 6 1
using Oracle SQL Developer (or
another SQL tool of choice). This typical
OLAP query summarizes the data in the
UNITS_FACT fact table by year, class,
and region for only those rows that have
a REGION_ID value of AMER.
If there were no summary tables, this
query would have to sift through the
CUSTOMER_DIM (dimension) table
to find all rows with REGION_ID=AMER
and then find rows in the fact table with
those SHIP_TO_ID values. Finally, it
would have to summarize the SALES
column in the fact table, grouping the
data by year, class, and region.
With Oracle OLAP 11g, using mate-
rialized views, these totals are imme-
diately accessible. It simply fetches the
rows of summarized data and returns
them to the SQL processor. The result
is much faster query response, with a
simple summary management system
that is easy to maintain.
If you run an explain plan against
the query, youll see that the Oracle opti-
mizer uses the CUBE_SCAN operation
instead of the much less efficient HASH
JOIN operation, which is required when
you dont have the materialized view. To
see the difference, execute the commands
alter materialized view cb$units_cube
disable query rewrite
and
alter materialized view cb$units_cube
enable query rewrite
and view the resulting explain plans in
each case. You will also see a huge dif-
ference in performance. In my tests on
the small (300,000 lowest-level rows)
GLOBAL fact table, I found that with
the query rewrite feature enabled (using
the cube), the query returned results
two to five times as fast as without the
cube. You will find larger differences in
performance when using larger, more-
realistically sized cubes.
The summary management system is
also easy to maintain. It has one material-
ized view, rather than a separate material-
ized view for each combination of levels
of each dimension. You can control the
SELECT t.long_description time,
p.long_description product,
cu.long_description region,
ch.long_description channel,
ROUND(u.sales) SALES,
ROUND(u.sales_ytd) YTD,
ROUND(u.sales_ytd_dif_yrago) DIFF,
ROUND(u.sales_ytd_pct_dif_yrago, 6) PCT
FROM time_view t, product_view p, customer_view cu, channel_view ch, units_cube_view u
WHERE t.dim_key = u.time
AND p.dim_key = u.product
AND cu.dim_key = u.customer
AND ch.dim_key = u.channel
AND (t.level_name IN(CALENDAR_YEAR, CALENDAR_QUARTER)
OR t.time_calendar_quarter_id = CY1999.Q1)
AND p.level_name IN(CLASS, TOTAL)
AND cu.level_name = TOTAL
AND ch.level_name = TOTAL
AND p.dim_key = CLASS_SFT
ORDER BY t.end_date, t.time_span;
codeLISTING 1: Quarterly sales and comparison query
Figure 2: Quarterly and comparison results
standard relational engine.
Year-to-date and share calculations
are good examples of calculations that
perform better with Oracle OLAP. Once
defined in the analytic workspace as
calculated measures, these measures are
exposed as extra columns in a view that
is automatically created for a cube. You
can then query these measures just as
you would query any base measure from
the cube view.
When working with cube views,
bear in mind that the view contains pre-
aggregated data at multiple levels. As a
result, you do not need to include any
aggregation functions such as SUM, and
you generally do not need GROUP BY
clauses. But you must also specify the
extent to which the data is precomputed,
but the cube always presents itself as fully
solved for every combination of the levels
of the dimensions involved. A material-
ized view log keeps track of the rows that
change in the base table, and it controls
how much of the cube is incrementally
updated and aggregated and when.
ADDITIONAL CALCULATIONS EXPOSED
THROUGH AUTOMATIC VIEWS
You can use cubes in Oracle OLAP 11g
as a summary management solution, but
Oracle OLAP 11g really shines when you
use it to perform calculations. Oracle
OLAP can perform many calculations
that can be difficult to express in SQL
and time-consuming to perform with the
MJ08_OLAP_11g.indd 61 3/14/08 3:29:19 PM
6 2 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
DATA WAREHOUSE
READ online-only article content
otn.oracle.com/oramag/oracle/08-may/o38olap.html
READ more about Oracle OLAP
otn.oracle.com/products/bi/olap
Building Analytic Workspaces
otn.oracle.com/oramag/oracle/05-nov/o65awm.html
Oracle OLAP 11g Release 1 Users Guide
oracle.com/pls/db111/to_pdf?pathname=olap.111/
b28124.pdf
DOWNLOAD sample data for this article
otn.oracle.com/products/bi/olap
otn.oracle.com/oramag/oracle/08-may/o38olap.zip
level of data you want to select via the
appropriate WHERE clause.
Enter the query in Listing 1 into
Oracle SQL Developer (or your SQL
tool of choice) to look at quarterly sales
and see how those sales compare on a
year-to-date basis with the same periods
last year. The query also shows how to
return multiple levels of the time dimen-
sion in one query.
Executing the query in Oracle SQL
Developer returns the results shown in
Figure 2. Note how rows are returned
for years, quarters, and three specified
monthsall in one view.
This example shows only the most-
basic calculations Oracle OLAP 11g can
perform. A new calculated measure
wizard in the analytic workspace
manager enables you to calculate shares,
indexes, ranks, moving aggregates,
cumulative aggregates, and user-defined
expressions. You can even calculate
models, forecasts, and regressions.
REFRESHING CUBES, USING
MATERIALIZED VIEWS
As fact tables acquire new data, Oracle
Database must maintain cubes and
recalculate totals. You can simplify this
procedure by taking advantage of the
materialized view refresh capability in
Oracle Database. By checking the Enable
Materialized View Refresh of the Cube
check box (shown in Figure 1), you can
specify the refresh of an analytic work-
space to be the same as the refresh of any
other materialized view. For example, to
refresh the GLOBAL analytic workspace,
use the following command:
dbms_mview.refresh(CB$UNIT_CUBE, F)
This command reloads the analytic
workspace from the fact table and
recalculates any aggregates that need
updating. The mechanisms and syntax
are exactly the same as with noncube
materialized views, with methods for
controlling aspects such as staleness and
schedules. The materialized view logs
identify which portions of the cube need
reloading. Oracle OLAP then uses this
information to reload and recalculate the
appropriate portions of the cube.
AGGREGATION
Oracle OLAP always returns data as
fully solved, but you have control over
the extent to which the data is pre-
aggregated. In Oracle OLAP 10g, you
could specify which levels of the cube
to preaggregate. That capability is still
supported in Oracle OLAP 11g, but
now you can also specify the percentage
of the cube you want to preaggregate.
Oracle OLAP will then figure out which
areas of the cube to preaggregate and
which areas to aggregate on the fly.
Oracle OLAP figures out how to balance
runtime performance against load per-
formance and the time needed to calcu-
late certain aggregates. Figure 3 shows
a cube creation dialog box that specifies
20 percent preaggregation.
The online version of this article, at
otn.oracle.com/oramag/oracle/08-may/
o38olap.html, discusses other ways to
present Oracle OLAP data and more
Oracle OLAP 11g new features.
CONCLUSION
With the enhanced capabilities in Oracle
OLAP 11g, it is much easier to incorpo-
rate OLAP into the framework of a data
warehouse. Key improvements such
as materialized views, automatic view
creation, and aggregation wizards make
Oracle OLAP a compelling choice for
accelerating query performance. O
Dan Vlamis (dvlamis@vlamis.com) is president of
Vlamis Software Solutions, Inc. He has been working
with Oracle business intelligence products since
1986. He gives presentations regularly at major Oracle
conferences and is a recognized Oracle OLAP and
Oracle business intelligence expert.
Figure 3: Cube creation dialog box specifying 20 percent preaggregation
MJ08_OLAP_11g.indd 62 3/14/08 3:29:39 PM
BY SUE HARPER
t e c h n o l o g y SQL DEVELOPER
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 6 3
Making Database Connections
Connect to Oracle and third-party databases from Oracle SQL Developer.
racle SQL Developer enables
developers and DBAs to browse,
create, and update data in a
database. Before you can perform
those actions, however, you must create
at least one database connectionan
Oracle SQL Developer object containing
the information needed to connect to a
specific database as a specific user.
This column explains how to make
connections from Oracle SQL Developer
to an Oracle Database and third-party
databases. It also discusses authorization
options for Oracle Database connections
and explains the role of JDBC drivers in
the connection process.
All the examples in this column
require Oracle SQL Developer to be
running on your local machine. For
some examples, you need access to a
running local or remote Oracle Database
instance with the sample HR schema
(available in the default database instal-
lation). Other examples require access to
an Oracle Internet Directory server or a
third-party database.
BASIC CONNECTIONS
You can connect to a local or remote
Oracle Database instance by using the
Basic connection type. Basic connections
do not require any other Oracle software
to be installed on your machineyou
dont need an Oracle home.
Right-click the Connections node
in Oracle SQL Developers Connections
Navigator, and click New Connection
to open the New / Select Database
Connection dialog box. All of this col-
umns connection examples start from
this dialog box.
To create a basic connection for the
HR schema, follow these steps:
1. Enter HR_ORCL for Connection
Name. The connection name is an
arbitrary alias; conventionally, its a com-
bined username and database name.
2. Enter hr for Username, and enter the
hr password in the Password field. (If
you check the Save Password box, the
password will be stored as an encrypted
file on your local machine.)
3. Select Basic from the Connection
Type list.
4. Provide information for the following
settings:
O Role: This is the set of privileges to be
associated with the connection. Accept
default for this connection.
O OS Authentication: Leave this
unchecked for this connection.
O Proxy Connection: Leave this
unchecked for this connection.
O Hostname: This is the host system for
the Oracle Database instance. Enter an
IP address, a machine name, or localhost
(when connecting to a database on the
same machine as Oracle SQL Developer).
The default is localhost.
O Port: This is the listener port for the
database. The default port for Oracle
Database is 1521.
O SID: This is the system identifier, such
as orcl (the default for Oracle Database
10g and Oracle Database 11g) or xe (the
default for Oracle Database 10g Express
Edition). Service name: This is the
network service name of the database.
Select either SID or Service name.
5. Click Test to validate the new connec-
tion. Figure 1 shows the dialog box after
the connection has validated successfully.
6. If your test reports Status: Success,
click Connect. Oracle SQL Developer will
save the new connection, close the dialog
box, and connect to the database. (If you
click Save instead of Connect, you will
be able to create more new connections in
the dialog box before connecting.)
Now HR_ORCL appears in
Connections Navigator, and you can
expand it to browse the database.
TNS CONNECTIONS
The TNS connection type is an appro-
priate option in any of the following
Figure 1: Basic database connection type
MJ08_SQLDEV.indd 63 3/14/08 3:24:20 PM
6 4 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
SQL DEVELOPER
circumstances:
O You have an Oracle client installed
on your machine.
O You have access to many Oracle
Database instances.
O You do not know the machine details
of the system hosting the Oracle Database
instance you want to connect to.
A TNS connection uses an alias entry
from a tnsnames.ora file. Oracle SQL
Developer uses only one tnsnames.ora
file. You may have more than one on
your local machine or want to use the
tnsnames.ora file on a remote machine,
so note that Oracle SQL Developer looks
sequentially for the tnsnames.ora file in
the following locations:
1. $HOME/.tnsnames.ora
2. $TNS_ADMIN/tnsnames.ora
3. /etc/tnsnames.ora (non-Windows
systems)
4. $ORACLE_HOME/network/admin/
tnsnames.ora
5. Registry key
On Windows systems, if a tnsnames
.ora file exists but Oracle SQL Developer
isnt using it, create a TNS_ADMIN envi-
ronment variable via Control Panel ->
System -> Advanced -> Environment
Variables, specifying the files location
as the variables value.
Follow these steps to create a TNS
connection in Oracle SQL Developer:
1. In the New / Select Database
Connection dialog box, enter the same
connection name, username, and pass-
word you used for the basic connection.
2. Select TNS from the Connection
Type list. The GUI changes slightly to
provide a list of all network alias entries
available to you. Select an alias.
3. Click Test and Connect as before.
LDAP CONNECTIONS
Oracle Internet Directory is a directory
service that enables you to store and
manage network service names centrally.
With it, user identity information can be
stored in a directory instead of in mul-
tiple databases. Oracle Internet Directory
is an implementation of the LDAP direc-
tory service and a component of Oracle
Identity Management. For information
on how to install, set up, and configure
Oracle Internet Directory, see the Oracle
Internet Directory Administrators Guide at
otn.oracle.com/documentation/oid.html.
To look up database services in
Oracle Internet Directory and create
an LDAP connection in Oracle SQL
Developer, follow these steps:
1. In the New / Select Database
Connection dialog box, enter a new con-
nection name, username, and password
for the database user.
2. Select LDAP from the Connection
Type list.
3. Select a server from the LDAP Server
list, which is populated with entries
from an ldap.ora file (similar to the
tnsnames.ora file). Alternatively, you can
enter LDAP server details directly.
4. Fill in the LDAP Admin User and
LDAP Admin Password fields.
5. Click Load to populate the DB
Service list with all the database service
entries from Oracle Internet Directory.
6. Select a service from the DB Service
list, as shown in Figure 2.
7. Click Test and Connect as before.
OTHER AUTHENTICATION OPTIONS
Alternatives to database authentication
and LDAP authentication include oper-
ating system (OS) and proxy authenti-
cation. You can create connections in
Oracle SQL Developer for users who
authenticate with these mechanisms.
OS authentication. With OS authentica-
tion, Oracle Database uses a database
users OS login credentials to authenti-
cate that user. The user doesnt provide
a username or password to access the
database, and Oracle Database doesnt
store and manage the account password.
Local OS authentication can be used
when the client and the database server
are on the same machine. Remote OS
authentication is possible but is not
considered secure.
To configure local OS authentica-
tion for a new user, first find the value
of the OS_AUTHENT_PREFIX database
initialization parameter in your systems
init.ora file. When you create this new
user in the database, you must add this
parameter value as a prefix to the OS
username. The default value is OPS$,
for backward compatibility with earlier
database releases. (If the value is , the
OS username and the database username
are the same, so you dont need to add a
prefix to create the Oracle usernames.)
Establish a basic connection with the
HR schema as the SYSTEM user. Execute
the following from the SQL worksheet,
using your databases OS_AUTHENT_
PREFIX prefix and substituting your own
OS username for sue:
CREATE USER ops$sue IDENTIFIED
EXTERNALLY;
GRANT Connect, resource to sue;
Figure 2: LDAP connection with a list of database services
MJ08_SQLDEV.indd 64 3/14/08 3:24:27 PM
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 6 5
Now create a basic connection for
this user from the New / Select Database
Connection dialog box. Enter a connec-
tion name; select Basic for Connection
Type; fill in the Hostname and Port
fields; select OS Authentication; and
provide a SID or Service name. Click
Test and Connect as before.
Proxy authentication. Proxy authentica-
tion means that one JDBC connection
acts as a proxy for other JDBC connec-
tions. Before you can create a connec-
tion that uses proxy authentication,
you need a proxy user. In the following
example, you create a new user named
HR_PROXY_USER and connect that user
through the existing HR user.
To create the new proxy user (HR_
PROXY_USER) and grant the correct
proxy authentication privileges, execute
the following in the SQL worksheet:
CREATE USER HR_proxy_user IDENTIFIED
BY <password>;
ALTER USER HR_proxy_user GRANT
CONNECT THROUGH HR AUTHENTICATED
USING PASSWORD;
You also need to grant any other
privileges required by the new user, such
as CREATE SESSION.
Once your proxy user exists, you can
create a new proxy connection for HR
in Oracle SQL Developer. Select Proxy
Connection in the New / Select Database
Connection dialog box, and complete the
details in the Oracle Proxy Connection
dialog box, as shown in Figure 3.
CONNECTING TO THIRD-PARTY DATABASES
Oracle SQL Developer supports brows-
ing and reviewing data and objects in
Microsoft Access, MySQL, Microsoft SQL
Server, and Sybase. It also offers a SQL
worksheet for ANSI SQL commands to
update or create objects for these data-
bases. Users who want to migrate from
third-party databases to Oracle Database
can use the Oracle SQL Developer
Migration Workbench. For any of these
situations, you need to create a connec-
tion to your third-party database.
Installing third-party drivers. The correct
third-party driver must be installed
before you can create the connection.
You can install third-party drivers either
manually or by using Check for Updates
(Help->Check for Updates). For manual
installation, you can download supported
drivers from the following locations:
O MySQL JDBC driver, version 5.08:
dev.mysql.com/downloads/connector/
j/5.0.html.
O jTDS driver, version 1.2 (required by
Microsoft SQL Server and Sybase): source
forge.net/project/showfiles.php?group_
id=33291. (See jtds.sourceforge.net for
information about this driver.)
Microsoft Access does not require
an additional driver, because it uses a
JDBC/ODBC bridge.
After downloading the driver you
need, expand the driver binary Java
Archive (JAR) file, which is typically
inside the downloaded archive file:
O The mysql-connector-java-5.0.8.tar.gz
(or .zip) download for MySQL includes
mysql-connector-java-5.0.8-bin.jar.
O The jtds-1.2-dist.zip file for Microsoft
SQL Server and Sybase includes
jtds-1.2.jar.
Select Tools -> Preferences ->
Database -> Third Party JDBC Drivers.
Click Add Entry, and add your specific
JAR file. Now you can create a connec-
tion for your third-party database.
The online version of this column,
at otn.oracle.com/oramag/oracle/08-may/
o38sql.html, includes the steps for creat-
ing connections to third-party databases
and explains Oracle JDBC drivers and
driver compatibility.
CONCLUSION
Oracle SQL Developer provides an array
of alternatives for connecting to Oracle
and third-party databases. Support for
both Oracle JDBC Type IV (thin) and
Type II (thick) drivers lets you access
Oracle Databases via basic, TNS, or
LDAP connection types. You can make
connections for Oracle Database users
who authenticate via database, OS, or
proxy authentication. Connecting to a
third-party database from Oracle SQL
Developer lets you work in that data-
base and gives you a starting point for
migrating to Oracle Database. O
Sue Harper (sue.harper@oracle.com) is an Oracle
senior principal product manager based in London.
Figure 3: Creating a proxy connection
READ online-only column content
otn.oracle.com/oramag/oracle/08-may/o38sql.html
READ more about
Oracle SQL Developer
otn.oracle.com/products/database/sql_developer
Oracle JDBC drivers
otn.oracle.com/tech/java/sqlj_jdbc/htdocs/jdbc_faq.htm
READ more Harper
sueharper.blogspot.com
MJ08_SQLDEV.indd 65 3/14/08 3:24:35 PM
oracle.com/goto/ecm
or call 1.800.ORACLE.1
Copyright 2008, Oracle. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.
Best
Enterprise Content
Management
2008 InfoWorld
Technology of the Year Awards
*
Oracle Universal Content Management
an excellent offering.
InfoWorld, November 8, 2007
*InfoWorld, January, 2008
Untitled-6 1 3/18/08 8:44:15 PM
BY SUSHMA JAGANNATH
t e c h n o l o g y INSIDE OCP
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 6 7
Back Up and Recover
New backup and recovery features in Oracle Database 11g save time and data.
sound database backup and
recovery plan is crucial to pro-
tecting data in the event of
media loss and physical cor-
ruption on production storage systems.
Oracle backup and recovery technolo-
gies enable data to be recovered from
media loss and corruption, as well as
from logical errors at the row, table, and
database level. This column discusses
some of the new backup and recovery
features in Oracle Database 11g that
improve the manageability of Oracle
Database backup and recovery. The
column also presents sample questions
of the type you may encounter when
taking the Oracle Database 11g: New
Features for Administrators exam, which
enables Oracle Certified Professionals
(OCPs) certified on Oracle Database 10g
to upgrade their certifications to Oracle
Database 11g.
DATA RECOVERY ADVISOR
Successfully diagnosing a data failure
and devising an optimal strategy for
repair is critical to maintaining high
availability in the enterprise. Data recov-
ery advisor is an Oracle Database tool
that automatically diagnoses corruption
or loss of persistent data on a disk and
gathers data failure information. It then
determines the best repair option and
checks the feasibility of implementing
the repair in your environment.
Figure 1 shows the automatic diag-
nostic workflow in Oracle Database 11g.
Health monitor automatically diagnoses
failures and logs them into the automatic
diagnostic repository. Data recovery
advisor consolidates these failures and
attaches a severity to them, such as
critical or high. If a DBA requests repair
advice, data recovery advisor maps any
failures to automatic and manual repair
options, checks basic feasibility, and
presents the repair advice. The DBA can
choose to manually execute a repair or
ask data recovery advisor to perform it.
In addition to the automatic, reactive
checks of health monitor and data recov-
ery advisor, Oracle recommends that
DBAs use the VALIDATE command with
the BACKUP and RESTORE commands to
proactively check for corrupt blocks and
missing files and also to confirm that
backups can be restored.
Which of the following failures can data
recovery advisor diagnose and repair?
A. Physical corruption such as block
checksum failures and invalid block
header field values
B. I/O failures such as hardware errors
and operating system driver failures
C. Inconsistencies such as a datafile that
is older than other database files
D. Failures on standby databases
The correct answers are A, B, and
C. Data recovery advisor can detect
and repair physical corruptions related
to blocks, I/O failures, and also any
inconsistencies in datafiles. Option D is
incorrect because data recovery advisor
cannot diagnose and repair failures on
a standby database; it does support
failover to a standby database as a repair
option, however.
PARALLEL BACKUP AND RESTORE FOR
VERY LARGE FILES
In earlier versions, the smallest piece
of an Oracle Recovery Manager (Oracle
RMAN) backup was an entire file.
Because Oracle datafiles can be up to
128TB in size, it is not feasible to back
up a very large file. In Oracle Database
11g, however, Oracle RMAN can break
up a single large file into sections and
back up and restore them indepen-
dently. The SECTION SIZE parameter
in the BACKUP command tells Oracle
RMAN to create a backup set in which
each backup piece contains blocks from
one file section, enabling the backup of
large files to be parallelized across mul-
tiple channels. Restoring a multisection
backup in parallel is automatic.
In your database, the JAN_08_SALES
tablespace contains a single 600MB data-
file. Three system backup to tape (SBT)
channels are configured, with the paral-
lelism setting for the SBT device set to 3.
The MAXSETSIZE is set to 600MB.
You issue the following Oracle RMAN
command:
RMAN> BACKUP
SECTION SIZE 200M
TABLESPACE jan_08_sales;
1. Assess data failures. Health Monitor
5. Perform proactive checks. DBA
2. List failures by severity.
3. Advise on repair.
4. Choose and execute repair.
Data
Recovery
Advisor
Figure 1: Automatic diagnostic workflow in Oracle Database 11g
MJ08_OCP.indd 67 3/13/08 11:41:03 AM
6 8 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
INSIDE OCP
INSIDE OCP
LEARN more about the Oracle
Certification Program, and download a
free exam guide
oracle.com/education/certification
READ Inside OCP columns
otn.oracle.com/oramag/oracle/ocp
What is the outcome?
A. The command creates three backup
sets, each containing one 200MB file
section.
B. The command creates one backup set
containing three 200MB backup pieces.
C. The command creates one backup set
comprising one backup piece that con-
tains three separate 200MB file sections.
D. The command generates an error,
because MAXSETSIZE is larger than
SECTION SIZE.
E. The command generates an error,
because MAXPIECESIZE is not specified.
The correct answer is B. The
command results in an Oracle RMAN
backup set in which each backup piece
contains a file section, which is a con-
tiguous range of blocks in a datafile.
Answers A and C are incorrect because
a multisection backup set contains
multiple backup pieces. Answer D is
incorrect because MAXSETSIZE must be
larger than SECTION SIZE. Answer E is
incorrect because MAXPIECESIZE must
not be specified when SECTION SIZE is
specified, so no error is generated.
ORACLE FLASHBACK TRANSACTION
Flashback transaction enables the
changes made by a transaction to be
undone, optionally undoing changes
made by dependent transactions. This
recovery option uses undo data to create
and execute corresponding compensat-
ing transactions that make the affected
database revert to its original state. The
TRANSACTION_BACKOUT procedure
analyzes transactional dependencies,
performs data manipulation language
(DML) operations, and generates reports.
TRANSACTION_BACKOUT does not
commit the DML operations it performs
as part of the transaction backout, but
it holds all the required locks on rows
and tables, preventing other dependen-
cies from entering the system. To make
the transaction backout permanent, you
must explicitly commit the transaction.
SCOTT executes the following commands
on the REGIONS table in his schema:
SQL>INSERT INTO regions(region_id,
region_name) VALUES (1, North);
SQL>COMMIT;
SQL>UPDATE regions SET region_name =
South WHERE region_id = 1;
SQL>COMMIT;
SQL>DELETE FROM regions
WHERE region_id=1;
SQL>COMMIT;
The UPDATE and DELETE transactions were
a mistake, and you are asked to restore
the original row details: 1, North. You
use the flashback transaction feature for
this operation, and Figure 2 shows the
transaction IDs available for flashback in
Oracle Enterprise Manager. Which trans-
action ID and which change recovery option
must you select to complete the operation?
A. The first transaction ID with the
NONCONFLICT ONLY recovery option
B. The first transaction ID with the
NOCASCADE FORCE recovery option
C. The second transaction ID with the
CASCADE recovery option
D. The third transaction ID with the
NOCASCADE recovery option
The correct answer is C. It backs out
specified transactions and all dependent
transactions in a post-order fashion:
children are backed out before the
parents are backed out. Answer A is
incorrect because the NONCONFLICT
ONLY recovery option backs out
changes to nonconflicting rows of the
specified transactions. Answer B is
incorrect because the NOCASCADE
FORCE recovery option backs out speci-
fied transactions, ignoring dependent
transactions. Answer D is incorrect
because the NOCASCADE recovery
option backs out specified transactions,
which are expected to have no depen-
dent transactions. (It would restore the
row as 1, South.)
CONCLUSION
This column focused on some of the
new backup and recovery features intro-
duced in Oracle Database 11g:
OBy providing a centralized tool for
automated data repair, data recovery
advisor can reduce the mean time to
recovery (MTTR) after a failure. Data
recovery advisor improves the man-
ageability and reliability of an Oracle
Database instance.
OBacking up a file in separate sections
can both improve performance and
enable large-file backups to be restarted.
Using the SECTION SIZE parameter in
the BACKUP command, you can parallel-
ize the backup-and-recovery operation
across multiple channels.
OThe flashback transaction feature
increases availability during logical
recovery, by easily and quickly backing
out a specific transaction or a set of
transactions, and their dependent trans-
actions, with one command while the
database remains online. O
Sushma Jagannath (ocpexam_ww@oracle.com) is
a certification exam development manager at Oracle.
She has been with the company since 2000.
Figure 2: Using Oracle Enterprise Manager Database Control for flashback transaction
MJ08_OCP.indd 68 3/13/08 11:41:13 AM
BY TOM KYTE
t e c h n o l o g y ASK TOM
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 6 9
On Seeing Double in V$SQL
Our technologist looks at SQL repetition in V$SQL and differences in cardinality.
often find more than one row in V$SQL for
a given SQL statement. I am wondering why
that is, which one of those rows represents
the active SQL statement, and which one
users executing that SQL statement in the
database will use. Can you explain?
There are many reasons why more
than one copy of a SQL statement can
be present in V$SQL. For example,
lets say two users each have a table T,
so tables USERA.T and USERB.T are
present in the database. USERA logs
in and queries SELECT * FROM T.
Likewise, USERB logs in and issues
SELECT * FROM T. Even though these
two SQL statements appear to be the
same, they are obviously very differ-
entaccessing different objects with
entirely different query plans. Therefore,
we need two different entries for them
in V$SQL.
In general, there are many reasons
youll see more than one cursor in V$SQL
for a given SQL statement. The follow-
ing discussion explores another pair of
reasons and shows how we can figure
out why there is more than one copy of
the SQL in V$SQL. Well see that in the
end, the cursor version used depends on
the environment of the user running the
SQL statement. Lets start by setting up an
example table to query:
SQL> create table t
2 ( x varchar2(30) primary key,
3 y int );
Table created.
SQL> begin
2 dbms_stats.set_table_stats
3 ( user, T,
4 numrows => 1000000,
5 numblks=>100000 );
6 end;
7 /
PL/SQL procedure successfully completed.
So we have a table, and the optimizer is
told that there are 1,000,000 rows in it.
Now well ensure that the shared pool has
no cached copies of SQL against this table
(this is for demonstration purposesdo
not do this on a production system!):
SQL> alter system flush
2 shared_pool;
System altered.
SQL> select sql_id, sql_text
2 from v$sql
3 where upper(sql_text)
4 like
5 SELECT % T LOOK_FOR_ME %B1_;
no rows selected
So, we have table Ta very simple
tableand now well construct a very
simple PL/SQL block that will execute
the same query text four times, as shown
in Listing 1.
After executing that block, well look
at V$SQL and find that there are four
entriesone each for the identical SQL
statements we executed in Listing 1. We
know they are identical because we can
see that they all have exactly the same
SQL_ID, as shown in Listing 2.
Those four copies may appear identi-
cal, but they are different. Because of the
way I wrote my code, the cursors were
parsed in entirely different environments:
O Cursor 1 used ALL_ROWS and bound
a NUMBER datatype.
O Cursor 2 used ALL_ROWS and bound
a VARCHAR2 datatype.
O Cursor 3 used FIRST_ROWS with a
NUMBER datatype.
SQL> declare
2 l_x_number number;
3 l_x_string varchar2(30);
4 begin
5 execute immediate alter session set optimizer_mode=all_rows;
6 for x in (select * from t look_for_me where x = l_x_number) loop null; end loop;
7 for x in (select * from t look_for_me where x = l_x_string) loop null; end loop;
8 execute immediate alter session set optimizer_mode=first_rows;
9 for x in (select * from t look_for_me where x = l_x_number) loop null; end loop;
10 for x in (select * from t look_for_me where x = l_x_string) loop null; end loop;
11 end;
12 /
PL/SQL procedure successfully completed.
codeLISTING 1: PL/SQL block executing query text four times
SQL> select sql_id, sql_text
2 from v$sql
3 where upper(sql_text)
4 like
5 SELECT % T LOOK_FOR_ME %B1_;
SQL_ID SQL_TEXT

1qqtru155tyz8 SELECT * FROM T LOOK_FOR_ME WHERE X = :B1
1qqtru155tyz8 SELECT * FROM T LOOK_FOR_ME WHERE X = :B1
1qqtru155tyz8 SELECT * FROM T LOOK_FOR_ME WHERE X = :B1
1qqtru155tyz8 SELECT * FROM T LOOK_FOR_ME WHERE X = :B1
4 rows selected.
codeLISTING 2: Query on V$SQL showing same SQL_ID for four query executions
MJ08_ASK TOM.indd 69 3/13/08 2:24:01 PM
7 0 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
ASK TOM
O Cursor 4 used FIRST_ROWS with a
VARCHAR2 datatype.
The differences between cursor pair 1
and 2 and cursor pair 3 and 4 are in the
optimizer settings. Pair 1 and 2 was opti-
mized for ALL_ROWS (total through-
put), and pair 3 and 4 was optimized
for FIRST_ROWS (initial response time).
Additionally, within each pair, we bind
either a VARCHAR2 or a NUMBER type,
and depending on which datatype we
use, we get a different query plan.
Listing 3 shows the plans for cursors
1 and 2. Those two plans (child number
0 and child number 1 here, because
Oracle Database numbers from 0) are
very differentall because of the binds.
When you compare a string with a
number, an implicit to_number() is
placed on the string, as shown in Listing
3. We have not indexed to_number(x), so
we do a full-table scan for the first cursor,
and for the second cursor, bound to a
VARCHAR2, we use the index.
Listing 4 looks at the plans for cursors
3 and 4 (which are child numbers 2
and 3). The plans for cursors 3 and 4
in Listing 4 look the same as those for
the first two cursors (in Listing 3), but
that is just a coincidence. The plans for
cursors 3 and 4 could have been different,
because they were optimized with FIRST_
ROWSfor initial response timenot
ALL_ROWS, as the first two cursors were.
Therefore, because the optimizer mode
is different, there is a different optimizer
environment and hence a different child
cursor. We can see what makes these dif-
ferent, via V$SQL_SHARED_CURSOR:
SQL> select child_number,
2 bind_mismatch B,
3 optimizer_mode_mismatch O
4 from v$sql_shared_cursor
5 where sql_id = 1qqtru155tyz8
6 /
CHILD_NUMBER B O

0 N N
1 Y N
2 N Y
3 Y Y
It shows that child cursors 0 and 1
(the first two cursors) differed in a bind
mismatch (column B) and the next two
cursors differed from the previous ones
because of optimizer mode mismatches
(column O)and the last cursor from the
previous, due to bind mismatch as well.
All four cursors are activeany
of them can and will be used by appli-
cations. If people log in and run that
query, binding a string with FIRST_
ROWS optimization, theyll use the last
child cursor. If people log in and run
that query with ALL_ROWS optimiza-
tion and bind a number, theyll use the
first child cursor.
By using V$SQL_SHARED_CURSOR,
you can gain insight into why there is
more than one copy of a given SQL
statement in the shared pool.
WHY THE CARDINALITY DIFFERENCE?
What are all the possible reasons for the differ-
ence in cardinalities shown in the explain plan
(the guess at the cardinality made by the opti-
mizer) and TKPROF row source operation (what
actually happened at runtime)?
Well, as far as what all the possible
reasons for the difference in cardinalities
shown in the explain plan and TKPROF
row source operation are, there are a
possibly infinite number of reasons, or
at least the list is so large that I cannot
imagine building a comprehensive one.
Take, for example, a case where you
SQL> select * from table( dbms_xplan.display_cursor(1qqtru155tyz8, 0 ) );
PLAN_TABLE_OUTPUT

SQL_ID 1qqtru155tyz8, child number 0

SELECT * FROM T LOOK_FOR_ME WHERE X = :B1


Plan hash value: 1601196873

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |

| 0 | SELECT STATEMENT | | | | 30891 (100)| |


|* 1 | TABLE ACCESS FULL| T | 10000 | 292K| 30891 (2)| 00:02:27 |

Predicate Information (identified by operation id):

1 - filter(TO_NUMBER(X)=:B1)
18 rows selected.
SQL> select * from table( dbms_xplan.display_cursor(1qqtru155tyz8, 1 ) );
PLAN_TABLE_OUTPUT

SQL_ID 1qqtru155tyz8, child number 1

SELECT * FROM T LOOK_FOR_ME WHERE X = :B1


Plan hash value: 3817779948

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)

| 0 | SELECT STATEMENT | | | | 2 (100)


| 1 | TABLE ACCESS BY INDEX ROWID| T | 1 | 30 | 2 (0)
|* 2 | INDEX UNIQUE SCAN | SYS_C0023438 | 1 | | 1 (0)

Predicate Information (identified by operation id):

2 - access(X=:B1)
19 rows selected.
codeLISTING 3: Plans for cursors 1 and 2
MJ08_ASK TOM.indd 70 3/13/08 2:24:29 PM
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 7 1
have a set of data called table T. In this set
of data, you have two columns, x and y,
each with 12 distinct values.
You gather every bit of statistics you
canon the table and on each of the
columns (you know the high and low val-
uesin fact you have histograms, so you
know for any of the 12 values of x how
many rows will be returned precisely),
and you have information in every index.
Now, you have a lot of information,
but it wont be enough to answer the
question, How many rows does WHERE
x = ? AND y = ? return? Lets make this
even easier: x is perfectly distributed (the
number of rows returned by x=anything
is 1/12 of the data). Y is the same:
y=anything returns 1/12 of the data.
Now tell me: How many rows does
WHERE x = ? AND y = ? return? Using
high school statistics, we can guess
(assuming that x and y are independent):
rows-returned-by(x) * rows-returned-by(y) =
1/12*1/12 = 1/144
So, about 1/144 of the rows will be
returned from this table T, right? Maybe
maybe not. What if x=y for every row?
Then, well, it is either 1/12 of the rows or
zero rows. That is, if you ask WHERE
x=5 AND y=5, that will return 1/12 (not
1/144) of the rows and for WHERE x=5
AND y=6, youll get zero rows.
Well, the optimizer will pick neither
of those; in general, it will pick 1/144 of
the rows. Consider table T in Listing 5.
So we have table T, it has 49,850 rows,
and we can see that 1/12 of that is about
4,154 rows and 1/144 of that is about
346 rows. Weve gathered very precise
statistics on the table. If we now ask the
optimizer to tell us how many rows it
thinks WHERE x=5, WHERE y=6,
and WHERE x=5 AND y=6 will return,
well discover the results in Listing 6.
The optimizer guessed 1/12, 1/12,
and 1/144 of the data, and for the first
two, it was dead on (due to the way we
constructed our test case), but for the last
one, we know it was way off, because
there are zero records WHERE x=5 AND
y=6 (because x=y for every row!).
In this specific case, a possible solu-
tion for correcting the optimizers guess
is to use dynamic sampling, as shown
in Listing 7 (and demonstrated in more
detail at asktom.oracle.com/tkyte/
DynamicSample.html).
See how the guess of 1 row is much
closer to reality than the prior guess of
357 rows? The optimizer works with
imperfect information at times, and it
makes the best guess. When we see a
large disparity in the computed cardinal-
ity, we can usually see why in that case
and then find a remedy, be it by using
dynamic sampling as demonstrated or
by using a virtual column and gathering
statistics on it (an Oracle Database 11g
Release 1 new featuredemonstrated in
the March/April 2008 Ask Tom column).
SOME DDL JUST GOT EASIER, AND SOME
JUST GOT ADDED
Have you ever encountered something
like this?
SQL> alter table emp add resume blob;
alter table emp add resume blob
*
ERROR at line 1:
ORA-00054: resource busy and acquire
with NOWAIT specified
In a busy system, you may find
certain data definition language (DDL)
operations virtually impossible to
execute, because they do not wait for
existing transactions to finish. You might
SQL> select * from table( dbms_xplan.display_cursor(1qqtru155tyz8, 2 ) );
PLAN_TABLE_OUTPUT

SQL_ID 1qqtru155tyz8, child number 2

SELECT * FROM T LOOK_FOR_ME WHERE X = :B1


Plan hash value: 1601196873

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |

| 0 | SELECT STATEMENT | | | | 30891 (100)| |


|* 1 | TABLE ACCESS FULL| T | 10000 | 292K| 30891 (2)| 00:02:27 |

Predicate Information (identified by operation id):

1 - filter(TO_NUMBER(X)=:B1)
18 rows selected.
SQL> select * from table( dbms_xplan.display_cursor(1qqtru155tyz8, 3 ) );
PLAN_TABLE_OUTPUT

SQL_ID 1qqtru155tyz8, child number 3

SELECT * FROM T LOOK_FOR_ME WHERE X = :B1


Plan hash value: 3817779948

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)

| 0 | SELECT STATEMENT | | | | 2 (100)


| 1 | TABLE ACCESS BY INDEX ROWID| T | 1 | 30 | 2 (0)
|* 2 | INDEX UNIQUE SCAN | SYS_C0023438 | 1 | | 1 (0)

Predicate Information (identified by operation id):

2 - access(X=:B1)
19 rows selected.
codeLISTING 4: Plans for cursors 3 and 4
MJ08_ASK TOM.indd 71 3/13/08 2:24:41 PM
7 2 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
ASK TOM
ASK Tom
Tom Kyte answers your most difficult technology questions.
Highlights from that forum appear in this column.
asktom.oracle.com
READ more Tom
Expert Oracle Database Architecture: 9i and 10g
Programming Techniques and Solutions
amazon.com/exec/obidos/tg/detail/-/1590595300/
DOWNLOAD
Oracle Database 11g
otn.oracle.com/software/products/database
execute this ALTER TABLE statement
thousands of times over the course of
many hours, never getting it to go.
Now you have the ability to ask Oracle
Database 11g to put your statement in
a queueto wait for the chance to lock
the table, do the DDL, and give up the
lock. For example, if you issue
SQL> alter session
set ddl_lock_timeout = 6;
Session altered.
in Oracle Database 11g, your DDL state-
ments will wait six seconds before giving
up and returning with a slightly modi-
fied Oracle Database 11g error message:
ORA-00054: resource busy and acquire
with NOWAIT specified or timeout expired
So now a DBA can specify the amount of
time to wait for existing transactions to
complete before having the statement fail.
In addition, some new DDL state-
ments have been introduced in Oracle
Database 11g. One Ive been waiting
for is the ability to put a table in READ
ONLY modepreventing data manipu-
lation language (DML) and DDL modi-
fications. The following puts a table in
READ ONLY mode and then attempts to
run a new DDL statement:
SQL> alter table emp read only;
Table altered.
SQL> alter table emp add resume blob;
alter table emp add resume blob
*
ERROR at line 1:
ORA-12081: update operation not
allowed on table OPS$ORACLE.EMP O
Tom Kyte is a database evangelist in Oracles Server
Technology division and has worked for Oracle since
1993. He is the author of Expert Oracle Database
Architecture: 9i and 10g Programming Techniques
and Solutions (Apress, 2005) and Effective Oracle by
Design (Oracle Press, 2003), among others.
SQL> create table t
2 as
3 select mod(rownum,12) x,
4 mod(rownum,12) y
5 from all_objects
6 /
Table created.
SQL> begin
2 dbms_stats.gather_table_stats
3 ( user, T,
4 method_opt => for all ||
5 columns size 254 );
6 end;
7 /
PL/SQL procedure successfully completed.
SQL> select count(*), count(*)/12, count(*)/144 from t;
COUNT(*) COUNT(*)/12 COUNT(*)/144

49850 4154.16667 346.180556
codeLISTING 5: Query on V$SQL showing same SQL_ID for four query executions
SQL> set autotrace traceonly explain
SQL> select * from t where x = 5;

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time

| 0 | SELECT STATEMENT | | 4079 | 20395 | 30 (10)| 00:00:01


|* 1 | TABLE ACCESS FULL| T | 4079 | 20395 | 30 (10)| 00:00:01

SQL> select * from t where y = 6;

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time

| 0 | SELECT STATEMENT | | 4305 | 21525 | 31 (13)| 00:00:01


|* 1 | TABLE ACCESS FULL| T | 4305 | 21525 | 31 (13)| 00:00:01

SQL> select * from t where x = 5 and y = 6;

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time

| 0 | SELECT STATEMENT | | 357 | 1785 | 31 (13)| 00:00:01


|* 1 | TABLE ACCESS FULL| T | 357 | 1785 | 31 (13)| 00:00:01

codeLISTING 6: Plan for table with precise statistics


SQL> set autotrace traceonly explain
SQL> select /*+ dynamic_sampling(t 3) */ * from t where x = 5 and y = 6;

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time

| 0 | SELECT STATEMENT | | 1 | 5 | 31 (13)| 00:00:01


|* 1 | TABLE ACCESS FULL| T | 1 | 5 | 31 (13)| 00:00:01

codeLISTING 7: Using dynamic sampling to improve the plan


MJ08_ASK TOM.indd 72 3/13/08 2:24:53 PM
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 7 3
BY ARI KAPLAN
c o m m e n t IN THE FIELD
New IOUG Award Is Double Honor
From the Oracle Contribution Award to Ken Jacobs to Tom Kyte
ts not often that a single award
can honor two people, but thats
what the Independent Oracle Users
Group (IOUG) has done with one
award this year.
The Oracle Contribution Award
has been one way that the IOUG has
recognized extraordinary contributions
by Oracle employees to the user group
and the user community. Each year at
the annual COLLABORATE conference,
which is cosponsored by the IOUG,
the Oracle Applications User Group,
and Quest, the IOUG has presented
this award to an Oracle employee for
outstanding dedication and service to
the user group community.
Through this award, the IOUG has
acknowledged people who have posi-
tively affected the success of the IOUG
through their support of the organiza-
tion. Recent recipients of the Oracle
Contribution Award include Shyam
Varan Nath (2007), Mary Lou Dopart
(2006), James Hobbs (2005), Ken
Jacobs (2004), Mary Ann Zirelli (2003),
and Kate Kerner (2002).
THE IOUG IS PLEASED TO RENAME . . .
The IOUG has renamed the Oracle
Contribution Award after Ken Jacobs,
Oracles vice president of product strat-
egy in Oracle Server Technologies, for
his many contributions to Oracle users.
The years that Ken Jacobs has provided
support, strategic guidance, and leader-
ship to the IOUG have truly made a
mark on our organization, and we very
much appreciate all that he has done
for the IOUG.
Jacobs has had an extensive career
with Oracle, including helping to
establish the first Oracle office in
Washington DC in 1981; serving in
various consulting, support, product
management, and product marketing
capacities; and helping to guide the
development of the Oracle Database
product over the years.
Jacobs says that the real stars of the
Oracle community are the volunteers of
the IOUG, who work so hard, invest so
much energy, and inject so much cre-
ativity to provide support to others in
the community.
It has been my great pleasure to
work with you and on your behalf,
both as a strong voice of advocacy for
users to Oracle, as well as a voice of
Oracle to the users, Jacobs says. I am
truly touched and extremely honored
by your naming this award for me. Its
an honor I will always cherish.
AND THE JACOBS GOES TO . . .
The IOUG is presenting this first-
ever Ken Jacobs Award to Tom Kyte,
Oracle architect.
I am thrilled that this award is
going to Tom Kyte, who exemplifies
all the best that an Oracle employee
can be, Jacobs says. Tom is extremely
knowledgeable and passionate about
Oracle technology. He is tireless and
every week answers what seem to be
millions of technical questions on the
Ask Tom Web site. His mission is to
help people make better use of Oracle
technology through education and
examples. Toms no-nonsense, just-
the-facts, and show-me-the-proof style
make him an invaluable resource for
Oracle and users alike. It is entirely
fitting that he receives this recognition,
Jacobs says.
Kyte has worked with Oracle
Database since 1987; he joined Oracle as
an employee in 1993. He helps Oracle
customers and users who work with the
database and is familiar to users as the
Tom behind the Ask Tom column in
Oracle Magazine, answering questions
about Oracle Database and its tools. I
spend way too much time working on
asktom.oracle.com, Kyte says.
The author of several well-regarded
books on Oracle technology, Kyte
has been involved with the IOUG
since 1993, and every year since, his
involvement in the user community
has grown. Hes now been to Oracle
user group events all over the world
and spends at least three or four days a
month helping the user groups.
Kyte says that hes very flattered
to receive this recognition. I was in
Toronto when Ken Jacobs received
the Oracle Contribution Award in
2004, and I remember thinking how
impressed I was that he had this con-
nection with the user group com-
munity, Kyte says. Im humbled to
receive the same awardnow named
after Kenthis year.
Kyte says that joining the IOUG
offers many advantages for profes-
sional growth. Im a big supporter of
the IOUG and try to do what I can to
support it, he says. I would strongly
encourage anyone who calls their career
Oracle to become part of it. The confer-
ences are great. Great technical content,
strong leadership, and great organiza-
tion: thats the IOUG. O
Ari Kaplan (ari_kaplan@ioug.org) is president of the
Independent Oracle Users Group (IOUG) and a senior
consultant at Datalink. He founded Expand Beyond
Corporation, a leader in mobile IT software. He has been
involved in Oracle technology since 1992.
JOIN the IOUG
www.ioug.org
ASK Tom
asktom.oracle.com
MJ08_KAPLAN.indd 73 3/14/08 3:19:43 PM
S|a] A|ead c| ||e 0|a:|e Te:||c|c] a|d
App||:a||c| Cu|.e. C0||AB0RATE.
'''^c''^c .o . |-|.- ..-. -...|. |. '.- |-.'.., . ,,.|. ,.|-., - ,.., .'.
- .. |. -.' |'- .-- . -'.- |'- ,-|..- .| |'- ..,, '.- -..-|. '| .',
'''^c''^c .o |'- -. .-..- '.- -...|. -.-|, .. '.- ,.|-. |..
00LLA808ATF .|' |'... .| '.- .- |. '- ...- |.-, .'-- . ..|. |. '.-
|-.'.., . ,,.|..
LFA8h |. |'- -\,-| . -.- |'- '.- ...|, .|' .'..- .| .- |' '.. -...|. -.
', |'- ''', '^' . '.-| ,--| '-| ,.|.- . |-|-. ..|..
0|S00VF8 |-.'.., ..|. . ||-- .|' ..- |. .- |' ... .| |'- -. ' ..|. ,...-
-\''| .- .,- |...
0A|h .- |.|. . '| |. '.- -.-', . |-.'.., ..-, . -.-- |'- .-
.., ..-.|.- ...- |. '.-.
whara do | ba|ong at 00LLA808ATF?
'| ,.. - '.- |-.'.., . .|'- ,.|-., ... 'c^, .-.-.,-, .'|-.|, ,,.|. -.-
.||., ,|-/-..|,/|.- -, -|- |'..' |'- '.-,-.-| '.- '- .., ,''',.
'| ,.. - '.- ,,.|. ,.|-. .|' |--| |'- '.- cc.- '.|-, '-.,-'.||, '.-
'-|, '-'-, '.- ...|. ,|.-, '.| '.||.- . V-|'.. '.||.-, . '-| ,,.|.
|-.'..,, -|- |'..' |'- '.- ^,,.|. '- .., ,'^',.
'| ,.. - '-.,-'.|| . .' c... |..|. . |-.'. ,.|-. | , -.- .| ,.. .|., -|-
|'..' '.-| '|-|. '- .., ,'.-|,.
'--|-. ',.
AP8|L 13-17, 2008
00L08A00 00hVhT|0h 0hT8
0hV8, 00L08A00
8ag|strat|on |s ||va! V|s|t www.co||aborata08.com
for mora |nformat|on.
WWW.|cu.c|
WWW.cau.c|
WWW.(ue|d||e:|.c|
Untitled-8 1 3/18/08 8:51:03 PM
O R A C L E M A G A Z I N E M AY / J U N E 2 0 0 8 7 5
BY MARY ANN DAVI DSON
c o m m e n t ALL SECURE
SOA What?
Even with service-oriented architecture, consider the source.
s long as I have worked in the
IT industry, the holy grail has
been reusable code. In fact, IT
industry history is littered with
acronyms that promised reusable code
but didnt deliver it.
It makes senseespecially for secu-
rityto use a well-vetted module for a
common function instead of having all
developers roll their own. For example,
for many years, Oracle has had its
developers use standard cryptographic
modules. Integration and maintenance
costs are lower, too, if you have modular
services that other components can use
instead of duplicative, deeply embedded
code. You can develop new applications
faster if the basic building blocks
especially security ones such as identity
and access managementare just there
and accessible. Last, much of IT is now
affected by regulations requiring you to
show that security controls are imple-
mented properly. This is much easier if
security is enforced in a few correct (and
auditable) places instead of deep in your
multimillion-lines-of-code base.
The latest industry go-round at reus-
able code is service-oriented architecture
(SOA). Unlike earlier code reuse flops,
SOA is succeeding, for several reasons.
For one, the industry has enough stan-
dards glue to make SOA work. In fact,
Oracle has been a leader in the creation
of Web security standards such as SAML,
XACML, WSS, WS-SX, and the Identity
Governance Framework. Integrated,
standards-based identity and access man-
agement offerings such as Oracle Identity
and Access Management give developers
a healthy toolbox of choices. And the
Webifying of legacy applications and the
emergence of Web 2.0 have created a
compelling market need.
Oracle believes that most develop-
ers should be writing secure code, not
security code. Accordingly, developers
can use libraries such as Oracle Security
Developer Tools or, better still, leverage
SOA and Web services security through
Oracle Web Services Manager to attach
security policies to Web services or SOA
composites. With Oracle Web Services
Manager, security is not siloed into
each application but, rather, centralized
in a single point of administration.
As a security kahuna, I offer several
cautionary notes about SOA. One is
that if you incorporate modular logic
into your application and its a critical
component, you need to acquire that
component from an entity you trust.
You wouldnt buy a home alarm system
from just anyone you met on the street.
Similarly, you wouldnt download a
critical component on the fly from
JustAnywhere.com. Its never about
assertions; its about where you get code
and knowing what the code does.
A second caution is to remember
information security Rule No. 1: Dont
trust any information from the client.
(Rule No. 2 is See Rule No. 1.) What
does this mean in terms of SOA? Simply
that, to the extent that developers put
more rich code on the client, they
create security problems if that informa-
tion is not validated by the server before
it is accepted. No protocol, security
framework, or standard will ever replace
proper server-side validation, because
anyone can hand the server something
it expects that appears valid. You might
be able to trust a server within your
control, but you absolutely cannot trust
nine million clients outside your control.
A new book by Gary McGraw,
Exploiting Online Games, describes how
online games are massively distributed
systems with rich clients (just like SOA).
If a fearless gamer can trick the server
into believing Fearless Gamer killed
three trolls and earned a magic sword,
he will do so, especially if he can sell
the virtual sword for real moneyand
he can. Developers focused on the rich
client experience must remember that
they cannot believe anything the client
hands the server unless they separately
validate it. I can tell the guard at a bank
that I am the queen of England, but the
bank wont let me access Her Majestys
bank account unless I prove it.
Oracle SOA Suite is a wonderful
place to find a development frame-
workincluding SOA and Web services
securitythat also integrates well with
Oracles identity and access management
products to provide end-to-end security
from clients (browsers or applications) to
portals to networks of Web services. You
can build cleaner, more-secure applica-
tions faster. But do not forget the maxim
about nuclear disarmament thats even
more applicable to massively distributed
applications: Trust but verify. O
Mary Ann Davidson is the chief security officer of
Oracle, responsible for secure development practices,
security evaluations, and assessments. She represents
Oracle on the board of directors of the Information
Technology Information Security Analysis Center and
the U.S. Defense Science Board and is on the editorial
review board of SC Magazine.
LEARN more about
Oracle SOA Suite
otn.oracle.com/tech/soa
Oracle Identity Management
otn.oracle.com/products/id_mgmt/oxp
Oracle Access Management
otn.oracle.com/products/id_mgmt/coreid_acc
READ more Davidson
blogs.oracle.com/maryanndavidson
DOWNLOAD Oracle SOA Suite
otn.oracle.com/software/tech/soa
MJ08_DAVIDSON.indd 75 3/13/08 11:23:35 AM
BY DAVI D BAUM
c o m m e n t ANALYSTS CORNER
7 6 M AY / J U N E 2 0 0 8 O R A C L E . C O M / O R A C L E M A G A Z I N E
SOA Means Business
Service-oriented architecture delivers the technology that businesses want.
racle Magazine spoke with
Chris Haddad, vice president of
Applications Platform Strategies
at Burton Group, about how
to make headway with service-oriented
architecture (SOA).
Oracle Magazine: How do you define
success in the context of SOA?
Haddad: Many people will say they want
to achieve greater agility, reduce time to
market, and minimize costs. But those
goals apply to any IT project. I consider
SOA projects successful when services
are shared and reused, software assets
are consolidated and provide redundant
capabilities, and projects conform to
common standards. Tangible success
metrics provide small steps required to
realize bigger goals.
Oracle Magazine: Whats the best way to
adopt SOA with minimal disruption?
Haddad: Have clear adoption strategies.
You want to identify gaps in your software
development lifecycle and create an envi-
ronment that fosters collaboration and
trust. Some companies decide they need
to improve their operations-management
capabilities so services will be reliable,
available, and secure enough to be shared
across teams. Others decide to upgrade
their change-management processes. In
any case, you need a consensus about
how to describe services. Most companies
start small by creating a single service and
sharing it with a specific community.
Oracle Magazine: What happens as these
SOA implementations gain momentum?
Haddad: Far-seeing organizations begin
to take inventory of all their software
assets, services, and application frame-
works. This allows them to create a
shared infrastructure of business func-
tions, to migrate their applications to
these common functions, and to create
event awareness within their IT archi-
tectures so they can monitor business
processes and data changes.
Oracle Magazine: How do development
projects create reusable software assets?
Haddad: You cant reuse a service capa-
bility unless you understand what the
service will provide to your project, so
business and technical users need to
jointly define entities that underpin their
business processes. For example, in the
financial services market, you need a
universal definition of an account object.
Once you reach agreement, you can
bring commonality to all applications
that access these objects, and you can
promote reuse because the data elements
consumed by the applications are built
into the service. Every well-designed
service is a pragmatic step toward
achieving these goals.
Oracle Magazine: Whats the relationship
of business process management to SOA?
Haddad: Business process management
provides a way for discussing business
needs and service capabilities. It forces
businesspeople and IT people to devise
a shared language, so they can align their
IT systems with the business processes
they want to execute. Business Process
Execution Language [BPEL] lets you
describe business goals technically; tools
such as Oracle BPEL Process Manager
help you define and orchestrate services
and then expose them as discrete build-
ing blocks. As you develop a holistic
picture of your IT capabilities, you can
weave new and old functions into a unified
portfolio and align your information
systems with how people want to work.
Oracle Magazine: Whats a good example?
Haddad: Suppose your organization wants
to revamp its call center systems. SOA
creates interfaces to the applications and
data repositories, so you can simplify the
way people interact with these systems
and streamline the tasks that they need
to perform. BPEL helps you describe the
necessary business services and imple-
ment them according to your model of
where the business is going.
Oracle Magazine: How can SOA affect
other business initiatives?
Haddad: For example, SOA can affect
business intelligence [BI], which is all
about gaining visibility into business
performance, metrics, and trends. BI
requires links to data repositories, ana-
lytics, reports, and data visualization
tools. SOA serves as a catalyst for con-
necting these entities and normalizing
the semantic data representations. The
first step is to implement mediation
agents that can monitor messages and
event streams and generate alerts that
feed real-time dashboards or event pro-
cessor engines. Developers want to take
their dashboards and hook them up to
this new runtime infrastructure, which
supports publication and consumption
of services. This is much more efficient
than building point-to-point connections
between event publishers, processing
engines, and information consumers. O
David Baum (david@dbaumcomm.com) is a freelance
business writer based in Santa Barbara, California.
Burton Group (www.burtongroup.com) is a technical
research and advisory group focusing on service-
oriented architecture and other topics.
READ more about
service-oriented architecture
oracle.com/technologies/soa
Oracle SOA Suite
oracle.com/technologies/soa/soa-suite.html
Oracle BPEL Process Manager
otn.oracle.com/products/ias/bpel
DOWNLOAD
Oracle SOA Suite
otn.oracle.com/software/tech/soa
MJ08_ANALYST.indd 76 3/12/08 11:25:44 AM
Copyright 2008, Oracle. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.
Throw Away
*
Half Your Disk Drives
oracle.com/goto/compression
or call 1.800.ORACLE.1
Newest Oracle Database
Half the disk space
Half the electricity
Half the cost
And it runs faster
Advanced data compression makes the planet a little greener
*We encourage you to reuse or recycle. Learn more at: www.eiae.org
Untitled-9 1 3/18/08 9:12:54 PM

Potrebbero piacerti anche