Professional Documents
Culture Documents
Oracle Excellence
Awards
Customers and partners excel at
driving business value and innovation
with Oracle technology
www.black-square.de
shaping
tomorrow
with you
SIGN UP
FOR THE SAFARI
BOOKS ONLINE
OPEN HOUSE
Find all the latest and
most relevant resources
for Oracle developers
and IT professionals at
Safari Books Online.
NO STRINGS ATTACHED Sign up today for the Safari Books Online Open House and get your team or
AND NO COMMITMENT workgroup access to the world’s most popular, fully searchable digital library.
See why more than 15 million business, IT professionals, developers and web
designers from corporations, government agencies and academic institutions
access Safari Books Online for research, problem solving, just-in-time learning,
professional development and certification training.
Up Front / 6
FROM OUR FROM THE MASHUP / 8
READERS / 6 EDITOR / 7 News, views, trends, tools
Readers tell us what Developing for Java
they think. —Tom Haunert
At Oracle / 11
EVENTS / 11 RESOURCES / 13 NEWS / 19 INTERVIEW / 21
Find out about upcoming Your guide to Oracle Converged Hardware A Kernel of Truth
technology and industry Webcasts, podcasts, blogs, Management Oracle’s Unbreakable
events. and more Oracle Enterprise Manager Enterprise Kernel for Oracle
Ops Center 11g simplifies Linux delivers support
BRIEFS / 16
hardware management in for new hardware, new
The latest product news
Oracle’s Sun environments. features, and better data
—Caroline Kvitka management. —Tom Haunert
Community / 22
PARTNER NEWS / 22 ARCHITECT / 27 UP CLOSE / 28 PEER-TO-PEER / 29
BOOK BEAT / 22 Enterprise Architecture French Connection Hack, Tweet, Repeat
in Interesting Times Common business practices Chet Justice, Oded Raz,
COMMUNITY Business and technology and language bring far-flung Simon Haslam
BULLETIN / 25 continue to shape enterprise Oracle users to AUFO. —Blair Campbell
Java Evolves
architecture. —Bob Rhubart —Jeff Erickson
At JavaOne, Oracle details a
roadmap for JDK 7, JDK 8,
and beyond.
—Justin Kestelyn
Technology / 51
JAVA EE 6 / 51 BUSINESS BROWSER-BASED ORACLE EXADATA / 61 ASK TOM / 65
Simplicity by Design INTELLIGENCE / 56 / 59 Simulation Demonstrates On History, Invisibility,
Leverage new Java EE 6 Quickly Define KPIs Extend Your Applications Performance and Moving
features to build simple and and Scorecards That Use plug-ins with Oracle Use Oracle Exadata Our technologist counts on
maintainable applications. Use Them Application Express 4.0 simulation in SQL histograms, proves hash
—Adam Bien Build key performance to add custom components. Performance Analyzer tables by example, and
indicators and scorecards in —David Peake to help predict how your moves CLOBs. —Tom Kyte
your business intelligence application will perform on
metadata with Oracle Oracle Exadata.
Business Intelligence —Arup Nanda
Enterprise Edition 11g.
—Mark Rittman
Comment / 69
IN THE FIELD / 69 IN THE FIELD / 70 ANALYST’S CORNER
Are You Change Enabled? Build Better Data / 72
Iterate and inculcate change Warehouses The Case for Integrated
along with its disruption. Oracle Exadata Database Systems Management
—David Ferguson Machine’s processing Efficient and cost-effective
capability means fewer systems management must
physical structures and also do more. —David Baum
better BI. —Andy Flower
Editorial Publishing
Editor in Chief Publisher
Tom Haunert tom.haunert@oracle.com Jeff Spicer jeff.spicer@oracle.com
Senior Managing Editor Production Director and Associate Publisher
Caroline Kvitka caroline.kvitka@oracle.com Jennifer Hamilton jennifer.hamilton@oracle.com +1.650.506.3794
Features Editor Senior Manager, Audience Development and Operations
Rich Schwerin rich.schwerin@oracle.com Karin Kinnear karin.kinnear@oracle.com +1.650.506.1985
Contributing Editor and Writer
Blair Campbell Advertising sales
Associate Publisher
Editor in Chief, Oracle Technology Network
Kyle Walkenhorst kyle@sprocketmedia.com +1.323.340.8585
Justin Kestelyn justin.kestelyn@oracle.com
Northwest & Central U.S.
Technology Advisor
Tom Cometa thomas.cometa@sbcglobal.net +1.510.339.2403
Tom Kyte
Southwest U.S. and LAD
Contributors
Shaun Mehr shaun@sprocketmedia.com +1.949.923.1660
Marta Bright, Jeff Erickson, Fred Sandsmark, Leslie Steere
Northeast U.S. and EMEA/APAC
DESIGN Mark Makinney mark.makinney@sprocketmedia.com +1.805.709.4745
Senior Creative Director Mailing-List Rentals
Francisco G Delgadillo Contact your sales representative.
Design Director
Richard Merchán Resources
Oracle Products
Contributing Designer
+1.800.367.8674 (U.S./Canada)
Jaime Ferrand
Oracle Services
Production Designer
+1.888.283.0591
Sheila Brennan
Oracle Press Books
Editorial Board www.oraclepress.com
Ian Abramson, Karen Cannell, Andrew Clarke, Chris Claterbos, Karthika Devi,
Kimberly Floss, Kent Graziano, Taqi Hasan, Tony Jambu, Tony Jedlinski, Copyright © 2010 and 2011, Oracle and/or its affiliates. All Rights Reserved. No part of
Ari Kaplan, Val Kavi, John King, Steve Lemme, Carol McGury, Sumit Sengupta, this publication may be reprinted or otherwise reproduced without permission from the editors.
Jonathan Vincenzo, Dan Vlamis 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
Subscription Information FOR ANY DAMAGES OF ANY KIND ARISING FROM YOUR USE OF OR RELIANCE ON ANY
Subscriptions are complimentary for qualified individuals who complete the INFORMATION PROVIDED HEREIN. The information is intended to outline our general product
subscription card found in each issue or online at oracle.com/oraclemagazine. direction. It is intended for information purposes only, and may not be incorporated into any contract.
For change of address, mail in label with the new address to: Oracle Magazine, It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in
P.O. Box 1263, Skokie, IL 60076-8263. making purchasing decisions. The development, release, and timing of any features or functionality
described for Oracle’s products remains at the sole discretion of Oracle. Oracle and Java are
Magazine Customer Service registered trademarks of Oracle Corporation and/or its affiliates. Other names may be trademarks
oracle@halldata.com Fax +1.847.763.9638 Phone +1.847.763.9635 of their respective owners.
Oracle Magazine (ISSN 1065-3171) is published bimonthly with a free subscription price by: Oracle,
Privacy 500 Oracle Parkway, MS OPL-3C, Redwood City, CA 94065-1600. Periodicals Postage Paid at
Oracle Publishing allows sharing of its mailing list with selected third parties. Redwood City, CA, and additional mailing offices. • POSTMASTER: Send address changes to: Oracle
If you prefer that your mailing address or e-mail address not be included in this Magazine, P.O. Box 1263, Skokie, IL 60076-8263.
program, contact Customer Service at oracle@halldata.com.
Printed by Brown Printing
PRODUCT INDEX
Product Name Page Product Name Page
Java 45 Oracle Forms 16
Java Development Kit 25 Oracle Fusion Applications 13
Java Enterprise Edition 51 Oracle Fusion Middleware 45
Java Standard Edition 16 Oracle Hyperion Planning 13
MySQL 14, 30 Oracle Identity Analytics 38
Oracle Access Manager 38 Oracle Identity Federation 38
Oracle Application Express 59 Oracle Identity Management 38
Oracle Application Testing Suite 18 Oracle Identity Manager 38
Oracle Business Intelligence 14 Oracle On Demand 13
Oracle Business Intelligence Enterprise Edition 16, 56 Oracle Real Application Clusters 13
Oracle Cloud Resource Model API 13, 17 Oracle Secure Global Desktop 13
Oracle CRM On Demand 17 Oracle Solaris 11 Express 16
Oracle Crystal Ball 13 Oracle Unified Business Process Management Suite 13
Oracle Data Integration Suite 13 Oracle User Productivity Kit 14
Oracle Data Integrator 14 Oracle VM 13, 16
Oracle Database 65 Oracle VM Server for SPARC 16
Oracle Enterprise Manager 19 Oracle WebCenter Suite 13
Oracle Enterprise Manager Ops Center 19 Oracle’s Unbreakable Linux Kernel for Oracle Linux 21
Oracle Essbase 14 StorageTek Virtual Library Extension 17
Oracle Exadata 14, 19 StorageTek Virtual Storage Manager 17
Oracle Exadata Database Machine 14, 70 Sun Ray 3 Series Clients 13
Oracle Exadata Storage Server 61 Sun Ray Software 17
Oracle Exalogic Elastic Cloud 13, 19 Sun ZFS Storage Appliance 18
WE WANT OUR PDFS So, I’d like to ask you to keep old content on
I can’t get Oracle Magazine on my iPad. I’d like the Oracle Website.
to download the PDF version to my iPad, and I Timur Akhmadeev
can’t see any indication of a download selector.
Any instructions available? I’d like to express my opinions about an Oracle
Paul Peaslee Magazine archive. An Oracle Magazine archive
would be very helpful because
I’m a subscriber to Oracle Magazine. Is there a 1. Many articles contain fundamentals that are
PDF version or an online version that would be valid for more than five years
viewable on the iPad (no Adobe Flash)? 2. It is helpful to check the development of
Sébastien Pouillet some past features
Andreas Buckenhofer
The editors reply: Oracle Magazine is now
available in multiple formats: a traditional print JAVA JUSTIFICATION NEEDED
format; a digital replica of the print magazine; What is the point of the article “Customize
plain HTML at oracle.com/oramag; and iPad Your Application Layout” by James L. Weaver
and iPhone versions, available at the Apple App (November/December 2010, bit.ly/dnTLaY),
Store. Subscribers to the digital issue can down- since JavaFX Script has been phased out
load a PDF from the top navigation bar of the by Oracle?
digital issue. Thomas Auzinger
WE WANT OUR ARCHIVE I’m not sure if the article “Customize Your
In a recent issue of Oracle Magazine, there was a Application Layout” is outdated or if it was
question from Marco Pinzuti (From Our Readers, a mistake. I think people could be confused
September/October 2010) about why Oracle because of the split of JavaFX and JavaFX
Magazine articles are available for the past five Script.
years only. The editors responded that they do Vanessa Aybar
not host old articles because technology moves
E-MAIL THE EDITORS quite fast. Although I agree with this fact— The Java Development Group at Oracle
Oracle Database indeed moves pretty fast—I responds: JavaFX continues to be an important
Send your opinions about what you read in Oracle do not agree with the approach of removing platform for Oracle, and this article reflects
Magazine, and suggestions for possible technical
articles, to opubedit_us@oracle.com. Letters older content from the Oracle Website, because current best practices. Even though JavaFX
may be edited for length and clarity and may be I don’t like broken links and there’s a lot more Script will not be directly supported in future
published in any medium. We consider any com- “suspect” content out there, which is sometimes JavaFX releases, there are no immediate plans
munications we receive publishable.
completely wrong. to retire the JavaFX 1.3.1 runtime.
The survey of 542 U.S.-based IT end users was conducted online Bluetooth, and monitoring connections is easy with a wireless status screen
in June and July 2010. and an airplane mode that lets you disable all wireless connections in one place
Source: CompTIA, comptia.org US$369.99. elocitynow.com
“Stunning”
“Exadata V2 performance is described
as ‘stunning’ and ‘a screamer’ as it
‘wiped the floor’ with Netezza/Teradata”
“One customer saw query processing time
drop from 35 hours to 27 minutes, while
another customer saw a performance
boost of up to 300x”
“Exadata Due Diligence Sessions Are an Eye-Opener”
Piper Jaffray, October 19, 2010
Copyright © 2010, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates.
Other names may be trademarks of their respective owners.
Events 11
Conferences and sessions to help you stay Boston MySQL Monthly Meetups
January 10 and February 14,
on the cutting edge Boston, Massachusetts
meetup.com/mysqlbos
sessions, birds-of-a-feather sessions, and a Through keynotes and four tracks of ses- Locate User Groups
oracle.com/technetwork/community
plenary meeting. sions, this forum provides an integrated
partner.oracle.com
or call 1.800.323.SELL
Copyright © 2010, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates.
Other names may be trademarks of their respective owners.
16 Product Resources
StorageTek Virtual Library Extension Available Sun Ray Software 5.1 Released
Oracle has unveiled the StorageTek Virtual provide a single, policy-based management Oracle has delivered Sun Ray Software 5.1,
Library Extension, the industry’s first interface that migrates data between high- the latest release of its software for reducing
highly scalable second tier of disk performance disk, high-capacity disk, and the maintenance, upgrade, and operational
storage that optimizes tape processing in tape tiers. costs and complexity associated with tradi-
mainframe environments. The StorageTek The StorageTek Virtual Library Extension tional desktop environments and providing
Virtual Library Extension expands the maximizes data protection and availability users access to their virtual desktops from
disk capacity of the StorageTek Virtual by leveraging the unique StorageTek nearly any location.
Storage Manager virtual tape environment Virtual Storage Manager architecture that Sun Ray Software 5.1 includes enhance-
to enable a secondary tier of disk- enables data to be dynamically stored and ments to media, Adobe Flash, audio, USB
based performance while maintaining protected in multiple tiers of storage and support, and multidisplay capabilities,
streamlined management. This addition at multiple locations without involving the providing organizations with a highly secure
provides as much as 3.5 mainframe. The product uses Oracle Solaris and rich virtual desktop experience through
PB of additional effective ZFS technology to provide higher reliability Oracle’s Sun Ray Clients, PCs, and laptops.
disk storage space, giving with triple-parity RAID-Z3, which delivers Sun Ray Software also provides enhanced
customers more-seamless five times more data reliability than IBM support for Microsoft Windows 7, Windows
disk buffer scalability systems using RAID-6. XP, Windows Server 2003, and Windows
to manage growth and “Oracle continues to address the needs Server 2008 R2 operating systems.
increase performance of mainframe virtual tape customers,” says The new release takes full advantage of
while reducing costs. Robert Amatruda, research director of data the new Sun Ray 3 Series Clients to reduce
The integrated protection and recovery at International server workloads and provide a highly secure
StorageTek Virtual Data Corporation (IDC). “Oracle’s StorageTek virtual desktop solution, while continuing to
Storage Manager/ Virtual Library Extension provides an innova- support a variety of other client devices.
StorageTek Virtual Library tive and cost-effective approach by adding a “Oracle continues to enhance its desktop
Extension environment second tier of disk to its StorageTek Virtual virtualization portfolio and deliver new and
is the only mainframe Storage Manager products.” improved capabilities that provide customers
virtual tape solution to bit.ly/dgrPZE a highly secure, low-cost, and easy-to-use
remote desktop experience,” says Wim
Coekaerts, senior vice president of Linux and
Oracle Cloud Resource Model API Unveiled virtualization engineering at Oracle. “The
Oracle has released the Oracle Cloud based resources to deliver better business Sun Ray Software 5.1 release delivers on
Resource Model Application Programming agility and flexibility, high utilization, and Oracle’s commitment to rapidly advancing
Interface (Oracle Cloud API) for managing reduced costs. our desktop virtualization products.”
cloud computing infrastructures. Oracle has The Oracle Cloud Elemental Resource bit.ly/cjEX2q
also contributed the Oracle Cloud Elemental Model API encompasses the common ele-
Resource Model API, a subset of the Oracle ments that make up a cloud by specifying
Cloud API, to the Distributed Management machines, storage volumes, and networks.
Oracle CRM On Demand 18
Task Force (DMTF) for consideration in The specification submitted to the DMTF Now Available
DMTF’s proposed infrastructure-as-a- describes how a machine can be provi- Oracle CRM On Demand 18, the newest
service (IaaS) cloud API standard. sioned from an image; how a volume can be release of Oracle’s on-demand customer rela-
The Oracle Cloud API follows the repre- attached to a machine; and how a machine tionship management (CRM) product, intro-
sentational state transfer (REST) architec- can connect to a network. duces industry-leading capabilities designed
ture style and uses HTTP methods to interact “Enterprises are continuing to look to to drive revenue and reduce costs. It delivers
with resources to achieve provisioning, asso- cloud computing to extend the value of their qualified leads at lower cost, enables better
ciating, modifying, and retiring of entities. As IT investments and better service users,” business planning regardless of market con-
a full resource model, the Oracle Cloud API says Sushil Kumar, vice president of product ditions, and includes enterprise-grade cloud
also includes composite entities to facilitate strategy and business development at security and network and access control.
system deployments and management, Oracle. “With the Oracle Cloud API, Oracle “The latest release [of Oracle CRM On
including assemblies, deployment, and scal- is further enabling customers and partners Demand] brings needed integration between
ability groups. to build and manage cloud environments— the all-too-often-misaligned roles of mar-
By leveraging virtualization, clustering, based on an open, application-aware IaaS keting and sales in the leads management
and dynamic provisioning across all layers platform—to improve service levels and the process,” says Mary Wardley, vice president of
of the stack, the Oracle Cloud API lets users overall end-user experience.” CRM and enterprise applications at IDC.
easily and efficiently manage their cloud- bit.ly/dpY1Na oracle.com/crmondemand
Converged Hardware
Management
Oracle Enterprise Manager Ops Center 11g simplifies
hardware management in Oracle’s Sun environments and
reduces costs by as much as 90 percent.
Linux. It also manages Oracle’s engineered Manager Ops Center 11g users will be able to
systems, Oracle Exadata and Oracle Exalogic easily track warranty and support contract
Steve Wilson, Vice President of Systems
Elastic Cloud. Management at Oracle status on their servers. In addition, these new
features make it fast and easy for users to Manager 11g to identify and resolve problems Oracle’s hardware and software. “By pro-
manage their interactions with Oracle support across the entire stack. A set of integrations viding a single, intuitive management console
when they need help or replacement parts. between the two products enables real-time that spans a broad range of infrastructure and
“We’ve integrated Oracle Enterprise information on hardware status and alarms software assets, we are enabling customers to
Manager Ops Center with My Oracle Support and integrated applications-to-disk compli- streamline operations, improve productivity,
so that if Oracle Enterprise Manager Ops ance. These integrations also support an and dramatically reduce management costs,”
Center detects a fault in your hardware applications-to-disk management capability Wilson concludes.
systems, it can automatically collect all the to deliver infrastructure awareness for appli-
details on the fault and all the debugging cation managers and application awareness Caroline Kvitka is
information that Oracle will need to fix the for system administrators. senior managing editor
problem and allows you to log a service “The people who manage servers and of Oracle Magazine and
request to Oracle so that you can get the help storage will get visibility into what’s hap- Profit. She has been at
you need as quickly as possible,” Wilson says. pening in the applications that they’ve never Oracle since 2001.
had before,” Wilson says. “And by the same
APPLICATIONS-TO-DISK MANAGEMENT token, the people who are administering
NEXT STEPS
While Oracle Enterprise Manager Ops Center applications, middleware, and databases
11g functions as a standalone console, it now get visibility into what’s going on down
LEARN more about Oracle Enterprise
also works in concert with Oracle Enterprise in the virtualization and hardware layers.” Manager Ops Center 11g
With the extensive integration work bit.ly/aybggT
DOWNLOAD Oracle Enterprise Manager included in Oracle Enterprise Manager Ops WATCH the Oracle Enterprise Manager
Ops Center 11g Center 11g, organizations will benefit from Ops Center 11g launch Webcast
bit.ly/9jdw7x bit.ly/aO2XSG
common management capabilities across
YOU NEED
SOLUTIONS.
Turn to the most qualified solutions experts to By working with one of Avnet’s solution providers to leverage
solve your data center challenges: solution Oracle’s new solutions you’ll experience:
s Increased overall data center efficiencies—by up to 200%
providers backed by Avnet Technology Solutions.
s Greater cost-efficiency
Whether you want to reduce power consumption or need to address s Precise strategy for successful day-to-day operation
a security breach in your network, you need a solution provider s Support by superior targeted services and programs with
with unmatched data center knowledge, expertise and advanced great capacity and less downtime
training in a wide range of data center solutions. s Maximized ROI
s Minimized investment and risk
You need an Avnet partner. s The right solution at the right time
specializeddatacenter.com
avnet-horiz.indd 1 11/22/10 10:24 AM
A Kernel of Truth
Oracle’s Unbreakable Enterprise Kernel for Oracle Linux
delivers support for new hardware, new features, and
better data management.
the Oracle Linux distribution is able to handle. Unbreakable Enterprise Kernel for Oracle oracle.com/us/technologies/linux
There are a number of changes in the Linux in terms of availability? LISTEN to the podcast
oracle.com/magcasts
Unbreakable Enterprise Kernel that allow Mason: One of the biggest new features in
Pro Oracle Database 11g mechanism by which outer joins between Accenture and Infosys Achieve
Administration tables can be created virtually. The book
highlights real-world business cases where Diamond Partner Level
By Darl Kuhn
a combined analysis is critical to devel- Oracle has expanded its specialization
Apress oping an accurate and meaningful report.
apress.com partner program and created the highest
These case studies for different types of
report unions provide a framework for level in the Oracle PartnerNetwork:
Pro Oracle Database 11g
tested and proven usage of the set opera- Diamond. The first partners to achieve
Administration is a task-
tors in developing combined reports. Diamond status are Accenture and Infosys
oriented, best-practices
approach to database Technologies.
Joe Celko’s SQL for Smarties,
administration using Oracle Database 11g. It Accenture is a global management con-
4th Edition
helps you break down the Oracle Database
feature set and its documentation set. By Joe Celko sulting, technology services, and outsourcing
Author Darl Kuhn condenses and organizes Morgan Kaufmann company with comprehensive experience
the core job of a DBA and gives you a foun- elsevierdirect.com and capabilities across all industries and
dation on which to achieve a senior level of
business functions. With more than 50,000
expertise. He provides clear explanations Published in 1995, Joe
on how to perform critical tasks. He weaves Celko’s SQL for Smarties Oracle professionals, Accenture serves
in theory where necessary but doesn’t bog was hailed as the first clients in more than 120 countries.
you down in unnecessary detail. Kuhn is not book devoted explicitly Infosys, with 25,000 Oracle consultants
afraid to take a stand on how things should to the advanced techniques needed to
worldwide, boasts 20 specializations across
be done, and he provides readers with clear transform an experienced SQL programmer
recommendations for database administra- into an expert. Now in its fourth edition, the Oracle product portfolio. It recently
tion tasks. this book remains a classic reference that opened the Infosys-Oracle Solution Center
teaches programmers and practitioners at Oracle’s global headquarters, where it
Pro Oracle SQL how to become SQL masters.
conceptualizes, showcases, and demon-
Author and SQL expert Joe Celko offers
By Karen Morton,
the best solutions to old and new challenges strates solutions that benefit the specific
Robyn Sands, Jared Still,
and explains the way you need to think in environments and business requirements
Riyaj Shamsudeen,
order to get the most out of SQL program- of the two companies’ joint clients.
Kerry Osborne
ming efforts for both correctness and per-
Apress formance. The fourth edition features new
Oracle Diamond Partners have broad and
apress.com deep expertise across core Oracle technolo-
examples to reflect the ANSI/ISO standards
and includes updates to data element gies, as demonstrated by at least 20 Oracle
In Pro Oracle SQL, Karen
names to meet new ISO-11179 rules. Celko
Morton and her team of OakTable Network specializations. Diamond Partners must also
also expands his coverage of solid-state
experts take you beyond Oracle SQL syntax have at least five advanced specializations,
drives, parallel processors, and how new
by showing you how to write successful
hardware will change how SQL works. each of which requires at least 50 certified
queries and data manipulation that perform
well and deliver correct results. implementation specialists.
The Practitioner’s Guide to Data accenture.com
The book also helps you master pow-
Quality Improvement
erful aspects of Oracle SQL not found in infosys.com
competing databases. You’ll learn analytic By David Loshin
functions, the MODEL clause, and advanced Morgan Kaufmann
grouping syntax—features that help in elsevierdirect.com
creating good queries for reporting and
InQuira Becomes Oracle CRM On
business intelligence applications. You’ll Many business problems Demand Inner Circle Partner
learn when to create indexes, how to verify and flawed information
production processes
Gold Partner InQuira has joined the Oracle
that they make a difference, how to use SQL
Profiles to optimize SQL in packaged appli- can be mitigated through CRM On Demand Inner Circle, which show-
cations, and much more. data quality management and control. cases partners with proven customer success
The Practitioner’s Guide to Data Quality
and a solution that is synergistic with Oracle
Oracle CRM On Demand Improvement covers the fundamentals for
Combined Analyses understanding the impacts of poor data CRM On Demand—in InQuira’s case, its
quality and looks at data quality in terms of InQuira On Demand cloud-based Web self-
By Michael D. Lairson
people, processes, and technology. service and contact center solution.
Oracle Press Author David Loshin guides practitioners
mhprofessional.com The InQuira solution provides customer
and managers alike in socializing and gaining
sponsorship for, planning, and establishing service agents with one-click access to
Oracle CRM On Demand
a data quality program. This book shares answers from across the enterprise. The
Combined Analyses
templates and processes for business impact combination of Oracle CRM On Demand and
provides a detailed, step-
analysis, defining data quality metrics,
by-step guide to using InQuira On Demand provides an integrated,
inspection and monitoring, remediation, and
combined analyses to develop reports multichannel customer service experience
using data quality tools.
within Oracle CRM On Demand. Author
that optimizes call center operations, pro-
Michael D. Lairson provides a detailed and
methodical explanation of how and when Look for other Oracle books at oracle.com/ vides online case deflections, and delivers a
to use combined analyses, which provide a technetwork/community/bookstore. differentiated online experience.
inquira.com
Simba Technologies Announces MDX Provider for Oracle OLAP Partners Go Platinum
Oracle partner Simba Technologies has features of MDX Provider include visual Four Oracle partners achieved Platinum
released MDX Provider for Oracle OLAP 2.0, slicers for improved dimensional filtering Partner status or announced Oracle special-
a product that natively and securely con- of complex data sets, and sparklines that izations within their Platinum status:
nects Microsoft Excel PivotTable cross-tab enable cell-level formatting with embedded New Platinum Partner Birlasoft has
and dashboard functionality with Oracle microcharts. MDX Provider for Oracle OLAP Centers of Excellence in Oracle E-Business
OLAP data. 2.0 integrates with Excel Services 2010 and Suite, Oracle’s PeopleSoft Enterprise and
MDX Provider for Oracle OLAP 2.0 sup- Excel Services 2007 to store and share work- Siebel Customer Relationship Management
ports 32-bit and 64-bit versions of Microsoft books on Microsoft SharePoint. It supports (CRM) applications, and Oracle CRM On
Excel 2010 and permits drillthroughs within Oracle Database 11g Releases 1 and 2. Demand solutions. The company runs global
Excel to the originating Oracle data. Other simba.com delivery centers in China and Mexico and
serves clients in banking and financial ser-
vices, insurance, and manufacturing with
HCL and Oracle Improve Pharmaceutical Supply Chain Integrity industry-specific application development
Oracle Platinum Partner HCL Technologies, drug product serial data and e-pedigree and management, quality assurance, and
an IT services company, is working with data as pharmaceutical products move managed infrastructure services.
Oracle to help pharmaceutical organizations across the supply chain. The partnership Enkitec is one of the first Oracle part-
comply with regulatory requirements using will leverage HCL’s multiservice capabilities, ners in North America to achieve Platinum
Oracle Pedigree and Serialization Manager including domain consulting, design specialization status within multiple
and Oracle E-Business Suite. collaboration and manufacturing, IT ser- categories. Enkitec now holds specializa-
This partnership will help customers in vices, business process optimization, tions in Oracle Exadata, Oracle Database
HCL’s Life Science, Healthcare, and Chemical and infrastructure. 11g, Oracle Database security, Oracle data
Practice to comply with emerging electronic Although it is designed to address the warehousing, Oracle Linux, Oracle Database
pedigree (e-pedigree) initiatives and regu- product identification needs of pharma- performance tuning, and Oracle Real
latory requirements designed to reduce ceutical companies, Oracle Pedigree and Application Clusters.
drug counterfeiting Serialization Manager as provided by HCL Systems integrator Hexaware
and product diversion. Technologies can be used in any industry Technologies achieved the Platinum
Oracle Pedigree and with high-value products at risk of counter- Partner level in recognition for the more
Serialization Manager feiting and piracy, such as medical devices, than 500 projects it has delivered across
generates, stores, trans- high technology, and luxury goods. Oracle product lines including Oracle’s
mits, and authenticates hcltech.com PeopleSoft Enterprise and Siebel CRM,
Oracle E-Business Suite, Oracle Business
Intelligence Enterprise Edition, and Oracle’s
Pythian Completes Oracle PartnerNetwork Specializations Hyperion performance management appli-
The Pythian Group, an Oracle Platinum tions, and demonstrated experience, exper- cations. The company’s core expertise
Partner, has achieved four specializations tise, and success with planning, deploying, includes development support, integration,
under the Oracle PartnerNetwork Specialized and managing Oracle products in complex, implementation, and testing services.
Program: Oracle Database 11g, Oracle Real large-scale environments. New Platinum Partner Mitel, a provider
Application Clusters, Oracle Database per- Pythian has been an Oracle partner since of unified communications software solu-
formance tuning, and Oracle Linux. Pythian 1999 and has provided services across the tions, was recognized for its expertise and
met rigorous business and technical com- entire Oracle technology stack. excellence in delivering integrated voice and
petency criteria to achieve these specializa- pythian.com data virtualized desktop solutions. The Mitel
Unified IP Client for Sun Ray voice-enables
Oracle’s Sun Ray clients, providing access
Oracle and Capgemini Group Team Up for Application Testing to telephony and desktop applications via a
Oracle and Platinum Partner Capgemini The Oracle Software Testing Center of Java card. Mitel Communications Director,
Group have expanded their testing rela- Excellence will use the Capgemini Group’s the company’s core call-control software,
tionship by creating a new global initiative structured testing methodology, called Test runs on Oracle Sun Fire x86 clustered
called the Oracle Software Testing Center of Management Approach (TMap), together systems and StorageTek tape and library
Excellence. Established within the Capgemini with Oracle’s application quality manage- storage solutions.
Group in India and its local professional ser- ment solutions, including Oracle Application birlasoft.com
LINDY GROENING
vices subsidiary, Sogeti, the center will help Testing Suite, Oracle Real Application enkitec.com
customers deliver higher-quality applications Testing, and Oracle Data Masking Pack. hexaware.com
in less time and at lower cost. capgemini.com/testing mitel.com
and other users with minimal Oracle training radware.com PeopleSoft, and Oracle’s CRM applications.
to do data analysis and ad hoc reporting. solix.com cognizant.com
GL Wand requires no data replication, has thomsonreuters.com wipro.com
Java Evolves
At JavaOne, Oracle details a roadmap
for JDK 7, JDK 8, and beyond.
Scan
Enterprise Architecture
in Interesting Times
Business and technology continue to shape
enterprise architecture.
French Connection
Common business practices and language bring
far-flung Oracle users to AUFO.
extension of Camps’ user group philosophy. rials. You learn more.” Camps’ current WATCH the Up Close interview with
“It’s about real life,” he says. “It’s about what project for his employer makes the perfect Jean-Jacques Camps
oracle.com/oramag/upclose
works for you or doesn’t work, your failures, case for user group involvement. He and
Company: BI Wizards, a business intelligence Company: Brillix, a database consulting Company: Veriton, a specialist consultancy in
and application development consultancy company Oracle middleware and end-to-end application
Job title/description: Consultant, responsible Job title/description: CEO and founder, performance tuning
primarily for metadata development responsible for business development and Job title/description: Principal consultant and
Location: Tampa, Florida research and serving as lead consultant on founder, responsible for designing architectures
Oracle Database and Oracle security projects and troubleshooting as necessary
Length of time using Oracle products:
More than 8 years Location: Tel Aviv, Israel Location: Sherborne, Dorset, England
Length of time using Oracle products: 8 years Length of time using Oracle products:
16 years
How did you get started in IT? I was working What are your favorite processes or
as a data entry clerk for a university that sent techniques on the job? Troubleshooting—the What’s your favorite tool or technique on the
out thank-you notes to donors, and when ability to understand a problem and isolate job? Even now with multitiered systems, most
I noticed the same names and addresses its origin. I’m also interested in hacking performance problems tend to be a result of
coming through over and over, I created a techniques—investigating and finding holes how an application is using—or abusing—the
Microsoft Access database to store much in application and database implementations database. The Active Session History feature
of the information. I then hooked that using techniques such as SQL injection, introduced in Oracle Database 10g helps
database up with Microsoft Word templates cross-site scripting, and impersonation. identify rogue statements and track down
to make my job even easier. Pretty soon I was Which new features in Oracle Database are where the application is going wrong.
managing our five department databases, you currently finding most valuable? One Which new features in Oracle Fusion
and I began taking programming classes at feature I find highly valuable is Oracle Middleware are you finding most valuable? A
the local community college. Database Vault. Until now, strong users recent discovery has been Oracle JRockit’s new
What advice do you have about how to get such as DBAs and those with a SELECT ANY Flight Recorder tool. It’s a circular diagnostics
into application development? Download TABLE role had no limitations to seeing buffer, which in the event of a serious JVM
software and start playing with it. This is one all the data inside the database. Oracle [Java Virtual Machine] problem allows you to
of my absolute favorite things about Oracle: Database Vault introduced a new security replay recent method calls and help diagnose
the ability to download enterprise-class admin feature that can prevent other what went wrong.
software and use it on your own machine. users—even those in a DBA role—from If you were going to the International Space
How are you using social media in your work seeing sensitive data and manipulating it Station for six months and could only take
today? Thanks to Twitter and my blog, I’ve or its base objects. Now organizations can one Oracle reference book, what would it
been able to have technical conversations safely protect sensitive data from strong be? As a bit of an Oracle polymath, I’d want to
with some industry heavyweights: Cary users without compromising their ability to cover all bases. So I’d take e-books, including
Millsap, Christian Berg, Alex Gorbachev, perform their jobs. Professional Oracle WebLogic Server [Wrox,
Eddie Awad, Chen Shapira, Jake Kuramoto, How are you using cloud computing in your 2009], Oracle JRockit: The Definitive Guide
Matt Topper, Lewis Cunningham, John Scott, work today? We’re using Google apps for our [Packt Publishing, 2010], Oracle Fusion
Dimitri Gielis . . . I could go on and on. I central mail and calendar system, and we’re Developer Guide [McGraw-Hill Osborne
encourage other Oracle people to add these using cloud-based applications for customer Media, 2009], and Pro Oracle Database 11g
tools to their repertoire. relationship management and time sheets. RAC on Linux [Apress, 2010].
Sometimes, relatively small things can make a big impact. Take the case
of the MySQL database. First released in 1995 and purchased by Sun in 2008, MySQL has quickly
graduated from the realm of hobbyists to the world of business, becoming the leading open source
database for many Web applications and an integral part of the LAMP (Linux, Apache, MySQL, PHP)
Web application stack. Almost a year after Oracle’s acquisition of Sun, MySQL plays an even bigger
role in enterprises of all sizes worldwide.
“I think that MySQL, and all the experimenting that people are doing with it, helps to advance
database technology in general,” says Carl Olofson, research vice president of database manage-
ment and data integration software research at International Data Corporation (IDC). “It’s a type
of ‘rising tide that lifts all boats’ phenomenon in which even people in the commercial database
world can benefit from products like MySQL that get adopted, adjusted, and extended to work
effectively in different problem spaces.”
Olofson goes on to explain that MySQL has become a popular solution across a variety of applica-
tions and services with varying business requirements. “A lot of people using MySQL to create Web
applications and online services choose to use MySQL because it enables them to scale up their
environment in a fairly low-cost way,” says Olofson. “We’re also seeing a lot of companies using
“From a
performance
perspective,
MySQL is
great. We’re
actually
running
MySQL on
standard
commodity
servers, so we
have plenty of
room to grow.”
—Jeff Freund, CEO and Founding
CTO, Clickability
Jeff Freund, CEO and founding chief technology officer of Clickability, speaks highly of Oracle’s commitment to MySQL. “There are places where Oracle Database is
the right solution, and there are places where MySQL is the right solution, and the fact that Oracle is acknowledging that is a real sign of maturity,” he says.
MySQL for reporting databases, databases out, adding that in addition to its open source
for departmental servers, and databases for snapshot heritage, MySQL complements Oracle’s
business-critical systems.” Clickability traditional enterprise database solutions by
When it comes to databases and database clickability.com targeting scenarios ranging from Web 2.0 and
applications, Olofson doesn’t necessarily Location: San Francisco, California hosting service providers to read-intensive
think that there’s a one-size-fits-all solution. Industry: Technology applications and departmental projects.
Revenue: US$20 million
In fact, he often sees organizations using
Employees: 50
a combination of database solutions, such Oracle products: MySQL Enterprise Edition, Enterprise-class MySQL
as MySQL and Oracle Database. “You’ll MySQL Enterprise Monitor, MySQL Enterprise One person who is winning with the
frequently see MySQL being used in Backup, MySQL Query Analyzer combination of Oracle and MySQL is Jeff
specialized roles, such as for Web presence, Freund, CEO and founding chief technology
while a company’s back-office systems might be driven by Oracle officer of San Francisco, California–based Clickability, a leader in
Database,” says Olofson. on-demand, cloud-based Web content management. Clickability’s
It’s a synergy that’s not lost on Tomas Ulin, vice president of solution enables companies to deploy sophisticated, dynamic
MySQL development at Oracle. “We see the combination of Oracle Websites and Web content without investing directly in hardware or
and MySQL as a win-win, not only for commercial customers but for IT infrastructure. Freund was one of thousands of MySQL users who
the entire MySQL community,” says Ulin. attended the MySQL Sunday event at Oracle OpenWorld 2010.
Bob Adler
The dedication to MySQL is a strong example of Oracle’s drive to “One of the good things about the MySQL Sunday event at Oracle
deliver both a complete stack and integrated solutions, Ulin points OpenWorld 2010 was seeing how many Oracle users were showing
A key ingredient to the success of throughput performance out of our existing hard- and scalability on all supported platforms and
MySQL has been the involvement ware infrastructure,” says Jeff Freund, CEO and modern architectures. In addition, InnoDB is
founding chief technology officer of Clickability, now the default storage engine and has been
of the open source process and the a San Francisco, California–based company that optimized to fully leverage the computing power
MySQL community. Oracle continues provides on-demand, cloud-based Web content of today’s multithreaded operating systems and
to provide both a source and a binary management. “That’s a big deal for us from both a multi-CPU/multicore systems.
release of the MySQL database via the manageability and financial perspective.” Improved availability. New semisynchronous
The addition of MySQL to the Oracle family is replication capabilities improve failover reliability
MySQL Community Server, which also
paying off for both MySQL and Oracle Database and data integrity.
includes the InnoDB storage engine. users in a number of ways. “We’ve aligned the Improved usability. A range of enhanced diag-
It is still licensed under the GPL, the MySQL database and the InnoDB storage engine nostics, administrative changes, and enhanced
most widely adopted open source development efforts to improve performance partitioning features mean developers and
license, so that anyone can continue and deliver enhancements earlier and more administrators can do more with less effort.
often on those two technologies,” says Rob “Right off the bat, users will notice that
to use the current versions of MySQL Young, technical product manager for the MySQL MySQL 5.5 is simply faster on their multicore
for free, including MySQL 5.5. database at Oracle. “We can also now provide systems, regardless of the operating system,”
MySQL users and Oracle customers with a says Young. “For example, our read/write bench-
MySQL 5.5 provides new enhancements to per- unified support experience. The MySQL database marks for MySQL 5.5 on Microsoft Windows
formance and scalability, availability, and usability is now part of a much larger organization that is running on a 4-CPU dual-core server show an
across all supported operating systems and committed to investing in its future.” eye-popping 1,500 percent sustained perfor-
architectures. “The initial benchmarks for MySQL According to Young, MySQL 5.5 delivers a mance gain over the same test run for MySQL
5.5 demonstrating increased throughput and range of new benefits, including 5.1. It’s pretty amazing. It’s a real testimony to
performance, along with the addition of MySQL Improved performance and scalability. MySQL the investment and commitment that Oracle is
5.5’s InnoDB plug-in, enable us to get more 5.5 features significantly improved performance bringing to the product.”
interest in MySQL,” says Freund. “The inclusion of MySQL Sunday as and online documentation. Those really add up to a rapid ramp-up for
part of OpenWorld speaks highly of Oracle’s commitment to MySQL people to gain experience and expertise in managing MySQL.”
in terms of promoting it across their entire customer base. There But given Clickability’s business model, bottom-line performance
are places where Oracle Database is the right solution, and there are and scalability are perhaps even more important than management
places where MySQL is the right solution, and the fact that Oracle is of the technology. “From a performance perspective, MySQL is great.
acknowledging that is a real sign of maturity.” We’re actually running MySQL on standard commodity servers, so
Since its founding in 1999, Clickability has grown from a startup we have plenty of room to grow when we need to,” says Freund. “It
company with one customer to an organization that’s currently also means that our overall infrastructure management overhead is
serving hundreds of Websites managed by thousands of users on a lower, because it fits in with the standard hardware profile, rather
daily basis. “Since we host our customers’ public-facing Websites, than requiring specialized database servers.”
we’re a mission-critical component,” says Freund. “That’s why
we’re always very focused on reliability, availability, performance, MySQL on Windows
and everything else that goes hand in hand with running a mission- While companies such as Clickability deploy MySQL databases on
critical infrastructure service for enterprise customers.” LAMP platforms, those aren’t the only options. MySQL is available
Clickability has built its solution on a technology stack based for many other platforms, from HP-UX to Oracle Solaris and
on Linux, Apache, MySQL, and Java. It has more than 40 MySQL Microsoft Windows. That’s one of the reasons the Bank of Finland
database servers performing multiple functions, from reporting and chose MySQL as the basis for a versatile Microsoft Windows–based
data aggregation to core transactional processing, deployed in two payment and settlement simulator application it developed for use
datacenters. Both datacenters are fully redundant, and Clickability by central bankers and economic experts.
uses MySQL to do real-time data replication between them. “We’ve been very satisfied with our experience using MySQL
“We moved from a commercial [non-Oracle] enterprise database on Windows,” says Matti Hellqvist, an economist on the Bank
to MySQL in 2003, and it was a great move for us,” says Freund. of Finland’s Simulator Development Team. Hellqvist notes
“MySQL requires lower overhead to manage and a lower cost for team that flexibility and ease of use were particularly important
and support resources, and it just fit much better with our scaling criteria, because the bank wanted to encourage broad adoption
architecture and need to run a SaaS [software-as-a-service] platform.” by economic experts. “MySQL integrated seamlessly into our
In addition, Freund doesn’t have any dedicated DBAs on his environment and supported our software development effort well,”
operations team. Instead, he’s found that senior-level operations Hellqvist adds. “It has also been efficient to use and compatible
engineers are able, with MySQL certification, to deploy and manage with both 32- and 64-bit OS environments.”
MySQL instances effectively. The simulator application helps experts analyze liquidity needs,
“With MySQL it’s easy to find the right skill sets and even risk issues, settlement algorithms, changes in behavioral patterns,
experienced people,” he says. “There are great community resources and other issues critical to the central bankers and economic experts
Matti Hellqvist, an economist with the Bank of Finland, explains that the bank chose MySQL to power a Microsoft Windows–based payment and settlement simulator
it developed for central bankers and economic experts. “We’ve been very satisfied with our experience using MySQL on Windows,” he says.
at the Bank of Finland. community has grown up around it, and the
“We selected MySQL in 2003 based snapshots community meets annually for a seminar in
on its good track record as an efficient Bank of Finland Helsinki. The application was also selected
SQL database that had low cost and was bof.fi as the foundation of the Trans-European
usable for both Windows- and Linux-based Location: Helsinki, Finland Automated Real-time Gross settlement
applications,” says Hellqvist. “The simulator Industry: Financial Express Transfer system (TARGET2)
Employees: 500
works on large numerical data sets, and it simulator, which allows Eurosystem
Oracle product: MySQL
needs capability to handle parallel sets of central bankers to do quantitative analysis
data as well as large data streams. The data Gorilla Nation Media, an Evolve Media and simulations of European large-value
is efficiently organized and handled with Company payment systems.
MySQL. MySQL represents a very reliable gorillanation.com For Hellqvist, the foundation of MySQL
Location: Headquartered in Los Angeles,
and strong foundation for a computational is paying additional benefits beyond simply
California, with offices worldwide
analysis application like ours and has been a Industry: Online media marketing effectively managing his application’s
key to the application’s success.” Employees: More than 350 data. “The relatively low cost of the tool
Juliana Harkki/getty Images
In fact, the simulator has been so Oracle products: MySQL was important to us, as well as the wide
successful that it has been used by more support of data analysis tools that can
than 50 central banks worldwide, plus other financial and research connect to MySQL,” says Hellqvist. “Our analysis and research
institutions for risk analysis, as well as development and research application showcases the versatility, scalability, and efficiency of
related to payment and settlement systems. An active user the database.”
absolutely critical, such as having the same database running on deploy MySQL for a wide range of departmental, transactional, and
multiple physical servers in multiple geographic regions and having BI–oriented needs as well.
near-real-time replication.” “MySQL is a popular product, and I think its importance is
Burnett says Gorilla Nation also benefits from MySQL’s increasing because we’re starting to see all the different ways
management features. “MySQL’s enterprise manager tool allows it’s being used,” says IDC’s Olofson. “It’s also an avenue through
us to track performance on hundreds of MySQL servers from a which database technologists can experiment, try out things,
single console, which allows one database engineer to be extremely and distribute them easily because MySQL is so readily available
efficient and effective,” she says. and widespread.”
Like other fast-growing companies, Gorilla Nation has to balance
the trade-offs between creating an enterprise-class infrastructure
to support customer needs reliably and efficiently with the need to David A. Kelly (dkelly@upsideresearch.com) is a business, technology,
scale up quickly, dynamically, and in a cost-effective manner. At the and travel writer who lives in West Newton, Massachusetts.
same time, Gorilla Nation needs to keep its eye on the bottom line
NEXT STEPS
and avoid large up-front licensing investments. That’s why MySQL
has turned out to be such a good choice for Gorilla Nation, according
LEARN more about MySQL
to Godelman. oracle.com/mysql
“All our technical and business requirements were satisfied and READ Oracle’s MySQL Blog
exceeded by MySQL,” says Godelman. blogs.oracle.com/mysql
WATCH the MySQL Sunday keynote from Oracle OpenWorld 2010
A BRIGHT FUTURE bit.ly/MySQLSunEd
While MySQL continues to power a great many Websites and DOWNLOAD MySQL
dev.mysql.com/downloads
applications, it’s likely that more and more organizations will
IMAGINE YOUR
DATABASE IN
HYPER-DRIVE
At Technologent, we combine superior Oracle applications with Technologent serves the complete technology lifecycle – including
our unparalleled data center expertise to identify hidden areas of assessment, design, integration, systems management and
value in your data center. By bridging the gap between technology financing – in order to find the best ways to reduce cost and risk,
and infrastructure, we’ll help you improve performance and enable easier IT management for the
s Significantly speed up the performance of multi-threaded long-term success of your business.
applications with Oracle’s SPARC T3 servers. Technologent experts will find the value in your data center so you
s Accelerate your data center and cut transaction times in half
can spend less time worrying about rising hardware and energy
with Oracle’s Sun Storage F5100 Flash Array.
costs and more time running your business.
s Optimize multiple data centers in a single storage device to
simplify management with Oracle’s Sun ZFS Storage Appliance. That’s the Technologent Advantage.
technologentadvantage.com
technologent-horiz.indd 1 11/18/10 5:03 PM
Positive Identification
How SUNY and ING increase compliance and decrease risk with Oracle Identity Management 11g
BY DAVID BAUM
IT SECURITY IS NOT SO MUCH ABOUT CREATING STRONGER WALLS AS IT IS ABOUT CREATING BETTER-FUNCTIONING
doors and windows. And when deploying identity management solutions, those better doors and windows equate
to more-complete provisioning operations, more-comprehensive ways to manage identity, and greater flexibility for
authorizing people to access enterprise information assets. These are a few of the reasons why the State University of
New York (SUNY) and global financial institution ING deployed Oracle Identity Management 11g—which consists of a
variety of solutions, ranging from single sign-on and access control to directory services, toolkits, and more. SUNY and ING
use these solutions to manage user identities, provision IT resources, and enable trusted online business partnerships
I-HUA CHEN
while simplifying access procedures for end users and improving governance and compliance activities for auditors.
Adhering to Standards
Integration with Oracle Identity Federation 11g enables the SUNY community to seamlessly access federated
services provided by other higher education institutions as well. According to Lienhard, as long as it is a SAML
2–compliant identity management solution, Oracle Identity Federation 11g can work with that solution in a
straightforward fashion without any modifications to the SAML federation and communication architecture.
“Support for several industry federation standards in Oracle Identity Federation 11g enables SUNY to continue
its support of its custom ‘federation-like’ infrastructure as well as other federation technologies, such as
Shibboleth, within its existing federated identity infrastructure,” he says. “We were able to link the 64 campuses
that currently use our custom solution relatively easily, using the software Oracle provided, right out of the box.”
The State University of New York Office of Information and Technology’s Paul Lienhard (left), Dave Powalyk, and Ken Runyon have deployed Oracle Identity Federation
11g to allow more than 88,000 faculty and staff members to securely access New York State’s services.
SUNY worked closely with Oracle to develop the identity management solution. “The Oracle Identity
Federation 11g production team was very helpful and supportive,” says Runyon. “They provided a specific snapshot
implementation that we could leverage, including a robust API for integrating our custom Java security layer, The State University of
which includes a fine-grained entitlement system and access management solution.” New York
According to Amit Jasuja, vice president of development, identity management, and security products suny.edu
at Oracle, SUNY is confronting a common problem that leads many organizations to federated identity Headquarters: Albany,
New York
management solutions. “As organizations request business services from partners outside of their firewalls, or
Industry: Higher education
attempt to offer a cohesive set of information resources to dispersed user communities, a federated identity Number of users: 553,000
management solution simplifies the information landscape for users and streamlines administration for students and faculty
IT professionals,” he explains. “They might be outsourcing payroll and benefits functions, or perhaps they Oracle products and
are making their business applications available to nonemployees. In addition, some companies need to services: Oracle Identity
Management 11g solutions,
aggregate services from multiple sources and present them to consumers as a single cohesive offering.”
including Oracle Identity
In all these scenarios, Oracle Identity Management 11g provides single-sign-on access to applications Federation, Oracle Access
and services across disparate security domains—without forcing IT pros to add large numbers of users to an Manager, and Oracle Identity
enterprise directory or requiring people to manage multiple identities online. Manager; Oracle Consulting
Ken Gabrielsen/Getty Images
“Ideally there should be an established trust mechanism that allows people who have been
authenticated in one domain to be trusted in a second domain,” adds Jasuja. “Yet without an effective
federation strategy, organizations confront delays adopting applications, they must contend with runaway
costs for onboarding and management, and they lack a cohesive strategy for addressing new security
threats. SUNY is solving these issues with Oracle software.”
Mark Robison, enterprise architect at ING, says his company is improving business efficiency and reducing costs with Oracle Identity Management 11g. “Oracle is
really moving us forward with our risk and ID management strategy.”
Control Facility] security on our mainframe systems. We have improved business efficiency by automating Next Steps
ID request processes, approval processes, access change processes, and termination processes.”
Next the team implemented Oracle Identity Analytics for handling quarterly attestation processes in LEARN more about Oracle
more than 500 information systems. Attestation is a quarterly review process in which managers verify that Identity Management 11g
oracle.com/identity
their employees can only access certain information systems.
WATCH the Oracle Identity
“Oracle Identity Analytics works hand in hand with Oracle Identity Manager to define the roles and Management Webcast
handle the attestation,” says Cox. “It feeds that information to Oracle Identity Manager, which is the bit.ly/oidmag
provisioning engine, setting up accounts and access-control requirements for each information system.” READ the Oracle Identity
Cox believes the Oracle software could cut the manual efforts expended by ING’s 96-person access Management 11g data sheet
bit.ly/OIDMDS
management organization by 75 percent. “We can’t fully get away from some manual processes, but the
Download Oracle
Oracle software will help us reduce the effort significantly,” Cox says. “It will also help us increase productivity Identity Management
for the business community, since people won’t have to wait to have their access requests fulfilled. More bit.ly/ODIDW
importantly, when somebody is terminated from ING, we can instantly revoke their access privileges and keep
them out of the system. The potential payback in terms of risk avoidance is huge.”
As ING deploys the solution into wide production, it is improving business efficiency and reducing costs
by systematically automating manual access processes—including granting users access based on their
ever-changing roles and responsibilities within the organization.
“Oracle has the best integrated suite of identity management tools in the industry, and it is just getting
better,” says Robison. “Oracle is really moving us forward with our risk and ID management strategy. They
have delivered a good product with a good process right out of the box.”
Bill Adler
David Baum (david@dbaumcomm.com) is a freelance business writer based in Santa Barbara, California.
3G 9:41 AM
By Rich Schwerin
Enable the Eco-Enterprise Awards Partners LLC) Services), Credit Suisse, Northern Trust,
The third annual Enable the Eco-Enterprise • Interpark OpenLink, Rakuten, UBank backed by
Awards honor Oracle customers and their • Intertek National Australia Bank (partner: Oracle
partners for their environmental leadership. • MercadoLibre Financial Services), Verizon
Winners hail from a wide range of industries • Northern Arizona University (partner: • Data Integration and Availability: Avea
that are using Oracle products to support their Oracle Hardware Sales Consulting) (partner: Intellica), Herbalife
green business practices and sustainability • Sandia National Labs (partner: National • Enterprise 2.0: Balfour Beatty, Education
initiatives to reduce their environmental Renewable Energy Laboratory) Management Corporation, ING Bank Turkey
impact, cut costs, and improve business • University of Massachusetts (partner: (partner: MSU), SunGard (partner: Keste),
efficiencies. Winners were selected by a panel Fujitsu) Texas A&M University System (partner:
of six judges, including four Oracle green • Verizon Wireless Red Samurai Consulting), the U.S. Senate
experts; Adam Werbach, chief sustainability (partner: Business Intelligence Application
officer at Saatchi & Saatchi; and Kathleen Oracle Fusion Middleware Solutions)
Schwille, director of program development Innovation Awards • Identity Management: NetApp,
for National Geographic Education. The 2010 The Oracle Fusion Middleware Innovation Schneider National (partner:
photography by hartmann studios, saul lewis, Robert Shiverts
award winners (and their respective partners, Awards honor customers for their cutting-edge PricewaterhouseCoopers), the State
if applicable) are solutions using Oracle Fusion Middleware University of New York, Telenor (partner:
• Agência Nacional de Águas (partner: products. Winners were selected based on Skyworth TTG)
UNIMIX Tecnologia) the uniqueness of their business case, the • Oracle Fusion Middleware for Applications:
• Alcatel-Lucent project ROI and level of impact relative to Avon (partner: Ranzal, an Edgewater
• Cisco the size of the organization, the complexity Company), Crocs (partner: Wipro),
• Costco Wholesale (partner: ImageSource) and magnitude of implementation, and the Motorola (partner: Business Intelligence
• Essex County Council (partner: Oracle On originality of architecture. The 2010 award Consulting Group), Premium Wine Brands
Demand) categories and winners (and their respective Pernod Ricard (partner: Rubicon Red),
• Farmers Insurance (partner: Capgemini) partners, if applicable) are University of Adelaide (partner: Groundhog
• Fitness First (partner: Knowledge Global) • Application Grid: Amgen, Ascent Media, Software), University of Virginia (partners:
• Iberdola Renewables (partner: Project Avocent, CalWIN (partner: HP Enterprise EMS Consulting and Intelligent Chaos)
Recognized by Oracle
Preferred by Customers
Differentiate Yourself
partner.oracle.com
or call 1.800.323.SELL
Copyright © 2010, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates.
Other names may be trademarks of their respective owners.
Java Developer JAVA EE 6 BY ADAM BIEN 51
JAVA EE 6
Simplicity by Design
Leverage new Java EE 6 features to build simple and
maintainable applications.
ensures proper creation and lifecycle man- The @Asynchronous annotation in ECB: A Pragmatic Separation
agement. In the real world, you would rarely Listing 5 is particularly interesting. It of Concerns
inject POJOs into a servlet; you would prob- enables the asynchronous but transactional If you review the packaging of the application
ably use a UI framework (such as JSF 2) or execution of methods and is available only described above, you will notice separate
expose your service via representational for EJBs. Note that the Messaging EJB is boundary, control, and entity packages. This
state transfer (REST). In such cases, the use injected with @Inject and not @EJB. In packaging approach is an implementation of
of CDI is even more beneficial. practice, either annotation would work, with the Entity Control Boundary (ECB) pattern.
To illustrate, consider a simple virtually no difference. The use of @Inject is The boundary layer is the facade, the control
MessageMe application that stores a slightly more powerful and supports inheri- layer is responsible for the implementation of
message string in a database. The JSF 2 tance. The @EJB annotation, on the other process- and entity-independent logic, and
markup consists of two components: hand, works only with EJBs. the entity layer contains rich domain objects.
inputText and commandButton. As shown The MessageStore class in Listing 6 is a With Java EE 6 and especially the avail-
in Listing 2, inputText is value-bound to a Data Access Object (DAO) that encapsulates ability of JPA 2, CDI, and EJB, the implemen-
class with the name index with a property access to the EntityManager. tation of all three layers can lead to empty
message, which has, in turn, a content attri-
bute. commandButtons’s action attribute Code Listing 3: A CDI backing bean with injected EJB
is bound to the save method of the backing
bean with the name index. package com.abien.messageme.presentation;
Listing 3 shows the backing bean imple- import com.abien.messageme.business.messaging.boundary.Messaging;
import com.abien.messageme.business.messaging.entity.Message;
mented as a request-scoped CDI bean,
import javax.enterprise.context.RequestScoped;
using the @RequestScoped annotation for import javax.inject.Inject;
request handling. A JSF 2 managed bean import javax.inject.Named;
@Named
(using the @ManagedBean annotation)
@RequestScoped
could also work, but CDI is just as powerful. public class Index {
And using CDI everywhere simplifies the @Inject
Messaging ms;
architecture, with a single glue API across
private Message message = new Message();
all application layers. public Message getMessage() {
The annotation @Named (as specified return message;
}
in the JSR 330 specification and imple-
public void save(){
mented in Guice and Spring) makes the ms.store(message);
index backing bean visible in all expression }
}
language (EL) markup. It works according to
the “convention over configuration” prin-
ciple: the name of the backing bean in JSF Code Listing 4: JPA 2 entity validated with Bean Validation
2 is derived from the class name. The first
letter is not capitalized. package com.abien.messageme.business.messaging.entity;
The Message class is implemented as a @Entity
public class Message {
JPA 2 entity, as shown in Listing 4. @Id
The next class in this example is the @GeneratedValue
Messaging class, which is implemented private Long id;
@Size(min=2,max=140)
as an EJB 3.1 session bean. This class rep- private String content;
resents a pragmatic exception to the “CDI
everywhere” rule. EJBs provide many capa- public Message(String content) {
this.content = content;
bilities, such as transactions, pooling, Java }
Management Extensions (JMX) monitoring, public Message() { /*required by JPA */}
and asynchronous execution—all for the public String getContent() {
return content;
price of a single additional @Stateless }
annotation. In future Java EE releases, public void setContent(String content) {
these aspects are likely to be extracted from this.content = content;
}
EJBs and made available in CDI as well. In public Long getId() {
Java EE 6, however, a boundary or facade of return id;
a business component is most effectively }
}
implemented as a stateless session bean.
delegate code. For example, many CRUD- boundary layer refactoring. The reusable and pendent of presentation logic. Even with the
based use cases can be implemented very noncohesive parts of the boundary layer, many compromises you may make in your
efficiently with a single boundary acting as a such as queries, algorithms, or validations, architecture, a clear separation between
facade for accessing multiple entities. along with cross-cutting concerns from the business and UI technology is a must.
However, a direct one-to-one relationship the entity layer, will be extracted into CDI In practice, UI logic tends to vary more fre-
between the concepts in the ECB pattern and managed beans in the control layer. quently than business logic. It is common to
packages inside a component can still be produce business logic that can be accessed
beneficial. When packages are kept separate, Using the CEC Pattern by a Web client (such as JSF 2), a rich client
static analysis tools can be used more easily The main purpose of the boundary in the (such as Swing or Eclipse RCP), and REST at
to measure dependencies between pack- ECB pattern is to provide a clear separation the same time.
ages. Furthermore, frameworks such as OSGi between business and presentation logic. By In the case of JSF 2, CDI is again the
and Jigsaw rely on the existence of separate definition, the boundary needs to be inde- easiest choice for implementing a controller
packages to expose public APIs.
In Java EE 6, the boundary is always real- Code Listing 5: A boundary implemented as an EJB session bean
ized with EJBs. The control layer can contain
either CDIs or EJBs, and the entity layer can
package com.abien.messageme.business.messaging.boundary;
contain either JPA 2 entities or transient, import com.abien.messageme.business.messaging.control.MessageStore;
unmanaged entities. The final decision of import com.abien.messageme.business.messaging.entity.Message;
import javax.ejb.Asynchronous;
whether to use a CDI or an EJB in the control
import javax.ejb.Stateless;
layer does not have to be made up front. You import javax.inject.Inject;
can start with a CDI and convert it into an @Stateless
EJB down the road by using the @Stateless public class Messaging {
@Inject
annotation. You may need to use an EJB in MessageStore messageStore;
some cases, such as when you need to start a @Asynchronous
subsequent transaction with @RequiresNew, public void store(Message message){
messageStore.store(message);
when you need to execute a method }
asynchronously, or when you need to roll }
back the current transaction by invoking
SessionContext.setRollbackOnly(). Code Listing 6: A CDI bean from the control layer
CDI, on the other hand, is more suitable
for integrating legacy code or implementing
package com.abien.messageme.business.messaging.control;
Strategy, Factory, or Observer software import com.abien.messageme.business.messaging.entity.Message;
design patterns. All of these capabilities are import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
already built in and result in far less code
public class MessageStore {
than with the Java SE counterpart. @PersistenceContext
When you are developing applications EntityManager em;
with the ECB pattern, the ECB layering public void store(Message message){
em.persist(message);
should evolve iteratively and not be forced }
in a top-down way. You should start with }
the persistence (Entity) layer, perform
unit testing, and then implement the Code Listing 7: Standalone JPA unit tests
boundary layer. For building the unit test,
the EntityManager and the associated trans-
package com.abien.messageme.business.messaging.entity;
actions need to be created and managed import javax.persistence.*;
manually (as shown in Listing 7). import org.junit.Test;
or a presenter. CDI managed beans can Code Listing 8: persistence.xml for standalone JPA unit tests
be directly bound to the JSF 2 view via EL,
and the boundary (EJB 3.1) can be directly <persistence>
injected into the presenter. The presenter (or <persistence-unit name="test" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
a controller) can be directly captured with
<class>com.abien.messageme.business.messaging.entity.Message</class>
an @Stereotype annotation. It works like a <exclude-unlisted-classes>true</exclude-unlisted-classes>
macro—you can place in it CDI annotations <properties>
that get expanded with the annotation. A <property name="javax.persistence.jdbc.url" value="jdbc:derby:
./sample;create=true"/>
stereotype is a regular Java annotation repre- <property name="javax.persistence.jdbc.password" value="app"/>
sented by @Stereotype: <property name="javax.persistence.jdbc.driver" value="org.apache.derby
.jdbc.EmbeddedDriver"/>
<property name="javax.persistence.jdbc.user" value="app"/>
@Named
<property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
@RequestScoped </properties>
@Stereotype </persistence-unit>
</Persistence>
@Retention(RUNTIME)
@Target(TYPE)
public @interface Presenter {} tion is duplicated and renamed @View, and Because the unit test and the IndexPresenter
the bean is renamed IndexView: reside in the same package, the default
This custom stereotype can be applied visible fields can be set directly. Private
instead of @Named and @RequestScoped— @View fields with public setters can be used, but
just like a macro. All CDI annotations iden- public class IndexView { packagewide fields are good enough in most
tifying the presenter pattern can then be private Message message = new cases and can reduce code size.
replaced with Message(); Listing 9 shows how to test the presenta-
public Message getMessage() { tion logic by mocking out the IndexView as
@Presenter return message; well as the boundary Messaging class. The
public class Index { } test, which invokes the IndexPresenter
// } .save() method, is successful if the method
} store gets invoked exactly once with the
The IndexPresenter bean gets the old Message-Instance being returned by the
The purpose of the presenter is to imple- @Presenter annotation. As the following IndexView. Verifying the invocation means
ment presentation logic. The structure of code shows, the only purpose of the passing the mock to the Mockito.verify()
the presenter is tightly coupled with the IndexPresenter bean in this case is to imple- method. The IndexView is mocked out to
view, in that the state of a JSF component ment the presentation logic. manipulate the return value without inter-
in the view is mapped to a property inside acting with the JSF rendering.
the presenter. The property can be either a @Presenter The Messaging boundary is mocked
value (with value binding) or the component public class IndexPresenter { out for a different reason: to verify that the
instance itself (with component binding). In @Inject expected method actually gets invoked:
trivial cases, there is a one-to-one relation- Messaging boundary;
ship between the view and the presenter. @Inject public void save(){
The presenter contains the view’s data as IndexView indexView; boundary.store(indexView
well as all the presentation logic. Injecting public void save(){ .getMessage());
the boundary into the presenter involves boundary.store(indexView }
using the @Inject annotation. .getMessage());
As the amount of presentation logic } The design of the JSF 2 presentation is
grows inside the presenter, the code can } similar to that of a rich Swing application.
become harder to maintain and test. With Common patterns such as Model-View-
CDI, it is fairly easy to split the monolithic Because the boundary and the view are Controller and their refinements—Supervising
presenter into separate data and presenta- injected into the IndexPresenter, they can Controller and Passive View—can be applied
tion logic parts. For example, the following be easily mocked out. In a unit test envi- to JSF 2 as well. The main difference between
code shows how to refactor the backing ronment, both fields would be set directly JSF and a rich client technology is the way
bean from the earlier example by moving with the mock, whereas in a production the view is rendered. In Swing the developer
the save method into a newly created environment, the container would perform implements the view in Java, whereas in
IndexPresenter bean. The presenter annota- the injection and set the actual dependency. JSF 2 the developer uses XHTML markup.
Code Listing 9: IndexPresenterTest—with mocked-out view and boundary tation and business logic. The EntityManager
is already a good enough abstraction of the
package com.abien.messageme.presentation; underlying persistence, so there is no need
//...other imports for additional indirections.
import org.junit.Before;
Maintainable Java EE 6 applications are
import org.junit.Test;
import static org.mockito.Mockito.*; written according to the YAGNI (You Ain’t
Gonna Need It), DRY (Don’t Repeat Yourself),
public class IndexPresenterTest {
and KISS (Keep It Simple, Stupid) principles.
private IndexPresenter cut;
@Before Design patterns and best practices are intro-
public void initialize(){ duced in a bottom-up—not a top-down—
this.cut = new IndexPresenter();
fashion. The patterns are always motivated
}
@Test by functional and nonfunctional require-
public void save() { ments, not by the shortcomings of the plat-
this.cut.boundary = mock(Messaging.class);
form. This approach represents the biggest
this.cut.indexView = mock(IndexView.class);
Message expected = new Message("duke"); difference between Java EE 6 and previous
when(this.cut.indexView.getMessage()).thenReturn(expected); J2EE releases. In J2EE many of the design
cut.save();
decisions were made up front, driven by the
verify(this.cut.boundary,times(1)).store(expected);
} J2EE platform dependencies.
} By contrast, the Java EE 6 development
process focuses on function:
In JSF 2 the values of the component can collisions, developers often had to resort to 1. Write simple code that directly solves the
be directly bound to a corresponding class, well-defined naming conventions such as business problem.
whereas in Swing they are usually stored in XyzLocal/XyzRemote and XyzBean. In Java 2. Verify the business logic with unit tests.
the view itself or in the model. EE 6, interfaces for EJBs and CDIs are now 3. Cut redundancies and improve the design
For the implementation of data-driven optional. Public EJB or CDI methods can with refactoring.
use cases such as CRUD, the Supervising now expose a “no interface” view, with no 4. Stress-test your application.
Controller is a better choice than the loss of functionality. 5. Go back to 1.
Passive View. In the Supervising Controller This new functionality makes interfaces Design and architecture are driven by
pattern, a single backing bean (IndexView) meaningful again. As opposed to the obliga- concrete requirements rather than generic
is responsible for managing both the pre- tory, nondescript use of interfaces with earlier and architectural best practices. By continu-
sentation logic and the state of the view. In releases, interfaces in Java EE 6 can be used ally stress-testing your application (at least
more-sophisticated use cases, the Passive for the implementation of the Strategy once per week), you can more easily justify a
View variant may be more applicable. In the pattern; implementation of a public API; or simple design with hard facts to gain insight
Passive View pattern, the backing bean is strict separation of modules, which makes the into system behavior under stress.
split into the view and presentation logic, code more expressive. An interface can also
and the presentation logic is extracted from signal the “protected variations” of a system,
the IndexView to the IndexPresenter. and direct dependencies between classes can Adam Bien (blog.adam-bien.com) is a Java
CDI is best suited for the implementa- be used for code that is less likely to vary. Champion, consultant, lecturer, speaker,
tion of the presentation layer. Because of You can safely start without any interfaces software architect, developer, and author of
the built-in cross-cutting concerns (such as and introduce them later as the need arises. Java books and articles including Real World
transactions, concurrency, asynchronous This approach is fundamentally different Java EE Patterns: Rethinking Best Practices
execution, monitoring, and throttling), the from that in Java EE 5. Compared to Java 2 (lulu.com, 2009). He was Oracle Magazine’s
boundary of the business logic is realized as Platform, Enterprise Edition (J2EE) from 2010 Java Developer of the Year.
an EJB. The business component can be real- 2003, Java EE 6 code is simpler, in terms of
ized either as EJBs or CDIs. In general, you the elimination of several layers, indirec- Next Steps
can start with CDIs and, over time, replace tions, and abstractions. Unlike J2EE, Java
managed beans in special cases with EJBs. EE 6 consists of annotated classes without READ more about
CDI
The CDI-EJB-CDI (CEC) pattern is the simplest any dependencies on the platform. This bit.ly/9JKUdp
and most pragmatic choice for Java EE 6. approach eliminates the need to separate Protected Variations pattern
business logic from the infrastructure and bit.ly/cGueFJ
Making Interfaces Useful makes the majority of J2EE patterns and best Supervising Controller and Passive View
EJB 3.0 (in Java EE 5) required separate practices superfluous. In Java EE 6, simple patterns
martinfowler.com/eaaDev
interfaces for bean classes. To avoid naming cases can be solved with two layers: presen-
Creating a Scorecard
Now that you have defined your KPIs, you
can arrange them into a simple scorecard
to help achieve your organization’s goals.
Using this scorecard, you will define an
objective, “Improve Performance,” that
breaks down into two contributing objec-
tives, “Increase Sales” and “Maintain
Margins.” Users will be able to use this
scorecard to view progress toward the orga-
nization’s goal, either for all product cat-
egories or for any one category in particular.
To create the scorecard, take the fol-
lowing steps:
1. Log in to Oracle Business Intelligence Figure 4: Displaying scorecard objectives in a strategy tree
Enterprise Edition 11g using your
username and password, and select selected—but this time creating a third targets and thresholds to enable them to
New -> Scorecard. When prompted, objective, Maintain Margins—and measure progress across the organization.
name the scorecard Organizational associate the Margin Maintenance KPI Oracle ss Intelligence Enterprise Edition 11g
Performance and click OK to accept the with it. gives you the ability to define these objec-
default scorecard settings. Your Strategy panel within the score- tives and strategies within your BI environ-
2. With the new scorecard open, navigate to card should now have a primary objective, ment, bringing this important measure of
the Strategy panel at the top left corner of Improve Performance, with two con- corporate performance to the desktops of
the screen and click the Create Objective tributing objectives, Increase Sales and everyone on your team.
button. Name the new objective Improve Maintain Margins, under it. To complete
Performance, and click the Save button the initial scorecard, you will now create a
just above the text box to save the new strategy tree to show how these objectives
objective to the scorecard definition. are related. Mark Rittman is an
3. With the objective you just created To create a new strategy tree, navigate Oracle ACE director and
selected in the Strategy panel, repeat to the Strategy panel at the top left of cofounder of Rittman
this process to create another objective, the screen and this time click the View Mead Consulting, a U.K.-
naming it Increase Sales (this Strategy Tree button. When the strategy based Oracle partner
new objective should be located under tree appears, expand the entries under the providing specialized
the Improve Performance objective, objectives to see the KPIs and their values, BI, data warehousing, and performance
to indicate that it contributes to the as shown in Figure 4. management solutions.
broader objective). This strategy tree shows that the Sales
When adding this new objective, Performance objective is being met across Next Steps
assign a KPI to it. To do so, use the all product categories but the Maintain
Catalog panel on the bottom left of Margin objective is not, contributing to a DOWNLOAD sample code for this column
the screen and drag and drop the Sales warning about the overall objective. Use oracle.com/technetwork/issue-archive/
Performance KPI onto the Objectives the dimension selector above the strategy 2010/10-nov/o60bi-170650.zip
and KPIs list for the objective. Click OK to tree to focus on individual product catego- READ more about
Oracle Business Intelligence Enterprise
save this objective. ries to see how each of them is performing Edition 11g
4. Now repeat the previous step, with the against the targets and the thresholds you oracle.com/us/solutions/ent-performance-bi/
Improve Performance objective initially defined earlier. enterprise-edition-066546.html
business intelligence administration
Oracle Fusion Middleware System Administrator’s
Download Oracle Business Summary Guide for Oracle Business Intelligence Enterprise
Intelligence Enterprise Edition 11g Organizations often use KPIs and score- Edition 11g Release 1 (11.1.1)
oracle.com/technetwork/middleware/ cards to measure their performance in download.oracle.com/docs/cd/E14571_01/
bi-enterprise-edition/downloads bi.1111/e10541/toc.htm
terms of reaching an objective, setting
4. Select the EMP table from the list again. Salesman Salesman Salesman Salesman Clerk Clerk Analyst Analyst
Simulation Demonstrates
Performance
Use Oracle Exadata simulation in SQL Performance
Analyzer to help predict how your application will
perform on Oracle Exadata.
begin
application. But for those considering the dbms_sqltune.create_sqlset(
sqlset_name => 'ExadataSimul1',
move to Oracle Exadata, the big question is
description => 'SQL Tuning Set for Exadata Simulation');
probably how your existing applications— end;
running on a traditional database—will
perform on Oracle Exadata. How can you Code Listing 2: Adding SQL statements to the SQL tuning set from the cursor cache
know the answer before you actually take
the leap to Oracle Exadata? In Oracle
begin
Database 11g Release 2, there is a new dbms_sqltune.capture_cursor_cache_sqlset (
addition that allows you to simulate and sqlset_name => 'ExadataSimul1',
measure the activities of your database time_limit => 120,
repeat_interval => 10
under Oracle Exadata without actually );
investing in an Oracle Exadata appliance. In end;
this article, I will show you how to use this
capability to predict the performance you Where’s the Performance? ORDER_QTY—is computed, and, finally,
can expect for your applications running on Of the many ingredients in the secret sauce the result is returned to the user. The table
Oracle Exadata. that makes Oracle Exadata so fast, it’s the could potentially have 1 billion rows, and the
intelligence in the storage cells—where the number of rows where CUST_ID = 1000 could
Basis for Simulation Oracle Exadata storage is located—that has be just 100, so the database has to get all 1
Oracle Database 11g Release 1 introduced a the largest impact. The storage cells know billion rows to sort through them to find the
new tool—SQL Performance Analyzer—as a the pattern of the data they store, so they can matching rows. The I/O subsystem will still
part of the Oracle Real Application Testing intelligently return only relevant data, rather need to return all the blocks of the table to the
suite (see my Oracle Magazine March/ than all data. Here is a simple query that server process. The storage in this case does
April 2008 article “Performing Through illustrates the point: not know the underlying data structure, so it
Changes,” at bit.ly/ckWiG1). This tool allows can’t differentiate relevant data from the rest.
you to capture SQL statements from any select sum(order_qty) In an Oracle Real Application Clusters
database and replay them in a new environ- from sales (Oracle RAC) system, there is yet another
ment to uncover potential issues and predict where cust_id = 1000 issue. Parallel query slaves could be spun off
behavior in the new target environment. on multiple instances. They send the data
The target environment may be structur- In a traditional Oracle database, the server they gather to the query coordinator in a
ally different from the current production process issues the command to retrieve all different instance for collation over the inter-
environment, with more or fewer indexes blocks from the SALES table to the buffer connect, saturating the interconnect hard-
and materialized views, using different cache (located in the system global area), if ware with this traffic. In addition, the process
infrastructures, or running under different they are not there already. Then the session of transferring blocks over the interconnect
session parameters. In Oracle Database 11g sifts through the accumulated data to identify also consumes CPU and requires latches,
Release 2, the scope of SQL Performance rows where CUST_ID = 1000. Those rows which in turn requires further CPU cycles.
Analyzer is extended to simulate the func- are copied to the program global area of the Therefore, the greater the demand for blocks
tionality of Oracle Exadata. server process, the sum of another column— from the storage system, the greater the load
on CPU and I/O and the interconnect band- Code Listing 3: Running an example query
width—and the worse the query performance.
This is exactly where Oracle Exadata select prod_name, cust_state_province, channel_desc, sum(amount_sold)
works its wonders—it knows the general from sales s, customers c, products p, channels c
where s.cust_id = c.cust_id
distribution of data in table columns at the
and s.prod_id = p.prod_id
storage cells. When the aforementioned and s.channel_id = c.channel_id
query is issued, the storage cells do not just and c.cust_year_of_birth between 1960 and 1970
group by prod_name, cust_state_province, channel_desc
return all the data from the table—they filter
data at the storage level. The server process
does not get all the blocks, but rather only Code Listing 4: Creating an analysis task
those blocks that could potentially satisfy
the condition, and then computes the sum variable ret clob
from the relevant rows from those blocks. set long 999999
begin
The demand on the storage is reduced from :ret :=
1 billion rows—the total number of rows in dbms_sqlpa.create_analysis_task(
the table—to just 100—the number of rows sqlset_name => 'ExadataSimul1',
task_name => 'ExadataSimulSPA1');
where CUST_ID = 1000. The I/O waits are end;
reduced, enabling the storage subsystem to /
service more clients without putting them print ret
OraclE DATABASE
On History, Invisibility,
and Moving
Our technologist counts on histograms, proves
hash tables by example, and moves CLOBs.
The method_opt parameter here is key Code Listing 1: Checking the optimizer’s use of histograms on “long” columns
for this example, and I used it to gather his-
tograms for all the columns in the table. The SQL> set autotrace on explain
resulting histograms will contain 12 rows of SQL> select 'len30', count(*) from t where len30 = rpad('x',30,'x')||'A'
2 union all
information for each column—for each of
3 select 'len30', count(*) from t where len30 = rpad('x',30,'x')||'B'
the distinct A–L values I loaded. Because I 4 union all
have 12 distinct values in each column, this 5 select 'len31', count(*) from t where len31 = rpad('x',31,'x')||'A'
6 union all
will provide a perfect picture of the count of
7 select 'len31', count(*) from t where len31 = rpad('x',31,'x')||'B'
rows for each value. 8 union all
Now I can use explain plan on a simple 9 select 'len32', count(*) from t where len32 = rpad('x',32,'x')||'A'
10 union all
query to see how many rows the optimizer
11 select 'len32', count(*) from t where len32 = rpad('x',32,'x')||'B'
believes would be returned, given a predi- 12 union all
cate on each of the columns, as shown in 13 select 'len33', count(*) from t where len33 = rpad('x',33,'x')||'A'
14 union all
Listing 1.
15 select 'len33', count(*) from t where len33 = rpad('x',33,'x')||'B'
As you can see, the optimizer is able to 16 /
very accurately estimate the cardinality
'LEN3 COUNT(*)
of each predicate as long as the string is
——————— ———————————————
32 bytes or less. So in steps 3, 5, 7, and len30 24307
9 in Listing 1, the estimated cardinality len30 4308
len31 24307
is very exact: the estimate matches the
len31 4308
actual count(*) values. However, when the len32 24307
optimizer gets to step 11, the estimated len32 4308
len33 24307
cardinality goes awry. All of a sudden, the
len33 4308
optimizer starts guessing “every row will 8 rows selected.
be returned,” regardless of what the string
Execution Plan
ends in. This is because the histogram
————————————————————————————————————————————————————————————————————————————
contains only the first 32 bytes of string Plan hash value: 2994643399
data, and when the optimizer gets to steps
—————————————————————————————————————————————————————————————————————————————————————————————————————————————————
11 through 17, the strings all start with 32 or | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
more ‘x’s. In the histogram, they all appear —————————————————————————————————————————————————————————————————————————————————————————————————————————————————
to have the same value. | 0 | SELECT STATEMENT | | 8 | 268 | 3079 (88)| 00:00:37 |
| 1 | UNION-ALL | | | | | |
This does not render histograms useless. | 2 | SORT AGGREGATE | | 1 | 32 | | |
They are very useful on most data you tend to |* 3 | TABLE ACCESS FULL| T | 24307 | 759K| 385 (1)| 00:00:05 |
search on: numbers, dates, and strings less | 4 | SORT AGGREGATE | | 1 | 32 | | |
|* 5 | TABLE ACCESS FULL| T | 4308 | 134K| 385 (1)| 00:00:05 |
than 33 bytes in length. If you have longer | 6 | SORT AGGREGATE | | 1 | 33 | | |
strings, you will typically be performing a |* 7 | TABLE ACCESS FULL| T | 24307 | 783K| 385 (1)| 00:00:05 |
text search on them with Oracle Text and the | 8 | SORT AGGREGATE | | 1 | 33 | | |
|* 9 | TABLE ACCESS FULL| T | 4308 | 138K| 385 (1)| 00:00:05 |
CONTAINS operator. | 10 | SORT AGGREGATE | | 1 | 34 | | |
You should be aware of this histogram |* 11 | TABLE ACCESS FULL| T | 71696 | 2380K| 385 (1)| 00:00:05 |
implementation, however, because it could | 12 | SORT AGGREGATE | | 1 | 34 | | |
|* 13 | TABLE ACCESS FULL| T | 71696 | 2380K| 385 (1)| 00:00:05 |
prompt you to store some data attributes | 14 | SORT AGGREGATE | | 1 | 35 | | |
differently. For example, suppose you have a |* 15 | TABLE ACCESS FULL| T | 71696 | 2450K| 385 (1)| 00:00:05 |
system that stores URLs in a table—an audit | 16 | SORT AGGREGATE | | 1 | 35 | | |
|* 17 | TABLE ACCESS FULL| T | 71696 | 2450K| 385 (1)| 00:00:05 |
trail, for example. If you look at a URL such —————————————————————————————————————————————————————————————————————————————————————————————————————————————————
as the ones you see on asktom.oracle.com,
you’ll discover that the first 39 characters of Predicate Information (identified by operation id):
————————————————————————————————————————————————————————————————————————————
my URL are constant— 3 - filter("LEN30"='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxA')
5 - filter("LEN30"='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxB')
http://asktom.oracle.com/pls/asktom/f?p 7 - filter("LEN31"='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxA')
9 - filter("LEN31"='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxB')
11 - filter("LEN32"='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxA')
—regardless of what page you end up on 13 - filter("LEN32"='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxB')
in my site. Having a histogram on that data 15 - filter("LEN33"='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxA')
17 - filter("LEN33"='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxB')
would not be very useful.
However, what if I stored the data in Code Listing 2: Function f counts calls and stores information
a more meaningful way, such as storing
the URL in a series of fields—specifically, SQL> create or replace function f( x in varchar2 ) return number
using the fields PROTOCOL, HOST, PORT, 2 as
3 begin
and PATH? In this case, the PROTOCOL
4 dbms_application_info.set_client_info(userenv('client_info')+1 );
field would contain values such as HTTP or 5 return length(x);
HTTPS, the HOST field would store asktom 6 end;
7 /
.oracle.com (and other host names), the
PORT field would contain one of the stan- Function created.
dard port numbers used by typical HTTP,
and the PATH field would be the unique Code Listing 3: Calling function f and measuring CPU consumed
bit. You have the ability to render the
original URL in its entirety, so you haven’t
SQL> exec :cpu := dbms_utility.get_cpu_time;
lost any data. And you have the new ability SQL> exec dbms_application_info.set_client_info(0);
to provide even better searching capabili- SQL> set autotrace traceonly statistics;
ties, because you have the components all
SQL> select owner, f(owner) from stage;
split out. You also gain the ability to com- 71653 rows selected.
press this data in the database very easily.
Statistics
(Oracle’s basic and advanced compression
———————————————————————————————————————————————————————————————————————————————
for tables works by removing repetitive ...
attributes in a block. PROTOCOL, HOST, 71653 rows processed
and PORT values would all repeat often.)
SQL> set autotrace off
And you would now have an attribute SQL> select dbms_utility.get_cpu_time-:cpu cpu_hsecs,
(PATH) that would be able to support a his- userenv('client_info') from dual;
togram nicely.
CPU_HSECS USERENV('CLIENT_INFO')
This is just another case where knowing ——————————————
— —————————————————————————————————————————————————————————————————————————
how things work enables you to implement 164 71653
a solution more efficiently or at least justify
why you have chosen to do something in a rather than having to re-evaluate the sub- call into a scalar subquery, and I rerun the
particular fashion. query many times. example, as shown in Listing 4. The scalar
I encourage you to take a look at what In answer to the question, however, you subquery was called only 69 times (over 0.25
a colleague of mine, Jonathan Lewis, has cannot “see” the hash table anywhere. It CPU seconds). The effect of this scalar sub-
written on this subject recently as well. See is an internal data structure that lives in query caching is now apparent.
the Next Steps box at the end of this column your session memory for the duration of
for links to his excellent series of articles on the query. Once the query is finished, it Direct Access to Partition
histograms and the 32-byte limit. goes away. It is a cache associated with your We have set up some list-partitioned tables.
query—nothing more, nothing less. My developers want to run direct statements
Scalar Subquery Caching You can, however, “see” the hash table in (inserts, updates, selects) against partitions,
Reading the posting at bit.ly/cSqDc6, I won- action by measuring how many times your not against the tables. For example, they
dered about this part of Jonathan Lewis’ function is called. In Listing 2, I start by cre- would like to use this:
reply: “If so, the cache is probably a hash ating a function that counts how many times
table of 256 rows in 8i and 9i, and 1,024 rows it has been called and stores the results in INSERT INTO status_delta_stg
in 10g.” What is this hash table? Where can I CLIENT_INFO in V$SESSION. PARTITION (status_delta_stg_company1).
see it in Oracle Database? Now, in Listing 3, I can call that function UPDATE status_fact
For readers who might not be able to see from a SQL query and see how much CPU the PARTITION (job_status_fact_company1)
the posting in question: it was an article query consumed and how many times the
referring to an internal optimization called function was called. Are there any benefits of doing it this way?
scalar subquery caching implemented in the The STAGE table is a copy of ALL_ (The optimizer should be able to do partition
database. If you execute a scalar subquery OBJECTS, and, as you can see in the Listing 3 elimination if we provide the field we parti-
in the context of a larger query, the database statistics, function f was called once per row tioned on in the queries.)
will attempt to cache the output of that (71,653 times). And the function processing My main problem with this approach
subquery in hopes of reusing it over and over used 1.64 CPU seconds. is that I lose the ability to do partition
again during the larger query’s execution Now I simply convert the PL/SQL function exchanges, drops, merges, and so on without
having an impact on their code (if I decide to Code Listing 4: Replacing function f with a scalar subquery
use a different partition name).
The only time I can see a benefit would be SQL> exec :cpu := dbms_utility.get_cpu_time;
during a direct path load. Direct path loads— SQL> dbms_application_info.set_client_info(0);
SQL> set autotrace traceonly statistics;
using INSERT /*+ APPEND */, for example—
lock the entire segment they are targeting, SQL> select owner, (select f(owner) from dual) f from stage;
so if you do 71653 rows selected.
Statistics
insert /*+ APPEND */ into t ———————————————————————————————————————————————————————————————————————————————
select ... 71653 rows processed
Build Better
Data Warehouses
The processing capacity of the Oracle Exadata
Database Machine means fewer physical structures
and better business intelligence.
oracle.com/goto/manufacturing
or call 1.800.ORACLE.1
Source: IndustryWeek list of largest publicly held manufacturing companies based on revenue,
and internal analysis of midsize manufacturers.
Copyright © 2009, 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.
72 Analyst’s Corner by DAVID BAUM
BI and Data Public Sector Integration and SOA Services Industry Regional SI – Reseller Consumer Industry
Warehousing Solution Solution Solution Solution Apps Momentum Solution
Global SI Apps Manufacturing and Oracle Red Financial Management Financial Services
Momentum Distribution Solution Stack Solution Solution Industry Solution
Enterprise 2.0 Sun SPARC Security and Identity Energy Industry Database, Grid and Human Capital
Solution Server Solution Management Solution Solution RAC Solution Management Solution
partner.oracle.com
or call 1.800.323.SELL
Copyright © 2010, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates.
Other names may be trademarks of their respective owners.