You are on page 1of 96

Toad: The next generation

re e4 the Futu stigate nd archived until Jun Inve ay 5 a po


New : velopers ce for de conferen online of Toad

Live M

/MayEx est.com www.qu

Simplify, Automate and Prosper With Toad


DBAs, Developers and Analysts Energize Your Enterprise!
Across space and time youve trusted Toad for Oracle to help you reduce costs and maximize resources. Now, the next generation of Toad is here. With simplified management, greater automation, superior productivity and workflow, and support for multiple database platforms, Toad boldly takes you where no tool of its kind has before. The logical solution? Toad, a new frontier in Oracle productivity.

Learn how Toad stacks up to other Oracle IDEs. Read the NEW paper Searching for the Right Oracle IDE? at www.quest.com/logical

2010 Quest Software, Inc. All rights reserved. Quest and Quest Software are trademarks or registered trademarks of Quest Software. All other brand or product names are trademarks or registered trademarks of their respective holders. DBM_Toad4Oracle_Toadv10_MayJune_2010.

MAY/JUNE 2010

John Fowler Speaks Oracles Executive Vice President, Systems, on the Sun acquisition / 23 BMW ORACLE Racing How Oracle Data Mining helped the team win the Americas Cup / 45 Java Development Kit 7 A new bytecode and linkage mechanism offer better support for dynamically typed languages / 63 Frameworks Modularize your applications by using Oracle ADF libraries / 69 Ask Tom Our technologist concludes his exploration of EditionBased Redenition / 85

ORACLE.COM/ORACLEMAGAZINE

IRON MAN RETURNS


Tony Stark once saved his heartand his life with the Iron Man suit. Now hes found his heart and forged new life into his company, Stark Industries, by abandoning munitions manufacture for cutting-edge communications. Learn how Oracle helped with the transformation.

Sharing Resources in the Cloud


To maximize resources and ensure data security, more companies are turning to cloud computing. Oracle technologies lead the way.

Software. Hardware. Complete.


Oracles acquisition of Sun completes and improves the technology stack, optimizes integration, and simplies operations.
2010 MVLFFLLC.TM & 2010 Marvel.

A L T E R N A T I V E T H I N K I N G A B O U T B U S I N E S S A N D T E C H N O L O G Y:

Move Ahead.
Alternative thinking is recognizing the proper role of technology in this era is not just to be safe and steady and reliable, but to spur the business to compete aggressively, imaginatively and daringly. It is working with HP and Oracle to reduce risk and lower costs while driving your business ahead. hp.com/go/oracle

Technology for better business outcomes.


2008 Hewlett-Packard Development Company, L.P.

FEATURES VOLUME XXIV - ISSUE 3

CONTENTS

STARK DOMINATION
/42
Tony Stark has reversed the direction of his company, Stark Industries, abandoning munitions manufacture to build a corporate communications powerhouse. Still resisting demands to turn over to the military the patents for his Iron Man armor technology, Stark faces more challenges today than ever before. Find out how he counts on Oracle to help overcome them. By Scott Smith
2010 MVLFFLLC.TM & 2010 MARVEL.

Sailing for the Prize / 45


Sailing the trimaran USA, the crew of BMW ORACLE Racing overpowered their Swiss competitor in the bestof-three contest to bring home the Americas Cup for the first time since 1992. Discover how Oracle Data Mining helped the sailors make the best use of their yachts technology. By Jeff Erickson

Public and Private Clouds: Making It Work / 48


More IT departments have been turning to cloud computing to manage their technology stack. Cloudseither private or publicenable enterprises to leverage proven technologies and scale incrementally while providing maximum flexibility to meet dynamic business needs. Learn how Oracle technologies can help companies find success in the cloud. By David Baum

Software. Hardware. Complete. / 56

With the acquisition of Sun now final, Oracle offers customers a complete, open, and integrated stack of products ranging from disk and storage systems to applications and management tools. See how these technologies offer customers a wider choice and can be integrated into solutions that are optimized for better performance, reliability, and security. By David A. Kelly

ORACLE MAGAZINE MAY/JUNE 2010

Departments VoluMe XXIV - Issue 3

Up Front / 8
From Our readers / 8
Readers tell us what they think.

community / 28
TeaM Informatics, Fadel Partners, Mitsubishi electric automation, Qualcomm, sysTIMe, accenture, Deloitte, eVerge Group, eagle Business solutions, Pillar Data systems, Hitachi Consulting uK, Intelligroup, Thunderhead, IBM, sTR software, sPaDaC

technology / 63
JaVa
Dynamic language support on the Java Virtual machine / 63

comment / 91
in tHe FielD
the Data Decade / 91
exploring the possibilities and the needsof the future. Ian Abramson

partner news / 28

From the publisher / 10

Grounded in experience Jeff Spicer

new features offer better support for dynamically typed languages. Ed Ort and Janice J. Heiss

analYsts cOrner

mashUp / 13

news, views, trends, and tools

BackUp

at Oracle / 15
events / 15
Find out about upcoming technology and industry events.

Book Beat / 28 Otn Bulletin / 31

next-generation Data Backup / 67

technology convergence for enterprise workloads / 92


oracles acquisition of sun will yield new integrated solutions. David Baum

learn whats happening with oracles most dynamic online community.

architect / 32

storageTek enterprise Backup software, sun chip multithreading servers, and oracle solaris deliver end-toend data protection. Kemer Thomson

resources / 17

your guide to oracle Webcasts, podcasts, blogs, and more

Meeting enterprise architecture communication challenges is critical.

libraries You can Depend On / 69

FramewOrks
Modularize your applications by using oracle application Development Framework libraries. Steve Muench

Up close / 33

Briefs / 20

The latest product news John Fowler, executive vice president of systems at oracle, talks about oracles acquisition of sun and what it means for customers.

interview / 23

new Zealand oracle users Groups lynne oDonoghue on making connections

peer-to-peer / 34

Melanie Cameron, James Morle, Rodrigo almeida

time for a .net tune-Up / 73

.net

Tune your .neT applications use of oracle Database with oracle Developer Tools for Visual studio. Christian Shay

pl/sQl practices
Finish faster with DBMs_ PaRallel_eXeCuTe . Steven Feuerstein

On working in parallel / 77

BUsiness intelligence

Oracle warehouse Builder 11g release 2 and Heterogeneous Databases / 81

use code template mappings to transform non-oracle database data at the source. Mark Rittman

ask tOm

looking at edition-Based redefinition, part 3 / 85


our technologist concludes his exploration of editionBased Redefinition. Tom Kyte

May/June 2010 Oracle.cOm/Oraclemagazine

Its Time to Upgrade...

Your Thinking!
Its no longer just about knowing Oracle technology. You also need the business skills to see the big picture. The ability to think globally for your employer and customer. The Isenberg Online MBA gives you the business skills to compete in todays complex and competitive business environments.

Complete your MBA degree online from anywhere in the world.



Ranked Top 10 Best Part-Time MBA Program by BusinessWeek 37 credit program No on-campus visits required Network with students from across the globe Start Now - take 2 courses before applying OAUG members receive a tuition discount AACSB accredited

MBA
isenberg.umass.edu/mba/oaug

editOrial editor in chief Tom Haunert tom.haunert@oracle.com Senior managing editor Caroline Kvitka caroline.kvitka@oracle.com Features editor Kay Keppler kay.keppler@oracle.com contributing editor and Writer Blair Campbell editor in chief, Oracle technology network Justin Kestelyn justin.kestelyn@oracle.com technology advisor Tom Kyte contributors Marta Bright, ed DeJesus, Jeff erickson, Fred Sandsmark, Leslie Steere deSign Senior creative director Francisco G Delgadillo design director Richard Merchn contributing designers Rob Martin, Michele-Hoaiduc nguyen Production designer Sheila Brennan editOrial BOard Ian abramson, Karen Cannell, andrew Clarke, Chris Claterbos, Karthika Devi, Kimberly Floss, Kent Graziano, Taqi Hasan, Tony Jambu, Tony Jedlinski, ari Kaplan, Val Kavi, John King, Steve Lemme, Carol McGury, Sumit Sengupta, Jonathan Vincenzo, Dan Vlamis SuBScriPtiOn inFOrmatiOn Subscriptions are complimentary for qualified individuals who complete the subscription card found in each issue or online at oracle.com/oraclemagazine. For change of address, mail in label with the new address to: Oracle Magazine, P.O. Box 1263, Skokie, IL 60076-8263. magazine cuStOmer Service oracle@halldata.com Fax +1.847.763.9638 Phone +1.847.763.9635 Privacy Oracle Publishing allows sharing of its mailing list with selected third parties. If you prefer that your mailing address or e-mail address not be included in this program, contact Customer Service at oracle@halldata.com.
copyright 2010, Oracle and/or its affiliates. all Rights Reserved. no part of this publication may be reprinted or otherwise reproduced without permission from the editors. ORACLE MAGAZINE IS PROVIDeD On an aS IS BaSIS. ORaCLe eXPReSSLy DISCLaIMS aLL WaRRanTIeS, WHeTHeR eXPReSS OR IMPLIeD. In nO eVenT SHaLL ORaCLe Be LIaBLe FOR any DaMaGeS OF any KInD aRISInG FROM yOuR uSe OF OR ReLIanCe On any InFORMaTIOn PROVIDeD HeReIn. The information is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracles products remains at the sole discretion of Oracle. Oracle and Java are registered trademarks of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Oracle Magazine (ISSn 1065-3171) is published bimonthly with a free subscription price by: Oracle, 500 Oracle Parkway, MS OPL-3C, Redwood City, Ca 94065-1600. Periodicals Postage Paid at Redwood City, Ca, and additional mailing offices. POSTMaSTeR: Send address changes to: Oracle Magazine, P.O. Box 1263, Skokie, IL 60076-8263.

PuBliShing Publisher Jeff Spicer jeff.spicer@oracle.com Production director and associate Publisher Jennifer Hamilton jennifer.hamilton@oracle.com +1.650.506.3794 Senior manager, audience development and Operations Karin Kinnear karin.kinnear@oracle.com +1.650.506.1985 advertiSing SaleS associate Publisher Kyle Walkenhorst kyle@sprocketmedia.com +1.323.340.8585 northwest & central u.S. Tom Cometa thomas.cometa@sbcglobal.net +1.510.339.2403 Southwest u.S. and lad Shaun Mehr shaun@sprocketmedia.com +1.949.923.1660 northeast u.S. and emea/aPac Mark Makinney mark.makinney@oracle.com +1.805.709.4745 mailing-list rentals Contact your sales representative reSOurceS Oracle Products +1.800.367.8674 (u.S./Canada) Oracle Services +1.888.283.0591 Oracle Press Books www.oraclepress.com

PrOduct indeX
PrOduct name Java Java Development Kit 7 JavaFX Oracle access Manager Oracle application Development Framework Oracle application express Oracle application Integration architecture Oracle applications Oracle Business Intelligence Suite, enterprise edition Plus Oracle Business Process Management Oracle Coherence Oracle Communications Data Model Oracle Communications Order and Service Management Oracle Data Guard Oracle Data Integrator Oracle Data Mining Oracle Database Page PrOduct name 31 Oracle Identity Federation 63 Oracle Identity Manager 31 Oracle Imaging 48 Oracle Java Wireless Client 69 Oracle JDeveloper 17, 28 Oracle Manufacturing Operations Center 29, 30 Oracle On Demand 28 Oracle Policy automation 30 Oracle Portal 28 Oracle Project analytics 17, 28 Oracle Real application Testing 20 Oracle Records Management 22 Oracle Recovery Manager 17 Oracle SOa Governance 81 Oracle Solaris 18, 45 Oracle Tuxedo 20, 23, 28, Oracle universal Content Management 30, 31, 34, 45, 77, 85, 91, 92 20 Oracle Virtual Directory 73 Oracle VM 30 Oracle Warehouse Builder 23, 42, 48 Oracle WebCenter 28 Oracle WebCenter Suite 21 Oracle WebLogic Suite 17 Oracles agile product lifecycle management applications 17, 34, 48, Oracles amberPoint 91, 92 22 Oracles JD edwards entperpriseOne 18, 28, 30, Oracles Siebel Case Management 31, 48, 92 18 StorageTek enterprise Backup 22 Sun Oracle Database Machine 30 Sun servers 30 ZFS Storage appliance Page 48 48 28 29 20, 69 28 18 29 48 20, 29 17 28 28 21 23, 31, 56, 92 21 28, 91

Oracle Database Lite Oracle Developer Tools for Visual Studio Oracle e-Business Suite Oracle enterprise Manager Oracle enterprise Manager 10g Grid Control Oracle enterprise Pack for eclipse Oracle essbase Oracle exadata Oracle FLeXCuBe Oracle Fusion Middleware Oracle GoldenGate Oracle Healthcase Transaction Base Oracle Hyperion Financial Management Oracle Hyperion Planning

48 34 81 28 91 17 29 21, 22 29 29 67 23 23, 48, 92 23

Printed by Brown Printing

May/June 2010 Oracle.cOm/Oraclemagazine

Todays global tax world has no borders.

You need solutions you can count on.

Globalization. Increased governmental regulations. Tighter provision deadlines. You need a partner to help you meet the challenges of an increasingly complex tax world. With Vertexs enterprise tax solutions, we can create a customized approach to streamline your tax management process. Our flexible direct and indirect applications easily integrate into any ERP platform. So youll gain improved oversight and decision-making capabilities, while also increasing performance across your entire enterprise. Strategic, enterprise-level solutions Accurate, real-time data across enterprises Greater control, transparency, and speed To le ar n more a bout our power ful s uite of ente rpr ise ta x sol utions, ca ll 800.355.350 0 or v isit v ertex inc.c om.
Vertex Inc. | 1041 Old Cassatt Road | Berwyn, PA 19312 | 800.355.3500 | vertexinc.com

FROM OUR READERS

Your corrections, your opinions, and your requests: Heres your forum for telling us whats right and wrong in each issue of Oracle Magazine, and for letting us know what you want to read.

MORE THAN ONE While reading The Route to Success by Steve Muench (Oracle Magazine, January/ February 2010, otn.oracle.com/oramag/ oracle/10-jan/o10frame.html), I noticed that EmpView is executed without adding FindByEmpnoEnameOrJob view criteria. What about using just one bind variable, so that I neednt call the NumberOrNull(Strings) method:
( (Emp.EMPNO = :VarSearch ) OR (UPPER(Emp.ENAME) LIKE UPPER(% || :VarSearch || %) ) OR (UPPER(Emp.JOB) LIKE UPPER(% || :VarSearch || %) ) )

work as well. You would need to download the PDF from the digital edition, then upload into the Nook for each issue. MORE LIKE THIS The interview with Sushil Kumar by Caroline Kvitka (Oracle Magazine, March/April 2010, otn.oracle.com/oramag/oracle/10-mar/ o20interview.html) was extremely insightful. I have shared it with several colleagues because I believe that Kumars interpretation of the cloud is very articulate. He did an impressive job clarifying where most others stumble. Rob Tellone rtellone@vbccloud.com Regarding Transparent Data Encryption by Arup Nanda (Oracle Magazine, September/ October 2005, otn.oracle.com/oramag/ oracle/05-sep/o55security.html): If I could find articles for every Oracle feature that were this concise, it would sure make life as an Oracle DBA a heck of a lot easier. This was just what I needed. Brian Strong bstrong@impacservices.com Arup Nanda replies: Thank you very much for the feedback. If I could get a letter like this for every article I write. . . . Letters such as this make an authors day. Ultimately my articles are for the readers, and when readers provide the feedback that an article was beneficial to them, the effort proves all the more worthwhile. I am glad that you liked it and appreciate you taking the time to write about it.

MORE POSSIBILITIES In Tuning Your View Objects by Steve Muench (Oracle Magazine, May/June 2006, otn.oracle .com/oramag/oracle/06-may/o36frame.html), Muench writes, If parts of your application do not need the functionality provided by entity-based view objects, you can improve performance by using a read-only view object instead. Is the above still valid in Oracle Application Developer Framework (Oracle ADF) 11g, where the entity-object-level property Updatable can be set to false? Apart from a) declarative SQL generation in the ViewObject and b) reuse of attribute-level UI hints, what other benefits might read-only entity objects offer? Do readonly entity objects have an EntityCache? Jangvijay Singh jvsing@gmail.com Steve Muench replies: Yes, this is still valid in Oracle ADF 11g. A read-only entity is similar to an entity all of whose attributes you have marked to be nonupdatable.

Karim H. Abdellatif Karim.Hasan@meitweb.com Steve Muench replies: The starter project should have the FindByEmpnoEnameOrJob view criteria already applied at the view instance level in the data model. I used two bind variables so that the bind variable used for the EMPNO equality comparison would be of type Number so that the EMPNO index could be used to find it. Thanks for reading the column! MORE OPTIONS I have a digital subscription to Oracle Magazine. I will be receiving a Nook e-reader and wondered if I will be able to read the secured PDF on it. Chris Barbo cbarbo@jcpenney.com The editors reply: The Nook does support PDF file types, so the Oracle Magazine PDF should

SEND MAIL TO THE EDITORS


Send your opinions about what you read in Oracle Magazine, and suggestions for possible technical articles, to opubedit_us@oracle.com. Or click the Write the Editors link on our Web site, oracle .com/oraclemagazine. Letters may be edited for length and clarity and may be published in any medium. We consider any communications we receive publishable.

MAY/JUNE 2010 ORACLE.COM/ORACLEMAGAZINE

Your Destination for oracle expertise


written by leading oracle professionals, oracle press books offer the most definitive, complete, and up-to-date coverage of oracle products and technologies available. oracle press is your premier source for oracle information.

o oracle self-service a applications Melanie Anjele Cameron implement oracle e e-business suite self-service modules

o oracle crM on Demand Deployment Guide Jeff Saenger, Tim Koehler, and Louis Peters b best practices from the original oracle Crm on Demand consulting team

o oracle enterprise Manager 10g Grid control 10 Handbook Werner De Gruyter, Matthew Hart, and Daniel Nguyen manage a flexible, m cost-effective oracle enterprise manager 10g e Grid Control environment

o g Backup & ecovery Matthew Hart and Robert G. Freeman m maximize the latest release of oracle recovery manager

All titles Are AvAilAble in print AnD ebook FormAt. AvAilAble everywhere computer books Are sold Join the oracle press Community to be the first to hear about new oracle press books and special offers at www.OraclePressBooks.com

10

FrOm The Publisher

grounded in experience

Taking off from our solid foundation, Oracle flies high with cloud computing and Iron Man.

n a meeting recently, a coworker mentioned that an outside agency had created a guest account so that she could access project data in that agencys systems. Its great, she said, because they put everything out there in the cloud. When asked if the agency was using cloud services on which to run its applications, she didnt really know. The interesting point to me wasnt whether my coworker knew the actual workings of the cloud, but rather that the term cloud has garnered enough attention to move into popular vernacular as a stand-in for every concept or technology from utility computing to the internet itself. Cloud computingon-demand access to a shared pool of computing resources holds real potential for not only small and midsize companies, but also for large enterprises, who may use public clouds and build their own private clouds. Public cloud services have received most of the media attention for the past few years. These outsourced services give businesses a way to create, deploy, and use applications without investing in infrastructure and without having to manage the infrastructure. Public cloud services, while increasingly attractive, still come with a few challenges,

nexT sTePs
learn more about Oracle cloud offerings oracle.com/goto/cloud WaTch an on-demand cloud Webcast Adopting Enterprise Cloud Computing bit.ly/6Jwmdy DiscOver the world of Iron Man 2 oracle.com/ironman2

however, including data and user security concerns, integration issues, and quality-ofservice considerations. This is where private clouds come in. In a private cloud, a companys IT department becomes the cloud service provider to other departments or lines of business, offering the same agility and efficiency as public clouds through self-service, elastic scalability, and metered use. However, private clouds provide control for security and regulatory compliance, easier integration with existing applications, and potentially lower costs over the long run. Many of the technologies that make both public and private clouds possible were developedand continue to be developedat Oracle. In this issue of Oracle Magazine, author David Baum examines some of those technologies, including Oracle Grid Computing, Oracle SOA Suite, Oracle Identity Management, Oracle VM, and Oracle WebCenter Suite. Oracles acquisition of Sun significantly expands the portfolio, which now includes Sun servers, storage, and the Oracle Solaris operating system, with its built-in virtualization and management capabilities. Baum shows how companies are using Oracle products to build powerful and flexible public and private clouds while leveraging Oracle technologies to better secure applications and data on the cloud. In addition, he documents areas where these companies are achieving an enviable benefit: cost savings. Iron Man Takes To The sky Oracle is proud to be a technology sponsor of the new Marvel movie Iron Man 2. Once

again, businessman and technology genius Tony Stark, now revealed to be Iron Man, is called upon to save the worldand must also save his business! In this issue of Oracle Magazine, get a revealing behindthe-scenes look at Stark Industries as the company morphs from munitions manufacturer to telecommunications company. Despite its wild successes, outspoken and high-profile leader, and cuttingedge internal technology systems, Stark Industries faces the same business challenges as nearly any global corporation . . . led by a masked superhero! a new Look Does something look different about this issue of Oracle Magazine? It should: weve updated the magazine to make it more relevant and user friendly. Our redesigned publication has a new masthead and fresher look. Weve improved internal navigation and added multiple pointers on each page, highlighting relevant Web content, downloads, and podcasts. In addition, weve expanded our technology section to include content on system administration and Java, and weve categorized technology content by job role, helping you find relevant content more quickly. Weve also added a short MashUp department in the Up Front section of the magazine, offering information on technology trends and gadgetsas well as business notesin an easy-to-digest format. We hope you benefit from the new design and content. We look forward to your feedback. Jeff spicer, Publisher jeff.spicer@oracle.com

May/June 2010 Oracle.cOm/Oraclemagazine

Data Quality Tools for Oracle


Telephone Verication Name Parsing & Genderizing Geocoding Address Verication & Standardization

Email Address Verication

Web Services & APIs Duplicate Elimination


Now, finding the right data verification tools doesnt have to be so puzzling. Melissa Data offers customizable APIs, Web services and enterprise applications to match your budget and business needs. For solutions to cleanse, validate and standardize your contact data, were ready to help you find the perfect fit. Global address verification for 240 countries Clean and validate data at point-of-entry or in batch Correct misspellings, missing directionals, and confirm deliverability Enhance addresses with County, Census, FIPS, etc. Append lat/long coordinates to the ZIP +2 and +4 levels , Work natively with Oracle Forms, PL/SQL, C++, VB NET, C#, ASP and Java

BEFORE
john smith iii phd melissa data corp. 22382 Empresa 92688 7145895200 john@800miAL.con

AFTER
John Smith III PhD Melissa Data Corp. 22382 Avenida Empresa Ste 100 Rancho Santa Margarita, CA 92688-2112 949-589-5200 John@melissadata.com Delivery Indicator: Business
*Highlights indicate added and/or corrected data.

Realtime NCOALink Change-of-address Web Service available

Request your free trial at MelissaData.com/myoracle or call 1-800-MELISSA


Oracle is registered trademark of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Existing Infrastructure

Ajax Frameworks

Multiple Browsers

Test Maintenance

Relieve the pain of test automation.


Record and Replay that actually works even with complex Ajax frameworks. Run robust and succinct tests created in a large variety of languages including Java , Groovy and C#. Automatically execute tests headlessly and with ease in your existing development environment.
TM

DOWNLOAD NOW AT JADELIQUID.COM

MashUp
DID YOU KNOW?

News. Views. Trends. Tools.

13

Cloud Retention Plans Vary


How long do companies plan to store data in the cloud? 535 companies worldwide were surveyed.

7%AYS D

6%
6%150
76 T B

YS 30 DA

PETITE LASER PICO


Get ready to take your presentations to the next level with the AAXA L1 Laser Pico Projector, which AAXA Technologies claims is the first laser pico projector to hit the market. The size of a small cell phone, this 20-lumen pico projector also boasts an internal media player and storage. The L1 features a threecolor laser light source that results in 800x600resolution images that never lose focus. It supports rapid changes in projection size, simultaneous far and near surface projection, angled projection, and projection on curved surfaces. Accessories are available to connect the L1 to an iPhone, iPod, Microsoft Zune, and a range of cell phones. US$599. aaxatech.com
NO

180 DA YS

4%

90

6%
150+

36%NS

TB

PL A

1 Y E AR

26 7 TB 5

13%

9%

45% 5

THE CLOUD
6 T 2
B

TB

% 15 YEARS

5 2

How Much Data in the Cloud?


10

Source: CommVault survey on cloud storage (commvault.com)

I believe that any problem can be solved with a picture. And that anybody can draw it.
Whether youre traveling for business or escaping on a summer vacation, these four apps will make your smartphone a useful companion.
ANDRE KVITKA

Dan Roam, author of The Back of the Napkin: Solving Problems and Selling Ideas with Pictures

WHAT DO YOU SAY?


Does your company plan to upgrade to Oracle Database 11g Release 2 in the next six months? Visit surveymonkey .com/s/5926Z2W to respond. Survey results will appear in the next issue of Oracle Magazine.

T R AV E L S M A R T E R

TripCase

Track your flight itinerary, hotel and car reservations, flight status, and more. Maintain a trip log, and e-mail your travel details to others. Free (iPhone, BlackBerry, and Windows Mobile). tripcase.com

GADGETS MAKE US RUDER

BLUETOOTH CHIC

LINDY GROENING

According to a survey of 1,400 U.S. CIOs, breaches in workplace etiquette are on the rise, due to smartphones and other gadgets.

Walking around the office wearing a Bluetooth ear bud is so last decade. Why not step up your style with Bluetooth Handsfree Sunglasses? This dual gadget combines a Bluetooth headset with sporty sunglasses that protect your eyes from the suns harmful rays (and add mystique to your office persona). US$49.99. thinkgeek.com

8%EARS

+Y

6 10 YEARS

16%

30 %

The same 535 companies were asked how much data they plan to store in the cloud.

Taxi Magic

Summon a taxi or car service in 25 U.S. cities (and counting) with one click, and then pay and tip using this app at the end of the ride. Free (iPhone and BlackBerry). taximagic.com

ZAGAT TO GO SitOrSquat
Get one years access to more than 40 Zagat restaurant guides, for Hong Kong, London, Shanghai, and more. US$9.99 (iPhone and Android); US$19.99 (BlackBerry and Windows Mobile). mobile.zagat.com

Find an open, clean public restroom nearby. This apps growing not-tobe-denied user community has rated more than 83,000 facilities. Free (iPhone and BlackBerry). sitorsquat.com

ORACLE MAGAZINE MAY/JUNE 2010

EvEnts

15

technology Events

oraclE UsEr groUPs


Utah oracle Users group training Days
May 56, Salt Lake City, utah

Conferences and sessions to help you stay on the cutting edge

utoug.org

EmEa Harmony

UKoUg Document management and Workflow meeting


May 5, Slough, england

ukoug.org

may 2021, tallin, Estonia This conference is presented in cooperation with Finnish, estonian, Latvian, and Russian Oracle user groups and will focus on Oracle technology, middleware, and business intelligence. See the individual user group Websites for details: ougf.fi (Finland), groups.google.com/group/ouge (estonia), groups.google.ca/group/lvoug (Latvia), and ruoug.org (Russia).

asociacin de Usuarios oracle de colombia oracle JDeveloper and oracle aDF Workshop
May 10, 12, and 14, various cities, Colombia

icesi.edu.co/asuoc

toronto oracle Users group meeting


May 11, Toronto, Canada

toug.org

Dallas oracle Users group technology Forum


May 11, Plano, Texas

collaboration and interoperability congress

may 35, Estes Park, colorado f3dcic.com experts and decision-makers from automotive, aerospace, heavy equipment, electronics, and other discrete manufacturing industries, along with representatives from government and the defense community, will convene for breakout sessions and panel discussions.

nities to network with SaP customers, partners, team members, and industry experts. attendees choose from more than 200 technology, strategy, and influence sessions.

doug.org

oregon and southern Washington oracle User group meeting


May 11, Portland, Oregon

oswoug.org

logicon

may 1819, Palm springs, california fgreentechmedia.com/events/live/ the-networked-grid-2010 This event provides a global forecast for the top emerging smart grid applications and the infrastructure technologies that enable them.

the networked grid 2010

oklahoma city oracle User group meetings okcity.oracle.ioug.org

May 18 and June 15, Oklahoma City, Oklahoma

orcan (swedish oracle User group) spring conference


May 1819, Stockholm, Sweden

may 45, atlanta, georgia fwbresearch.com/logiconusa LogiCon gathers senior-level supply chain and logistics executives from manufacturing and retail industries to network, share insights, and learn about solutions and strategies for driving growth and efficiency.

orcan.se/index.php/event

tm Forum management World 2010


may 1820, nice, France ftmforum.org/managementworld2010/ 7867/home.html This global conference focuses on the creation, delivery, management, and monetization of information, communications, and entertainment services. Summit topics will include cloud services, revenue management, and technology and operational excellence.

australian oracle User group south australia Branch meeting


May 19, adelaide, South australia

ausoug.org.au

greater cincinnati oracle User group meeting


May 19, Cincinnati, Ohio

gcoug.org

oaUg connection PointBudapest

may 45, Budapest foaug.org/conferencesandeducation/ conferences/2010/cpbudapest Oracle customers will collaborate and train with educators and executives from around the world. Topics include business intelligence, customer relationship management, and integration.

Houston oracle Users group meetings


May 19 and June 16, Houston, Texas

houg.org

saP saPPHirE 2010


GeTTy IMaGeS

may 1619, orlando, Florida fsapandasug.com Colocated with the americas SaP users Group annual conference, SaPPHIRe provides opportu-

may 2426, las vegas, nevada facordlomaforum.org Sponsored by the association for Cooperative Operations Research and Development (aCORD) and the Life Office Management association (LOMa), this insurance forum covers human capital, the regulatory environment, automating underwriting, and IT investment and planning.

acorD loma insurance systems Forum

new York oracle Users group training Day


May 19, new york City

nyoug.org

northeast ohio oracle Users group training seminar


May 2021, Cleveland, Ohio

neooug.org

suncoast oracle Users group meetings


May 27 and June 24, Tampa, Florida

soug.net

oraclE magazinE May/June 2010

16

events

June 30, reading, england fukoug.org These product familyspecific conferences, sponsored by the uK Oracle user Group, offer a range of topics for users at all levels. Oracle personnel and peer experts will share information and provide a forum for discussion and knowledge sharing.

ace10 annual conference and exposition


Dont miss ODtUg Kaleidoscope, June 27July 1, in Washington Dc.

compliance Week

may 2426, Washington Dc fcomplianceweek.com Join global regulators; federal officials; governance, risk, and compliance experts; and corporate compliance and risk officers to learn about compliance structures, quantification, reporting, awareness, technology, and programs.

speeches, technical sessions, executive roundtables, focused seminars, and more.

Dia annual meeting

June 2024, chicago, illinois fawwa.org/ace10 This american Water Works association event explores water resource sustainability, system sustainability, workforce sustainability, and economic sustainability. The accompanying exposition features more than 500 providers of technology and services.

Oracle sun High Performance computing (HPc) consortium

may 2930, Hamburg, germany foracle.com/goto/hpcc at the Oracle Sun HPC Consortium, customers, partners, and potential partners will learn about Oracles strategy for Sun HPC and HPCs benefits.

June 1317, Washington Dc fdiahome.org/diahome/flagshipmeetings/ home.aspx?meetingid=20751 Sponsored by the Drug Information association, this event is intended for professionals involved in the discovery, development, and lifecycle management of pharmaceuticals, medical devices, and related products.

aceamericas claims event

edison electric institutes annual convention/expo

June 2224, las vegas, nevada famericasclaimsevent.com This insurance industry event addresses the strategic and tactical challenges facing seniorand executive-level claims professionals. Learn about scaling the claims department, optimizing claims processing through automation, using business intelligence to identify fraud, and more.

international supercomputing conference

may 30June 3, Hamburg, germany fsupercomp.de/isc10/ This conference, celebrating its 25th anniversary, focuses on innovations and applications of supercomputing.

June 1316, Hollywood, Florida fwww.eei.org/meetings/annualconvention The association of Shareholder-Owned electric Companies sponsors this event, which covers smart grids, renewable energy, electrical transmission, carbon capture and storage, and more.

ODtUg Kaleidoscope

OHUg global 2010 conference

June 27July 1, Washington Dc fodtugkaleidoscope.com Sponsored by the Oracle Development Tools user Group, this annual event features more than 170 technical sessions, four full-day symposia, hands-on training, and a community service day.

iasa 2010 educational conference and Business show

June 69, grapevine, texas fiasa.org/members/content/ navigationmenu/2010annualconference Targeting financial and technology professionals in the insurance and financial services industries, this conference/show features keynote
register for Oracle OpenWorld 2010

June 1316, las vegas, nevada fohug.org users of Oracle human capital management applications will convene for education, networking, keynotes, and specialized sessions. The conference will be preceded and followed by full-day educational sessions and invitation-only events.

Oracle applications strategy Update global tour 2010

UKOUg conference series

various cities foracle.com/events/applicationstour Join Oracle executives for Smart Strategies: your Roadmap to the Future, an exclusive briefing on business trends and technology shifts, and their impact on organizational strategies.

and JavaOne + Develop

oracle.com/javaonedevelop

May/June 2010 Oracle.cOm/Oraclemagazine

GeTTy IMaGeS

oracle.com/openworld

On enterprise performance management and Oracles Hyperion product line: June 1617, london, england On Oracles Peoplesoft product line: June 2223, Heathrow, england On Oracles siebel product line:

events lOcatOr
Oracle events oracle.com/events locate User groups otn.oracle.com/community/user_groups

ResouRces

17

Whats new at oracle


The Techcast Show: Mark Reinholds JDK 7 Roundup fotn.oracle.com/syndication/techcasts Justin Kestelyn, Oracle Technology network editor in chief, talks with Mark Reinhold, principal engineer for Java Platform, Standard edition and the Java Development Kit (JDK), about JDK 7. oracle exadata: a single source of Truth fbit.ly/deBbjs In todays hypercompetitive environment, business analysts need to perform more predictive analytics, and they want the answers yesterday. But managing separate business intelligence, data mining, and online analytical processing (OLaP) servers and ensuring fast query performance can be a challenge for DBas. See how two DBas address this challenge using Oracle exadata.

The latest videos, podcasts, blogs, and more


ViDeos

Author Brian Huff on Content Management fbit.ly/dcxF5Q Brian Bex Huff, author of Transforming Infoglut!: A Pragmatic Strategy for Oracle Enterprise Content Management, discusses how to glean actionable business information from your digital landfill by deploying a flexible, cost-effective content management framework. The Role of Oracle Essbase in Enterprise BI fbit.ly/dDjxeY Find out why Oracle essbase is a key part of Oracles business intelligence and performance management applications. Most Enterprise Architecture Conversations Are Too [What?] fbit.ly/9fYzKm S0a expert Todd Biske, Jordan Braunstein of TuSC, Basheer Khan of Innowave Technology, and enterprise architect Pat Shepherd of Oracle talk about whats wrong with most of the talk about enterprise architecture.

Upgrading to Oracle WebLogic Suite fbit.ly/amT7gl Hear how upgrading your standalone application server to Oracle WebLogic Suite can simplify operations and better manage your SOa platform. Maximize Your Data Center ROI While Achieving Continuous Data Availability fbit.ly/cn6WXl Learn how to ensure disaster recovery, deliver IT service continuity, and improve resource utilization with Oracle GoldenGate. The New Normal: An Applications Management Outsourcing Perfect Storm fbit.ly/bmedui The Hackett Groups erik Dorr discusses the drivers behind business agility, IT performance, and application management transformation.

Sustainability Reporting, Planning, and Management fbit.ly/aR1ay2 John ORourke, senior director of product marketing for Oracle enterprise performance management solutions, discusses the drivers behind sustainability reporting. Author Aleksander Seovic on Oracle Coherence fbit.ly/dcxF5Q aleksander Seovic, author of Oracle Coherence 3.5, discusses how to achieve scalability, performance, and reliability with Oracle Coherence. Author Charles Kim on Oracle Data Guard fbit.ly/dcxF5Q Charles Kim, coauthor of the Oracle Data Guard 11g Handbook, discusses best practices. Author John Scott on Oracle Application Express fbit.ly/dcxF5Q Oracle aCe Director John Scott, coauthor of Pro Oracle Application Express, shares his insights on Oracle application express.

PoDcasTs

oRacle DiRecT
country

For Oracle product information, call the number for your region.
Phone number u.S. and Canada ...................................................1.800.367.8674 australia .................................................................... 1800.735.467 austria ......................................................................0800.29.7626 Belgium ........................................................................0800.73280 Brazil .........................................................................0800.901.985 China .......................................................................... 800.810.0161 Denmark ..........................................................................8088.1068 Finland ........................................................................0800.113.573 France ......................................................................0800.905.805 Germany ...................................................................0800.1.810.111 Greece ...............................................................00800.353.12020 Hong Kong ...................................................................... 3002.1246 India............................................................................1600.44.6725 Indonesia ......................................................... 001.800.1.672.253 Ireland ......................................................................... 1850.672253 Italy ................................................................................ 8008.74720 Japan ......................................................................... 0120.155.096 Malaysia .................................................................... 1800.80.1837 Mexico ...................................................................01800.221.7321 The netherlands ...........................................................0800.0827 new Zealand.............................................................0508.555.215 norway.............................................................................. 800.14411 Philippines .......................................................................... 811.5831 Portugal .......................................................................800.853.021 Singapore ................................................................1800.6722.531 South africa............................................................ 0800.994.225 South Korea ...............................................................080.2194.114 Spain ............................................................................ 900.952900 Sweden......................................................................... 020.798798 Switzerland .............................................................. 0800.55.2574 Taiwan ...................................................................... 0800.672.253 Thailand............................................................ 001800.441.0545 Turkey................................................................00800.353.90014 u.K. ......................................................................... 0870.5.332200

WeBcasTs anD inTeRneT seminaRs

Oracle + Sun Product Strategy Series fbit.ly/c91RwW These sessions detail Oracles plans for Suns major hardware and software technologies. Oracle Real Application Testing: Managing Change with Confidence fbit.ly/dbvwVQ Learn how to assess the impact of changes on production Oracle databases with Oracle Real application Testing. Reduce Costs and Simplify Management of Oracle WebLogic Server fbrighttalk.com/webcasts/8671/attend Hear how Oracle Management Pack for WebLogic Server models and monitors Java Platform, enterprise edition and Web services applications to enable users to identify bottlenecks, performance trends, and application efficiency.

oRacle magazine May/June 2010

18

resOurces

OVerHeard

Oracle data guard offers the capability to offload production workloads. snapshot databases can be used to bulletproof your production database from code changes or upgrades that can go terribly wrong.
charles Kim, author of Oracle Data Guard 11g Handbook, in the Author Charles Kim on Oracle Data Guard podcast (bit.ly/dcxF5Q)

personalized benchmark study with next steps to get more out of your existing Oracle investment. Oracle On demand iT Value assessment fbit.ly/6eago1 Take this free, online self-assessment to learn how your IT spending levels, process maturity, and best practices in IT value delivery compare to those of your peers and top performers.

Metadata Services in Oracle Fusion Middleware 11g fbit.ly/5k0JQO Learn about the underlying architecture that allows developers and end users to customize their applications to match specific user requirements without changing the base application. Planning for IFRS Adoption fbit.ly/5xWniT adopting International Financial Reporting Standards (IFRS) is no longer a question of if but how and when. Read why a cohesive approach is critical to manage the pervasive impact of IFRS on a companys IT systems. Securing Data at the Source: A Guide to Oracle Database Security foracle.com/goto/dbsec-ebook no organization can afford to let down its guard when it comes to protecting mission-critical information. Learn how to secure your databases and protect your information using your existing data management infrastructure. Platform-as-a-Service Private Cloud with Oracle Fusion Middleware fbit.ly/7gs8gs Learn how Oracle Fusion Middleware provides a comprehensive foundation for private clouds.

WHiTe PaPers and e-BOOKs

integrated technology. Oracle university offers many in-class, virtual, and self-study options for mastering SOa, including: Oracle SOa Suite 11g: essential Concepts; Oracle SOa Suite 11g: Build Composite applications; Oracle Tuxedo 10g Release 3: Build SOa applications using SaLT; Oracle SOa Suite 11g: new Features; and Oracle SOa Suite 11g: Business Rules Component Overview.

suPPOrT

my Oracle support communities fcommunities.oracle.com Collaborate with industry peers and support experts in more than 150 online Oracle Support communities moderated by support engineers. expand your knowledge with Webcasts, best practices, and more.

Oracle goldengate resource Kit fbit.ly/5B9esd To succeed in a 24/7 environment, companies must eliminate sluggish application performance, stale data, and interruptions in data availability. This resource kit offers white papers and analyst reports on a noninvasive, real-time data integration offering. Platform-as-a-service (Paas) competency center fbit.ly/9VY5ig In the PaaS Competency Center, Oracle technologists and customers can collaborate on patterns, blueprints, techniques, and code examples that exemplify PaaS using Oracle WebLogic Server, Oracle Coherence, Oracle enterprise Manager, and other technologies. Oracle cloud computing center fbit.ly/apaznF Learn more about Oracles support for cloud computing and get amazon Machine Images, view demos and tutorials, and read white papers and technical information.

resOurce cenTers and KiTs

enterprise architecture services foracle.com/consulting Oracle Consultings enterprise architecture Services are offered to customers that have invested, or are considering investing significantly, in Oracle licensestypically under an Oracle unlimited license agreement. The services provide you with a dedicated Oracle lead architect who will conduct an examination of your most critical business challenges and identify feasible, credible, affordable solutions that help you achieve your strategic goals.

cOnsulTing

WeB lOcaTOr
Oracle Blog center oracle.com/blogs Oracle consulting oracle.com/consulting Oracle events and Webcasts oracle.com/events Oracle Podcast center oracle.com/podcasts Oracle newsletters oracle.com/newsletters Oracle university oracle.com/education Oracle on Twitter twitter.com/oracle Oracle support oracle.com/support my Oracle support myoraclesupport.com my Oracle support communities communities.oracle.com

Oracle data mining Blog fblogs.oracle.com/datamining Get news, technical information, opinions, and tips and tricks about Oracle Data Mining.

BlOgs

Oracle university feducation.oracle.com Learn to build, deploy, and manage SOa-based implementations with complete, open, and

Training

assessmenT

Oracle customer success self-assessment foracle.com/goto/customersuccess Test your IT practices and see how your results compare in your industry with a complimentary 10-minute online self-assessment. youll receive a

May/June 2010 Oracle.cOm/Oraclemagazine

Man. MaCHine. Ma Hero.

Software. Softwar Hardwar Hardware. Co CoMPLete.

or acle .com/ironman2

2010 MVLFFLLC.TM & 2010 Marvel.

Copyright 2010, Oracle and/or its affiliates. All rights reserved.

20

Product Resources

DemO
bit.ly/7Vti9v `` Oracle Project analytics is a prebuilt analytic application that provides personalized, actionable insights into forecasting, budgets, costs, profitability, billing, and revenue. See how it delivers crossfunctional analysis and empowers project teams to better manage their budgets.

Oracle Project analytics

latest Release of Oracle Database lite available


Oracle has announced Oracle Database Lite Release 10.3.0.3, a comprehensive tool for developing mobile and embedded applications. The new Oracle Database Lite environment enables users to access data on mobile clients, regardless of their connection status, freeing them from the performance constraints of network bandwidth. The small-footprint, open source SQLite database runs on mobile clients and can synchronize bidirectionally with an Oracle Database instance when a connection is available. The Oracle Database Lite Mobile Server enables the synchronization with the back-end database server. Oracle Database Lite features a common access card that enables smart card user authentication for applications that require more security. Device reregistration enables multiple users to use the same device on different days or during different shifts. As companies look to more costeffectively run global operations, workers need to be able to efficiently access data without interruption or hassle, despite their physical locationwhich is why demand for mobile applications continues to grow across many industries, says Marie-Anne Neimat, vice president of software development at Oracle. Oracle Database Lites support for mobile applications built on the open source SQLite database addresses this need and helps improve productivity for a large community of mobile workers who can now access their enterprise Oracle Database, no matter where their jobs take them.

TuTORials
bit.ly/9P5xmF `` These step-by-step tutorials will show you how to invoke Web services from rich Oracle application Development Framework Faces uIs, including how to handle scenarios with asynchronous and secure services and complex parameters.

Oracle JDeveloper How-Tos

otn.oracle.com/obe/11gr2_db_prod/ `` index This tutorial series will bring you up to speed on new features in Oracle Database 11g Release 2. The series includes: Installing Grid Infrastructure for a Single Server, Managing the Oracle automatic Storage Management Cluster File System, Performing an Online application upgrade using editionBased Redefinition, and Monitoring SQL Statements in Real Time using Oracle enterprise Manager Database Console.

Oracle Database 11g Release 2 Overview and Tutorials

Oracle introduces Oracle communications Data model


Now available, the Oracle Communications Data Model is a standards-based data model designed and optimized for Oracle data warehouses, including the Sun Oracle Database Machine. It provides a highperformance off-the-shelf data warehousing platform specific to the communications industry that gives communications service providers a fast, reliable, cost-effective, and easy-to-use way to get the most out of data. The data model features a standards-based, industry-specific data warehouse schema for communications service providers. With prebuilt data mining, online analytical processing, business intelligence metadata, and industry measures, it gives communications service providers faster insight into customer management, marketing, and network and product development. The data model can be used in any application environment and is extendable. Organizations are seeking tuned, standards-based solutions offering predictable deployment; integration with existing systems; and the performance, scalability, and reliability to meet their data warehousing needs, says Ray Roccaforte, vice president of data warehousing and analytics at Oracle.

DOWnlOaDs
otn.oracle.com/software `` Java for Developers Java for your Computer JavaFX Oracle Solaris Oracle Fusion Middleware 11g Oracle Database 11g Release 2 otn.oracle.com/software `` Oracle Secure enterprise Search 11g for Linux x86/x86-64 Oracle SQL Developer 2.1 Patch 1 Oracle Secure Backup/Backup express Oracle WebLogic Portal 10g Release 3 Oracle Database Lite 10g Release 3 for Windows and Linux x86 Oracle enterprise Pack for eclipse 11g Release 1 Patch Set 1 Oracle Berkeley DB Java edition (4.0.92)

Top Downloads

Oracle Provides enhanced Talent management Options


Oracle has released integrations between its PeopleSoft 9.1 talent management applications and PeopleSoft human capital management solutions. These integrations enable PeopleSoft human capital management customers to take advantage of the PeopleSoft 9.1 talent management business process enhancements while retaining their existing implementations. PeopleSoft 9.1 talent management applications offer solutions for performance management, succession planning, career development, and compensation, as well as recruiting and learning tools to help organizations attract, hire, train, and motivate the best candidates. Customers have told us they want to adopt the PeopleSoft 9.1 talent management solution very quickly, prior to upgrading core human resources, says Paco Aubrejuan, vice president of PeopleSoft Enterprise development at Oracle. We are delivering PeopleSoft 9.1 talent management to PeopleSoft human capital management integrations to enable these customers to take advantage of the newest integrated talent management functionality now without requiring them to upgrade.

new Downloads

May/June 2010 ORacle.cOm/ORaclemagazine

Briefs

21

oracle soa governance 11g is introduced


Now available, Oracle SOA Governance 11g enables organizations to more effectively manage the SOA lifecycle. Consisting of Oracle Enterprise Repository, Oracle Service Registry, SOA management with Oracle Enterprise Manager, and Oracle Web Services Manager, the Oracle Fusion Middleware component enables organizations to manage their heterogeneous software project artifacts under a unified governance umbrella. Oracle SOA Governance 11g is fully integrated with Oracle SOA Suite 11g and Oracles AmberPoint, a leader in SOA management (see page 22 to read more about AmberPoint). The new product provides organizations more continuity in a closed-loop governance process that covers both Oracle and thirdparty applications. As organizations expand SOA deployments, managing the numerous software artifacts in both SOA and application integration projects can be a complex and expensive process, says Amlan Debnath, senior vice president, Oracle product development. With the launch of Oracle SOA Governance 11g, Oracle becomes the only vendor to offer a unified management approach for both best-of-breed SOA and packaged applications within a single platform. This unified governance umbrella not only helps organizations deliver new business capabilities more efficiently but also helps ensure that they are closely aligned with key business objectives.

oracle Tuxedo 11g Unveiled


Oracle has launched Oracle Tuxedo 11g, an industry-leading application server that enables enterprises to rehost C/C++, COBOL, and other mission-critical applications. Part of Oracle Fusion Middleware 11g, Oracle Tuxedo 11g provides a standards-based application development model with support for Ruby and Python in addition to C/C++ and COBOL. Two new components of Oracle Tuxedo 11g are (1) Oracle Tuxedo Application Runtime for CICS and Batch 11g and (2) Oracle Tuxedo Application Rehosting Workbench 11g. These tools redefine the process of mainframe migration to open systems by automating rehosting, which reduces the time, cost, and risk of migration projects and improves ROI. Key capabilities in Oracle Tuxedo Application Runtime for CICS and Batch 11g include the Customer Information Control System (CICS) runtime, which runs IBM CICS applications unchanged in an applications grid environment; the 3270 terminal server, which provides complete legacy terminal support; distributed CICS resource management, which simplifies resource management and administration by enabling customers to run CICS jobs in a distributed configuration; the Oracle Tuxedo job enqueuing service for batch, which delivers IBM JES2like job submission and management capabilities; and the batch execution environment, which enables organizations to support IBM batch applications by supporting job control language (JCL) and other batch utilities. Oracle Tuxedo Application Rehosting Workbench 11g includes tools for ensuring application integrity, file migrators for flat files, indexed sequential access method (ISAM) files, and DB2 databases as well as migration tools for JCL and COBOL assets. Global organizations need the bestpossible application server for missioncritical C/C++ and COBOL applications to ensure uninterrupted operation and service delivery in a cost-effective way, says Frank Xiong, vice president of software development at Oracle. With the new Tuxedo Application Runtime solution and increased support for SOA application development and enhanced language support, Oracle Tuxedo 11g sets the standard for scalability and performance and provides customers with an industrialstrength alternative to mainframe systems.

oracle acquires convergin


Oracle has agreed to acquire Convergin, a provider of real-time service brokering solutions. Convergins Java 2 Platform, Enterprise Edition (J2EE)based service broker platform enables communications service providers to manage services for a wide range of networks and application platforms, including prepaid charging. The solution enables service providers to focus on launching new services while moving to next-generation networks. Convergin products complement the Oracle Communications integrated product suite, including Oracle Communications Billing and Revenue Management; Oracle Communications Converged Application Server, Standard Edition; and Oracle Communications Service Fulfillment. As communications service providers transition from legacy telephony networks to next-generation networks, the combination of Oracle and Convergin will accelerate service innovation while reducing network complexity and cost, says Bhaskar Gorti, senior vice president and general manager, Oracle Communications.

new oracle enterprise Pack for eclipse 11g release available


Oracle Enterprise Pack for Eclipse 11g Release 11.1.1.4 delivers significant extensions to developers and open source communities that build Java Platform, Enterprise Edition (Java EE) and Web services applications for the Oracle Fusion Middleware platform where Eclipse is the preferred integrated development environment. The packs enhancements significantly reduce the number of code cycles and increase code quality by catching errors at design time. The release delivers Oracle WebLogic Server service component architecture (SCA) support to help developers define a server and easily configure Oracle WebLogic Server SCA libraries and metadata as well as an Oracle WebLogic Server Java Message Service (JMS) deployment descriptor editor that helps simplify and streamline authoring of JMS configuration files. The release also features AppXRay, a design-time dependency analysis and visualization tool that makes it easy for Java developers to work in a team setting, reduce runtime debugging, and improve code quality. Other new features include WYSIWYG Web page editing and JAX-WS Web service validation. With the new AppXRay feature, Oracle Enterprise Pack for Eclipse provides a means of easily visualizing the complex dependencies of your application, resulting in higherquality code and faster development time, says Ted Farrell, chief architect and senior vice president of tools and middleware at Oracle.

oracle magazine May/June 2010

22

Briefs

Oracle announces major Healthcare Push


Oracle has announced Oracle Healthcare Transaction Base 6.1 and has introduced an enterprise healthcare analytics solution. Oracle Healthcare Transaction Base offers a multiple-use data repository that enables healthcare organizations to normalize the structure and vocabulary of administrative, clinical, and financial healthcare data to help reduce costs and improve patient care. It includes expanded Web services support for addressing meaningful-use requirements for continuity-of-care documents. Oracles enterprise healthcare analytics solution integrates data from electronic medical records, clinical systems, patient accounting, enterprise resource planning, research, and other healthcare systems to enable healthcare providers to rapidly unlock value from their clinical and operational data. The ability to aggregate patient information into a comprehensive data repository and access that information in near real time to improve decision-making is a critical differentiator for healthcare organizations, says Neil de Crescenzo, senior vice president and general manager, Oracle Health Sciences.

Oracle to Buy amberPoint


Oracle has agreed to acquire AmberPoint, a provider of SOA management solutions. AmberPoints solutions help organizations diagnose and resolve issues in application performance and business transactions, such as insurance claims processing or account provisioning, in which multiple applications need to work together. AmberPoint and Oracle share a vision of providing customers with comprehensive SOA management capabilities that support modern IT environments and are also complete, open, and integrated, says Thomas Kurian, executive vice president of product development at Oracle. We expect that the addition of AmberPoints products to Oracle SOA Suite will provide stronger end-to-end governance that enables customers to manage the entire lifecycle of SOA-based solutions, providing visibility and management across heterogeneous environments.

Oracle launches Oracle fleXcUBe 9.0


Transfer agents and fund managers can expand their businesses and even manage popular variants of hedge fund structures with Oracle FLEXCUBE Investor Servicing 9.0, Oracles solution for transfer agencies. The new release is a single technology platform that enables transfer agents and fund managers to sustain market positions by expanding business with popular hedge fund variants such as simple, master-feeder, fund of funds, and side pocket. It also includes a variety of equalization fee methods and supports accrual and payment of equalization fees based on fund performance. Oracle also offers improved management of operations compliance through its Oracle Mantas Know Your Customer and Oracle Mantas Anti Money Laundering software. Oracle FLEXCUBE 9.0 is supported across a range of geographies and entities and uses multiple products, currencies, languages, and time zones. It is also integrated with Oracle Business Intelligence Enterprise Edition to provide comprehensive reporting. Oracle FLEXCUBE Investor Servicing 9.0 is a comprehensive transfer agency and fund distribution system that can help transfer agents and fund management companies address their business challenges and manage complex workflow procedures, says Joseph John, executive vice president, Oracle Financial Services Software.

weB lOcaTOr
Oracle Database lite oracle.com/database/lite_edition.html Oracle communications Data model oracle.com/technology/products/bi/ db/ocdm Peoplesoft enterprise applications oracle.com/us/products/applications/ peoplesoft-enterprise Oracle sOa governance oracle.com/technologies/soa/soa-suite.html Oracle and convergin oracle.com/convergin Oracle enterprise Pack for eclipse 11g oracle.com/tools/enterprise-eclipsepack.html Oracle Tuxedo 11g oracle.com/us/products/middleware/tuxedo Oracle Healthcare Transaction Base oracle.com/us/industries/healthcare/ 046614.html Oracle Healthcare analytics oracle.com/us/industries/healthcare/ 058441.html Oracle fleXcUBe investor servicing 9.0 oracle.com/us/industries/financialservices/046709.html Oracle communications Order and service management oracle.com/us/industries/communications/ 018751.htm Oracle and amberPoint oracle.com/amberpoint

Oracle communications Order and service management 7.0 available


Oracle has released Oracle Communications Order and Service Management 7.0 to equip communications service providers with a new way of orchestrating customer and technical information across front- and backoffice systems for improved offer design, order cycle time, and accuracy. The solution offers rapid design and order delivery to help service providers unify historically disparate processes by more efficiently introducing new offers, capturing and fulfilling new orders, and providing visibility across the entire order lifecycle. Oracle Communications Order and Service Management 7.0 includes Oracles Siebel Customer Relationship Management, Oracle Product Hub for Communications, and Oracle Application Integration Architecture Foundation Pack Extension for Communications. It makes low-cost, in-flight order changes by enabling representatives to adjust existing orders to reflect new requests, and the updated orders automatically revise order fulfillment plans already completed or in process. This sequence helps accelerate order completion and reduce manual workarounds. Oracle Communications Order and Service Management 7.0 and the Oracle Communications solution for rapid offer design and order delivery can help communications service providers cost-effectively accelerate offer introduction and decrease order delivery time from days to minutes while improving accuracy, says Dan Ford, vice president of product marketing, Oracle Communications.

May/June 2010 Oracle.cOm/Oraclemagazine

IntervIew By Caroline KvitKa

23

oracle and Sun, engineering from applications to Disk


J

Combined companies will deliver complete solutions with best-of-breed components.

ohn Fowler, executive vice president of systems at Oracle and former executive vice president, network systems, at Sun, sat down with Oracle Magazine Senior Managing Editor Caroline Kvitka to talk about Oracles acquisition of Sun, what it means for customers, and merging technologies. The following is an excerpt from that interview. Download a podcast of the full interview at oracle.com/magcasts. Oracle Magazine: What are some of the customer benefits of Oracles acquisition of Sun? Fowler: Its very exciting because were bringing together two of the worlds leading technology companies. Oracle has built leadership technology through the entire database, middleware, and application set, and together with Sun, which invented Java as well as building many of the other underlying technologies for storage and servers, we now can put together complete solutions for customers with best-of-breed standalone components, as well as making these components work together better and be serviced as one whole entire infrastructure. This has been tremendously exciting for customers all through the integration planning. Oracle Magazine: Were hearing the phrase engineering from applications to disk. What does that mean? Fowler: I think it really means two things. One of them is that the combined companies are now engineering all the standalone components from the very concept of where do you start with storage? all the way through the applications that deliver business value. But the other side of this is, how do we actually engineer these to work together? Now in the combined companies were able to take the worlds leading enterprise software portfolio and engineer it and test it together with the operating

John Fowler, executive vice President of Systems at oracle

system and hardware technologies in order to ensure that we have the best-possible performance, the highest reliability, and the highest energy efficiency. Oracle Magazine: Can you give me an example of one thing that Oracle and Sun are doing around this concept of engineering from applications to disk? Fowler: One of the things that Sun and Oracle worked on together over the past decade was evolving Solaris [now Oracle Solaris] to be a great operating system to run Oracle Database. Today, as the combined companies, weve integrated database performance and regression testing. Were testing all our servers and storage together with the operating system so you know when you get these products from us that theyve been tested to work together and will be serviced at an extremely high level. Thats something were doing today. It started literally the day after the acquisition closed.

Oracle Magazine: What is Oracles high-level plan for hardware? Fowler: Oracles technical strategy is to be complete, open, and integrated. We bring the basic philosophy to the hardware product portfolio: how do we actually take each of the components, make sure theyre best-of-breedwhether theyre servers or storageand build around open interfaces, but also make them work together better? As an example, we are evolving our storage and server portfolio through increased investment to run the complete Oracle stack in a superior way in terms of performance and service, as well as ensuring that all these products can be used with other application software. Oracle will be investing more than Sun did in SPARC servers and [Oracle] Solaris, so that well have complete missioncritical servers and operating system technologies. Oracle is also investing heavily in storage because of all the changes coming in storage technology both in devices and performance for enterprise customers. Some of the things that were doing around integration include bringing together Oracle Enterprise Manager, the enterprise management tools, with Suns systems management tools so that you can manage a complete application as well as the hardware and operating system stack in one cohesive way and see all your service and all your technology patches and updates through My Oracle Support. These are all examples of things that were doing around both individual components as well as making them work together. Oracle Magazine: Speaking of storage technology, youve said that Flash is going to turn the storage industry upside down. Why is Flash so important? Fowler: Since the beginning, storage was

Peter SteMBer

oracle magazIne May/June 2010

24

IntervIew

always on mechanical devicesspinning disk drives with motors and serversand therefore very slow. Flash actually moves storage to solid state so that storage can be 10 or 20 times faster than it ever was before. Very rarely in the world of hardware do you get a situation where in one generation you move to something thats 10 to 20 times faster. One of the interesting things about the Sun acquisition is that both Oracle and Sun were independently investing heavily in software to take advantage of this revolution, and so we have both Flash hardware technologies and software technologies in the database as well as in the operating system to take advantage of this 10- to 20-times performance. You certainly see that as an example in the Oracle/Sun partnership around the Sun Oracle Database Machine, where our Flash technology was engineered together in an architecture that combines database and storage for truly breathtaking increases in performance and manageability. I think this is going to be one of the most exciting areas in technology happening today. It will completely reset what people can do around all their applications and not just the database. Oracle Magazine: How does Flash work in hybrid storage pools? Fowler: At Sun we coined the term hybrid storage pools, and the basic idea is that Flash is much, much faster than disk, but its a bit more expensive in terms of how much it costs you to store a given amount of data. So we developed software to automatically manage a pool of Flash together with regular disk drives, so that you can effectively have your cake and eat it too. You can have large amounts of cheap storage, but all the things that you frequently access are automatically on Flash for extraordinary performance. This is how were able to deliver unbelievable performance, energy efficiency, and low cost in our ZFS Storage Appliance. Were using slow and energy-efficient bulk disk drives together with very large amounts of Flash, and that gives us a unique value proposition for both performance and cost. Oracle Magazine: Whats unique about the oracle.com/magcasts

I cant wait to see what were going to produce over the next one, two, and three years when we combine these engineering teams.
John Fowler, Executive Vice President of Systems at Oracle ZFS Storage Appliance, and whats important about the role of Flash in the device? Fowler: One of the things weve done in the ZFS Storage Appliance is integrate Flash as a core part of the technology. Because of the way weve engineered the software, unlike todays conventional storage devices, we can essentially have arbitrarily sized pools of Flash for both read and write performance coupled with inexpensive disks. That gives us breathtaking performance 3 to 10 times the performance of existing encumbrance in the storage world at a fraction of the energy consumption. ZFS was designed from the beginning to incorporate not just Flash but very large memory arrays. With ZFS were able to mix and match whatever cost point of storage without requiring the customer to manage it, and thats the unique thing about it. We actually manage the underlying infrastructure of DRAM and Flash automatically for the customer to deliver the best-possible performance. Thats part of how its a breakthrough. Oracle Magazine: What key technologies and engineering methods are part of the Sun Oracle Database Machine? Fowler: The Sun Oracle Database Machine includes the database and storage server software. We have incorporated Flash hardware technologies plus our ultradense storage servers, which allow us to mix Flash and regular storage. Another key breakthrough is that we incorporated Suns design on the InfiniBand switch, which is a very high-performance network that runs 8 to 10 times faster than conventional storage networks today to allow for extraordinary levels of performance between the database and storage nodes. All those together add up to the incredible performance that you see in the Sun Oracle Database Machine. Because weve integrated the software and hardware, we now offer an integrated management umbrella. Customers that buy the Sun Oracle Database Machine literally can roll it in. They can plug into power and Ethernet and then turn it over to their database administrator, so that he or she can administer it without actually requiring conventional storage and systems administration, which is a huge labor savings when it comes to deploying all transaction processing [TP]. Youll see everything there: Flash technologies, how weve designed physical servers, very high-performance networking, integrated software, and integrated management that just gives a completely different approach to all TP. Oracle Magazine: What are you most looking forward to now that Oracle and Sun are operating as one? Fowler: Im an engineering leader at heart, so I am the most excited about my thousands of engineers getting together with the thousands of engineers at Oracle and seeing what kinds of things we can produce. Through the integration plan, we were able to do quite a bit of planning and working together, but its still not the same as working together as combined companies where we can really go after intellectual property and new ideas and making things work together. The engineers are champing at the bit, and I cant wait to see what were going to produce over the next one, two, and three years when we combine these engineering teams.

senior managing editor of Oracle Magazine and Profit.

caroline Kvitka is

next steps
reaD more about Oracle and sun oracle.com/sun watch Oracle + Sun Product Strategy Webcast Series bit.ly/c91RwW

lIsten to the podcast

May/June 2010 Oracle.cOm/OraclemagazIne

SPECIAL ADVERTISING SECTION

Less Risk, More Reward


With its portfolio of fully tested EMC Proven Solutions, EMC is helping to take the guesswork out of your journey to the private cloud.
or companies today, the need to manage costs and increase performance and flexibility in IT are nothing new. But those requirements continue to increase based on application workloadsand that is driving fundamental change in the way IT departments think about and use technology. Many companies are trying to bridge the gap between applications and infrastructureto move toward managing IT with an application-centric view, rather than having siloed groups and systems

S1

SPECIAL ADVERTISING SECTION

organized around storage, servers, applications, and so forth, says Todd Pavone, vice president of Global Solutions at EMC. Pavone explains that this shift is part of the ongoing evolution of data centersone that has taken IT from the siloed environments of a decade ago, through consolidation and on to todays focus on virtualized infrastructures. Now, IT professionals are looking toward the next stage in this evolution: the private cloud, and a model based on managing integrated sets of business services rather than IT assets. This service-delivery model makes the integration of applications and infrastructure absolutely critical, he says. IT professionals understand the value of moving toward a cloud computing model, Pavone says. But they want to make that journey with minimal risk and cost, using integrated solutions available today that they can deploy quickly and that provide futureproof technology. IT executives really dont want any surprises as they adopt new technologies. With that in mind, EMC Proven Solutions are designed to help companies move along an evolutionary path to cloud computing. As the name suggests, these are complete, tested solutions that combine best-in-class technology, application integration, and the expertise needed to successfully implement and use an integrated solution. With EMC Proven Solutions, companies dont have to put together various point solutions or deal with the complexity of assembling untried technologies. Instead, they can move forward to transform IT operations smoothly while reducing complexity, increasing efficiency, and reducing time to value.
S2

Putting Solutions to the Test EMC Proven Solutions bring together the technologies of EMC and other hardware and software firms to create complete, documented environments that target specific IT and business needs. For example, there are EMC Proven Solutions to enable backup and recovery, disaster recovery, performance and scalability optimization, and archiving. These solutions deliver

EMC Proven Solutions bring together the technologies of EMC and other hardware and software firms to create complete, documented environments that target specific IT and business needs. benefits such as improved performance, optimized technology usage, and, of course, increased efficiency of IT assists and reduced operational costs. And each solution can be used as a building block to help companies move forward on the journey to cloud computing at their own pace, helping to reduce risk and increase ROI while transforming IT. The proven aspect of these solutions comes from the rigorous testing they get from EMC. The company creates a complete environment for a given solution, testing it for performance, scalability, and functionality, and clearly demonstrating that it can operate in a real-world setting. EMC identifies the solutions breaking points,

determines the optimal configurations, and ensures that the appropriate management tools and integrated support are available. These efforts involve EMC technology professionals worldwide and the expertise and resources of the companys global solution centers located in the U.S., Ireland, Austria, China, and Singapore. EMC Proven Solutions also encompass the knowledge surrounding the technology. We not only validate these solutions, we also help companies understand how to implement them effectively, says Pavone. Each solution includes detailed best practices, reference architectures and implementation, and support procedures. Armed with this information, EMC Global Solutions experts can work closely with customers and fully support each solution. We can provide demonstrations and workshops, and our experts can spend time with customers to help them fully understand the solutions, Pavone adds. That approach is especially valuable in helping the applications/ database teams and the infrastructure teams realize how the solution helps both groups minimize riskand in bridging the gap between the two areas. Perhaps most important, these solutions are developed through a customer-centric processthat is, they are based on real customer environments. We start with the customer use case, not the technology, says Pavone. Then we determine what the right technologies are to support that use case and build integrated solutions to meet that customer need. EMC Proven Solutions teams develop this customer perspective through a variety of mechanisms, such as meetings with

SPECIAL ADVERTISING SECTION

customers enterprise users and IT staff, as well as with EMC consultants and technology partners that work regularly with customer companies. Targeting the Oracle Environment Oracle is a key focus area for such efforts, and there are now dozens of EMC Proven Solutions designed to help Oracle users. These fall into several categories, such as security and management, but three areas are particularly important for Oracle users that are evolving toward cloud computing: Tiered/unified storage. To help optimize Oracle database performance and management, EMC provides a single architecture for OLTP, development/test, data warehousing, backup, and archival storage; combines multiprotocol connectivity and energy efficiency to reduce costs; and supports Oracle deployments in both scale-up and scale-out computing models. Virtual infrastructure. EMC Proven Solutions are designed to speed the development, testing, and deployment of virtualized applications; enable the transfer of data within or across storage platforms with applications online; and accelerate the refreshing of the storage infrastructure all of which helps increase efficiency. Business continuity. EMC Proven Solutions provide tiered data protection with application-level consistent recovery; empower database administrators with the automated use of LAN-free replication; reduce complexity by using common software to protect all applications; and leverage network efficiencies and data deduplication to reduce disaster recovery costs. Like all EMC Proven Solutions, the Oracle-specific offerings are based on customer use casesand here, EMC

has a large pool to draw on, with EMC and Oracle serving some 70,000 joint customers. EMC also draws on the insights developed through its long

We start with the customer


use case, not the technology. Then we determine what the right technologies are to support that use case and build integrated solutions to meet that customer need.

Todd Pavone, vice president of Global Solutions at EMC

relationship with Oracle, which encompasses a number of joint solutions and the operation of a joint service center. EMC also looks to its extensive experience in using Oracle to run its own business. EMCs internal IT group operates one of the largest Oracle implementations in the worldand EMC Proven Solutions teams regularly tap into that groups knowledge. EMC primarily runs its business on Oracle

apps, says Pavone. So we work closely with EMC IT to develop our best practices. EMC operates more than 170 Oracle application modules, as well as some 800 Oracle databases, and like many companies, it has been seeing rapidly growing workloads in those areas. One option was to completely upgrade the data center, but EMC decided instead to rethink its IT architecture. Through the use of consolidation and virtualization and new approaches to backup, replication, and data deduplication, EMC was able to avoid that large data center upgrade cost. The effort provided a low-risk way to increase availability and performance, while avoiding $74 million in capital expense. Such improvements were recognized by Oracle, which gave the effort its Enable the Eco-Enterprise award based on operating expense savings totaling $12 million in power, cooling, and space achieved by EMC. With solutions based on such realworld experience, EMC is helping companies bridge that traditional gap between IT infrastructure and applicationsand build a solid foundation for cloud computing. These are tested, documented, and demonstrable solutions, backed up by a clear understanding of best practices, says Pavone. This approach helps customers implement solutions quickly and do it right the first time. It provides a way to mitigate risk and bring in new solutions in a predictable, repeatable, and accelerated mannerwhich is critical as companies evolve their approaches to IT. For more information on EMC Solutions for Oracle, go to www.EMC.com/oracle solutions.
S3

2 EMC , EMC, EMC Proven, and where information lives are registered trademarks or trademarks of EMC Corporation in the United States and other countries.

28

Book Beat
Oracle Enterprise Manager 10g Grid Control Handbook: Centrally Manage Enterprise Applications, Middleware, and Databases
By Werner De Gruyter, Matthew Hart, and Daniel nguyen
Oracle Press www.oraclepress.com
Learn how to centralize and simplify enterprise infrastructure administration, implement a grid-based management system, and maintain on-demand access to critical services. Readers will be able to develop rollout plans, configure hardware and software, deploy targets and agents, control access, and distribute business reports. This resource, which includes coverage of Oracle Enterprise Manager 10g Release 10.2.0.5, explains how to generate reliable backups, implement top-down performance monitoring, and maximize system availability. Administrators will be able to use the books tips and tricks to achieve better agility and service quality while simultaneously lowering operational costs across the enterprise. ment. This book reviews Oracle Application Expressrelated technologies such as HTML and Document Object Model, cascading style sheets, and JavaScript, and covers Oracle Application Express Release 3.2 (but the information is broadly applicable to all 3.x versions). You will gain a better understanding of the major principles and building blocks of Oracle Application Express and learn to globalize Oracle Application Express applications.

Team informatics acquires Frontline logic


Oracle partner TEAM Informatics has acquired Frontline Logic, a software engineering firm focused on Oracle Universal Content Management solutions and other technologies, such as imaging. Oracle Fusion Middleware is a flagship capability at both companies. TEAMs expertise now includes Oracle Universal Content Management, Oracle WebCenter, Oracle Records Management, Oracle Imaging, and Oracle Business Process Management. TEAM and Frontline have partnered in other areas related to Oracle Fusion Middleware, including identity management, SOA, business intelligence, and Oracle Database. TEAM has also formed a strategic alliance with Oracle partner Fadel Partners to implement projects involving Oracle Applications and Oracle Fusion Middlewarespecifically, content management, social networking, Oracle WebCenter portals, and SOA-based integration.

Introduction to Oracle: Basic Skills for Any Oracle User


By Bert Scalzo
Texas Publishing createspace.com/3423061
Need to hit the ground running and get started with an Oracle database? This book covers Oracle terminology, Windows PC and Oracle client configuration issues, database connection methods, and more. Introduction to Oracle provides a thorough understanding of SQL and shows you how to take advantage of such popular tools as Microsoft Excel, SQL*Plus, Oracle SQL Developer, TOAD, and many others. For those accustomed to working with another database such as Microsoft SQL Server, IBM DB2, or MySQL, Introduction to Oracle will serve as a basic resource and ongoing reference in making the transition to Oracle Database.

Oracle Coherence 3.5


By aleksandar Seovic, Mark Falco, and Patrick Peralta
Packt Publishing packtpub.com
Written by authors with extensive real-world experience with Oracle Coherence, Oracle Coherence 3.5 will increase your productivity by teaching you how to take advantage of Oracles data grid technology to build scalability and reliability into applications. You will learn how to design and implement your domain objects to work more effectively with Oracle Coherence and apply domain-driven design to Oracle Coherence applications. In addition, youll learn how to successfully integrate persistence technologies, such as JDBC, Hibernate, and Oracle TopLink, with Oracle Coherence.

mitsubishi electric automation links e-F@ctory with Oracle


Oracle partner Mitsubishi Electric Automation, a provider of industrial automation solutions, has linked Oracle Manufacturing Operations Center to its e-F@ctory manufacturing solution. Mitsubishi Electric is the first industrial automation hardware vendor with a tested, approved connection to Oracle Manufacturing Operations Center. e-F@ctory integrates Mitsubishi Electrics manufacturing control hardware and networks with enterprise IT systems. Benefits include real-time information about plant production; monitoring and logging of machine performance to reduce downtime; accurate production scheduling; and monitoring of stock quality, quantity, and usage. e-F@ctory users realize efficiency increases up to 65 percent. Prospective e-F@ctory customers can work with the two companies to test-drive Mitsubishi Electric Automation hardware and Oracle Manufacturing Operations Center integration on up to three machines on their plant floors.

Oracle Database 11g RMAN Backup and Recovery


By Matthew Hart and Robert G. Freeman
Oracle Press www.oraclepress.com
Complete with full details on the latest release of Oracle Recovery Manager (Oracle RMAN), this guide for Oracle database and system administrators provides in-depth explanations and examples. This book will serve as both a desk reference and an instruction guide for understanding, configuring, and administering Oracle RMAN. It starts with Oracle RMANs conceptual framework and moves to an intensive hands-on approach. Readers will learn techniques for setting up Oracle RMANready databases, creating reliable backups, and performing accurate Oracle system restores. Youll discover how to use Oracle RMAN from the command line and from Oracle Enterprise Manager and how to generate meaningful lists and reports.

Oracle Application Express 3.2: The Essentials and More


By arie Geller and Matthew Lyon
Packt Publishing packtpub.com
Gain an understanding of both the how and the why behind bestpractice use of Oracle Application Express, and learn how to develop efficient and optimized data-centric native Web applications for the Oracle database environ-

Look for other Oracle books at otn.oracle .com/bookstore.

May/June 2010 Oracle.cOm/Oraclemagazine

Partner news

29

oracle Java wireless client now on Brew mobile Platform


Qualcomm, a developer of advanced wireless technologies, products, and services, has integrated Oracle Java Wireless Client with Qualcomms Brew Mobile Platform (Brew MP). This combination provides handset manufacturers and developers with a turnkey solution to incorporate Java technology into Brew MPbased mobile devices and ensures seamless integration and coexistence of Java applications with native Brew MP applications. Brew MP is a mobile operating system that delivers smartphone functionality across many tiers of devices. Brew MP enables capabilities such as touch screen, rich multimedia, window management, open platform extensibility, and support for application development. Customization and configuration tools from Oracle enable device manufacturers to fine-tune solutions to target devices without modifying the Java implementation.

Deloitte Helps oracle customers go green


Oracle Platinum Partner Deloitte has launched an initiative to help companies use their Oracle applications and technologies to enable a sustainable enterprise. Deloittes initiative incorporates technology solutions, business practices, governance programs, and change management to help companies reduce waste and improve productivity. Deloittes green services center on sustainability reporting, green datacenter practices, environmental compliance, and supply chain optimization. Sustainability reporting involves leveraging enterprise systems to track and analyze environmental metrics; implement governance, risk, and compliance frameworks; and speed report generation. Green datacenter practices include virtualization to consolidate servers, storage management to reduce storage requirements and decrease energy use, consolidation of global applications, and better workload management to maximize processing power. Environmental compliance and supply chain optimization helps companies redesign business processes and use applications to manage environmental compliance of products, optimize supply networks, implement lean manufacturing, reduce transportation and energy costs, improve logistical efficiencies, and decrease paper waste.

sYstime announces integration Between agile Product lifecycle management applications and JD edwards enterpriseone
Oracle Platinum Partner SYSTIME has announced an Oracle Application Integration Architecture process integration pack that connects Oracles Agile product lifecycle management (PLM) applications with Oracles JD Edwards EnterpriseOne. The PLM process integration pack integrates the two products in a way that reduces the cost and risk associated with third-party or custom PLM integrations. Oracle and SYSTIME collaborated on the new integration, which features predefined templates for design release of new product definitions, product launches, and change management of previously launched products. Bidirectional data exchange between the Agile and JD Edwards systems ensures synchronization of engineering change status and material attribute information. The integration provides multiple layers of validation to ensure that data exchanges are complete and properly formatted, and its end-to-end process monitoring tracks the change process queue to address data exchange latency and process completion.

accenture and oracle Plan technology solutions for social service agencies
Oracle Platinum Partner Accenture and Oracle are jointly developing software for social service agencies. The Accenture Case Management Solution for Child Welfare on Oracle will incorporate Oracles Siebel Case Management, Oracle Policy Automation rules engine, and Accentures experience in developing child welfare solutions. The new software will provide a foundation and structure for next-generation child welfare services consistent with the Accenture Public Service Platform. Benefits of the new software include support for workload management and caseworker effectiveness, improved client services and collaboration, and enhanced oversight and outcome-focused program delivery. Oracle will also develop a social service foundation pack, and Accenture will develop Oracle Application Integration Architecture process integration packs to address social service agencies disbursement and collections requirements. The project will integrate Oracles Siebel Case Management with Oracles PeopleSoft Financials systems for disbursements, embedding Oracle Policy Automation to ensure policy-based determination of eligibility.

eVerge group accelerates oracle Project analytics Deployments


eVerge Group, an Oracle Platinum Partner, has launched Project Analytics Express, a fixed-fee, accelerated implementation of Oracle Project Analytics that relies on eVerge Groups knowledge and experience in business intelligence. With Project Analytics Express, eVerge Group deploys Oracle Project Analytics with a methodology, a standard project plan, and a readiness checklist. Project Analytics Express relies on prebuilt data models; extract, transform, and load (ETL) adapters; dashboards; and reports to reduce the cost and time required to implement the software. The fixed-fee pricing helps organizations budget for and control spending associated with Oracle Project Analytics.

oracle Partner Kickoff coming in June


Members of the Oracle PartnerNetwork are encouraged to visit Oracle Red Network, a single entry point for critical information about Oracles products, corporate objectives, and selling strategies for fiscal year 2010. Starting in June 2010, the FY10 Partner Kickoff will be available on demand in Oracle Red Network. Partners can also access the same training sessions given to Oracle sales at Oracle Red Network.

oracle magazine May/June 2010

30

Partner news

eagle Business solutions announces solid cloud Offering


Oracle partner Eagle Business Solutions has introduced a cloud-based solution that combines storage from Oracle Gold Partner Pillar Data Systems with Oracle Database technology for virtualized application hosting, business continuity, and disaster recovery. Known as the Solid Cloud, the Eagle Business Solutions offering uses Pillar Axiom storage to provide specific, guaranteed service-level agreements; managed services; redundancy; and dependability equivalent to a mature software-as-aservice provider, without limiting the customer to one specialized application. The Solid Cloud can take the specific shape each customer needs, while remaining solid enough to support business-critical applications. The Pillar Axiom applicationaware storage system allows the matching of multiple application characteristics to appropriate service levels within a single storage platform.

sPaDac Joins Oracle Partnernetwork


SPADAC, a provider of spatially enhanced technology solutions to government and commercial organizations, has joined the Oracle PartnerNetwork as an independent software vendor. SPADAC provides data management products that combine actionable spatial information, human terrain, and social networking elements with predictive analytics technologies to help organizations make objective decisions in complex operational and business situations. Its offerings include Signature Analyst, an advanced geospatial predictive analytics tool; and EarthWhere, a geospatial content management tool that catalogs, provisions, and disseminates geospatial data. SPADAC has customers in the defense, intelligence, homeland security, civilian government, and commercial markets.

Oracle Partners achieve Platinum status


Three members of the Oracle PartnerNetworkHitachi Consulting UK, Intelligroup, and Thunderheadhave achieved Oracle Platinum Partner status. Oracle Platinum Partners receive dedicated virtual account management, priority placement in the Oracle PartnerNetwork Solutions Catalog, one free validated application integration, joint marketing and sales opportunities, and discounted training. Hitachi Consulting UK was recognized for its expertise across many Oracle applications and technologies, including Oracle E-Business Suite human capital management, financials, and supply chain management applications; SOA technologies; Oracle Application Integration Architecture; and Oracle Business Intelligence Suite, Enterprise Edition Plus. Intelligroup, an information technology and outsourcing services provider, achieved Oracle Platinum Partner status for its expertise in Oracle Applications including Oracle E-Business Suite financial management and supply chain management applications; Oracle Hyperion Financial Management; Oracle Hyperion Planning; Oracle Fusion Applications strategy; and Oracle Fusion Middleware. Intelligroup provides solutions and services to the high technology, life sciences, manufacturing, and consumer products markets, among others. Thunderhead, a provider of customer communications management solutions, was recognized for its expertise in Oracle solution areas including financial services, public sector, Oracle Database, and Siebel applications. Thunderheads NOW software platform transforms the way organizations create and deliver communications through document automation and multichannel customer communications.

weB lOcatOr
team informatics teaminformatics.com Fadel Partners fadelpartners.com mitsubishi electric automation meau.com Qualcomm brewmp.com sYstime systime.net accenture accenture.com Oracle Partner Kickoff oracle.com/partners/campaign/032525.htm Deloitte oracle.com/green/deloitte-sensible-stepstoward-sustainability.pdf eVerge group evergegroup.com eagle Business solutions eaglebusinesssolutions.com/portal Pillar Data systems pillardata.com Hitachi consulting UK hitachiconsulting.com intelligroup intelligroup.com thunderhead thunderhead.com iBm ibm.com/oracle str software strsoftware.com sPaDac spadac.com

iBm launches solution workbench


Oracle partner IBM has announced the IBM Solution Workbench for Oracle, a project lifecycle tool suite. From project startup to go-live, the IBM Solution Workbench supports Oracle enterprise resource planning and customer relationship management projects with a standardized, integrated toolset, method, and asset repository to simplify, track, and accelerate Oracle application implementations. Project simplification and testing optimization are among the solutions benefits.

str supports secure e-mail Delivery


Oracle Platinum Partner STR Software has released AventX Mail SC (secure and confirmed). AventX Mail SC provides Oracle E-Business Suite users the ability to securely e-mail any Oracle E-Business Suite document (and receive confirmation of successful receipt.) AventX Mail SC encrypts the transport layer and provides password protection to ensure recipient privacy over Secure Sockets Layer. It also features a comprehensive reporting functionality that provides an audit trail for each message sent.

May/June 2010 Oracle.cOm/Oraclemagazine

OTN BulleTiN by Justin Kestelyn

31

Oracle and Sun: Transformation Time

Get ready to be part of a diverse community of developers, Dbas, system administrators, and architects.

racle has finalized the Sun acquisition.* The combination of Oracle and Sun transforms the IT industry and will provide significant benefits and opportunities for the developer communities of the combined companies. For example, the combination of Sun Developer Network (including java.sun.com), BigAdmin (Suns system administrator community), and Oracle Technology Network (OTN) will result in the largest and most diverse community of developers, DBAs, system administrators, and architects. The richness and diversity of this community will be truly remarkable. In January 2010, OTN published a list of frequently asked questions to address many of the issues we knew the community might be wondering about. Here is an updated and abridged version. What will happen to Sun Developer Network, java.sun.com, and BigAdmin? For the near term, all of these sites will remain in their current form. We know that these resources are important, and you can continue to access them just as you always have at the same URLs and bookmarks. We do foresee an eventual integration of these sites into a redesigned and rearchitected OTN, and we welcome your feedback about this process. We will make sure that any changes are communicated well in advance. Will there be a JavaOne in 2010? Yes. JavaOne will be colocated with Oracle Develop during Oracle OpenWorld in San Francisco, California, September 19 through 23, under the umbrella of JavaOne + Develop. You can register for JavaOne as a standalone conference, just as before, or you can attend Oracle Develop 2010 and/or Oracle OpenWorld as well. Its your choice. And heres more good news: were taking JavaOne + Develop on the road. For

the first time, rapidly growing developer communities outside the U.S. will have access to the JavaOne experience. Will Oracle have Java evangelists, as Sun did? Yes. There will be technical staff members committed to Java technology evangelism, events, and Java developer programs globally. What are Oracles plans for student developer and related academic programs? Oracle will continue to invest in the Sun Academic Initiative and Java Education and Development Initiativealthough they may be modified somewhatas well as in student communities generally. You can read the full text of these questions and answers at bit.ly/agl1Ve. JAvAONe + DevelOp Whether youre an Oracle diehard or a Java developer who has never used an Oracle product, the new JavaOne + Develop approach is particularly exciting. This year, the JavaOne curriculum is going back to its roots, with a laser-like focus on Java technology and its related ecosystem. With tracks on the core Java platform, JavaFX, rich user experience, and the Java frontier, you are guaranteed a Java purist experience that covers the conventional, the bleeding edge, and everything in between. Oracle Develop is still the premier event for developers working with the Oracle stack Oracle Fusion Middleware and developer tools, Oracle Database, and Oracle Solaris. Linking both these conferences together will of course be the OTN presencebigger and better than everwhich will move from its traditional Oracle OpenWorld location to the JavaOne + Develop site. We look forward to seeing not only our regulars but also a vast influx of new developers from the Java community.

Register for JavaOne + Develop at oracle .com/javaonedevelop.

(justin.kestelyn@oracle .com) is senior director, Otn and developer programs, as well as Otn editor in chief.

Justin Kestelyn

WeB lOcaTOr
Bigadmin System administrator community sun.com/bigadmin Blogs blogs.oracle.com Developer events calendar otn.oracle.com/events Developer resources for Java Technology java.sun.com Discussion Forums forums.oracle.com Documentation otn.oracle.com/documentation Free Software Downloads otn.oracle.com/software Oracle ace Program otn.oracle.com/goto/oracle-ace Oracle Sample code samplecode.oracle.com OTN Headlines otn.oracle.com/pub/news OTN Home otn.oracle.com OTN on Twitter twitter.com/oracletechnet Podcasts otn.oracle.com/techcasts Sun Developer Network developers.sun.com Technical articles otn.oracle.com/pub/articles Technology centers otn.oracle.com/tech

* local entity combinations worldwide will proceed in accordance with local laws.

Oracle magaziNe May/June 2010

32

architect By BoB RhuBaRt

lip Service

Meeting enterprise architecture communication challenges is critical.

nterprise architecture encompasses people, process, and tools. Of those elements, the one that poses the greatest obstacle to successful enterprise architecture is the one that enjoys a good nights sleep, loves a nice hot shower, and sometimes cheats on its diet. That makes effective communication a high priority in any enterprise architecture effort, along with the recognition that technical expertise alone wont get the job done. Enterprise architecture is not just about modeling and design, says Jeremy Forman, an enterprise architect with Oracles Enterprise Solutions Group. Reaching different stakeholders requires the soft skills of conversation, persuasion, and facilitation. But that can be a problem for some architects. Were technical people, and were used to having technical conversations, says SOA author, blogger, and veteran enterprise architect Todd Biske. The audience isnt always technical and doesnt necessarily respond to the different ways that we communicate. Trying to find a way thats effective for the audience is a really big hurdle for people who are used to writing code their whole lives. Biske got over that hurdle at one company by working with a communications expert. That person was invaluable in improving the way that we communicated, Biske says. Brenda Bernal Hughes, enterprise architecture services leader at Cisco Systems and Oracle Magazines 2009 Security Architect of the Year, calls in the communication cavalry. I have a dedicated group focusing just on communications, community development, and organizational adoption, says Hughes. The group regularly evaluates messaging, metrics, and methods of communication. We get a pulse on whats working and try to

drive IT-wide behavior and process change. Driving change requires an understanding of stakeholder expectations, advises Biske. If they already have their own preconceived notions of what architecture is or isnt, trying to find common ground for effective communication across all stakeholders can be a real challenge, he says. Meeting that challenge is a matter of focus. Its really about tailoring your message and making it relevant for your audience segment, says Hughes.

technical expertise alone wont get the job done.


At the top, its all about communicating architecture, more about selling the business value and how it ties to the overall IT strategy, Hughes says. When you move down the chain, its all about making it relevant for people and letting them know how architecture could make their lives much easier. That message is especially important when communicating with developers. All too often, theres a perception that architects are actually making things more difficult, that theyre taking away the freedom to innovate, says Biske. Developers must realize that the changes imposed by the architecture are driven by business needs and arent simply the whims of ivory-tower architects. But getting that message out and getting people to understand it is a difficult dance, says Biske. When communicating about architecture, the medium is as important as the message. Sometimes an e-mail communication out to the community is fine for status updates and things of that nature, says Hughes. But

if you want to introduce change and want people to get it, you really need to get them in a room in a training session, face to face. Getting the medium and the message right takes planning. Ive had the most success when there was a full communication plan that started with broad, large-audience communication and then drilled down into specific team-level or even individual-level communications, all on the same subject, says Biske. We made sure that we supplied the appropriate stakeholders with the appropriate information multiple times to really reinforce what we were trying to do. Anybody who thinks they can take a one-and-done approach to communicating anything is not going to be successful, Biske says. But in the end, enterprise architecture has to be more than just talk. You have to make sure that stakeholders can see it, feel it, touch itthat they know what it is, says Hughes, that its not just this term on the wall.

(bob.rhubart@oracle .com) is manager of the architect community on oracle technology network (otn). he is the host of the archBeat podcast series and the author of the archBeat blog (blogs.oracle .com/archbeat).

Bob rhubart

next StepS
liSten to the podcasts bit.ly/arCQ0Z get more Otn architect information otn.oracle.com/architect reaD more about enterprise architecture otn.oracle.com/architect/entarch

May/June 2010 Oracle.cOm/Oraclemagazine

Up Close By Jeff erickson

33

making Friends Down Under


Building connections comes easily to new Zealanders.

ynne ODonoghue is the global user group liaison for her countrys user group. That her country is New Zealanda small geographic area, as she describes itmeans shes worn a lot of hats for the New Zealand Oracle Users Group (NZOUG). Ive held a number of positionsIve looked after the finances, Ive been vice president, Ive held other positions, she says. And because New Zealand is at the end of the earth, except for Antarctica, the job of the global user group liaison is to connect with other user groups around the world to share ideas and experiencesas well as contentso that we can enrich the experience of our users and also be part of the world, ODonoghue says. Thats exactly what I found her doing the day I talked to her on the Oracle campus, where she was representing NZOUG at the International Oracle Users Group Community conference. Back in New Zealand, though, NZOUG uses a combination of face-to-face and online learning to stay in touch. We run WebEx sessions on our Website, ODonoghue says. Presenting over the Web lets us get coverage over the whole country. And at our annual conference, we have both overseas and local presenters, which gives our members a global view but shows how products and services are delivered in a local context. NZOUG serves the entire country. We cover all of the Oracle products and services within New Zealand, ODonoghue says. The groups members work in both applications and technology areas, although the differentiation isnt as strong as it used to be. We used to differentiate between technology and applications, but we do this less and less now, she says. Even within the technology area, differentiating between database technologies and development technologies is less relevanttheres such huge crossover now.

lynne oDonoghue, global User group liaison, new zealand oracle Users group.

This blending of boundaries between technology and applications has advantages. People in New Zealand do not have highly specialized jobs, ODonoghue says. We tend to have very broad jobs, so that works well within our communitythat the products are coming together and the technology and applications are coming together, because thats sort of what people do anyway. Thats because companies in New Zealand tend to be small on a global scale, ODonoghue says. Most organizations dont have a large number of employees, so theres not really room to be highly specialized in your area, she says. If you look after databases for an application, you probably look after many databases for many applications, and they may be Oracle and non-Oracle. So youll tend to have a very broad range of responsibilities. The experience is similar on the applications side. You may be looking after one system or multiple systems, she says. Its very normal to look after multiple systems human resources, finance, everything all together. You tend to know about business processes very well, and about all the applications that support those business processes.

Having this broad but deep knowledge gives us the understanding to appreciate Oracles strategy in bringing the applications closer together, and to take advantage of that where it is most relevant for the business. She acknowledges that this experience is unique. Its different than in North America, where the volume of activity is far greater, she says. Its fun, though. We have a lot of variety. Connections are important to NZOUG, precisely because the country is small. If youre having a problem, well call people in other organizations and find out if theyve got the same issue. And well ask what they did about it or how they fixed it. Its really about sharing. Its not about the problems youre having, its about how we can solve problems, she says. Likewise, NZOUG has a good relationship with Oracle New Zealand. We always invite Oracle to our board meetingsand they attend, she says. When Oracle New Zealand puts on an event, theres communication with the user group, and we often do an introductory presentation, so its a close and successful partnership. Its the kind of relationship they barely have to work at. Its a friendly work environment, and that crosses over from personal life to professional life and the user group communities, ODonoghue says. Its just part of our Kiwi nature.

Jeff erickson is a

senior editor with oracle Publishing.

neil MacBeth/Getty iMaGes

nexT sTeps
reaD about nzoUg nzoug.org WaTCH Up Close lynne oDonoghue video oracle.com/us/products/040703

oraCle magazine May/June 2010

34

Peer-TO-Peer by bLAir CAMpbELL

The Upside of Downtime

pleasurable pastimes help these three peers work smarter.

melanie camerOn
company: Southwest Windpower, a producer of small wind turbines for generating clean electricity Job title: Acting international controller location: Flagstaff, Arizona length of time using Oracle products: 15 years

James mOrle
company: Scale Abilities, a consultancy specializing in the design and implementation of very large Oracle-based systems Job title: Owner/proprietor location: Cirencester, England length of time using Oracle products: 20 years

rODrigO almeiDa
company: Discover Technology, a provider of support, training, and management related to Oracle products, and a manufacturer of software based on Oracle and Java technology Job title: Oracle DbA location: So paulo, brazil Oracle credentials: Oracle Certified Associate (Oracle9i Database), with 12 years of experience using Oracle products

Whats your favorite tool or technique on the job? Asking questions. Systems and accounting are both pretty easy, once the issues are understoodbut problems come up when theres a lack of understanding on one side about the challenges on the other side. So I just ask away. What technology has most changed your life? Spreadsheets for accounting, which I discovered back in the early 80s. As far as Oracle technologies, the self-service aspects of the procure-to-pay, order-to-cash, and manufacturing applications were using have made my life as an accountant easier, since they leave more time for analysis instead of rekeying data or providing information now available in the portals. The self-service features reduce the cost of processing transactions and answering questions, reducing staff within the finance department without increasing head count elsewhere. How do you use wireless technologies? I dont. I dont believe in multitaskingwhen I work, Im at my desk and working. When Im not at work, Im not using technologybut I find that by not being connected, insight and understanding about work issues come to me more easily.

How did you get started in IT? I started at age 10 on a SC/MP. I moved on to BBC Micro a year or so later, and by age 13 I was writing professional games and utility software for that platform. My first real IT job was using UNIX and Informix 4GL, shortly followed by Oracle6. A couple years later, I was implementing the worlds largest Oracle7 system, a pan-European rollout across 3,000 concurrent users and a four-node Oracle Parallel Server. Which new features in Oracle Database are you finding most valuable? Oracle Database 11g Release 2 has some amazing functionality, but I think the Edition-Based Redefinition feature steals the crown. Availability isnt just about the database; the database is an important part, but so are the other components, especially the application. Edition-Based Redefinition is the enabler to make logical application changes without disrupting availability. Whats your favorite thing to do that doesnt involve work? I play lead guitar in a rock band. I think its important to exercise both cortices of the brain, and playing Metallica and Iron Maiden tracks with my own twist seems to do that for me.

Which new Oracle technologies are currently sparking your interest? Right now Im studying the features of the Sun Oracle Database Machine and Oracle Exadata V2 for Oracle Database 11g Release 2, including Oracles Sun FlashFire technology, smartscan processing, and storage indexing. Im expecting Oracle Exadata V2 to help reduce the size of our databases, consolidate data, and save money, while enhancing safety and increasing I/O per second. What technology has most changed your life? Linux for operating systems and PlayStation 3 for my personal life. What green practices do you use in your DBA work? I create virtualization servers for our Oracle environment using Oracle VM and consolidate those servers on a single server. This requires less energy and fewer materials and creates less CO2. I also use digital books and materials to studyIve stopped buying paperbacks. Once weve completed our new environment with Oracle Exadata V2, it will help migrate all old versions of the database to Oracle Database 11g Release 2, which will reduce energy consumption and make us greener as well.

Learn more about the Oracle ACE program at otn.oracle.com/community/oracle_ace MAy/JunE 2010 Oracle.cOm/Oraclemagazine

SPECIAL ADVERTISING SECTION

One Fujitsu, Many Strengths


With a unified approach to the market, Fujitsu has transformed itself into one of the worlds largest IT providersone with an effective combination of global reach and local focus, and an end-to-end lineup of services and products for Oracle users.

usiness today is increasingly fast, competitive and global, and that requires ever-greater adaptability and efficiency from a companys information technology. To deliver, IT departments need to work with a perspective that is more holistic and more integratedone that enables them to keep cost, quality and speed in step with the needs of a global business. That reality is at the heart of fundamental changes that have been taking place at Fujitsu. Fujitsu has had a significant presence worldwide for many years, says Richard Christou, president of the Fujitsu Global Business Group. But now we are creating a truly global organization that can provide a full spectrum of end-toend products and services. This One Fujitsu strategy has created a $47 billion company with some 190,000 employeesone of the largest IT providers in the world, with a global corps of experts and a comprehensive, endto-end suite of services and technologies. Much of the companys offerings and expertise are

S1

SPECIAL ADVERTISING SECTION

focused on Oracle technology and applications. Indeed, the move to the One Fujitsu model positions Fujitsu to extend and strengthen its long relationship with Oracle, which encompasses everything from applications, middleware, databases, infrastructure and edge solutions to Oracles recently acquired Sun technologies. Oracle and Fujitsu have worked together for more than 20 years, covering a variety of initiatives, says Judson Althoff, senior vice president of Worldwide Alliances and Channels at Oracle. With One Fujitsu, our joint customers have the opportunity to draw on the technologies and expertise of two worldwide organizations that have the depth and reach to help bring greater integration, flexibility and efficiency to ITwhich empower customers of all sizes to compete more effectively in the global economy.

Fujitsus Global Transformation


The maxim think global, act local has been around for some timeand traditionally, Fujitsu has put more weight on the act local element, which allowed various Fujitsu companies to focus on their specific technologies and geographic markets. But now Fujitsu is taking a more holistic approach. With its One Fujitsu governance model, the company is transcending those traditional local boundaries and strengthening the think global element of the equation. The company has established a Global Business Group, which directs marketing, delivery, client management

and business management for Fujitsu operations outside of Japan. As a more global company, we can bring greater consistency to the customers we work with, especially those who operate globally, says Christou. We can leverage scale and worldwide expertise to strengthen development, deliver solutions and drive innovation. In essence, the new structure allows Fujitsu to continue to work closely with customers in a given market, while backing those efforts with the deep resources, expertise and best practices of a global company. A number of significant changes have already taken place in Fujitsus operations. For example, in North America, the company has established Fujitsu America, which brings together the wide-ranging consulting services offered by Fujitsu Consulting, the platform sale and maintenance capabilities of Fujitsu Computer Systems, and the retail solutions of Fujitsu Transaction Solutions. The integration of these three companies has created a unified structure for the provision of comprehensive IT solutions in North America. In Europe, Fujitsu Siemens Computers has been converted into a consolidated subsidiary and has increased collaboration with Fujitsu Services, providing skills across the breadth of Oracle applications, middleware, databases and infrastructure. In Australia, Fujitsus acquisitions of IT services and consulting firms have improved its ability to deliver integrated services in that region. And in China, Fujitsus operations are being consolidated into two organizations to drive greater collaboration across that large market.

The reach and strength of Fujitsus globalization efforts can be seen in the companys Global Infrastructure Services group, which provides integrated outsourcing services. This group encompasses 85 data centers worldwide, as well as 47 service desks that offer the ability to respond in 26 languagesa vital capability in global business. Through this group, Fujitsu experts around the world collaborate on infrastructure services such as data center services, desktop services and help desk services to provide a uniform level of services worldwide.

Seamless Access to Services, Systems and Expertise


Such efforts are giving customers increasingly seamless access to Fujitsu products and services from one source. We can provide end-to-end technology, services and expertise for Oracle users, from consulting to design, build, implement and maintain activities, says Takanori Katayama, corporate vice president of Fujitsu. For Oracle users, these offerings include: Comprehensive IT, business and infrastructure services. These include a number of Oracle-specific managed and professional services, covering applications, infrastructure and business imperatives such as operational excellence and customer experience. Companies can turn to Fujitsu for services such as application management, outsourcing, implementation, upgrades, training and international 24/7/365 support. With more than 2,500 Oracle professionals worldwide, Fujitsu is an Oracle Global

As one of the worlds largest IT providers, Fujitsu can continue to work closely with customers in a given market, while backing those efforts with the deep resources, expertise and best practices of a global company.

S2

SPECIAL ADVERTISING SECTION

Partner and an Oracle Platinum Partner, and has experience and expertise with Oracle E-Business Suite, Siebel, PeopleSoft, and JD Edwards and Oracle edge and industry solutions, as well as Oracle Fusion Middleware and Oracle Database. One of the worlds largest Oracle EBusiness Suite solutions was implemented and run by Fujitsu. And Fujitsu is drawing on this Oracle expertise in its own global transformation efforts. Last year, the company implemented its own Oracle Hyperion Financial Management reporting system across some 30 countries in just three months. This is now being used by the Global Business Groups regions, as well as by the groups executive management team and Fujitsu Limited in Japan. A range of data center technologies. As a global organization, Fujitsu will continue to focus on the creation and delivery of Dynamic Infrastructures supporting Oracle applications and technologies. The companys Dynamic Infrastructures strategy is designed to provide companies with choice in cost-effective, tailored, flexible infrastructures that enable greater business efficiency and agility. This portfolio encompasses four main categories: Infrastructure Products and Services, Infrastructure Solutions, Infrastructure as a Service and Managed Infrastructure. Dynamic Infrastructures combine products, solutions and services that enable companies to assign IT resources dynamically to services as required, and to choose sourcing models that best fit their businesses, bringing IT flexibility and efficiency to the next level.

Oracle, Sun and the New Fujitsu


As the long-standing partnership between Fujitsu and Oracle evolves, the two companies can build on a strong foundation. They have a shared focus on innovative applications and middleware solutions, service-oriented architectures, data management, business-critical computing and grid computing. Today, Fujitsu is the only company that supports three out of five strategic Oracle development platformsLinux, Windows and Solaris running on Fujitsus Intel-based PRIMERGY servers and SPARC Enterprise servers. And the two companies work together in Oracle-focused technical centers in Germany, Turkey, Russia and the UK; these are complemented by a Mobile Migration Center that can be set up on customer premises. This multifaceted relationship has led to clear results in a number of areas. For example, in the middleware arena, extensive cooperation has led to Fujitsu being authorized to sell Oracle Fusion Middleware and Oracle Database. The two companies have also worked together to develop FlexFrame for Oracle, a pre-integrated, dynamic, IT infrastructure solution. The first automated management solution for Oracle grid computing, it delivers agility, scalability, high availability and reduced costs for both native and virtual servers. For example, when a European railway company used the solution to consolidate servers, the effort paid for itself in two and a half years and led to projected savings of 3 million a year. Similarly, a US university used the FlexFrame

EXECUTIVE SUMMARY
Under its One Fujitsu strategy, Fujitsu has created a truly global organization. The company: Is one of the largest IT providers in the world, offering comprehensive, end-to-end services and technologies. Offers a full spectrum of managed and professional services covering applications, middleware, databases and infrastructure, and business imperatives such as operational excellence and customer experience. Provides a range of data center technologies designed for costeffective, tailored, flexible infrastructures that enable greater business efficiency and agility. Builds on a strong relationship with Oracle that encompasses applications and edge solutions, middleware solutions, serviceoriented architectures, grid computing, cloud computing, and Sun and SPARC technologies. Is an Oracle Platinum Partner and has more than 2,500 Oracle professionals.

solution to consolidate 500 servers down to 175, dramatically increase server utilization and reduce IT overhead by as

We can provide end-to-end technology, services and expertise for Oracle users, from consulting to design, build, implement and maintain activities.
S3

SPECIAL ADVERTISING SECTION

Fujitsu has deep expertise in SPARC technology, and it has been an Innovation Partner of Suns for years.

much as 60 percent. Based on these results, Fujitsu was given the Oracle Innovation Award for the solution. Fujitsu has also been recognized with a number of Oracle-related awards. Customers recently voted to name Fujitsu a Cost-efficient Partner of the Year, Public Sector Partner of the Year, E-Business Suite Partner of the Year, Shared Services Partner of the Year, and Database Partner of the Year. Oracle UK gave Fujitsu the 2010 award for Technology System Integrator Partner of the Year, which acknowledges the companys Oracle focus and success with Oracle technology, middleware and applications. Fujitsu was recognized as a Strong Performer in the Forrester Wave Oracle Service Providers, Q4 2009, Forrester Research Inc. (October 2009). Fujitsu has a large footprint in the Oracle community, and the One Fujitsu approach lets us leverage that footprint to help companies use IT more effectively, says Takanori Katayama. Oracles recent acquisition of Sun, he adds, is only expanding that footprint. Fujitsu has deep expertise in SPARC technology; it has provided SPARC technology to Sun and been an Innovation Partner of Suns for years. The Sun acquisition strengthens the Oracle partnership even more, he says. For example, Fujitsu and Oracle Japan have established a SPARC Enterprise-Oracle Database Solution Development Center. The center is charged with testing and development using SPARC Enterprise, Exadata and Oracle Database 11g, creating solutions for next-generation standard IT infrastructures and developing approaches that companies can use to migrate to those infrastructures. The Oracle and Fujitsu technologies are a natural fit in this area, says Stephen Boyle, group vice president of Worldwide Strategic Alliances at Oracle. Such joint efforts are designed to give companies effective, integrated SPARC and Oracle technologies that can help them increase performance while reducing complexity.

and participates jointly with Oracle in sponsoring eco-friendly events. An increasingly important area of focus for both companies is cloud computing. Here, Fujitsu brings several strengths to the table. The company has long been a leader in telecommunication and enterprise technologies and data center technologies, which will play a key role in delivering cloud computing services. It also has extensive experience in outsourcing, providing infrastructure as a service and software as a service, and managing the systems of its numerous customers. As a global company, we are committed to leveraging our expertise to create and integrate cloud-based systems, while keeping an eye on delivering the technologys potential business benefits, such as lowering the cost of IT, increasing security and reliability, and accelerating customers innovation, says Chiseki Sagawa, president of the ServiceOriented Platform Office at Fujitsu. Fujitsu is combining basic research, server, software and other development resources for the cloud under the auspices of a new Cloud Architect Office. Among other things, this office is bringing together solutions experts from different vertical industries to tap into their real-world experience and know-how from the frontline of business. Fujitsu has also created a Cloud Implementation and Verification Center, which is charged with quickly translating the innovations produced by the Cloud Architect Office into the development and implementation of new infrastructures. Business is always changing, and as a truly global company, Fujitsu will be better equipped to help companies adapt to that change. We can give customers simpler, more seamless access to our offerings and our knowledge, says Richard Christou. That enables us to work all the more effectively with companies to help them apply IT to the business in order to be more efficient, agile and successful.

From Green to the Cloud


Looking forward, there are a number of areas where the two companies philosophies are in synch. These include consolidation, simplification, integration, grid computing and, increasingly, green computing. Fujitsu has been committed to environmental activities since the mid-1990s, supports Oracles green initiatives
S4

For more information on Fujitsus global approach, and on Fujitsu products, services and information for Oracle users, please visit the Fujitsu-Oracle site at www.fujitsu.com/oracle

2010 Fujitsu Limited. FlexFrame, Fujitsu and PRIMERGY are either trademarks or registered trademarks of Fujitsu Limited in Japan and/or other countries. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. All other trademarks and product names are the property of their respective owners.

A new generation of intelligent server processors.

The new PRIMERGY BX900. Dynamic Infrastructure in a cube.


This blade server infrastructure can be dynamically adapted to different IT requirements, thereby reducing costs while increasing your IT agility. It does so thanks to its high density, accommodating up to 18 server blades equipped with Intel Xeon Processor, and through its dynamic energy and cooling efficiency combined with extreme virtualization capabilities. The PRIMERGY BX900s scalable and fully redundant design ensure a complete investment protection. Find out more about the heart of your infrastructure at

www.fujitsu.com/ts/dynamiccube
Intel, the Intel logo, Xeon, and Xeon Inside are trademarks or registered trademarks of Intel Corporation in the U.S. and other countries.

Oracle development
PL/SQL Developer by Allround Automations.

PL/SQL Developer is the Oracle development tool that gives you maximum productivity, ease of use and all the features you need, for a reasonable price. Visit our website for additional details: www.allroundautomations.com/plsqldev

everywhere...

42

STARK INDUSTRIES POWERS INTO A NEW CORPORATE STRATEGY.

STARK DOMINATION

BY SCOTT SMITH

e no longer make weapons, Tony Stark declared in an internal memo to his Stark Industries executive staff last year. Since then, the worlds premiere futurist in the Iron Man Age of technology has been steeling himself for his biggest challenge yeta heavy jolt of change. The tycoon-turnedsuperhero is busy transforming Stark Industries from a munitions manufacturer into a communications company. Founded as an engineering and manufacturing firm that specialized in security measures, Stark Industriesthen called Stark Enterprisesbecame a corporate superpower by developing munitions; it held that position by expanding into other fields including aeronautics, technology, and fringe science. Stark himself has undergone a crisis of conscience, causing him to rethink the kind of company he wanted to lead. Since the no more munitions memo, the shift in corporate strategy has not gone entirely smoothly. Powerful political leaders have pressured Stark to turn over to the military the patents for his Iron Man armor technology. So

far, Stark has resisted these forces, but the organizational turnaround of Stark Industries may prove to be a job requiring even greater willpower. Corporate transformations are difficult for large organizations because most companies operate with heterogeneous IT environments. These can be cumbersome, hindering the adaptability and responsiveness that leads to growth and innovation, and costly to operate. (Approximately 70 percent of an enterprises IT budget is spent on maintaining existing systems; only 30 percent is earmarked for new capabilities.) If Stark Industries hopes to break from these shackles, Tony Stark will need powerful partners willing to take ownership of these integration challenges. And like many CEOs in fast-moving companies, he is relying on an alliance with tech giant Oracle to ensure the demands on IT infrastructure are met with a swift and smooth implementation. Oracle has the capacity to make this work. In addition to its powerful software technologies, the company has added

MAY/JUNE 2010 ORACLE.COM/ORACLEMAGAZINE

43

GETTING READY FOR STARK EXPO


Tony Stark is relaunching the Stark Expo, the trade show founded by his father. Its theme is Better Living Through Technology, and like its counterpart, Oracle OpenWorld, Stark Expo is planned as a showcase of the triumph of ingenuity over the constraints of a data-driven world. Oracle has officially signed on as the exclusive sponsor of the expos Japanese Garden Pavilion, an East-meetsWest exhibit of the latest innovations in green business practices. One thing is for sure: Stark will need Oracle Enterprise Manager to troubleshoot his systems throughout the trade show. Oracle Enterprise Manager can diagnose whether a system is buckling under the peak demands of a larger-than-expected opening day crowd and make rapid adjustments to resource allocation. To safeguard against attacks, Oracle Enterprise Manager senses whether the Stark Expo system is vulnerable to nefarious intruders and prevents unauthorized access to data and applications. Oracle Enterprise Manager can also determine when capacity is no longer being taxed and return all systems to their normal responsiveness and availability.

processing punch with Oracle Exadata Storage Server and most recently, hardware. This comprehensive applications to disk strategy gives Oracles enterprise customers an entire technology stack (including applications, middleware, database, servers, storage, virtualization, and operating systems) combined with exceptional performance (by way of throughput, server, and storage speed enhancements). Add to this lineup Oracles suite of next-generation grid technologies and cloud computing solutions, and Stark Industries might just have the key components to exceed expectations. The long-term success of Stark Industries will depend on Starks ability to reduce complexity and increase efficiency in every corner of its operations. First, company engineers will need to harness the power of existing servers in a grid

2010 MVLFFLLC.TM & 2010 MARVEL. DISH IMAGE, GETTY IMAGES

computing architecture that allows them to scale resources to the demands of their workload. Once all corporate networks have been migrated to a virtualization model, Stark Industries will have the perfect foundation for a secure and lasting cloud infrastructure. Finally, by implementing Oracle Enterprise Manager for system diagnostics and management, Stark Industries will have the only troubleshooting solution in the marketplace that monitors and configures server utilization across all physical, virtual, and private cloud computing environments. Technology becomes an extension of human performance, says Stark.

Scott Smith is a senior writer with Oracle Publishing. NEXT STEPS


READ more about Iron Man 2 oracle.com/ironman2

ORACLE MAGAZINE MAY/JUNE 2010

SYMANTEC IS
You cant stop the explosion of data across your enterprise, but you can change the way you back it up. NetBackup with integrated deduplication assures that data from your data centers, remote offices, and virtualized environments is stored only once no matter what your storage hardware. Get your deduplication Calculator now at symantec.com/netbackup

dEduplICATIoN.

Copyright 2010 Symantec Corporation. All rights reserved. Symantec, the Symantec Logo, and Symantec NetBackup are trademarks or registered trademarks of Symantec Corporation or its affiliates in the U.S. and other countries. Other names may be trademarks of their respective owners.

45

sailinG HOMe WitH tHe prize


B

Oracle Data Mining supports yacht crew as BMW OraCle racing wins the americas Cup.
MW ORACLE Racing won the 33rd Americas Cup yacht race in February 2010, beating the Swiss team, Alinghi, decisively in the first two races of the best-of-three contest. BMW ORACLE Racings victory in the Americas Cup challenge was a lesson in sailing skill, as one of the worlds most experienced crews reached speeds as fast as 30 knotsthree times faster than wind speed and, some say, faster than any boat in history. But if you listen to the crew in their postrace interviews, youll notice that what they talk about is technology. The story of this race is in the technology, says Ian Burns, design coordinator for BMW ORACLE Racing.

The BmW oracle racing yacht, USA, relied on an experienced crew and oracle Data mining to sail faster than the wind and capture the americas cup.

By Jeff eriCksOn

Gilles Martin-raGet/BMW OraCle raCinG

oracle magazine May/June 2010

46

From the drag-resistant materials encasing its hulls to its the effectiveness of each adjustment, allowing the crew to ascertain unprecedented 223-foot wing sail, the BMW ORACLE Racings the amount of lift its generating; and fiber-optic strain sensors on the trimaran, named USA, is a one-of-a-kind technological juggernaut. mast and wing to allow maximum thrust without overbending them. No less impressive are the electronics used to guide the vessel and But collecting data was only the beginning. BMW ORACLE Racing fine-tune its performance. Each crewmember is equipped with also had to manage that data, analyze it, and present useful results. a PDA on his wrist that has customized data for his job: what the The team turned to Oracle Data Mining in Oracle Database 11g. load balance is on a particular rope, for example, or the current Peter Stengard, a principal software engineer for Oracle Data aerodynamic performance of the wing sail. The helmsmans Mining and an amateur sailor, became the liaison between the sunglasses display graphical and numeric data to help him fine-tune database technology team and BMW ORACLE Racing. Ian Burns the boats direction while he keeps two hands on the wheel and contacted us and explained that they were interested in better visually scans the sea, the boat, the crew, the sails, and the wing. understanding the performance-driving parameters of their new The Americas Cup is a challenge-based competition in which boat, says Stengard. They were measuring an incredible number the winning yacht club hosts the next event and, With data mining we could check data against the things we saw, and we could find things that werent within certain guidelines, makes the rules. For the otherwise easily observable and findable, says ian Burns, design coordinator for BmW Oracle racing. 33rd Americas Cup, the competing teams could not agree on a set of rules, so the event defaulted to an unrestricted format for boat design and cost. All we knew were the length of the boat and the course configuration, says Burns. The boats were allowed a maximum length of 90 feet, and the course would be 20 miles out windward and 20 miles back. Within those parameters, says Burns, you could build as fast a thing as you can think of. Learning by Data The no-holds-barred rules for this race created what Burns calls an open playground for boat designers. The innovative and costly vessels that resulted were one-of-a-kind creations with unpredictable sailing characteristics that would require a steep learning curve and lots of data. One of the problems we faced at the outset was that we needed really high accuracy in our data because we didnt have two boats, says Burns. Generally, most teams have two boats, and they sail them side by side. Change one thing on one boat, and its fairly easy to see the effect of a change with your own eyes. With only one boat, BMW ORACLE Racings performance analysis had to be done numerically by comparing data sets. To get the information needed, says Burns, the team had to increase the amount of data collected by nearly 40 times what they had done in the past. The USA holds 250 sensors to collect raw data: pressure sensors on the wing; angle sensors on the adjustable trailing edge of the wing sail to monitor

WaTcH the video BMW ORACLE Racing: Onboard Technology


bit.ly/cd6yVi

May/June 2010 Oracle.cOm/Oraclemagazine

BoB adler

47

of parameters across the trimaran, stories high; it barely fits under the collected 10 times per second, so there Golden Gate Bridge. Its an amazing were vast amounts of data available thing to see. for analysis. An hour of sailing The wing sail is made of an generates 90 million data points. aeronautical fabric stretched over After each day of sailing the boat, a carbon fiber frame, giving it the Ian Burns, Design Coordinator for BMW ORACLE Racing Burns and his team would meet to three-dimensional shape of a regular review and share raw data with crew airplane wing. Like an airplane wing, members or boat-building vendors using a Web application built it has a fixed leading edge and an adjustable trailing edge, which with Oracle Application Express. Someone in the meeting would allows the crew to change the shape of the sail during the course of say, Wouldnt it be great if we could look at some new combination a race. of numbers? and we could quickly build an Oracle Application The crew of the USA was the best group of sailors in the world, Express application and share the information during the same but they were used to working with sails, says Burns, Then we meeting, says Burns. Later, the data would be streamed to Oracles put them under a wing. Our chief designer, Mike Drummond, told Austin Data Center, where Stengard and his team would go to work them an airline pilot doesnt look out the window when hes flying on deeper analysis. the plane; he looks at his instruments, and you guys have to do the Because BMW ORACLE Racing was already collecting its data in an same thing. Oracle database, Stengard and his team didnt have to do any extract, A second ship, known as the performance tender, accompanied transform, and load (ETL) processes or data conversion. We could the USA on the water. The tender served in part as a floating just start tackling the analytics problem right away, says Stengard. datacenter and was connected to the USA by wireless LAN. We used Oracle Data Mining, which is in Oracle Database. It gives The USA generates almost 4,000 variables 10 times a second, us many advanced data mining algorithms to work with, so we have says Burns. Sometimes the analysis requires a very complicated freedom in how we approach any specific task. combination of 10, 20, or 30 variables fitted through a time-based Using the algorithms in Oracle Data Mining, Stengard could algorithm to give us predictions on what will happen in the next few help Burns and his team learn new things about how their boat was seconds, or minutes, or even hours in terms of weather analysis. working in its environment. We would look, for example, at mast Like the deeper analysis that Stengard does back at the Austin Data rotationswhich rotation works best for certain wind conditions, Center, this real-time data management and near-real-time data says Stengard. There were often complex relationships within the analysis was done in Oracle Database 11g. We could download the data that could be used to model the effect on the targetin this data to servers on the tender ship, do some quick analysis, and feed it case something called velocity made good, or VMG. Finding these right back to the USA, says Burns. relationships is what the racing team was interested in. We started to do better when the guys began using the Stengard and his team could also look at data over time and instruments, Burns says. Then we started to make small with an attribute selection algorithm to determine which sensors adjustments against the predictions and started to get provided the most-useful information for their analysis. We could improvements, and every day we were making gains. identify sensors that didnt seem to be providing the predictive power Those gains were incremental and data driven, and they they were looking for so they could change the sensor location or add accumulated over yearsuntil the USA could sail at three times the sensors to another part of the boat, Stengard says. wind speed. Ian Burns is still amazed by the spectacle. Burns agrees that without the data mining, they couldnt have Its an awesome thing to watch, he says. Even with all we have made the boat run as fast. The design of the boat was important, learned, I dont think we have met the performance limits of that but once youve got it designed, the whole race is down to how the beautiful wing. guys can use it, he says. With Oracle database technology, we could compare our performance from the first day of sailing to the Jeff erickson is a senior editor with Oracle Publishing. very last day of sailing, with incremental improvements the whole way through. With data mining we could check data against the next StepS things we saw, and we could find things that werent otherwise easily observable and findable. reaD more about oracle Data mining oracle.com/us/products/database/options/data-mining Flying by Data Hear a podcast interview with ian Burns bit.ly/americasCupPodcast The greatest challenge of this Americas Cup, according to Burns, was DoWnloaD oracle Database 11g release 2 managing the wing sail, which had been built on an unprecedented otn.oracle.com/software/products/database scale. It is truly a massive piece of architecture, Burns says. Its 20

the design of the boat was important, but once youve got it designed, the whole race is down to how the guys can use it.

oracle magazine May/June 2010

48

by david bauM

making it Work
Companies are using Oracle technologies to build private clouds, and integrate with public clouds, while ensuring security.

Public and Private clouds

hen Embry-Riddle Aeronautical University needed to integrate public and private cloud services with a variety of internal applications, the institution turned to Oracle for the middleware technology to tie it all together. The result was a secure yet flexible set of IT services that feature elastic capacity, high user service levels, and unwavering business continuity.

May/June 2010 Oracle.cOm/Oraclemagazine

I-Hua CHen

49

Oracle.cOm/Oraclemagazine May/June 2010 Oracle magazine

50

Embry-Riddle uses Oracle Identity Manager to manage a large, dynamic user population efficiently and securely, automatically provisioning and deprovisioning access privileges and requirements as students, faculty, and staff change. This identity management system, part of the Oracle Fusion Middleware family of products, enables the university to avail itself of both public and private cloud computing services, as well as hosted applications from an application service providerand yet still provide users with a consistent online experience.

The low cost and obvious convenience of cloud services makes them appealing, but you need to be able to control access, manage identities, and provision resources safely, says Eric Fisher, director of middleware at Embry-Riddle. Oracle identity management tools help us overcome some of the resistance with respect to who owns my data, data security, authorizing access to IT resources, management, control, and so forth. Embry-Riddle is not alone in looking to clouds. Cloud computingessentially on-demand access to a shared pool of computing resourcesis gaining in popularity with many enterprise IT departments. In particular, companies are focusing on their own clouds, which are operated and managed in-house. Commonly called private clouds and based on proven technologies such as grid computing, virtualization, clustering, SOA, and identity management, these new architectures can scale incrementally while providing the flexibility to adjust resources to meet dynamic business priorities. Private clouds have certain advantages over public clouds among others, greater control over security, data privacy, compliance, and quality of service. A private cloud for the exclusive use of a single organization can deliver many of clouds agility and efficiency benefits while maintaining control over security and privacy, regulatory compliance, and legal and contractual issues, particularly at larger enterprises in security-sensitive domains, says Richard Sarwal, senior vice president of product development at Oracle. Many companies agree with this assessment. In a survey of 95 IT executives that was conducted at the 2009 Supercomputing Conference in Portland, Oregon, nearly 85 percent of respondents said they intend to keep their cloud initiatives within their own firewalls. A full 49 percent of the IT executives surveyedrepresenting the research, manufacturing, government and education industriescited security as a chief concern with The low cost and obvious convenience of cloud services makes them appealing, but you need to be able to control access, manage identities, and provision resources safely, says eric Fisher, director of middleware at embry-riddle. cloud computing.

May/June 2010 Oracle.cOm/Oraclemagazine

Charity de Meer

51

We use oracle identity management to create and manage all the accounts in real time on this cloud system.
Eric Fisher, Director of Middleware, Embry-Riddle Aeronautical University

degree audit system, and others. Oracle Virtual Directory was particularly useful in these implementations because it enabled us to provide the required custom operational attributes quickly, without making extensive modifications to our enterprise directory, says Fisher.

Managing identities in the Cloud Embry-Riddle Aeronautical University educates more than 35,000 Federated serviCes MaxiMize options students annually in undergraduate and graduate programs at Next up, according to Fisher, is cross-domain user access with Oracle residential campuses in Prescott, Arizona, and Daytona Beach, Identity Federation 11g, a multiprotocol federation server that will Florida; through its worldwide campus at more than 170 centers in extend the universitys existing identity and access-management the United States, Europe, Canada, and the Middle East; and through systems. LDAP authentication is a good first-generation online learning. This diverse and geographically dispersed learning solution, but were interested in using SAML to support federated environment challenges the IT department to provide secure access authentication, he says. With Oracle Identity Federation 11g, the to campus services and applications as well as to meet student and university will be able to securely share identities among vendors employee demands for online self-service functionality. and hosting models without increasing the cost of managing, Oracle Identity Management Suite doesnt care where a server maintaining, and administering user identities and credentials. is located, says Fisher. By utilizing this Oracle software, we have Embry-Riddle also plans to use Oracle Access Manager been able to implement a single-sign-on solution to our hosted to centralize its single sign-on process so it can more easily e-mail service and several other applications, both on premises and accommodate additional information systems and applications, off. Within a couple of milliseconds, Oracle can create, update, and both on premises and off. If a particular department comes to us manage user accounts just as we do for our internal directory. with a new vended application, Oracle gives us a lot of different ways he university used Oracle Identity Management to streamline that we can manage accounts, Fisher says. authentication for its public cloudbased e-mail service. We This flexibility also maximizes the effectiveness of the universitys use Oracle Identity Management to create and manage all the IT staff since it means they can outsource responsibility for thirdaccounts in real time on this cloud system, and we use a token party applications along with much of their routine maintenance, API mechanism written for Oracle Portal to provide single sign-on, leaving the IT team to focus on issues of strategic importance. Fisher says Fisher. Students can log in to the university portal, click on a cites the universitys learning management system as an example. link, and be placed into their e-mail accounts The system is hosted and managed by an without presenting another credential. This application service provider, but Embrysnapshots virtual infrastructure minimizes the amount Riddles users can access it directly through of support calls we receive from people trying the university portal. embry-riddle aeronautical University erau.edu to access their mail, Fisher adds. Clearly, the application service provider location: Prescott, Arizona, and Daytona The new identity management system knows its software better than we do, so Beach, Florida replaces a manual process for implementing we prefer to let it handle upgrades and so industry: Education and research nearly 2,000 account changes each day, forth, Fisher says. Once you have worked employees: 4,310 which previously took at least 24 hours out issues of identity and access control, oracle products: Oracle Identity and Access Management Suite, Oracle Identity to complete and resulted in a delay in obtaining services from a public cloud can Management, Oracle Access Manager, Oracle delivering updates to students. Fishers team be very cost effective. The cloud provider Identity Manager, Oracle Internet Directory, now spends about 30 minutes per day on already has the facilities, the bandwidth, the Oracle Virtual Directory, Oracle Database, these activities. The Oracle software has also data storageall of which we would have Oracle Real Application Clusters, Oracle Portal decreased the number of account-related to duplicate ourselves to provide that same advanced innovations help desk calls by 40 percent, thanks to service. Oracle has opened the door for us to advancedinnovationsinc.com the improved self-service options available utilize a lot more of these types of services in location: Limerick, Ireland through Oracle Identity Manager. the future. industry: Supply chain management In addition, the university uses Oracle employees: 40 Virtual Directory to provide account and evolutionary teChnology oracle products: Oracle Database, MySQL, Oracle SOA Suite, Oracle WebCenter, Oracle authentication services for its cloud-based Public and private clouds are enabled enterprise collaboration, Agile product lifecycle antispam solution, as well as for hosted by proven Oracle technologies that have management applications, Oracle E-Business applications such as a flight management been evolving for years: grid computing, Suite, Oracle business intelligence solutions system, self-help/help desk system, virtualization, SOA, and management

oracle magazine May/June 2010

52

and orchestrates global supply chain networks that design, build, and deliver electronic products for its customers. If you come to Advanced Innovations with an idea for a new MP3 player, well get it designed for you, well Michael Higgins, Senior Vice President of Information Technology, Advanced Innovations get it prototyped for you, well go through whats called NPI, or new product introduction, he automation. Virtualization and grid architectures, with mechanisms says. And when youre happy with the product, well then make you such as virtual stack images that can be deployed, moved, 500,000 of them. We manage the activities of partners throughout and scaled easily on shared infrastructure, provide the basis for the world to do it all for you. instant-on applications and elastic capacity. Oracle Enterprise Advanced Innovations doesnt directly employ designers. It Manager orchestrates the aggregate resource pool, monitors doesnt have a prototype shop. And it doesnt have any factories of its performance, and controls resources using the dynamic provisioning own. What it does have is deep relationships with experts in centers mechanisms exposed by the grid. of competence that it has identified around the globe, orchestrated Advanced Innovations, a world leader in the orchestration of by about 40 Advanced Innovations employees. global supply chain networks, which is headquartered in Limerick, Virtual collaboration is central to everything these employees Ireland, relies on Oracle software hosted in a public cloud to meet do. Thats why locating computing services in the cloud makes so the needs of its global customers and supply chain, design, and much sense. manufacturing partners. Advanced Innovations cloud computing Many of our users are not Advanced Innovations employees, so model is the engine for its international business. were providing applications for our customers, our manufacturing Michael Higgins, senior vice president of information technology partners, our supply chain partners, our transport-logistics partners, at Advanced Innovations, describes the business as one that creates and so on, Higgins says. Weve turned our enterprise portal into

Weve turned our enterprise portal into an extra enterprise portal using Oracles superior middleware technology.

Private Cloud
A private cloud is for the exclusive use of one organization. A private platform-as-a-service is a development and deployment platform that typically includes database, middleware, and development tools
PLATFORM AS A SERVICE (PaaS)

Oracle Enterprise Manager


Cloud Computing
Cloud computing is a model for on-demand access to a shared pool of computing resources.

Oracle Fusion Middleware Oracle Virtualization

Oracle Database

INFRASTRUCTURE AS A SERVICE (IaaS)

Sun Server and Storage Systems

S H A R E D CO M P O N EN TS

SE L F- SE RVIC E IN T E R FAC E

Users
Application users access sofware as needed.

Applications Application Builder


Developers assemble applications using shared components and deploy applications through self-service.

Application Owner
Application owners monitor usage and manage capacity and chargeback.
I-HUA CHEN

MAY/JUNE 2010 ORACLE.COM/ORACLEMAGAZINE

53

an extra enterprise portal using Oracles superior middleware technology. We store those recordscustomer records, purchase orders, all of that in our Oracle E-Business Suite application running on Oracle Database.

oracle and Sun offer a complete Stack for cloud computing


Oracle offers a complete, open, and integrated portfolio of software and hardware for building and managing private clouds as an internal service provider, for taking advantage of public clouds, and for developing cloud services that can be offered by cloud service providers. These components include leading technologies such as Oracle Database, Oracle Fusion Middleware, Oracle VM, and Oracle Enterprise Manager. Oracles acquisition of Sun significantly expands the portfolio, including Sun servers, storage,

Shedding ServerS The company decided it could be more nimble if it moved its Oracle software into a cloud environment. Oracles flexible licensing and support policies enable Advanced Innovations to run the Oracle software in either its own datacenter or in public clouds. We want to get entirely away from owning servers, says Higgins. Our goal is to be entirely cloud-based in terms of all of our production application delivery. dvanced Innovations now has a complete Oracle technology stack deployed in a public cloud, including Oracle Database, Oracle SOA Suite, Oracle WebCenter, and Oracle enterprise collaboration software, which handles e-mail and streamlines collaboration among the company and its customers, partners, and suppliers. Soon, Advanced Innovations will run Oracle E-Business Suite and Oracle business intelligence software in the cloud as well. Weve seen an incredible improvement in our communications and collaboration capability by leveraging Oracle enterprise collaboration capabilities and Oracle WebCenter in this environment, Higgins says. Higgins describes the typical interaction with one of the companys design partners to illustrate the benefit of this virtual infrastructure. In the past, if we had come up with a new schematic for a printed circuit board, the designer would bundle up the CAD/CAM diagrams and e-mail them to an engineer in Limerick, he says. The engineer in Limerick would calculate the cost and other specs on the new board, then forward that information to an engineer in our China office to be handed over to a procurement officer. That process has changed. Today, using the Oracle collaboration software, the designer simply uploads the CAD/CAM documents into a secure team workspace, Higgins says. We can assign access privileges to employees or other partners who need to see that package of documents. The system provides versioning control, checkout control, access control. We dont have to bother with putting files on servers or mailing them around. Theyre available through the Oracle software as workspaces in the cloud. CapaCity on demand At the outset of the cloud deployment, Advanced Innovations decided to do a major Oracle upgrade. In the past, the company had to have additional servers to copy the environment and test the

upgraded software. In the current cloud, all Higgins did was push and the Oracle Solaris operating a button to clone the existing system, which includes built-in infrastructure. Once Advanced virtualization and management Innovations verified that the capabilities. Oracle software and Sun upgrade was successful, they shut hardware create the industrys down the extra instances. The most comprehensive solution, only cost we incurred was the says Richard Sarwal, senior vice president of product development hourly billing for the additional at Oracle. Oracle provides technolservers during the time we used ogy to build private clouds or run in them, Higgins says. public clouds, and Oracle provides applications that are deployed in Higgins has put his finger on a private shared-services environan important enabler of both ment or via a public SaaS [softpublic and private clouds: server ware-as-a-service] cloud. virtualization. Instead of each application running on dedicated hardware and software that must be procured, configured, and provisioned, in a virtualized server world, the technology stack can be prepackaged as a virtual machine image. These prepackaged assets can be quickly and easily deployed on virtualized servers where they may be cloned or live migrated to different virtual servers to optimize available resources. Oracle VM is a highly efficient server virtualization solution that supports Oracle VM Templates for deploying preinstalled and preconfigured software images, including cloning and live migration of those images. This supports rapid deployment and upgrading from test to production environments, and the elastic scalability of production environments to accommodate growth and spikes in workload. Higgins loves being able to deploy and scale the infrastructure without buying, installing, configuring, and provisioning servers. Moreover, as great as the cost savings are, the business benefits are even more compelling. Now that most of our IT assets are in the cloud, our total cost of ownership is down 40 percent for the server infrastructure, he says. Even better, were now delivering application functionality that is 100 percent aligned to our unique business model.

David Baum (david@dbaumcomm.com) is a freelance business writer


based in Santa Barbara, California.

nexT STepS
reaD more about cloud computing oracle.com/us/technologies/cloud ViSiT the cloud computing center otn.oracle.com/tech/cloud learn more about the Supercomputing conference iT survey bit.ly/ComputingConferenceexecSurvey DoWnloaD oracle Secure Backup cloud module otn.oracle.com/software/tech/cloud oracle identity management otn.oracle.com/products/id_mgmt/htdocs/idm_download.html

oracle magazine May/June 2010

Oracle Development & DBA Tool

SQLDetective

Developers choice to write Database objects, debug, execute, test and manage SQL & PL/SQL statements. DBAs choice to Analyze, Monitor, Examine and compare multiple Oracle DBs, Schemas and Objects. Format, analyze, flowchart and improve the quality of your PL/SQL code using ClearSQL for SQLDetective.

www.sqldetective.com

Detectives Advice To Reduce IT Costs

Rent Database Tools


If funding is available, buying is the best option, but if not, then RENTING solves the problem. Rent Conquests Database Development and DBA Tools for Oracle now and benefit from flexible payment plans. Start as low as $8 per month including maintenance Pay only as long as you use the database tools After the initial start, you can pause or cancel at any time The longer the payment plan, the lower your fee After two years rental, pay only maintenance (optional) Your client does not have the tools needed for a project? Use Conquests Rental Program. It offers short-term rental, as well Regardless of how the economy develops, renting Database Tools from Conquest will always be a good choice to meet your budget requirements. Use any URL below to learn more about Conquests NEW Rental Service.

WORLD CLASS TOOLS FOR EVERYBODYS BUDGET

ClearSQL

Analyze, Format, Diagram, CRUD ClearSQL is a review and quality control tool for Oracle PL/SQL code. Analyze, fix and format your PL/SQL code automatically. Flowchart PL/SQL code and create click-able Call Tree diagrams and CRUD matrices. Legacy or unfamiliar PL/SQL code? Analyze thousands of scripts with the click of a button to grant DB up-time.

ClearDB

Advanced Oracle DB Documenter ClearDB automatically produces database documentation directly from an ORACLE database instance. It includes database structure, schemas and objects as well as their statuses and dependencies. Includes Flowcharts, Call Tree diagrams, CRUD matrices, Observations report and much more...

www.myclearsql.com

www.mycleardb.com

57

he completion of Oracles acquisition of Sun in January 2010 was big news for Sun customers, but its also big news for Oracle customers and enterprises in general. The combined assets of the two companies offer organizations an unsurpassed breadth of products from disk and storage systems to servers, database, middleware, applications, and management tools. The combination of Oracles enterprise software with Suns software, hardware, and storage systems provides a complete stack that can be integrated into solutions that are optimized for higher performance, improved reliability, and enhanced security. (See the Delivering a Complete Technology Stack sidebar on page 58 for more information.) Having a complete stack is something

that weve wanted for years, says David Maitland, CIO and director of corporate services at Atomic Weapons Establishment (AWE). The combination of Oracle and Sun products now provides us a top-to-bottom, integrated, open-infrastructure stack. Based in the U.K., AWE is a governmentowned, contractor-operated establishment charged with providing and maintaining warheads for the countrys nuclear deterrent. AWEs employees conduct advanced scientific research and manage advanced design and production facilities. Over the years, weve needed to adopt a systems integration role. We have to spend a lot of money and a lot of time trying to get whole stacks of technology infrastructure to work together, says Maitland. We really look forward to Oracle being our single

ORACLE MAGAZINE MAY/JUNE 2010

58

We feel particularly satisfied with Oracles demonstrated commitment to maintaining these technologies going forward, says David Maitland, CIO and director of corporate services at AWE.

port of call for future consultation. That will help us to substantially reduce our costs. Maitland is pleased that the Sun product line will continue to be supported and improved. Technologies like Suns file systems are particularly close to our hearts because of our high-performance supercomputing needs, he says. We feel particularly satisfied with Oracles demonstrated commitment to maintaining these technologies going forward. We feel very comfortable now that theyve found a good home. Robert Shimp, group vice president of sales support and marketing at Oracle, says that maintaining high service levels is important. We are dedicated to delivering without interruption the quality of support and service that our customers have come

to expect from Oracle and Sun, and more, he says. Software and hardware performance and reliability will be unmatched. And our open standardsbased technology will give customers choice. The acquisition not only expands Oracles range of products to include servers and storage solutions; Oracle also has announced increased investment in Oracles Sun technologies. The addition of the Sun product lineas well as the increased R&D investment will bring improvements to each best-of-breed component as well as to the entire Oracle stack. In the software group, were focusing on exploiting trends in processors, system design, storage, and networking to deliver fundamental breakthrough innovations combining Oracle software and Sun hardwareand breakthrough improvements in performance, scalability, reliability, and security, says Thomas Kurian, executive vice president of product development at Oracle. John Fowler, executive vice president of systems at Oracle, agrees that the acquisition will mean huge improvements in the two companies product lines. Thousands of engineers at Sun have been building missioncritical enterprise infrastructurefrom the core technologies of microprocessors to system servers, storage, and networking, Fowler says. Now well be joining that with the community of thousands of developers at Oracle who work on the worlds #1 enterprise software solutions. Together, well be able to build vastly better best-of-breed components as well as a completely integrated stack. ne way that the integrated stack can benefit customers is by simplifying product integration. Jean S. Bozman, research vice president for IDCs Enterprise Platforms Group, says that companies are focusing on how their IT projects can be done most cost effectively, given concerns about IT-related operational expenditures. New projects typically require hardware and software integration at the customer site, she says. The idea that Oracles and Suns engineers could work directly together within the company to do a lot of that system integration workgetting this work done more simply, more quickly, and getting new projects to the deployment stage more rapidly than they would have in the pastwould be very, very attractive to customers. Ensuring the value of existing investments, managing risk, and reducing complexity have been key concerns for Mark Kamlet, executive vice president and provost at Carnegie Mellon University.

DELIVERING A COMPLETE TECHNOLOGY STACK


Our software strategy is to deliver a complete, open, and integrated stack, says Thomas Kurian, executive vice president of product development at Oracle. That complete stack now provides a full-scale infrastructure solution. With the addition of Suns servers, storage, and software technologies such as Oracle Solaris and Java, Oracles portfolio encompasses applications, middleware, data-

MAY/JUNE 2010 ORACLE.COM/ORACLEMAGAZINE

JOHN BLYTHE

base, operating system, virtual machine, servers, and storage. As a result, organizations can move away from spending resources integrating individual technologies to deploying top-to-bottom solutions that are integrated and extensible. Moreover, by using Oracles preintegrated hardware, software, and management solutions, organizations can shorten deployment times,

ill rt w ge A an ch

lower the cost of ownership, reduce change management risk, and get integrated support across sets of products. We are always looking for ways to simplify what we do and manage, says Norm Fjeldheim, senior vice president and CIO at Qualcomm. The Oracle acquisition of Sun will reduce operational costs for customers and makes a lot of sense to me.

59

Oracles acquisition of Sun mitigates these key concerns in three primary ways. First, Carnegie Mellon already runs both Oracle and Sun technologies, relying on these products for everything from the underlying hardware to middleware and Java software programs. The continuing availability of Sun products protects Carnegie Mellons IT investment. Its very pleasing to know that the Sun systems we rely on will continue to be available and will continue to get even better, says Kamlet. The acquisition protects a very important investment for us. Second, Kamlet also believes that the acquisition will simplify technology coordination and integration and make support and troubleshooting significantly easier. Oracle is now the first organization that vertically spans the entire technology stack, he says. And that gives Oracle the potential for coordinating and optimizing across the different layers of the stack. This infrastructure is something that has stupendous potential, and as customers wed be the beneficiaries of those enhancements. Third, combining the Oracle and Sun product lines lowers risk for Carnegie Mellon. The technology stack has become very complicated, and there are growing issues about the risk of change management. In addition, trying to get so many layers of technology working snapshots

atomic Weapons establishment

awe.co.uk location: Aldermaston, Berkshire, England industry: Defense employees: 4,900 oracle products: Oracle Database, Oracle SOA Suite, Oracle Identity Management, Oracle Enterprise Content Management Suite, Siebel Customer Relationship Management, Oracle E-Business Suite, StorageTek modular disk systems, StorageTek tape libraries, Sun Storage Archive Manager, Sun QFS, Sun SPARC Enterprise Server

We want integrated solutions, says mark Kamlet, executive vice president and provost at carnegie mellon University. We want things that we can plug in and that work. With the sun acquisition, oracle will be providing them, and well be the beneficiaries.

carnegie mellon University

cmu.edu location: Pittsburgh, Pennsylvania industry: Education employees: 4,000 oracle products: Oracle Database, Oracle Real Application Clusters, Oracle SOA Suite, Oracle Hyperion Planning, Oracle Crystal Ball, Hyperion Data Integration Management, Oracle Essbase, Oracle Hyperion Financial Reporting, Hyperion Web Analysis, Sun x86-based servers, Sun SPARC Enterprise Servers, Oracle Waveset (formerly Sun Identity Manager)

correctly with products from so many companies is an immense hassle, says Kamlet. We want integrated solutions. We want appliances. We want things that we can plug in and that work. With the Sun acquisition, Oracle will be providing them, and well be the beneficiaries. Providing unmatched performance, scalability, and reliability will continue to be Oracles key goals. Well be engineering Oracle and Sun products to provide fundamental improvements in reliability, says Oracles Kurian. We also will be providing the lowest cost of ownership to customers, both through automated management as well as simplified support for our customers across products. EnginEEring a Solution At its heart, Qualcommwhich designs and supplies a wide range of electronics that enable mobile computing and digital productsis an engineering company. Consequently, Suns engineering-oriented solutions have played an important role in Qualcomms success. We rely on Oracle to run our business, but we have relied even more on Sun to run our engineering applications, says Norm Fjeldheim, senior vice president and CIO at Qualcomm. The engineering tools that we use to create our products run on Sun hardware and software, and thats an important part of our business.

Qualcomm

RichaRd Kelly

qualcomm.com location: San Diego, California industry: Telecommunications employees: 12,000 oracle products: Oracle Database, Oracle SOA Suite, Oracle Identity Management, Oracle Supply Chain and Order Management Analytics, Oracle master data management products, Oracle customer relationship management applications, Oracle Application Integration Architecture, Sun SPARC Enterprise Servers

oracle magazine May/June 2010

60

Weve been longtime Sun customers, going back to 1992, and its been a great partnership over the years. For Fjeldheim, Oracles acquisition of Sun is a like a safe harbor for his technology infrastructure. I was worried about another company picking up Sun and killing the product line, says Fjeldheim. So I really like what Oracles doing. I like Oracles track record of acquisitions. Being able to depend on Sunand now OracleSolaris means that I can invest in these products and not worry about moving to another platform. I can count on the Sun products being supported and advanced. My investments in Sun equipment will not be lost. Just as important is the investment that Oracle has committed to key Sun technologies. Im really excited to see additional R&D investment on the Sun hardware and storage side platforms, says Fjeldheim. That level of R&D spending is good news for Sun customers. s part of the acquisition, Oracle also takes over the management of Java, an object-oriented, multithreaded, platformindependent environment for application development and deployment. Java is used in a wide variety of computing platformsfrom embedded devices and mobile phones to enterprise serversand is the foundation for Web and networked services, applications, and platform-independent desktops. More than 2.1 billion mobile devices powered by Java are in use, as well as 2.5 billion Java cards and 800 million Java desktops. Java is one of the crown jewels that is coming to Oracle as part of this acquisition, says Oracles Kurian. Java is, by far, the most i like Oracles track record of acquisitions, says norm Fjeldheim, senior vice president popular programming language in enterprises, with close to 10 and ciO at Qualcomm. Being able to depend on Sunand now OracleSolaris means that million developers in the world building applications with it. Well i can invest in these products and not worry about moving to another platform. enhance and extend the reach of the Java programming model to support the emerging application development paradigm. applications. Now organizations will be able to leverage the core In addition, Oracle plans to integrate and simplify the runtime strengths of both companies through a new, integrated enterprise platform for Java while optimizing it for both existing and emerging software and hardware stack that both reduces complexity and deployment architectures. Oracle also plans to invest in and revitalize increases agility. the Java developer community both by offering best-of-breed By acquiring Sun, Oracle will be able to provide an integrated Java technology and by making the Java community process more hardware and software solution, in which all the components of participatory to people from a variety of different organizations. the technology stack are optimized to work well together, says Sun has long been known for industry-leading, standards-based Qualcomms Fjeldheim. This optimization will enable Oracle computer systems, software, and storage. And Oracle has been solutions to perform faster and more reliably. Oracle and Sun will be well-known for its high-performance databases, middleware, and able to do that better together than separately.

Open StOrage
Oracles Sun open storage combines advanced software with industrystandard hardware, enabling companies to save on storage costs. Sun open storage systems will enable companies to expand their infrastructure without sacrificing initial investments. Other benefits include The combination of Sun open storage with Sun FlashFire, creating world-record performance for storage infrastructure The flexibility to scale, reconfigure, or repurpose infrastructure The ability to deploy in Oracle Solaris, Linux, Microsoft Windows, and VMware environments

David a. Kelly (dkelly@upsideresearch.com) is a business, technology, and travel writer who lives in West newton, Massachusetts. next StepS
JaMes aronovsky

reaD more about the Sun acquisition oracle.com/sun DOWnlOaD Oracles Sun products sun.com/download

May/June 2010 Oracle.cOm/Oraclemagazine

Sterling is the strategic partner of choice to help you design and build a flexible, secure IT architecture to fully utilize the power of new Oracle + Sun technology solutions. As an Oracle Platinum Partner with extensive experience implementing secure Sun and Oracle solutions, our trusted, certified professionals have the proven field experience to help you design, implement and maintain powerful, open systems solutions to leverage the power of the new IT landscape. Government and Commercial customers rely on Sterling to leverage innovations from our industry-leading technology partners for some of the nations most demanding, secure, highly critical application environments. Sterling experts are available to help you understand and meet evolving requirements and share best practices for moving towards a secure cloud architecture. Turn to Sterling for comprehensive, time-sensitive IT solutions that meet todays needs and address tomorrows challenges. Exceptional Requirements Demand Exceptional Performance Sterling Delivers.

To learn more about how Sterling's experts can help with your critical IT needs: Visit www.sterlingcomputers.com/oracle Call 888-US-STERLING Email jeff@sterlingcomputers.com

CLUSTERING

PERFORMANCE

MANAGED

CENTRALLY

DATA

UTILIZATION HETEROGENEOUS
STORAGE CAPACITY

UNUSED

IDENTIFY

DATA

CENTER

VIRTUAL ENVIRONMENTS

STORAGE

IDENTIFY UNUSED
DATA CENTER STORAGE

END-TO-ENDCONSOLIDATE SERVERS

MANAGEMENT

INTELLIGENT

VISIBILITY

REDUCE BACKUP DATA

REDUCE DATA VOLUMES

REDUCE

RISKS

REDUCED

COMPLEXITY

STORAGE

STORAGE SOFTWARE.
99% OF THE FORTUNE 500 RELY ON SYMANTEC STORAGE SOLUTIONS.
Secure, optimize, and manage data more efficiently at go.symantec.com/storageleader

THE LEADER IN

ARCHIVING

Copyright 2010 Symantec Corporation. All rights reserved. Symantec and the Symantec Logo are registered trademarks of Symantec Corporation or its affiliates in the U.S. and other countries. Other names may be trademarks of their respective owners.

HIGH CONTROL
GREEN
EFFICIENCY
RECLAIM DATA CENTER STORAGE

MAXIMIZE STORAGE CAPACITY

REDUCED OPERATIONAL COSTS

MANAGEMENT

LOST

DATA CENTER

AVAILABILITY VOLUME MANAGEMENT STORAGE EFFICIENCY

MIGRATION

COSTEFFECTIVE

STORAGE

DATA PROTECTION CENTRALIZED


RECLAIM

MAXIMIZE DATA CENTER


STORAGE CAPACITY

MAXIMIZE DATA

DOWNTIME

DATA STORAGE

EFFICIENCY

CAPACITY
MANAGEMENT

CENTER STORAGE

POLICY

BASED
ARCHIVING

POWER

SAVINGS

UNSTRUCTURED

ARCHIVE

OPERATING SYSTEMS

OPTIMIZATION EFFICIENT DATA


MITIGATE

AVAILABILITY

INCREASE DATA

SYMANTEC IS IMPROVED
STORAGE

Java Developer

Java By Ed Ort and JanicE J. HEiss

63

Dynamic language Support on the Java virtual machine


a new bytecode and a new linkage mechanism offer better support for dynamically typed languages.

Java dEvElOpMEnt Kit 7

ava Development Kit (JDK) 7 is a prototype of what could be in the next release of Java Platform, Standard Edition (Java SE). JDK 7 introduces several key features to improve the performance, usability, and security of the Java platform. Of particular interest to Java developers is the addition of support for Java Specification Request (JSR) 292. The addition of a new Java bytecode, invokedynamic, for method invocation, and an accompanying linkage mechanism that makes use of a new construct called a method handle, will enable implementers of compilers for dynamically typed languages such as JRuby and Jython to generate bytecode that runs extremely fast in the Java virtual machine (JVM). As a result, you should see more of your favorite dynamically typed languages available in the Java ecosystem, along with a performance boost in code generated by dynamically typed language compilers that run in the JVM. This article will help you take advantage of the new invokedynamic Java bytecode instruction for the JVM and the new method handle linkage mechanism. Dynamically TypeD languages anD The JVm If you said that the JVM is a program that executes Java programs translated into machine-independent bytecode, your statement would be correct but incomplete. The JVM does execute Java programs translated into bytecode, but it is not limited to handling translated Java programs. Increasingly, JVM implementations of dynamic languages are becoming available. These include JRuby, an implementation of the Ruby programming language; Jython, an implementation of the Python programming language; the Groovy scripting language; and Rhino, an implementation of JavaScript.

This is great news for application developers. The flexibility offered by dynamic languages, especially scripting languages, makes these languages particularly attractive for application prototyping and experimentation as well as for applications that evolve rapidly. This flexibility stems from dynamic typing. A language that is dynamically typed verifies at runtime that the values in an application conform to expected types. By comparison, a statically typed language such as the Java programming language does most of its type checking at compile time, checking the types of variables but not of values. The Java language also allows some dynamic type checking of values, especially receivers of virtual or interface method calls. But even these calls require a static type for the receiver. It is easier to write code in dynamically typed languages than in statically typed languages, because the former have morepermissive type matching rules and can perform many type conversions automatically. Dynamic typing is also more flexible than static typing, because it enables programs to generate or configure types based on runtime data. These behaviors can help you create applications more quickly than you would when coding them in a statically typed language. a problem for Dynamically TypeD languages The first step in bringing dynamic languages to the JVM was JSR 223: Scripting for the Java Platform, a specification that defined an API for accessing Java code from code written in dynamic scripting languages. JSR 223 also specified a framework for hosting scripting engines in Java applications. A scripting engine is a program that executes scripting code, either by compiling

or interpreting it. This specification and its implementation made it much easier to create applications that include both Java code and scripting code. Although support for JSR 223 has stimulated the development of scripting engines for the JVM, developers of these scripting engines have faced a troublesome obstacle. When developers write engines that compile dynamically typed languages to run in the JVM, they have to satisfy the requirements of the Java bytecode the JVM executes. Until now, that bytecode has been designed exclusively for statically typed languages, especially in its treatment of method invocation. This design has been a pain point for script engine developers generating bytecodes for method invocation. byTecoDe requiremenTs for meThoD inVocaTion A statically typed language does its type checking before execution, at compile time. What this means for a method invocation is that the compiler, in addition to the bytecode it generates, needs to know the type of the value returned by the method as well as the types of any receiver or parameters specified in the call. Consider the following Java code snippet:
String s = Hello World; System.out.println(s);

Note that the type of parameter for the method is known. Its a String. The println() method doesnt return a value, but if the code example did call a method that does return a value, the type of the return value would need to be specified. The receiver of the call, System.out, also has a statically known type, java.io.PrintStream.

oracle magazine May/JunE 2010

64

Java

Armed with the needed type information, the javac compiler can generate the appropriate bytecode instructions:
ldc #2 // String Hello World astore_1 getstatic #3 // Field System.out aload_1 invokevirtual #4 // Method PrintStream.println

If youre not familiar with bytecode, the important thing to understand is that a lot of the bytecode execution in the JVM involves operations on values in an operand stack. The operand stack is the virtual machine equivalent of the hardware registers in a real machine. Most of the bytecode instructs the JVM to push a value in a local value onto the operand stack, pop a value off the stack into a local variable, duplicate a value in the stack, swap values in the stack, or execute operations that produce or consume values on the stack. For example, heres a commented version of the bytecode:
ldc #2 // Push the String Hello World onto the stack astore_1 // Pop it and store it in local variable #1 getstatic #3 // Push the static field System .out aload_1 // Push the String referenced from local variable #1 invokevirtual #4 // Pop the String and PrintStream, call println.

The receiver class providing the method: java.io.PrintStream The method name: println The number (1) and type (reference to String) of the method argument. The methods return type: V for void (that is, no return value is pushed onto the stack) The signature is encoded as the constant string (Ljava/lang/String;)V, whose format describes the effects of the invocation on the operand stack. In response to the invokevirtual bytecode instruction, the JVM looks for a method with the supplied name and signaturein this case, println:(Ljava/lang/String;)V in the java.io.PrintStream class. If the method isnt in that class, the JVM will search up the chain of the classs superclasses. Note that as a matter of static typing, the receiver class (PrintStream) must match the type of the operand pushed onto the stack (System.out). If the code had attempted to load any other kind of object for the receiver, the JVM would have rejected the code as unverifiable. AwkwArd Attempts At meeting dynAmic requirements Because dynamically typed languages dont provide type information until runtime, implementers must try various approaches to meet the bytecode verification requirements for method invocation, none of which is optimal. For example, suppose the following code snippet exists in a hypothetical dynamically typed language:
function max (x,y) { if x.lessThan(y) then y else x }

implementation might change the previous code snippet to


MyObject function max (MyObject x,MyObject y) { if x.lessThan(y) then y else x }

Clearly the invokevirtual bytecode instruction is different from the other bytecode instructions in the example. It invokes a method in addition to manipulating the operand stack. The full information for the invokevirtual bytecode instruction (noted in the code simply as #4) includes the methods class, name, and signature, as follows:

Note that no type is specified for the receiver or the argumentsafter all, dynamically typed languages do not provide type information until runtime. As a result, the code does not meet the verification rules for method invocation, which require that types be known in advance. The code cant be directly compiled into bytecode on the Java platform. You might solve this problem by creating language-specific Java types for the return value and the method arguments, especially those that act as method call receivers. For example, a dynamically typed language

The language-specific base type MyObject must contain the method isLessThan and any other methods a dynamic language might want to use, in order to meet the bytecode requirements for the method invocation. You might also solve the problem of receiver typing through reflected invocation. This approach uses a java.lang.reflect.Method object to invoke the method. Using a Method object to do the method invocation circumvents having to directly invoke the method and, as a result, bypasses the requirement of having to specify the type of the returned value or the types of any parameters. A third approach you might try is to avoid bytecode altogether and create a languagespecific interpreter for method invocation to run on top of the JVM. Lets take a look at each option. Creating a language-specific base type meets the requirements of the Java bytecode, but it is limited by the need to statically type each receiver to a prescribed base type. One problem with this technique is that a language implementer must think up a list of all methods in advance to put into the base type. Future methods, such as those defined by an end user, must be simulated less directly with a catchall methodoften called invoke or apply. Also, JVM system types such as String and Integer cannot serve directly as receivers of language-specific method calls. The reflected invocation approach has restrictions of its own. For example, a java .lang.reflect.Method object provides access to a method on a class or an interfacejust what an implementer of a dynamic language needsbut the method must come from a specific Java type available at runtime. Although dynamic languages can provide type information at runtime, not all of them can provide normal Java types for reflection. This is particularly true for dynamic languages such as JRuby or Rhino, which have interpreters. This problem can be overcome if the

May/June 2010 Oracle.cOm/Oraclemagazine

65

language defines its own notion of method (a RubyMethod, say), but then another problem arises: simulation overhead. The JVMs native calling sequence (which, as we saw, uses an operand stack) must be simulated by a slow and clumsy alternative such as explicit argument arrays. In the end, the simulation overheads inherent in reflected method objects slow down dynamic code at every language-specific method call. Finally, running an interpreter on top of the JVM to handle method invocations is relatively slow, certainly slower than having the JVM directly handle the processing. JSR 292: The NexT STep iN DyNamic LaNguage SuppoRT JSR 292 aims to solve the problems inherent in trying to fit a square peg (method invocation in a dynamically typed language) into a round hole (the statically based Java bytecode requirements). It does this by introducing the new invokedynamic Java bytecode instruction for the JVM and the new method handle linkage mechanism. ByTecoDe iNSTRucTioNS foR meThoD iNvocaTioN Since its inception, the JVM specification has specified four bytecodes for method invocation: invokevirtual. Invokes a method on a class. This is the typical type of method invocation. invokeinterface. Similar to invokevirtual but invokes a method on an interface. invokestatic. Invokes a static method on a class. This is the only kind of invocation that lacks a receiver argument. invokespecial. Invokes a method without reference to the type of the receiver. (This kind of invocation is restricted to constructors, superclass methods, or private methods.) Lets examine two of these bytecodes: invokevirtual, because its the most typical type of method invocation, and invokeinterface, because its similar in format to the new invokedynamic instruction. The invokevirtual instruction. Recall the invokevirtual bytecode instruction that was shown in the earlier bytecode example. Here it is again, with a slightly more

detailed presentation:
invokevirtual #4 //Method java/io/PrintStream .println:(Ljava/lang/String;)V

The invokevirtual part of the instruction is the 1-byte operation code. The remainder of the instruction, #4, is the 2-byte operand, which provides information about the method call in an abstract way. The operand refers to an entry in a pool of constants, the structure of which need not concern us here. The entry contains a symbolic reference that bundles together information pertinent to the method invocation. The information includes the receiver class that contains the method, the method name, and the method signature. The method signature specifies the methods return type and the types of its arguments. Thus, the syntax of the invokevirtual bytecode instruction consists of an opcode and a constant pool index as follows:
invokevirtual <method-specification>

java.lang.Object, represented by Ljava/lang/ Object, and returns a Boolean result, represented by the Z code. The <n> value in the example is 2, indicating that the method takes two arguments, including the receiver. This extra count could be determined from the signature. The invokedynamic instruction. The syntax of the new invokedynamic bytecode instruction is similar to that of the invokeinterface instruction.
invokedynamic <method-specification> <n>

However, unlike the invokeinterface instruction, the <method-specification> needs to specify only a method name and a signature. There is no mention of a receiver class. In this case, the 2-byte number <n> must be 0. Some JVMs may use this internally to link the instruction to runtime structures. An invokedynamic bytecode instruction might look like this:
invokedynamic #10

The invokeinterface instruction. An invokeinterface bytecode instruction for a Java program might look like this:
invokeinterface #9, 2 //InterfaceMethod java/util/ List.add:(Ljava/lang/Object;)Z

//NameAndType lessThan: (Ljava/lang/Object;Ljava/lang/ Object;)Z

The syntax for the invokeinterface bytecode instruction is as follows:


invokeinterface <methodspecification> <n>

Just as with invokevirtual, the <methodspecification> is a 2-byte constant pool index specifying an interface name, a method name, and a signature. Also, <n> is a 2-byte operand that specifies the number of arguments. As is the case for invokevirtual, the signature specifies the methods argument types as well as the methods return type. In this example, the <method-specification> specifies that the interface is java.util.List and the method is add. The type signature specifies that the method takes arguments of type

Significantly, the invokedynamic bytecode instruction enables an implementer of a dynamic language to translate a method invocation into bytecode without having to specify a target type that contains the method. The method specification in this case is a simplified constant pool reference that specifies only a method name and a type signature. The signature specifies the return type of the call and the types of method arguments. As with invokestatic, none of the arguments is singled out as a receiver. But wait. How does the JVM find the method if the receiver type isnt supplied? After all, the JVM needs to link to and invoke a real method on a real type. The answer to that question is that JSR 292 also includes a new linkage mechanism for dynamically typed languages. When the JVM sees an invokedynamic instruction, it uses this new linkage mechanism to get to the method it needs. This mechanism works through what are called method handles.

oracle magazine May/June 2010

66

Java

A New DyNAmic LiNkAge mechANism: methoD hANDLes JDK 7 includes a new package, java.dyn, that contains the classes associated with dynamic language support in the Java platform. One of the classes in the package is MethodHandle. A method handle is a simple object of type java.dyn.MethodHandle that anonymously encapsulates a reference to a JVM method. A method handle is callable, just like a named reference to a method. Like regular methods, method handles are typed, so there is no possibility of popping the wrong number or wrong types of arguments from the operand stack. Method handles are unique because they are accessed via a pointer structure rather than via a linked name. And unlike reflective methods (which are also anonymous encapsulations of Java methods), method handles can be bound to language-specific data. (The details of the binding process, called partial application, are explained in the technical paper cited at the end of this article.) The point here is that method handles are designed to provide a flexible way to answer the question, What does my invokedynamic instruction actually invoke? As with the other invoke instructions, the first time an invokedynamic instruction is executed, it is linked. When this linking happens, a method handle is assigned to the individual invokedynamic instruction as its particular target. Each time that particular instruction is executed, the JVM invokes the target method handle. Interestingly, the target of any given invokedynamic instruction can change over time in response to changes in the dynamic language program. Another part of this new linkage mechanism is the bootstrap method. A bootstrap method is a method handle that is called once for each invokedynamic instruction when the instruction is linked. The bootstrap method specifies which target method to assign initially to the instruction. Each class that contains at least one invokedynamic instruction must also specify a bootstrap method. The bootstrap mechanism provides a way for a language runtime to participate in method dispatching at runtime, but the java.sun.com/javase/downloads/ea.jsp

approach also enables the JVM to bypass the language runtime if the method dispatch decision doesnt change. When the JVM must link an invokedynamic instruction, it calls a bootstrap method. A call into a languagesupplied method like this is termed an up-call, but normally a linked invokedynamic instruction performs no up-call but, rather, directly invokes the instructions own target method. A method handle is quite simple. All it contains is a type token of class java.dyn .MethodType that describes a specific type, corresponding to the fixed type signatures of the invoke instructions. (Naturally, the target of an invokedynamic instruction must agree exactly with the static signature of the instruction itself.) Also, a method handle implicitly has invocation methods associated with it. To call a method handle, you call its invocation method in much the same way as you call object methods such as List.add. In this case, the call is always of the form MethodHandle.invokeExact(. . .), where the signature is arbitrary but must always match the called method handles own type. Because each method handle has its own type, it will accept only an invoke call of that type. If the type of the call doesnt match the type of the method handle, the method handle will throw an exception. There is also a method called invokeGeneric, which instructs the JVM to attempt minor argument conversions such as casting and boxing. Here, for example, is a snippet of bytecode that calls a method handle:
getfield #678 //MyClass.myMH ldc #999 //123456 invokevirtual #44 //Method java/dyn/ MethodHandle.invokeExact(I)I istore 5

method handle directs the JVM to the appropriate target function. Method handles are unique in that they appear to contain an infinite number of methods named invokeExact, one such method for each possible signature. But any given individual method handle can only respond to exactly one such method call, which matches its own method type. This feature is called signature polymorphism. AN eAsier Life for JAvA DeveLopers Over the years, the JVM has been host to a growing number of languages, including implementations of dynamically typed languages such as Ruby and Python. Support for dynamically typed languages in the JVM is very attractive to application developers who build applications in these languages. Thats because dynamic typing gives developers a lot of flexibility and the JVM delivers a lot of execution efficiency. However, implementers of compilers for dynamically typed languages have found it difficult to meet the JVM bytecode requirements for method invocation. JSR 292 addresses that problem by providing a new bytecode, invokedynamic, and a new linkage mechanism based on method handles. It is one of several revisions to the Java SE platform that can make your life as a Java developer easier.

ed Ort is a former Sun staff writer. Janice J. Heiss is a Java acquisitions editor at Oracle. nexT STePS
reaD more about support for dynamically typed languages in Java Se 7 java.sun.com/developer/technicalarticles/ DynTypeLang/ the technical theory behind invokedynamic www.cs.iastate.edu/~design/vmil/2009/papers/ p09-rose.pdf the JDK 7 release java.sun.com/features/jdk/7 the JDK 7 project openjdk.java.net/projects/jdk7 JSr 292: Supporting Dynamically Typed languages on the Java Platform www.jcp.org/en/jsr/detail?id=292 learn about the Da vinci machine Project openjdk.java.net/projects/mlvm WaTcH The TechCast Show: Mark Reinholds JDK 7 Roundup otn.oracle.com/syndication/techcasts

DOWnlOaD the JDK 7 early access

In this example, the call is to a method handle named myMH with a single int argument. The call also expects an int type to be returned. The method handle has to accept that signature type. Before allowing the call, the JVM will verify (each time) that the method handle includes a type token that matches the calls signaturein this case, (I)I. In response, the

May/June 2010 Oracle.cOm/Oraclemagazine

System Administrator

BACKUP BY KEMER THOMSON

67

Next-Generation Data Backup

STORAGETEK ENTERPRISE BACKUP

StorageTek Enterprise Backup software, Sun chip multithreading servers, and Oracle Solaris deliver end-to-end data protection.

atacenter administrators in all industry segments and in companies of all sizes face a similar array of archive challenges: explosive data growth, pressure to provide promised service levels, forever archive data retention and retrieval requirements, and rising energy costs. As a result, data protection environments are becoming larger, more complex, and increasingly diverse. And while administrators are facing these challenges with a comprehensive backup solution, they also have to control costs and build a platform that will continue to meet growing future demands. To address these challenges, Oracle has developed an open, intelligent, and highly scalable general-purpose archive solution with state-of-the-art technology and breakthrough cost structures. Using Oracles StorageTek Enterprise Backup software and powered by Oracles Sun chip multithreading (CMT) servers and the Oracle Solaris operating system, this solution delivers next-generation data protection for large and small heterogeneous environments alike. And it provides virtually unlimited scalability with central management and end-to-end data protection across heterogeneous technologies. THE BACKUP ARCHITECTURE Oracles data backup architecture is designed as a solution for providing network backups of heterogeneous clients. Based on common implementations of existing customer environments, the target environment includes backup clients connected via a LAN with 1 gigabit Ethernet network links. A key objective of this architecture is to achieve competitive price/performance.

Oracles evaluation of the requirements established the number of backup targets that could be supported and provided an understanding of the system configuration and steady-state CPU utilization required to reach that performance level. In this architecture, StorageTek Enterprise Backup software is used to provide disk- and tape-based data protection as well as archival and recovery management. The solution scales to support an enterprise network with numerous clients running a mix of Oracle Solaris, AIX, HP/UX, Linux, and Windows. The multitier architecture includes backup clients, a management console and backup server, one or more storage nodes, and a wide variety of disk and tape devices that can be configured at the discretion of the system administrator in charge of the installation.

The base reference architecture includes a single StorageTek Enterprise Backup master backup server managing multiple StorageTek Enterprise Backup software storage node servers. These storage node servers are attached to virtual tape libraries, Serial ATA (SATA) disk pools, network-attached storage (NAS) disk pools, EMC Avamar deduplication solutions, and tape libraries that store the backup data and deduplication metadata. The architecture provides a choice of servers for the various backup roles: any Sun CMT server model can be configured as the StorageTek Enterprise Backup software management console, backup server, or storage node, and a single server can function in multiple roles. The configuration in Figure 1 serves a network environment with numerous backup clients running heterogeneous oper-

AIX Backup Clients


1 Gb TCP/IP 1 Gb

HP/UX Backup Clients


1 Gb TCP/IP 10 Gb

Linux Backup Clients


1 Gb TCP/IP 10 Gb

Oracle Solaris Backup Clients


1 Gb TCP/IP 10 Gb

Microsoft Windows Backup Clients


1 Gb TCP/IP 10 Gb

10 Gb and 1 Gb Ethernet Client Network / VLAN


SPARC Enterprise T5220 Server

StorageTek Enterprise Backup Software Management Console Backup Server/Storage Node


SPARC Enterprise T5120 Server

StorageTek Enterprise Backup Software Backup Server/Storage Nodes


SPARC Enterprise T5240 Server Blade T6320 Server Module

StorageTek Enterprise Backup Software Avamar Deduplication Node Storage Pools


10 Gb NFS

10 Gb

8 Gb FC 4 Gb FC 4 Gb FC

8 Gb FC

8 Gb FC

10 Gb Ethernet Backup Network / VLAN

8 Gb Fibre Channel SAN

4 Gb FC

Enterprise Backup Software Storage Units


Storage 7000 Unied Storage System

StorageTek Virtual Tape Library Plus System

Virtual Tape Libraries

Modular Disk
StorageTek 6140 Array

StorageTek 10000B and LTO 4

Tape Drives

StorageTek SL500, SL3000, and SL8500 Modular Library Systems

Tape Libraries

Figure 1: Oracles next-generation backup architecture

ORACLE MAGAZINE MAY/JUNE 2010

68

BACKUP

ating systems, all of which are configured to simultaneously back up their data to the Avamar solution. Although this architecture demonstrates many data backup methodologies, none of the backup devices relies on any other backup device for performance. Despite the fact that this architecture includes multiple StorageTek Enterprise Backup software storage node servers, a single storage node server or a single storage node/backup server can be deployed to support different network backup workloads. This design provides a highly scalable solution, because additional storage node servers and archive devices can be added as needed. ENTERPRISE BACKUP SOFTWARE StorageTek Enterprise Backup software provides a high-performance, scalable data protection solution for heterogeneous environments of any size. A single management console is used for all backup and recovery operations, enabling backup administrators to centrally manage their backup, archive, and recovery infrastructure. The software accommodates multiple servers working together under the administrative control of one server. In this relationship, the StorageTek Enterprise Backup software administrative control server is designated to be the backup (master) server, with the other servers designated as storage node (media) servers operating under the control of the backup server. A backup server and its associated storage node servers are referred to collectively as a StorageTek Enterprise Backup software storage domain. Large networks may require more than a single StorageTek Enterprise Backup software domain. The centrally located management console is used to seamlessly manage the backups and deduplication policies. All administrative functions are performed centrally from the backup server, and the backup server controls all backup scheduling for each storage node server. Each of the storage node servers performs the actual backup operations for client systems under the direction of the backup server, and backup data stays local to the storage node servers and their respective storage devices. A backup server can also function as a storage node server if desired.

File Systems SharePoint

Oracle

SQL

Exchange VMware

Hyper-V

StorageTek Enterprise Backup Software Management Console Backup Server

Enterprise Backup Software


Avamar Deduplication Node

Enterprise Backup Software


Storage Node Disk, VTL, Tape

Figure 2: Oracles next-generation backup implementation

AVAMAR DEDUPLICATION OPTION StorageTek Enterprise Backup software supports both traditional and deduplicated backup with a single, integrated client agent. The Avamar patented global source-based deduplication identifies redundant data segments at the source and transfers only unique data segments across sites and servers before they are transferred across the network. This reduces daily backup data volumes by as much as 500 to 1, backup times by as much as 10 to 1, and total storage by as much as 50 to 1. StorageTek Enterprise Backup software deduplication delivers daily full backups with easy one-step recovery, eliminating the need to restore full and subsequent incremental backups to reach a desired recovery point. The result is fast, efficient, and reliable backup and recovery. StorageTek Enterprise Backup software deduplication with Avamar is ideal for virtual environments, file servers, remote and branch offices, content repositories, and bandwidth-constrained datacenter backup, because only changed data segments are sent during backup. For smaller remote and branch offices, StorageTek Enterprise Backup software clients can be deployed on protected systems, with no additional remote hardware requireddata is backed up directly over existing WAN connections to the datacenter. StorageTek Enterprise Backup

software manages all tasks with one management interface and workflowproviding true control and protection of all data, even at the edge of the organization. Existing StorageTek Enterprise Backup software customers can enjoy the benefits of deduplication without the complexity of adding another backup user interface and backup workflow. Deduplicated clients are backed up and recovered with the same software interfaces and workflows used for all other clients. A single centralized backup server coordinates and manages data backup for multiple networked backup clients. Backups include file systems, Oracle Database and other databases, and virtual machine environments such as Hyper-V and VMware. One or more storage nodes connects to each disk array, virtual tape library, tape drive, and tape library system. A separate Avamar deduplication node provides backup of all deduplicated client data. SUMMARY This architecture is highly flexible, with virtually unlimited scalability. The generic StorageTek Enterprise Backup software architecture supports multiple storage node servers working together under the administrative control of a backup server. Additional storage node servers can be deployed or multiple backup domains can be configured to address evolving scalability requirements. CMT servers and StorageTek Enterprise Backup software enable companies to implement cost-effective and powerful backup solutions for the largest, most diverse environments.

Kemer Thomson is a 21-year veteran of Sun, where he was initially a field sales technologist. He served as technical editor for Sun BluePrints Online for nine years before moving into Oracles Sun Systems group as a product marketing analyst. NEXT STEPS
LEARN more about StorageTek Enterprise Backup software bit.ly/9Ipf3z

MAY/JUNE 2010 ORACLE.COM/ORACLEMAGAZINE

Java Developer

Frameworks by Steve Muench

69

libraries You can Depend on

Oracle JDevelOper/Oracle applicatiOn DevelOpMent FraMewOrk

Modularize your applications by using Oracle application Development Framework libraries.

ask flows in Oracle Application Development Framework (Oracle ADF) help you organize an application around the end-user tasks it supports. But as an application grows, the number of task flows and related business components inevitably increases. The more application artifacts you pile into a single workspace, the harder it is to understand the applications logical organization and the slower navigation becomes. In addition, frequently updated catalog files such as DataBindings.cpx can become problem areas for team development, requiring frequent merge-conflict resolution as different developers work on different task flows. This column shows how Oracle ADF libraries can help address these problems by enabling a more modular application architecture. An Oracle ADF library is a standard Java archive (JAR) file that contains Oracle ADF components along with information that enables Oracle JDeveloper to simplify browsing and reusing them. This information also enables Oracle JDeveloper to help you manage library dependencies. By using Oracle ADF libraries, you can assemble your application from task flows and business components that are developed in separate workspaces. To begin, download the starter workspace at otn.oracle.com/oramag/oracle/10-may/ o30frame.zip and ensure that youre using the studio edition of the Oracle JDeveloper 11.1.1.2 production release, available as a free download on Oracle Technology Network (OTN) at otn.oracle.com/software/products/ jdev. Start by extracting the contents of the o30frame.zip file into the root directory of the C: drive on a machine running Microsoft Windows. If you choose a different location or are running on a different platform, youll need to adjust the path references

accordingly in the rest of this column. Now open the C:/FrameworksMayJun2010/ MainApp/MainApp.jws workspace in Oracle JDeveloper. Before proceeding, adjust the properties of the connection named scott in the Application Resources zone of the Application Navigator until you can successfully test a connection to a SCOTT schema. If you need to create the tables in SCOTT, use the provided CreateDeptEmpTables.sql script in the MainApp workspaces Model project. SAMple AppliCATion overview The sample application enables users to maintain department and employee data. It is modularized into four separate workspaces. The entities workspace contains the core entity object layer used by all the task flows. The empFlow workspace contains the task flows for managing employees and depends on the core entities library. The MainApp workspace provides a simple main menu page that enables users to launch the empflow and deptflow task flows, which it references from Oracle ADF libraries. The DeptFlow workspace contains a partially completed task flow for managing departments. The Libs directory contains all the Oracle ADF libraries for the application as a whole. To get a quick overview of what the application does, right-click the viewController project and choose run. When your browser opens, youll see a simple page with two links. Click the Manage employees link to display a list of employees. Select an employee, click edit, change the employees salary, and click Save. Note that the changed value is reflected in the employee list. Click Done to return to the initial page. The Manage Departments link isnt functional. To bring it to life, youll complete the DeptFlow workspace, using

techniques that mirror those already in use by the empFlow workspace. In the Application Navigator for the MainApp workspace, expand the viewController projects Application Sources and note that it contains a DataBindings.cpx file in the oramag.mainapp.view package. Open the web Content folder, and note that it contains a single Home.jspx page. This main menu page contains links that call task flows to enable end users to perform the tasks available to them. Expand the page Flows folder, and double-click the adfcconfig node. In the task flow diagram, you can see that the Home view activity contains a control flow line for calling the empflow task flow. However, the empflow task flow is not part of this project. If you double-click the empflow task flow call activity in the diagram, the called task flow will open in the editor. If you try to move any of the activity nodes to a new location on the diagram, you wont be able to, because this diagram is read-only. To understand why, position your cursor over the empflow.xml tab title area to study the tooltip that appears (after a short delay). It shows the name of the file displayed in this editor. (If the tooltip disappears before you can finish reading it, move your cursor off the tab title and then hover over it again to get a few more seconds to study it.) You can see that the file path contains empFlow.jar. This is the name of the Oracle ADF library archive file that contains the task flow. That library is produced by the sample applications empFlow workspace. The MainApp workspaces viewController project reuses the empflow task flow from that library. Next, open the empFlow workspace by choosing File -> open from the Oracle JDeveloper main menu and selecting the

oracle magazine May/June 2010

70

Frameworks

C:/FrameworksMayJun2010/EmpFlow/ EmpFlow.jws file. Note that the EmpFlow workspaces contents replace the MainApp workspaces contents in the Application Navigator. (The control at the top of the Application Navigator displays the name of the current workspace and enables you to select any other open workspace to make it current when necessary.) In the EmpFlow workspaces ViewController project, expand the Web Content folder and the Page Flows folder it contains. Note that the empflow task flow appears there. Also expand the Application Sources folder and the package nodes it contains until you see this workspaces DataBindings.cpx file. Note that it is in the oramag.empflow.view package. When you create supplementary workspaces to produce task flows in a library, each workspace must use a unique default package name so that the DataBindings.cpx file in that workspaces ViewController project does not conflict with any other DataBindings.cpx file used in the application. The EmpFlow workspaces ViewController project uses the oramag .empflow.view default package name to avoid clashing with the DataBindings.cpx file in the MainApp workspaces ViewController project. To see the default package name setting, double-click the ViewController project in the EmpFlow workspace to open the Project Properties dialog box. On the Project Source Paths page, note the Default Package field at the bottom. When you create a new workspace, the first step is to ensure that you have configured a unique default package name for both your Model project and your ViewController project. This way, when you begin building components, the files will be created in the correct, unique location. Click Cancel to dismiss the dialog box. In the sections that follow, youll complete the deptflow task flow, deploy it in an Oracle ADF library, and then reuse the new task flow in the MainApp application. USing A LiBrAry FroM thE rESoUrCE PALEttE The deptflow task flow lives in the DeptFlow workspace. Open this workspace in Oracle JDeveloper by choosing File -> open from the main menu and selecting the

C:/FrameworksMayJun2010/DeptFlow/ DeptFlow.jws file. The Model project already contains a DeptModule application module, so the first order of business is to create a view object to work with the list of departments. The entity objects used by all of the applications task flows were developed in a separate Entities workspace and deployed to an Entities.jar Oracle ADF library. Youll start by adding the appropriate Dept entity object from this library to the current project to build a view object on top of it.

as an application grows, the number of task flows and related business components inevitably increases.
Choose View -> resource Palette to display Oracle JDevelopers palette of reusable resources, which helps make quick work of this task. To reference resources, such as Oracle ADF libraries, on the file system, you add one or more entries called file system connections to the Resource Palette. A file system connection provides a nickname for a directory on disk where reusable resources reside. Click the folder-with-a-plus-sign icon to the left of the Resource Palettes search box, and choose new Connection -> File System from the menu. When the Create File System Connection dialog box appears, enter Libraries for Connection name and click Browse to choose a directory path. Find the C:/FrameworksMayJun2010/Libs directory, click it, and then click Select. Click test Connect to ensure that the directory path is correct. If it is, click oK. A new File System node appears in the Resource Palette. Expand it to reveal the new Libraries connection, and expand that to see the Entities.jar Oracle ADF library. Expand this library node and the Business Components folder it contains, and then select the Dept entity object in the oramag .model.entities package. Click the Model project in the Application Navigator to ensure that it is the active project, and then

right-click the Dept entity object in the Resource Palette and choose Add to Project. When the Confirm Add ADF Library dialog box appears, click Add Library. This action performs two configuration tasks under the covers. First, it updates the current (Model) project to depend on this new Oracle ADF library by adding the JAR file to the ADF Library entry in the projects library list. Second, it imports the package of Oracle ADF business components containing the Dept object, so that these components are available to reference in the design-time editors. Next, create a view object to retrieve the department rows. In the Application Navigator, right-click the oramag.deptflow .model package node in the Model project and choose new View object. When the Create View Object dialog box appears, complete the following steps: 1. Enter DeptView for the new view objects name, leave the default Updatable access through entity objects option selected, and click next. 2. Expand the oramag.model.entities package in the Available list, select the Dept entity, click > to shuttle it into the Selected list, and click next. 3. Click the >> Add All button to add all the attributes to the view object, and click Finish to create the view object. Double-click the DeptModule application module to open it in the editor. On the Data Model page, select DeptView in the Available View objects list, enter Departments in the new View instance field (below the Available View objects list), and click > to add a new view instance with this name to the data model. CrEAting LiBrAriES AnD ConFigUring DEPEnDEnCiES Each project that will be part of a set of reusable components should produce its own Oracle ADF library JAR, so now youll create a new Oracle ADF library deployment profile for the DeptFlow workspaces Model projects components. In a subsequent step, youll also create an Oracle ADF library deployment profile for the ViewController project. Start by double-clicking the Model project to open the project properties editor. On the Deployment page, click new to create a

May/June 2010 oracle.com/oraclemagazine

71

new deployment profile. When the Create Deployment Profile dialog box appears, set Archive Type to ADF Library JAR File, enter DeptFlowModel in the Name field, and click OK. In the Edit ADF Library JAR Deployment Profile Properties dialog box that appears, on the JAR Options page, change the default path and filename to C:\FrameworksMayJun2010\Libs\ DeptFlowModel.jar. Click OK once to dismiss this dialog box and OK again to close the Project Properties dialog box. To create the new library archive, rightclick the Model project and choose Deploy -> DeptFlowModel. When the Deploy DeptFlowModel dialog box appears, click Finish to start the process. Click the Deployment tab in the Log window to see the results of the deployment operation. You should see something like Wrote Archive Module to C:\FrameworksMayJun2010\ Libs\DeptFlowModel.jar in the log. To refresh the list of libraries in the Resource Palette, right-click the Libraries file system connection node and choose Refresh. Note that the new DeptFlowModel.jar now appears in the list. The steps you just performed to create a new Oracle ADF library JAR deployment for the model components are the same as the steps completed ahead of time to create the reusable Entities.jar Oracle ADF library you used earlier. By default, Oracle JDeveloper configures your ViewController project to depend on the compiled output of the Model project, so that pages can reference your model objects through the Oracle ADF model data-binding layer. When you produce an Oracle ADF library JAR for your model components, you must first add the model components library JAR to the ViewController projects library list and then update the projects dependency settings to use the new JAR instead of the compiled output. The first step is to click the ViewController project in the Application Navigator to make it the current project. Then, right-click the DeptFlowModel.jar node in the Resource Palette and choose Add to Project. When the confirmation dialog box appears, click Add Library to complete this task. To update the projects dependency settings, double-click the ViewController project to open the Project Properties dialog box and

then open the Dependencies page. Select the Model.jpr entry in the Dependent Projects and Archives list, and click the pencil icon to edit it. In the Edit Dependencies dialog box, note that the check box next to Build Output is checked. Click the check box next to the DeptFlowModel deployment profile. When you do this, an Adjusting Dependencies alert appears to let you know that the two check boxes are mutually exclusive; click OK. Now the DeptFlowModel deployment profile is checked as a dependency, and the original check box is cleared. Click OK to close the Dependencies page. While youre here, you can also create the Oracle ADF library deployment profile for the ViewController project. It will contain the task flows you will finish building shortly. On the Deployment page, click New. Select the ADF Library JAR File archive type, provide the name DeptFlow for the profile, and click OK. On the Edit ADF Library JAR Deployment Profile Options dialog boxs JAR Options page, change the default path and filename to C:\FrameworksMayJun2010\Libs\ DeptFlow.jar, click OK, and click OK again to close the Project Properties dialog box. Next, youll finish building the pages in the deptflow task flow and then deploy the DeptFlow Oracle ADF library you just created. Expand the ViewController project and the Web Content folder inside it. Double-click the ListDepartments.jspx page name to open the page in the editor. Expand the Data Controls section of the Application Navigator, and expand DeptModuleDataControl. If you dont see the Departments data collection, click the refresh icon in the Data Controls section title bar. Drag the Departments data collection, and drop it onto the page below the two existing buttons. In the Create menu, choose Table -> ADF Read-only Table. When the Edit Table Columns dialog box appears, check the Row Selection and Sorting check boxes at the top and click OK. Now double-click EditDepartments.jspx to open it in the editor. Drag the Departments data collection, and drop it onto the page below the two existing buttons. In the Create menu, choose Form -> ADF Form. When the Edit Form Fields dialog box appears, accept the defaults and click OK. Finally, deploy the new DeptFlow Oracle ADF library containing the task flow. Right-

click the ViewController project, and choose Deploy -> DeptFlow. When the Deploy DeptFlow dialog box appears, click Finish. To verify that everything has gone as expected, select the Deployment tab of the Log window and scroll to the bottom. You should see a confirmation message like Wrote Archive Module to C:\FrameworksMayJun2010\ Libs\DeptFlow.jar. Right-click the Libraries file system connection in the Resource Palette and choose Refresh to update the list of available libraries. USiNg A TASK FLOW FROM A LibRARy With the deptflow task flow library now in place, the last step is to integrate it into the main menu page. Start by switching the current workspace back to MainApp, using the list at the top of the Application Navigator. Double-click the Web Content folders adfc-config node in the Application Navigator to open it in the editor. Expand the DeptFlow.jar node inside the Libraries file system connection node in the Resource Palette and the ADF Task Flows folder it contains. Drag the deptflow task flow from the Resource Palette, and drop it onto the task flow diagram. Confirm the addition of the Oracle ADF library by clicking Add Library in the alert that appears. Choose View -> Component Palette, and select the Control Flow Case tool in the palette. Click the task flow diagrams Home activity, and then click the deptflow task flow call activity to connect the two activities with a control flow case. Enter the name ManageDepartments on the line. Double-click the Home activity to open the page in the visual editor. Select the Manage Departments commandLink component on the page, and in the Property Inspector, set its Action property value to ManageDepartments to correspond to the new control flow case you created. When you use the Resource Palette to add a component from an Oracle ADF library, Oracle JDeveloper automatically adjusts your current projects library list to include the library JAR file and any JAR files that library depends on. To confirm this, double-click the ViewController project and select the Libraries and Classpath page of the Project Properties dialog box. Scroll to the bottom of the Classpath Entries list,

oracle magazine May/June 2010

72

Frameworks

and note that two new libraries have been added to the list. The Oracle ADF library contains the path(s) to the Oracle ADF library JAR file(s) on which the project is directly dependent. The Oracle ADF Library Dependencies library contains the path(s) to the library JAR files that are required by the direct dependencies. If you select the ADF Library entry in the list and click Edit, you will be able to see that this project depends directly on the EmpFlow.jar and DeptFlow.jar libraries that contain the task flows being called by the main menu page. Click Cancel, select ADF Library Dependencies, and click View. You can see that this application indirectly depends on the DeptFlowModel.jar and EmpFlowModel .jar libraries that contain the task flow specific model components as well as on otn.oracle.com/software/products/jdev

DownloaD oracle JDeveloper 11g

the core Entities.jar file that contains the common entity objects used by all task flows. Click Cancel and Cancel again to dismiss the dialog boxes. Right-click the ViewController project, and choose Run. When the application launches in your browser, you can see that it now enables users to manage both department and employee data. In this column, we explored using Oracle ADF libraries to reuse common Oracle ADF business components as well as task flow specific model components and the task flows themselves. You are ready to put these concepts to work to modularize your applications and avoid unnecessary developer contention on frequently updated files such as DataBindings.cpx. For more information on creating and using Oracle ADF libraries, see Chapter 32, Reusing Application Components, in Fusion Developers Guide for Oracle ADF 11g at bit.ly/1wCMFH.

a consulting product manager for Oracle JDeveloper. He has developed, supported, and evangelized Oracle tools and XML technologies since 1990 and blogs at bit.ly/ddyMc7.

steve muench is

next steps
reaD more Frameworks otn.oracle.com/oramag/oracle/frameworks reaD more about oracle JDeveloper and oracle aDF otn.oracle.com/products/jdev otn.oracle.com/products/jdev/tips/muench/ designpatterns oracle Fusion middleware download.oracle.com/docs/cd/e12839_01 otn.oracle.com/documentation DownloaD this columns starter workspace bit.ly/9rmeja

UNLIMITED ACCESS. UNLIMITED VALUE.


Safari Books Online, Your Library in the Cloud.
Over 10,500 books, videos and certication guides Search titles from Oracle Press, OReilly, Apress and more Read books before they are published

SIGN UP YOUR TEAM


FOR THE SAFARI BOOKS ONLINE OPEN HOUSE! no strings attached!

safaribooksonline.com /openhouse/oracle

May/June 2010 oracle.com/oraclemagazine

Database Application Developer and DBA

.NET By Christian shay

73

Time for a .NET Tune-Up

OraCle DeVelOPer tOOls FOr Visual stuDiO

tune your .net applications use of Oracle Database with Oracle Developer tools for Visual studio.

eveloping a .NET and Oracle application in Microsoft Visual Studio follows a typical lifecycle. It includes many steps, such as creating users and roles, assigning privileges, creating tables and stored procedures, generating SQL scripts, writing .NET code with Oracle Data Provider for .NET (ODP.NET), and checking everything into source control. Another important phase of the development lifecycle involves tuning your applications use of Oracle Database to maximize performance. Luckily, tools that enhance performance are among the major new features in Oracle Developer Tools for Visual Studio Release 11.1.0.7.20. Oracle Performance Analyzer analyzes your applications use of Oracle Database under load and provides recommendations for resolving performance problems. SQL Tuning Advisor tunes SQL both ad hoc SQL typed in at development time and SQL flagged by Oracle Performance Analyzer as poorly performing. These tools leverage Oracle Databases Automatic Workload Repository (AWR) feature, which captures database statistics, and Automatic Database Diagnostic Monitor (ADDM) feature, which analyzes these statistics and generates recommendations for fixing problems. In this article, we will use these tools to help us clean up a poorly performing application, aptly named ReallyBadCode. Setup To follow along with the example in this article, you will need Oracle Data Access Components Release 11.1.0.7.20 or later, a bundle that includes both Oracle Developer Tools for Visual Studio and ODP.NET. You will also need Microsoft Visual Studio 2008 or 2005, Oracle Database 10g or later with the sample database (and HR schema) installed, and licenses for both Oracle Diagnostics Pack and Oracle Tuning Pack. Youll also need

SYSDBA privileges to use Oracle Performance Analyzer, and the HR user will need the ADVISOR privilege to use SQL Tuning Advisor. The application we will develop requires two new tables based on the HR schema. From Visual Studio, right-click the root node of Server Explorer and create a new Oracle connection, as HR. Next, rightclick the HR connection and choose Query Window. In the query window that opens, enter create table employees2 as select * from employees and click the execute button (the green arrow in the query window toolbar). Next, erase that statement, enter create table departments2 as select * from departments, and again execute the statement. tuning SQL To follow along, download the Visual Studio project associated with this article, available at otn.oracle.com/oramag/oracle/10-may/ o30odpodt.zip. Open the Visual Studio project; youll see that the bulk of the code in the main source file (ReallyBadCode.cs) is shown in Listing 1. Take a close look at it. It creates a connection pool and then repeatedly executes a query, with the WHERE

clause in the query changing dynamically with every loop. It then fetches all the data for each query. Consider the large query created against the HR.EMPLOYEES, HR.DEPARTMENTS, HR. EMPLOYEES2, and HR.DEPARTMENTS2 tables. Given that were still in the development phase without access to real-world production data, how can we tell if that query will perform well? Well, one way is to put it into SQL Tuning Advisor and see what comes back. Copy and paste the query from the code into the HR query window you opened earlier. The query in the .NET code is missing a value at the end of the WHERE clause, so just add the number 0 at the end. Your query should look like this:
select employees2.salary from employees2, departments2 where employees2.department_id= departments2.department_id and employees2.salary <3000 union select employees.salary from employees, departments where employees.department_ id=departments.department_id and employees.salary =0;

linDy GrOeninG

Figure 1: SQl Tuning Advisor

orAclE mAgAziNE May/June 2010

74

.NET

Locate the wrench icon in the query window toolbar, and click it to launch SQL Tuning Advisor (see Figure 1). Alternatively, you can right-click anywhere in the query window and select Tune SQL from the menu. The exact result you get may vary, depending on your database configuration. But, as shown in Figure 1, you will most likely see three results in the Tune SQL tab at the bottom of the query window: one RESTRUCTURE SQL and two STATISTICS finding types. You can read the detailed result descriptions by hovering your cursor over the Recommendations column for each finding. Alternatively, you can click the View Report button, in the lower right corner of the window, to open a text file that contains additional details in an easy-to-read format. In this example, the STATISTICS recommendations warn that the DEPARTMENT2 and EMPLOYEES2 tables have not been analyzed because statistics are not being collected for them. To enable statistics collection, simply highlight each STATISTICS recommendation and click the Implement Recommendation button for it. Next, look at the RESTRUCTURE SQL recommendation. The text indicates a warning that UNION is an expensive operation and that you should use UNION ALL if possible. So modify the SQL to use UNION ALL, and then click the wrench icon again. This time you should see some INDEX warnings, which mean that you are missing indexes. Again, the number of index recommendations you see here can vary, depending on your system configuration. In my case, I see four of them. Click the View Report button to easily view all your INDEX recommendations at once. Next, go to the query window and paste the CREATE INDEX statements suggested in your report. Dont erase the original SQL statement from the query window, because you will want to re-execute it later. By highlighting each CREATE statement and then clicking the execute arrow, you can have the query window execute only the SQL you highlight. Finally, highlight the original SQL statement and click Tune SQL one more time. This time, SQL Tuning Advisor should respond with a no recommendations message. So although it still isnt a pretty piece of SQL,

the performance is now probably as good as we are going to get at design time. TunIng The RunnIng AppLIcATIon Now, modify the SQL statement in the actual application code to use the UNION ALL statement that was recommended by SQL Tuning Advisor. Change the password and datasource parameters in the connect string if needed, build the project, and then choose Start Without Debugging from the Visual Studio Debug menu. Back in Server Explorer, create a new Oracle connection with SYSDBA privileges (if you dont have one). While the application is still running, right-click the SYSDBA connection and select the oracle performance Analyzer menu item to launch the Oracle Performance Analyzer interface (see Figures 2 and 3). Set the duration of the analysis in hours and minutes. I recommend 20 to 30

minutes for this particular test. Five minutes of database time (the actual time Oracle Database spends processing our requests) is required to receive any results, with more database time often resulting in better analysis. Generally database time is only a fraction of the actual time you set here. Finally, click the Start button to begin the timer countdown. When the timer reaches 0, the results (if any) will appear in the panel below. Dont stop your application until youve verified that you have received good results as described below. If sufficient time was spent in analysis, you should see several findings listed in the tree control on the left side of the lower pane of Oracle Performance Analyzer (see Figure 3). The key findings you should see are Hard Parse Due to Literal Usage and Session Connect and Disconnect. Sometimes both findings will appear, and other times you

code listing 1: Main() function of the ReallyBadCode application


static void Main(string[] args) { string constr = User Id=hr; Password=hr; Data Source=; Max Pool Size = 50; Connection Lifetime = 1; int sal = 3000; while (true) { sal++; GC.Collect(); GC.WaitForPendingFinalizers(); OracleConnection con = new OracleConnection(constr); con.Open(); StringBuilder sbSQL = new StringBuilder(); sbSQL.Append(select employees2.salary from employees2, departments2 where employees2.department_id = departments2.department_id and employees2.salary<3000 union select employees.salary from employees, departments where employees.department_id = departments.department_id and employees.salary = ); sbSQL.Append(sal); OracleCommand cmd = new OracleCommand(); cmd.Connection = con; cmd.CommandText = sbSQL.ToString(); OracleDataReader dr = cmd.ExecuteReader(); dr.FetchSize = 10; while (dr.Read()) { } dr.Close(); } }

May/June 2010 OraclE.cOm/OraclEmagaziNE

75

need to fix one finding and then rerun Oracle Performance Analyzer to see the other. (In some cases, due to your specific database or network configuration, you may be missing one of these findings entirely.) If you didnt run the analysis long enough to receive either finding, you can rerun Oracle Performance Analyzer for a longer time period or find information later in the article about how to extend the analysis time without having to start all over again. You might see additional findings, such as CPU Usage and Soft Parse, but as we shall see, these turn out to be side effects of the two primary problem findings and will disappear once those issues are fixed. For each main finding, click each of the child nodes in the tree control to read more about each finding. Key information is usually found in the Recommendations nodes Rationales pane (which happens to be blank for these findings) and in the Description field in the Action nodes. The Action node for Hard Parse Due to Literal Usage has this description: Investigate application logic for possible use of bind variables instead of literals. The Action node for Session Connect and Disconnect states, Investigate application logic for possible reduction of connect and disconnect calls. For example, you might use a connection pool. The code makes it clear that we have violated the most sacrosanct of all database programming best practices: we have modified the SQL statement with literal strings rather than bind variables! Without bind variables, Oracle Database is generally forced to reparse the entire SQL statementa very costly operationand key resources in the form of open cursors for each statement are consumed on the server. By using a bind variable, we can cut this down to a single parse and one open cursor. To add a bind variable, first modify the SQL statement to include the bind variable placeholder :salary Replace sbSQL.Append(sal); with
sbSQL.Append(:salary);

p_salary.OracleDbType = OracleDbType.Decimal; p_salary.Value = sal; cmd.Parameters.Add(p_salary);

The Session Connect and Disconnect finding is a little more difficult to understand. After all, we are using connection pooling, which by definition keeps connections open for usexcessive connections and disconnections should not be an issue. However, given this clue, we can take advantage of ODP.NETs performance counters to examine the connection pool in action. To enable all performance counters, run Registry Editor (regedit.exe), navigate to HKEY_LOCAL_

MACHINE\SOFTWARE\ORACLE\ODP .NET\<your ODP.NET Version>, and set the PerformanceCounters value to 4095 to enable all counters. (For more information, see the ODP.NET online help.) Next, with the .NET application running, run Windows Performance Monitor (perfmon.exe). Click the + sign to add a counter to watch, go to the Performance Object list and choose Oracle Data Provider for .NET, and add HardConnectsPerSecond as well as SoftConnectsPerSecond from the list of available counters. Watching these counters makes it clear that hundreds of soft connects (requests from the pool for an already existing connection)

Figure 2: launching oracle Performance analyzer from Server Explorer

Next, add these lines of code just before the call to ExecuteReader:
OracleParameter p_salary = new OracleParameter();
Figure 3: oracle Performance analyzer

oraclE magaziNE May/June 2010

76

.net

are occurring each second. Every few seconds, though, several hard connections (real Oracle Database authentications) occur. These hard connections are what Oracle Performance Analyzer is complaining about. Even a few unneeded hard connections per second can spoil performance, and with a properly tuned connection pool, this should not happen. To resolve the problem, go back to the code and examine the connection pool connection string attributesstarting with the Connection Lifetime attribute. By specifying this attribute and setting it to one second, we have unwittingly designated that all connections returned to the pool that have been alive for more than one second will get hard-disconnected from Oracle Database and destroyed rather than put back into the pool. Furthermore, because we are not performing a Close() and Dispose() on the connection objects when we are done with them (another ODP.NET best practice), the garbage collector takes longer than one second to return the connection to the pool. When this happens, one of the next requests for a connection from the pool will necessarily result in a hard connect. Not good. We can fix this problem by either greatly increasing the connection string value or removing it entirely. Because its not really needed in this example, delete the Connection Lifetime attribute reference. Next, add con.Close() and con.Dispose() to the end of the program to address the garbage collector issue mentioned above. Finally, reset the registry entry of the performance counters to 0 to turn them off, lest they contribute to bad performance. Tuning is an iterative process. When you fix one problem, you often uncover others. So it is important to repeatedly tune, fix, and repeat until no more problems are found. For this example, build and run the modified application and then run Oracle Performance Analyzer again. This time when the timer counts down and the results are displayed, you should see an Unusual Network Wait Event finding with the following description: Investigate the cause for high SQL*Net message to client waits. (Note: depending on your specific database and networking configuration, you may not receive this finding.) Looking up

more information about these waits reveals that the application is likely suffering from low SQL*Net throughput. Now look at the code and note the Fetchsize setting, 10. That setting specifies only 10 bytes of data per round-trip, whereas the default fetch size is about 130K! It looks as if someone dropped a zero or two. Remove the Fetchsize code (so it will use the default), and run Oracle Performance Analyzer again. This time you should have no significant results, so you are done tuning (for now). If you would like to see the results of prior Oracle Performance Analyzer runs, look in the ADDM Tasks node (found in Server Explorer under the schema of the user running Oracle Performance Analyzer) and double-click the task in which you are interested to redisplay the results. PerforMAnce AnAlysis WiThouT using The TiMer inTerfAce So far we have used only the Oracle Performance Analyzer timer interface to do the performance analysis. Internally, this interface first creates what is called an AWR snapshot when the timer is started. This snapshot is a collection of statistics. Then a second snapshot is created when the timer expires and an ADDM task is created, with the two snapshots defining the analysis period. The actual analysis of the snapshots occurs within the ADDM task. The results of the ADDM task analysis are immediately displayed in the Oracle Performance Analyzer window. The AWR snapshots and ADDM tasks are then listed in Server Explorer (see Figure 2). Using the Server Explorer nodes, menus, and dialog boxes, it is possible to perform these steps manually instead of using the timer. You can create an AWR snapshot by going to the AWr snapshots Server Explorer node, right-clicking, and choosing new AWr snapshot. The dialog box that appears gives you the option of two levels of statistics gathering, Typical or All. One benefit of manually creating snapshots is that you have the option of collecting a larger number of statistics if you so choose. (However, gathering all statistics does affect database performance). After creating one snapshot, wait until the desired analysis time has elapsed and then create a second one. Then right-click the new

snapshot node in Server Explorer and choose new ADDM Task . The dialog box that appears will ask for two snapshots, identified by the times they were taken. After you provide them and click oK, the analysis will be displayed in the Oracle Performance Analyzer window. This manual method enables you to avoid waiting the entire time again when you use the timer and end up with too little database time to get the desired results. If that happens, simply keep the application running and wait a bit longer. Then create a new AWR snapshot and a new ADDM task. In the New ADDM Task dialog box, select the original snapshot created by the timer as the starting time and the new snapshot you just created as the ending time. Another benefit of this manual method is that you have the flexibility of shutting down or restarting Visual Studio during the analysis period if necessary, because the timer is not running. suMMAry In this article, we simulated part of the development lifecycle of an Oracle Database and .NET application by testing ad hoc SQL as well as running performance tests of the application under load. The new SQL Tuning Advisor and Oracle Performance Analyzer features of Oracle Developer Tools for Visual Studio make it easy for Visual Studio developers to handle these key tasks as part of the overall job of building an Oracle Database and .NET application.

christian Shay (christian.shay@oracle.com)


is a principal product manager at Oracle.

next StePS
reaD more Shay cshay.blogspot.com DOWnlOaD ODP.net and Oracle Developer tools for Visual Studio otn.oracle.com/software/tech/windows/odpnet the sample application for this article otn.oracle.com/oramag/oracle/10-may/ o30odpodt.zip learn more about Oracle and .net otn.oracle.com/tech/dotnet reaD more about Oracle performance tuning Oracle Database Performance Tuning Guide download.oracle.com/docs/cd/e11882_01/ server.112/e10821/toc.htm

May/June 2010 Oracle.cOm/Oraclemagazine

Database Application Developer | PL/SQL

Best PrActice PL/sQL By Steven FeuerStein

77

on Working in Parallel
I
have to perform DML [data manipulation language] operations on millions of rows of data. Writing the SQL statement to perform the changes isnt hard, but managing rollback segments and getting the process to finish in an acceptable amount of time are. Does Oracle Database 11g Release 2 offer any new features that can help? Each new version of Oracle Database brings an ever-widening array of builtin or supplied packages that extend the capabilities of Oracle Database. Oracle Database 11g Release 2 is no exception: it contains more than 50 new packages (all documented in Oracle Database PL/SQL Packages and Types Reference), including DBMS_PARALLEL_EXECUTE. DBMS_PARALLEL_EXECUTE now provides the ability to break up a large table according to a variety of criteria, from ROWID ranges to key values and userdefined methods. You can then run a SQL statement or a PL/SQL block against these different chunks of the table in parallel, using the database scheduler to manage the processes running in the background. Error logging, automatic retries, and commits are integrated into the processing of these chunks. To use DBMS_PARALLEL_EXECUTE to run tasks in parallel, your schema will need the CREATE JOB system privilege. You can then use the following subprograms of the built-in package (these are the most commonly used of the packages routines) to achieve your goal: CREATE_TASK creates a named task to be managed by DBMS_PARALLEL_EXECUTE. CREATE_CHUNKS_BY_ROWID defines by ROWID the various chunks of the total set of rows to be modified by the SQL statement. CREATE_CHUNKS_BY_SQL defines, by a user-specified SQL statement, the chunking of data. CREATE_CHUNKS_BY_NUMBER_COL defines, by a numeric column, the chunking of data.

OraCLe DataBaSe 11g reLeaSe 2

Finish faster with DBMS_ParaLLeL_eXeCute.

RUN_TASK runs the named task after chunking has been defined. TASK_STATUS obtains the status of the task. STOP_TASK stops the task. RESUME_TASK resumes the task. DROP_TASK removes the task when it has been completed. All these subprograms and any others in DBMS_PARALLEL_EXECUTEexcept for TASK_STATUSperform a commit. Lets look at a few examples of how to use this package. We will start with the simplest approach: chunking by ROWID.

Suppose I need to apply a raise in salary (specified by a percentage) to all the employees in our company. In case my parallelized task fails for some reason, I want to be able to retry a specified number of times to complete it. Listing 1 displays the code for implementing a parallelized apply_raise procedure. Table 1 explains the use of DBMS_ PARALLEL_EXECUTE subprograms in the apply_raise procedure in Listing 1. The steps in lines 6 through 28 create the task, specify chunking, and run the task. If you are sure

code Listing 1: Chunking by rOWiD in the apply_raise procedure


SQL> PROCEDURE apply_raise ( 2 pct_in IN NUMBER 3 , retries_in IN PLS_INTEGER DEFAULT 2 4 ) 5 IS 6 c_update_statement CONSTANT VARCHAR2 (1000) 7 := UPDATE /*+ ROWID (dda) */ EMPLOYEES emp 8 SET emp.salary = emp.salary * (1.0 + pct_in/100) 9 WHERE ROWID BETWEEN :starting_rowid AND :ending_rowid; 10 c_task_name CONSTANT VARCHAR2 (20) := Give Raise; 11 l_attempts PLS_INTEGER := 1; 12 BEGIN 13 DBMS_PARALLEL_EXECUTE.CREATE_TASK (c_task_name); 14 15 DBMS_PARALLEL_EXECUTE. 16 CREATE_CHUNKS_BY_ROWID (task_name => c_task_name 17 , table_owner => USER 18 , table_name => EMPLOYEES 19 , by_row => TRUE 20 , chunk_size => 1000 21 ); 22 23 DBMS_PARALLEL_EXECUTE. 24 RUN_TASK (task_name => c_task_name 25 , sql_stmt => c_update_statement 26 , language_flag => DBMS_SQL.native 27 , parallel_level => 10 28 ); 29 30 LOOP 31 EXIT WHEN DBMS_PARALLEL_EXECUTE.TASK_STATUS (c_task_name) <> 32 DBMS_PARALLEL_EXECUTE.FINISHED 33 OR l_attempts > retries_in; 34 l_attempts := l_attempts + 1; 35 DBMS_PARALLEL_EXECUTE.RESUME_TASK (c_task_name); 36 END LOOP; 37 38 DBMS_PARALLEL_EXECUTE.DROP_TASK (c_task_name); 39* END apply_raise;

orAcLe mAgAzine May/June 2010

78

Best Practice PL/sQL

the task will complete or if you do not want to recover from any failures, you can simply proceed to line 38 and drop the task. Given that any number of errors can occur during execution of DML statements, however, you may want to build into your parallel task execution the ability to check the status of the task and resume it if a failure has occurred. Lines 30 through 35 in the apply_raise procedure address that challenge. As you can see, DBMS_PARALLEL_ EXECUTE offers an elegant, high-level API for specifying the parallel execution of a DML statement. Chunking by user sQL statement As an alternative to chunking by ROWID, you can provide your own query to specify how you want your data chunked and modified in parallel. The query must contain two
Line(s) 6 significance

columnsstart_id and end_idboth of which must be ROWIDs or numbers. Each row retrieved from this query against the chunking table must specify the start and end values of the chunk. Suppose I want to execute my update against employees by ranges of department IDs. I can create a chunking table (see Listing 2) and then modify my apply_raise procedure. To do this, first I change the WHERE clause of the update statement to specify ranges of department IDs:
c_update_statement CONSTANT VARCHAR2 (1000) := UPDATE EMPLOYEES emp SET emp.salary = emp.salary * (1.0 + pct_in/100) WHERE department_id BETWEEN :starting_deptid AND :ending_deptid ;

With new features of Oracle Database 11g release 2, it is much easier to parallelize execution of DmL operations.
Then I define the query used to specify the chunking rows:
c_chunk_statement CONSTANT VARCHAR2 (1000) := SELECT start_id, end_id FROM department_chunks;

Finally, I create chunks by this SQL statement, specifying that ROWIDs are not used:
DBMS_PARALLEL_EXECUTE. CREATE_CHUNKS_BY_SQL ( task_name => c_task_name

The SQL statement that performs the required update. The hint explicitly chooses a table scan by rowid for the employees table. I also include two placeholders (:starting_rowid and :ending_rowid). This statement will be executed with DBMS_SQL, and the placeholders will be replaced with specific ROWID values as determined by chunk size (see line 20). Defining the task name in a constant to avoid using the hard-coded literal throughout the program. Creating the new task. Specifying chunking by ROWID for this task and the specified table. The by_row parameter is set to TRue so that the chunk size (next argument) refers to the number of rows, not the number of blocks (by_row = FaLSe). Running this task for the specified uPDaTe statement with 10 simultaneous jobs. Starting up a simple loop. exit the loop if the task status returns finished (specified through a package constant) or if the number of attempts exceeds the retry parameter. Calling the ReSuMe_TaSK procedure to resume the task, finishing any incomplete tasks. Dropping the task when it is completed or retries are exhausted.

, sql_stmt , by_rowid

=> c_chunk_statement => FALSE


);

10 13 1521 2328 3033 35 38

The remainder of the apply_raise procedure remains unchanged. Chunking by numeriC CoLumn If the table I am changing contains a numeric column whose values can be used to define the ranges of rows to be updated in parallel, I can specify chunking with this procedure:
DBMS_PARALLEL_EXECUTE.CREATE_

table 1: Use of DBms_ParaLLeL_eXecUte subprograms in the apply_raise procedure

code Listing 2: Creating a chunking table


CREATE TABLE department_chunks (start_id INTEGER, end_id INTEGER) / BEGIN INSERT INTO department_chunks VALUES (1, 500); INSERT INTO department_chunks VALUES (501, 1000); INSERT INTO department_chunks VALUES (1001, 1500); COMMIT; END; /

CHUNKS_BY_NUMBER_COL ( task_name table_owner table_name table_column chunk_size IN IN IN IN IN VARCHAR2, VARCHAR2, VARCHAR2, VARCHAR2, NUMBER);

In other words, I simply need to provide the name of the numeric column. Oracle Database 11g Release 2 then computes the MIN and MAX values of the specified column and divides the ranges evenly, as specified by the chunk size. To implement this approach, I would change the original apply_raise procedure.

May/June 2010 OracLe.cOm/OracLemagazine

79

First, I change the WHERE clause of the update statement to specify ranges of department IDs:
c_update_statement CONSTANT VARCHAR2 (1000) := UPDATE EMPLOYEES emp SET emp.salary = emp.salary * (1.0 + pct_in/100) WHERE department_id BETWEEN :starting_deptid AND :ending_deptid ;

, table_owner , table_name , chunk_size );

=> USER => EMPLOYEES => 1000

, table_column => DEPARTMENT_ID

Next, I create chunks by the department_ id column:


DBMS_PARALLEL_EXECUTE. CREATE_CHUNKS_BY_NUMBER_COL ( task_name => c_task_name

otn.oracle.com/software/products/database

DoWnLoaD oracle Database 11g release 2

The remainder of the apply_raise procedure remains unchanged. DBMS_PARALLEL_EXECUTE provides many more subprograms and supports many more features than can be covered in this column. For example, rather than simply asking to run a task with RUN_TASK, you can control chunk execution by getting a specific chunk with GET_ROWID_CHUNK and then executing it with EXECUTE IMMEDIATE. You can then immediately resolve any errors and decide if you want to commit the changes. This introduction to DBMS_PARALLEL_ EXECUTE should make it clear that with Oracle Database 11g Release 2, it is much easier to parallelize execution of DML operations.

steven Feuerstein is Quest Softwares PL/SQL evangelist. He has published 10 books on Oracles programming language, including Oracle PL/SQL Programming and Oracle PL/SQL Best Practices (OReilly Media). Feuersteins selfappointed mission in life these days is to improve the quality and quantity of PL/SQL code testing. next stePs
reaD more Best Practice PL/sQL otn.oracle.com/oramag/oracle/plsql otn.oracle.com/pub/columns/plsql Oracle Database PL/SQL Packages and Types Reference download.oracle.com/docs/cd/e11882_01/ appdev.112/e10577/whatsnew.htm DiscUss PL/sQL forums.oracle.com/forums/forum .jspa?forumID=75

oracLe magazine May/June 2010

Ease into XBRL compliance with the complete set of tools from Altova
Experience how the Altova MissionKit 2010, the integrated suite of XML, database, and data integration software, delivers all the tool you need to work with XBRL without breaking your budget.

The Altova MissionKit 2010 includes intelligent tools for editing, mapping, and publishing XBRL:
XMLSpy the leading XML editor with XBRL support

ion it vers rd y Wiza xonom L Ta tion XBR menta L docu XBR ration g for gene itionin te pos L rendering lu Abso ise XBR re... prec ch mo nd mu A
64-b

n New i 0: n 201 Ve r s i o

XBRL and Dimensions validation Graphical XBRL taxonomy editing MapForce graphical data mapping & conversion tool Any-to-any mapping of XBRL, database, XML, & Excel 2007+ data Drag & drop generation of XBRL filing reports StyleVision stylesheet design and report publishing tool Publication of XBRL financial reports in HTML, PDF, Word simultaneously Intelligent table wizard for easily presenting renderings of XBRL data

Download a 30 day free trial!


Try before you buy with a free, fully functional, 30-day trial from www.altova.com.

Database Application Developer

Business intelligence by Mark rittMan

81

oracle Warehouse Builder 11g release 2 and Heterogeneous Databases

Oracle WarehOuse builder 11g release 2

use code template mappings to transform non-Oracle database data at the source.

evelopers using Oracle Warehouse Builder have always been able to leverage the features and scalability of Oracle Database to load, transform, and store their data warehouse data. Oracle Warehouse Builder provides a graphical point-and-click environment that helps you easily map data between sources and targets with a set of rich SQL and PL/SQL transformations and manage the full data warehouse project lifecycle, from capture of the data model to deployment across multiple environments. Oracle Warehouse Builder 11g Release 2 extends this capability to non-Oracle sources and targets by leveraging technology from another Oracle product, Oracle Data Integrator. Code templates based on Oracle Data Integrator knowledge modules implement best practices for connecting to, extracting, validating, and integrating data from a wide range of databases and middleware sources. Code templates use a mix of languages and substitution variables to leverage the native capabilities of various datasources. You can also write new code templates for features or datasources not built into Oracle Warehouse Builder. Code templates that handle various aspects of the extract, transform, and load (ETL) process come in six categories: Load code templates, for extracting data from sources Integration code templates, for integrating (loading) data into targets Control code templates, for validating and checking data quality Change data capture (CDC) code templates, for tracking new and changed data in source tables

Oracle target code templates, for encapsulating database-resident mapping (formerly known as Oracle Warehouse Builder mapping) logic and making it available in a code template mapping Function code templates, for deploying functions, packages, and procedures in a code template mapping Code templates provide the technology foundation for three key new Oracle Warehouse Builder features: heterogeneous database support, support for CDC, and support for code template mappings. Heterogeneous database support. Oracle Warehouse Builder 11g Release 2 supports access to a range of Oracle Database instances and non-Oracle databases

through the code template framework. Source platforms that work out of the box with code templates include Oracle Database, files, IBM DB2 UDB, and Microsoft SQL Server, and support for other platforms such as Oracle Essbase and MySQL can be added through Oracle metabase scripting. Developers can still choose to access non-Oracle databases through gateways or Open Database Connectivity (ODBC), but the new code template framework makes setting up connections to other databases easier and does not require configuration steps outside of Oracle Warehouse Builder. Support for CDC. Oracle Database has had native capabilities for the identification and

Figure 1: specifying the sQl server database location

orAcle mAgAzine May/June 2010

82

Business intelligence

transportation of new and changed data from datasources since Oracle9i Database. CDC code templates remove the complexity of identifying such data, through techniques such as mining the source database redo log or applying triggers to capture changes prior to a database commit. The code templates that ship with Oracle Warehouse Builder 11g Release 2 provide this functionality for several Oracle and non-Oracle database datasources. Select the tables for which to track changes when defining your database module, and Oracle Warehouse Builder will handle the technical details in the background. Code template mappings. Probably the most significant new feature for Oracle Warehouse Builder developers, though, is support for code template mappings. Code template mappings combine the familiarity and flexibility of traditional Oracle Warehouse Builder mappings (now called database-resident mappings) with the integration possibilities provided by code templates. For example, with code template mappings, you can extract data natively from a non-Oracle database; perform a JOIN between tables directly on the source database platform; and then load the result, using a MERGE statement, into an Oracle Database instance, thereby following SQL best practices at both the source and the target. The remainder of this article steps through a simple example. Code TemplaTe mapping example: Cross-plaTform daTa inTegraTion Lets take two Microsoft SQL Server 2005 tables containing customer and address data, join them, and then incrementally load data from them into an Oracle Database 11g table. To work through this example, you need Oracle Database 11g Release 2 (which comes with Oracle Warehouse Builder 11g Release 2 already installed) or you can install the Oracle Warehouse Builder 11g Release 2 standalone software in an Oracle Database 10g Release 1 (or higher) instance. To use the default Oracle Warehouse Builder schema in an Oracle Database 11g Release 2 installation,

Figure 2: creating the template mapping module

Figure 3: code template mapping logical view

unlock the OWBSYS and OWBSYS_AUDIT accounts. Among other things, the OWBSYS account (or another schema you might have created for the same purpose) consists of the repository that houses the workspaces and workspace users. In turn, each workspace contains one or more projects. To get started, run the Repository Assistant to create a workspace and a project to use for this example. See the Oracle Warehouse Builder Installation and Administration Guide for details. preliminary setup. In addition to Oracle Warehouse Builder 11g Release 2, you need the source Microsoft SQL Server database and Microsofts JDBC driver, which enables Oracle Warehouse Builder 11g Release 2 to connect natively to Microsoft SQL Server

2005. Download Microsoft SQL Server 2005 JDBC Driver 1.0 from the Microsoft Web site. Uncompress the archive, and copy the sqljdbc.jar file from the package to the $OWBHOME/owb/lib/ext directory. The built-in code templates that access non-Oracle database data consist of Java code that executes in a Java 2 Platform, Enterprise Edition (J2EE) container on the Control Center Agent (also new in this release), the J2EE runtime included with Oracle Warehouse Builder 11g Release 2. Code template mappings are deployed to the Control Center Agent. A module that ties connection and process to the agent is defined during the course of this example, so go ahead and start the Control Center Agent before continuing.

May/June 2010 Oracle.cOm/Oraclemagazine

83

To start the Control Center Agent, execute the ccastart script within the $OWBHOME/ owb/bin/unix or $OWBHOME/owb/bin/ windows directory:
oracle@ora11g cd /u01/app/oracle/ product/11.2.0/owb11gR2/owb/bin/ unixoracle@ora11g ./ccastart

The first time the Control Center Agent is started, you must enter a password for the Oracle Containers for J2EE (OC4J) Administrator account. You will need the password later in this example, so make a note of it. With the server components in place, we can turn to the Oracle Warehouse Builder client application, Design Center, to get started creating the modulesthe containers that identify a location and define the load, transform, or other actionswell need for this integration. Step 1: Create the SQL Server source module. To begin, do the following: 1. Log in to the Design Center application as a workspace user. In the Projects pane, open your project and locate the Databases node. 2. Double-click the Databases node to display the list of available platforms. 3. Right-click the SQL Server node, and select New -> SQL Server Module to launch the Create Module wizard. 4. Name the module SS_SOURCE, and select Native Database Connection for the access method to use the native JDBC drivers. 5. Click OK to continue. The wizard prompts you to create a new database location. 6. Accept the default name, SS_SOURCE_ LOCATION1, and complete the other connection details for the SQL Server database, as shown in Figure 1. For this example, the location details are as follows: User Name: SA (the default system administrator account in SQL Server 2005) Password: password (change this to the relevant password for your source database) Host: 172.16.233.130 (again, change as appropriate)

Port: 1433 Database Name: SampleDB (change as appropriate) Schema: dbo (the default database owner schema in SQL Server 2005) Version: 9.0 (also supports 7.0 and 8.0) 7. When the connection details are correct, click OK to close the dialog box. On the next page of the wizard, check the Import after Finish check box to automatically start the metadata import process when this wizard finishes. 8. Click Next, and click Finish to close the Create Module wizard. The Import Metadata wizard launches. 9. Select Table for Object Type, and then select the tables whose metadata you want to import. For this example, my tables are CUSTOMERS and ADDRESSES. 10. Click Next, and click Finish to complete this process. Step 2: Create the Oracle Database target module. The Oracle Database target module identifies the location of the Oracle Database instance and the table for the transformed data. For this example, because we are using a MERGE transformation to incrementally load the data, the table requires a primary key. To create this module in your project 1. Right-click the Oracle node in the Databases list (under the Project Navigator in Design Center). 2. Select New -> Oracle Module to launch the Create Module wizard. 3. Name the module CUST_DW. 4. Enter the connection details for the target database. Select Import after Finish to launch the Import Metadata wizard when the Create Module wizard finishes. 5. After defining the module, create (or import) the metadata for your target table. For this example, Ive named the target CUSTOMERS_FULL. Step 3: Create the template mapping module. To take advantage of the new heterogeneous connectivity features in Oracle Warehouse Builder, you must create your data mapping as a code template mapping. Code template mappings are created in the Template Mappings area of a project. Before you can create a code template mapping, however, you must define a template mapping module that connects to a Control

Center Agent, as follows: 1. In the Project Navigator of the Design Center, locate the Template Mappings node within your project. 2. Right-click the Template Mappings node, and select New Mapping Module to launch the Create Module wizard. 3. Enter a name for the new module. For this example, well use DEFAULT_AGENT. 4. Click Next to continue. You are prompted to create a location pointing to a Control Center Agent. 5. Click the Edit button to create the location, and enter the connection details for the Control Center Agent, as shown in Figure 2. For example, User Name: oc4jadmin Password: welcome1 (password you entered in Preliminary Setup) Host: ora11g.rittman (change as appropriate) Port: 23791 Port Type: RMI Instance Name: <leave blank> Application Name: jrt HTTP Port: 8888 With the source, target, and container modules defined, you can now create the code template mapping. From the Projects pane, right-click the DEFAULT_AGENT template mapping module created in the previous steps and select New Mapping. 1. Enter a name for the mapping, such as SAMPLE_CODE_TEMPLATE_MAP. 2. Click OK to create the empty mapping. 3. Add the two SQL Server source tables to the mapping canvas. 4. Add a joiner transformation operator to the mapping canvas. 5. Connect the two source tables to the joiner. 6. Define the JOIN condition. 7. Add the Oracle Database target table to the mapping. 8. Connect the Oracle Database target table to the joiner transformation, so that the mapping looks like that in Figure 3. 9. Click the Oracle Database target table within the mapping, and locate the Property Inspector pane, which should now be showing the list of properties for the table.

oracle magazine May/June 2010

84

Business intelligence

10. Within this list of properties, locate the Conditional Loading group and ensure that Match by Constraints is set to ALL_CONSTRAINTS. The logical view is complete, so we can now define the execution view. Step 4: Create the execution view for the code template mapping. Execution units are new in this release of Oracle Warehouse Builder. They are used to associate related mapping operations with a specific code template. This particular code template mapping requires two execution units: one that executes on the SQL Server source and another that executes on the Oracle Database target. After defining the execution units, you will use two code templates to perform the data mapping: LCT_SQL_TO_ORACLE, a load code template that extracts from any generic SQL database source and loads into a temporary Oracle Database table DEFAULT_ORACLE_TARGET_CT, an Oracle Database target code template that acts as a wrapper around classic Oracle Warehouse Builder SQL and PL/SQL mapping functionality To create these two execution units and assign their code templates, return to the Design Center. With your mapping open and with Execution View selected, click the Default Execution Units button in the top left corner. The two execution units needed for this project are created automatically. 1. With Execution View selected, click the SS_SOURCE_LOCATION1_EU execution unit. A multitabbed panel appears by default, under Execution View. 2. Locate the SS_SOURCE_LOCATION_EU Code Template tab under Execution View. 3. Select the Integration/Load Code Template subtab, and then choose the PUBLIC_PROJECT/BUILT_IN_CT/LCT_ SQL_TO_ORACLE code template. 4. Repeat this process for the CUST_DW_ LOCATION_EU execution unit (which runs on the target Oracle Database instance ), but select the PUBLIC_

DOWnlOaD Oracle Database 11g release 2 for linux, Oracle solaris, Hp-ux, or aix
otn.oracle.com/software/products/database

PROJECT/BUILT_IN_CT/DEFAULT_ ORACLE_TARGET_CT code template. Step 5: Deploy the code template mapping. The mapping is now ready to deploy to the Control Center Agent, where it will run. There are a couple of different ways to do this; the simpler one is to open the Control Center Manager from the Tools menu of Design Center and then do the following in the Control Center navigation tree: 1. Expand the project node under which you created the code template mapping, and then expand the location node associated with the mapping module containing the code template mapping. 2. Expand the mapping module node containing the code template mapping. 3. Select the code template mapping created in Step 4, and in the Object Details panel, select Create as the Deploy Action. 4. Click the deploy icon. Check for any warnings or errors that may be generated during deployment, but you can safely ignore any VLD_2753 and VLD-2752 warnings on the source execution unitthey will be suppressed in a future patch release. Finally, run your code template mapping and check that data has been transferred as expected into your Oracle Database instance. As with database-resident mappings, you can start and then monitor the progress of your mapping, using the Control Center Manager, or you can start it directly from within the Project Navigator. For this example, well run the template mapping from the Project Navigator and then display the results of the execution in the log. Step 6: Execute the code template mapping. In the final step, do the following: 1. Select the SAMPLE_CODE_TEMPLATE mapping within the Projects pane, rightclick it, and select Start. 2. The code template mapping executes. You can watch the progress of the execution in the Log pane. Note that the first time you run this mapping, some of the steps relating to work table creation may display a warning (exclamation mark) icon because the mapping drops a work (temporary) table before creating it in a subsequent step (standard practice).

ThE BEST OF BOTh WORLDS As you have seen in this example, the new code template mapping capability enables you to leverage the strengths of non-Oracle source databases without losing the benefits of classic Oracle Warehouse Builder integration, load, and control code mappings. Oracle Databasespecific transformation operators such as dimension operators, cube operators, and match-merge operatorscan be used with the new code templates to support both heterogeneous and Oracle Databasespecific data transformations. By mixing and matching databaseresident and code template mappings in your process flows, you can create data integration processes that leverage the capabilities of both types of mapping. Check out the Oracle Warehouse Builder 11g Release 2 documentation on Oracle Technology Network for more details. Code templates bring the heterogeneous data connectivity and data integration capabilities of Oracle Data Integrator into the Oracle Warehouse Builder toolset, giving you the ability to load, validate, and integrate data across a wider range of datasources. Best of all, because code templates are written with a well-documented template language and a set of substitution variables, you can extend them or write your own to suit your own particular circumstances.

mark rittman is an Oracle aCe director and cofounder of Rittman Mead Consulting, a u.K.-based Oracle partner providing specialized business intelligence, data warehousing, and performance management solutions. next steps
reaD more about Oracle Warehouse Builder 11g release 2 otn.oracle.com/products/warehouse Oracle Warehouse Builder Installation and Administration Guide for Windows and UNIX oracle.com/pls/db111/portal.portal_ db?selected=6 learn more about the product roadmap for Oracle Warehouse Builder and Oracle Data integrator otn.oracle.com/products/warehouse/pdf/ owb_roadmap.pdf

May/June 2010 Oracle.cOm/Oraclemagazine

Database Application Developer and DBA

Ask Tom by Tom KyTe

85

looking at edition-Based redefinition, Part 3


our technologist concludes his exploration of edition-based Redefinition.

oRaCLe DaTabaSe 11g ReLeaSe 2

n the last issue of Oracle Magazine (March/April 2010), I continued to describe what I consider to be the killer feature of Oracle Database 11g Release 2: Edition-Based Redefinition. If you recall from the last issue, Edition-Based Redefinition gives you the ability to perform an online application upgrade of your application. This is the third and final installment of a series of columns examining this new feature. If you have not read the prior two installments, I encourage you to do so before reading this column, because this column builds on the example weve been working with. Last time, our application upgrade was not just a simple patch of our application. It not only replaced some PL/SQL units (patching) but also updated the physical structure of a table involved in our application. It was a true application upgrade that included changes to objects whose type is editionable (our PL/SQL units in the example) and also to some objects whose type is not editionable (our table structures). The following object types are editionable: Synonyms Views (including editioning views, which well define below) All PL/SQL object types (functions, procedures, packages, and so on) All other types of database objects are noneditionable. By deliberate design, a table can never be an editioned object. Thats because it holds data and the developer needs to decide explicitly which data (that is, which table columns) will be unchanged by the upgrade and which table columns will be replaced. Recall from the previous column that to create the illusion (to our application) that a table is editioned, we hide physical schema changes to it with an editioning view. The different occurrence of the same edi-

tioning view in each edition retrieves just the columns from the table that the application using the particular edition needs. Lets begin by recapping where we are in our example. We have an application table we are going to use in the standard sample schema HR: the EMPLOYEES table, specifically. This master list of all employees for some company includes attributes such as their first names, last names, e-mail addresses, and phone numbers. Well pretend that this table has historically been part of an application for a U.S.-based company so the phone numbers are stored in a format a U.S.-based company would recognize easily. U.S. phone numbers are stored with just an area code and then the sevendigit numberfor example, 650.507.9876. International numbers are stored in a format that has the U.S. escape code (used to dial an international number) followed by the country code and then the phone number for example, 011.44.1644.429262. But this fictitious company has been pur-

chased and is now part of a global company. To adhere to the standards of the new parent company, the purchased company must change how it stores phone numbers. It will now store and display all numbers in two fields: a country code field and a phone number field. So for example, using two sample phone numbers, the before and after storage would be
Before PHone_numbeR 650.507.9876 011.44.1644.429262 After CounTRy_CoDe +1 +44 PHone# 650.507.9876 1644.429262

Now this small change (but there is no such thing as a small change, really) involves a couple of steps. Specifically, we have to Modify the schema so the EMPLOYEE table has two new columns: COUNTRY_CODE and PHONE# Modify the schema so the EMPLOYEE table doesnt have a PHONE_NUMBER column anymore

code listing 1: Increasing the size of the emPLoyeeS_RT table


SQL> 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 insert into employees select * from ( with data(r) as (select 1 r from dual union all select r+1 from data where r <= 100 ) select rownum+(select max(employee_id) from employees_rt), FIRST_NAME, LAST_NAME, EMAIL, PHONE_NUMBER, HIRE_DATE, JOB_ID, SALARY, COMMISSION_PCT, MANAGER_ID, DEPARTMENT_ID from employees_rt, data );

11009 rows created.

orAcle mAgAzine may/June 2010

86

Ask Tom

Create a new index on PHONE# for a search screen (and maybe other indexes as well, but well stick with just one index) Mass-move the existing data from PHONE_NUMBER to COUNTRY_CODE and PHONE# Replace the application code in the database that relies on the PHONE_NUMBER column In my previous column, we walked through the concept and implementation

of an editioning view. That view provided a buffer between our application code and the underlying physical schema. The editioning view we introduced in the example, coupled with the nonblocking fast add column feature of Oracle Database 11g Release 1 and above, enabled us to add the two new columns without having any impact on the existing application. The editioning view also enabled us to hide the existing PHONE_NUMBER column from the new

code listing 2: Reviewing the data in eMPLOyeeS_RT


SQL> select phone_number, country_code, phone# 2 from employees_rt 3 where country_code is null 4 and rownum <= 5 5 union all 6 select phone_number, country_code, phone# 7 from employees_rt 8 where country_code is NOT null 9 and rownum <= 5; PHONE_NUMBER 650.507.9833 650.507.9844 515.123.4444 515.123.5555 603.123.6666 011.44.1344.429268 011.44.1344.467268 011.44.1344.429278 011.44.1344.619268 011.44.1344.429018 10 rows selected. SQL> select count(*), 2 count(distinct dbms_rowid.rowid_block_number(rowid)) cnt_blk 3 from employees 4 / COUNTRY_CODE PHONE#

+44 +44 +44 +44 +44

1344.429268 1344.467268 1344.429278 1344.619268 1344.429018

COUNT(*) 11118

CNT_BLK 138

code listing 3: Creating chunks for the mass update


SQL> begin 2 dbms_parallel_execute.create_task(update employees_rt); 3 dbms_parallel_execute.create_chunks_by_rowid 4 ( task_name => update employees_rt, 5 table_owner => user, 6 table_name => EMPLOYEES_RT, 7 by_row => false, 8 chunk_size => 10); 9 end; 10 / PL/SQL procedure successfully completed.

application releasein effect enabling us to virtually drop the PHONE_NUMBER column in version 2 of our applicationwithout affecting version 1. We also created a new index on the newly added columns, using the ONLINE and INVISIBLE capabilities. Starting with Oracle Database 11g Release 1, the CREATE INDEX ONLINE operation is 100 percent onlineit never locks the table at any point, as it did in prior releases. The new INVISIBLE option enables us to create the index without affecting query plans in the existing application version. We used this option because adding an index could make some queries go faster, others run at the same speed, and yet a third category of queries go slower. Because we didnt test the existing application query plans with this new index, we wanted to keep the new index hidden. We left the example in the last issue at the mass-move the existing data stage. We described how a single mass update to move the data would tend to lock the entire table. During the mass update, all other transactions against the EMPLOYEES table would be blocked; version 1 of the application would, in fact, be offline. Additionally, once the single mass update was complete, if the existing (version 1) application inserted a new row or modified the PHONE_NUMBER column in an existing record, those changes would not be reflected in the new columns. We would lose those changes. In order to overcome these obstacles, we looked at two new features. First we discussed the DBMS_PARALLEL_EXECUTE package. (We first looked at that feature, which I nicknamed do-it-yourself parallelism, in Oracle Magazine, November/ December 2009, otn.oracle.com/oramag/ oracle/09-nov/o69asktom.html). Using DBMS_PARALLEL_EXECUTE, well be able to update every row in the table in tiny chunks, using whatever degree of parallelism we desireanywhere from parallel 1 (serial) to 1,000and hence we will never have to lock the entire table but, rather, will lock only a chunk at a time. Second, we introduced a new trigger type: the crossedition trigger. Crossedition triggers will be used only during the application upgrade process (and well drop these triggers as soon as pos-

May/June 2010 orAcle.com/orAclemAgAzine

87

sible after the upgrade process is complete). Crossedition triggers can be used to forward a change from the old version of the application to the new version. They can also be used to reverse a change made by the new application back to the old application schema. So, to catch up, Ill assume you already have the following in place: The DEMO account weve been using. A new VERSION2 edition created as a child of the ORA$BASE edition. A copy of the HR.EMPLOYEES table,

renamed EMPLOYEES_RT (RT stands for Real Tablemy naming convention) in the DEMO schema. This table was altered to include our two new columns. Additionally, the EMPLOYEES_PHONE#_ IDX index was altered. The original EMP_PKG in the ORA$BASE edition that represents our application code; it knows how to create a new employee and how to show the existing data. The EMPLOYEES editioning view in the ORA$BASE edition, which selects just the

columns from EMPLOYEES_RT that the existing version of our application expects. A forward crossedition trigger, EMPLOYEES_FWDXEDITION, that converts an old-style phone number into the new two-column-style phone number. This was all provided in the second column installment (see otn.oracle.com/ oramag/oracle/10-mar/o20asktom.html for the code). We left the end of that example with a simple
SQL> update employees

code listing 4: Looking at chunks in uSeR_PaRaLLeL_eXeCuTe_CHunKS


SQL> select chunk_id, status, start_rowid, end_rowid 2 from user_parallel_execute_chunks 3 where task_name = update employees_rt 4 and rownum <= 5 5 / CHUNK_ID 134 135 136 137 138 STATUS UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED START_ROWID AAAVkkAAEAAAA/YAAA AAAVkkAAEAAAA/oAAA AAAVkkAAEAAAA/wAAA AAAVkkAAEAAAA/4AAA AAAVkkAAEAAABwIAAA END_ROWID AAAVkkAAEAAAA/fCcP AAAVkkAAEAAAA/vCcP AAAVkkAAEAAAA/3CcP AAAVkkAAEAAAA//CcP AAAVkkAAEAAABwPCcP

set phone_number = phone_number; 109 rows updated.

code listing 5: Running the uPDaTe eMPLOyeeS_RT task


SQL> begin 2 dbms_parallel_execute.run_task 3 ( task_name => update employees_rt, 4 sql_stmt => update employees_rt 5 set phone_number = phone_number 6 where rowid between :start_id 7 and :end_id, 8 language_flag => DBMS_SQL.NATIVE, 9 parallel_level => 2 ); 10 end; 11 / PL/SQL procedure successfully completed.

code listing 6: Installing the new application


SQL> alter session set edition = version2; Session altered. SQL> SQL> select object_name, object_type, status, edition_name 2 from user_objects_ae 3 where object_name in ( EMPLOYEES, EMP_PKG ); OBJECT_NAME EMPLOYEES EMP_PKG EMP_PKG OBJECT_TYPE VIEW PACKAGE PACKAGE BODY STATUS VALID VALID VALID EDITION_NAME ORA$BASE ORA$BASE ORA$BASE

That did the mass move of our data, and the forward crossedition trigger would ensure that any subsequent changes made by the existing application would be reflected in the new columns. But that UPDATE would lock the entire table as it progressed through the rowsit would have been an offline operation, and our goal was to make this an online upgrade. So, the steps we will cover to complete the application upgrade example will be Use DBMS_PARALLEL_EXECUTE to update the table in small chunks, permitting concurrent access by the mass move and the existing application Install the new application code while the existing application is still running Install a reverse crossedition trigger that will enable us to execute both the old and the new application code concurrently for a hot rolloverone that requires no downtime at all Clean up after the new application version is the only version being used Using DBMs_PARALLEL_EXECUTE So lets pretend we did not perform that UPDATE but instead added the columns to the EMPLOYEES_RT table and put the forward crossedition trigger in place. We now want to update every row in EMPLOYEES_RT to get the forward crossedition trigger to fire, hence transforming and copying the data from the old column into the two new columns. Enter the DBMS_PARALLEL_ EXECUTE package. In my book Expert Oracle Database

orAcle mAgAzine May/June 2010

88

Ask Tom

Architecture, I spent quite a few pages describing how to perform batch operations in parallel, using a do-it-yourself parallelism approach. The approach was to break up a table into ranges, using rowids (see asktom.oracle.com/pls/ asktom/f?p=100:11:0::::P11_QUESTION_ ID:10498431232211 for an overview of that approach) or primary key ranges (see otn.oracle.com/oramag/oracle/06-jan/ o16asktom.html, Splitting Up a Large Table, for an overview of that approach). Although the approaches I described were straightforward, they were always rather manual. You had to take my technique and tweak it for your specific circumstances. Well, tweak no more. In Oracle Database 11g Release 2, we have a simple way to accomplish exactly what I was trying to demonstrate. The new DBMS_PARALLEL_ EXECUTE package can split up a large table by rowid ranges, by key value, or by a user-defined method. The table is broken up logically, and the database processes each of the ranges in the background, using the scheduler, with error logging, retries, and more. Before we use DBMS_ PARALLEL_EXECUTE, however, well have to (for purposes of demonstration) scale up our EMPLOYEES_RT table, because it is very small right now. First well make it 100 times larger, as shown in Listing 1. Listing 1 uses a new Oracle Database 11g Release 2 featurea recursive WITH subqueryin lines 4 through 9 to generate 100 rows. The listing also performs a Cartesian join with the EMPLOYEES_RT table, which creates a result set that has each row in EMPLOYEES_RT repeated 100 times. It also uses rownum plus the current maximum EMPLOYEE_ID to generate a new primary key on our table and inserts these new rows, instantly making our table 100 times larger than it was (well, 101 times larger, technically). We can review the data as it now exists in Listing 2. Note how some of the rows have the new columns filled in already. We didnt insert them that waythat was the work of the forward crossedition trigger we put in place. Weve set it up already so that if we INSERT or UPDATE the PHONE_NUMBER column in the existing application, the

code listing 7: Replacing the view and package


SQL> 2 3 4 9 create OR REPLACE editioning view employees as select EMPLOYEE_ID, FIRST_NAME, LAST_NAME, EMAIL, COUNTRY_CODE, PHONE#, /

View created. SQL> 2 9 10 11 12 18 19 20 create or replace package emp_pkg as EMAIL in employees.EMAIL%type, COUNTRY_CODE in employees.COUNTRY_CODE%type := null, PHONE# in employees.PHONE#%type := null, HIRE_DATE in employees.HIRE_DATE%type, return employees.employee_id%type; end; /

Package created. SQL> 2 3 4 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 37 38 39 40 41 42 43 44 45 55 56 57 58 create or replace package body emp_pkg as procedure show ( select first_name, last_name, country_code, phone#, email from employees where last_name like show.last_name_like order by last_name ) loop dbms_output.put_line ( rpad( x.first_name || || x.last_name, 40 ) || rpad( nvl(x.country_code, ), 5 ) || rpad( nvl(x.phone#, ), 20 ) || x.email ); end loop; end show; function add ( FIRST_NAME in employees.FIRST_NAME%type := null, LAST_NAME in employees.LAST_NAME%type, EMAIL in employees.EMAIL%type, COUNTRY_CODE in employees.COUNTRY_CODE%type := null, PHONE# in employees.PHONE#%type := null, ) return employees.employee_id%type is employee_id employees.employee_id%type; begin insert into employees ( EMPLOYEE_ID, FIRST_NAME, LAST_NAME, EMAIL, COUNTRY_CODE, PHONE#, HIRE_DATE, JOB_ID, SALARY, COMMISSION_PCT, end add; end; /

Package body created.

May/June 2010 orAcle.com/orAclemAgAzine

89

forward crossedition trigger will automatically forward the change from the columns used by the old version to the columns used by the new version. So this demonstrates that any newly created data in the old application version will maintain the values in the new application version format transparently for us. Next, here are the steps to use to perform the mass update of the EMPLOYEES_RT table without locking the entire table. We need to update all the existing rows, touching the PHONE_ NUMBER column to get the data copied from PHONE_NUMBER into the COUNTRY_ CODE and PHONE# columns. Our existing table is about 138 blocks (as shown in Listing 2), and wed like to update about 10 percent of it at a time. (EMPLOYEES_RT is a small table; on a larger table, youd likely use a much smaller percentage to avoid locking too much of the table at a time). So well break it up into chunks that are 10 blocks or thereabouts in size. The method for doing that is shown in Listing 3. The PL/SQL block of code in Listing 3 did two things: first it created a named task well manipulate further. The first thing it did to that task was to add table chunks by using the CREATE_CHUNKS_BY_ROWID procedure. When the code called that routine, the routine read the EMPLOYEES_ RT table and broke it up into chunks of about 10 blocks apiece (chunk_size=>10). Note that this CREATE_CHUNKS_BY_ ROWID API allows for two ways of chunking up a table: based on numbers of blocks or numbers of rows. Because the code says by_row=>false, the API used the block chunking method. The result of the PL/SQL procedure in Listing 3 is visible in the new USER_PARALLEL_EXECUTE_CHUNKS view in Listing 4. We can see a series of chunks, rowid ranges in fact, that logically divide this table up into pieces. Each of those rowid ranges in Listing 4 is nonoverlapping, but the ranges completely cover the table (the union of all of them encompasses the entire table). This is how we can break our single update into n smaller updates that do not conflict with each other. Now we are ready to perform our update.

code listing 8: Looking at both application versions installed


SQL> select object_name, object_type, status, edition_name 2 from user_objects_ae 3 where object_name in ( EMPLOYEES, EMP_PKG ); OBJECT_NAME EMP_PKG EMP_PKG EMPLOYEES EMP_PKG EMP_PKG EMPLOYEES 6 rows selected. OBJECT_TYPE PACKAGE BODY PACKAGE VIEW PACKAGE BODY PACKAGE VIEW STATUS VALID VALID VALID VALID VALID VALID EDITION_NAME ORA$BASE ORA$BASE ORA$BASE VERSION2 VERSION2 VERSION2

code listing 9: Creating the reverse crossedition trigger


SQL> 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 create or replace trigger employees_revxedition before insert or update of country_code,phone# on employees_rt for each row reverse crossedition declare first_dot number; second_dot number; begin if :new.country_code = +1 then :new.phone_number := :new.phone#; else :new.phone_number := 011. || substr( :new.country_code, 2 ) || . || :new.phone#; end if; end; /

Trigger created.

This is accomplished via the code in Listing 5, which ran our task, using two threads of execution (parallel_level=>2). I used 2 just to demonstrate that you can chunk something up into many more chunks than you ultimately run concurrently. We know we have at least five chunks (displayed in Listing 4), but were running only two at a time. The update we execute is parameterized to accept a rowid range and works only on the records in that range. So, using parallel 2, we updated every row in the tablebit by bitlocking only a small subset of the table at a time. This enabled the existing application to function normally while we did our mass move of data at the same time. NOTE: Executing the task in parallel requires using a schema that has been granted the CREATE JOB privilege, because

RUN_TASK will use the scheduler to run the updates in parallel. If you execute the task sequentially, this is not necessary. After that operation is done and we are satisfied with the results, we can drop the task we created:
SQL> begin 2 3 4 dbms_parallel_execute.drop_ end; / task(update employees_rt);

PL/SQL procedure successfully completed.

We can be safe in the knowledge that all legacy data has been converted and updated in the new application and that the forward

orAcle mAgAzine May/June 2010

90

Ask Tom

crossedition trigger will automatically convert and update in the new application any new legacy data that is created, as well (by the forward crossedition trigger). InstallIng the new applIcatIon code Now wed like to install our new application code. We do that the same way we did in the first installment of this three-part series: we simply switch to the new edition and CREATE OR REPLACE our editionable objects (the EMPLOYEES editioning view and the EMP_PKG package). Note that for brevity, not all of the code is shown in Listing 6, which shows just the modifications to the existing code. This listing shows that we are using the VERSION2 edition, and right now all the code is inherited from the existing version (version 1) of our application in the ORA$BASE edition. Now we replace the view and package, as shown in Listing 7. And now we can see that we have both versions installed, as shown in Listing 8. InstallIng a ReveRse cRossedItIon tRIggeR The editions are installed but not quite ready to go yet. The code in ORA$BASE is all set, but the code in VERSION2 is not quite ready. What if we call the EMP_PKG.ADD routine in VERSION2? It will populate the COUNTRY_CODE and PHONE# column but not the PHONE_NUMBER legacy column! Enter the reverse crossedition trigger, shown in Listing 9. Here we have a trigger that fires only in the context of the VERSION2 application and maintains data in the old application versions format. It will either store just the phone number without a country code for U.S. phone numbers or store the U.S. representation of a foreign phone number, using the 011.country_code.phone_number format. Once that is in place, we can use the new application code in VERSION2:
SQL> begin 2 dbms_output.put_line

3 4 5 6 7 8 9 10 ) ); 11 12 502

( emp_pkg.add ( first_name last_name email phone# hire_date job_id end; / => Tom, => Kight, => TKYTE, => => sysdate, => IT_PROG

country_code => +44,

703.123.4567,

further enhances the online application upgrade process. Not only are we eliminating downtime during the application upgrade, but we are also eliminating it during the switchover to the new version. In the online version of this column, at otn.oracle.com/oramag/oracle/ 10-may/o30asktom.html, I provide additional information on setting the default edition and doing final cleanup on your application upgrade.

PL/SQL procedure successfully completed. SQL> exec emp_pkg.show( Kight ); Tom Kight +44 703.123.4567 TKYTE

PL/SQL procedure successfully completed.

We can see that the data is input correctly. Further, in ORA$BASE we can verify that the legacy data format is still valid:
SQL> connect demo/demo Connected. demo> exec emp_pkg.show( Kight ); Tom Kight 011.44.703.123.4567 TKYTE

evangelist in Oracles Server Technologies division and has worked for Oracle since 1993. He is the author of Expert Oracle Database Architecture: 9i and 10g Programming Techniques and Solutions (apress, 2005) and Effective Oracle by Design (Oracle Press, 2003), among others.

Tom kyte is a database

nexT sTeps
Ask Tom Tom Kyte answers your most difficult technology questions. Highlights from that forum appear in this column. asktom.oracle.com reAD more Tom Expert Oracle Database Architecture: 9i and 10g Programming Techniques and Solutions amazon.com/exec/obidos/tg/detail/ -/1590595300 Oracle Database Concepts 11g Release 2 (11.2) download.oracle.com/docs/cd/e11882_01/ server.112/e10713/toc.htm reAD more about edition-Based redefinition edition-Based Redefinition otn.oracle.com/deploy/availability/pdf/edition_ based_redefinition.pdf a Closer Look at the new edition otn.oracle.com/oramag/oracle/10-jan/ o10asktom.html edition-Based Redefinition, Part 2 otn.oracle.com/oramag/oracle/10-mar/ o20asktom.html Oracle Database Advanced Application Developers Guide 11g Release 2 (11.2) download.oracle.com/docs/cd/e11882_01/ appdev.112/e10471/adfns_editions .htm#aDFnS933 reAD online-only article content otn.oracle.com/oramag/oracle/10-may/ o30asktom.html

Remember that because the databases default edition is ORA$BASE, any session will usewill seethat edition by default. So simply by logging in again, we are running the old version of the application and seeing the old output format with the PHONE_ NUMBER column. settIng the default edItIon To make using the new edition the default, we will use an AFTER LOGON trigger to set the edition for each newly created session. This will enable new sessions to see the new version of our code while enabling existing sessions to continue to execute the old version. By enabling existing versions to continue executing the old code, we will entirely eliminate the dreaded ORA-4068 existing state of packages has been discarded error you would likely have gotten in the past when replacing existing code. This ability

otn.oracle.com/software/products/database

DoWnloAD oracle Database 11g release 2

May/June 2010 orAcle.com/orAclemAgAzine

In the FIeld by Ian abramson

91

the data decade

exploring the possibilitiesand the needs of the future.

he past 10 years have been gamechanging for technology. Todays technology connects people to informationand to each otherin completely new ways. We now take for granted the idea that informationa vast reservoir of connected informationis available to us 24 hours a day. So what will the next decade bring? And how will technology enable us to access this information and use it to better our world? The Data Decade has already begun. What does that mean? To begin, we must look for new infrastructures that can deliver information quickly and securely, because it will be imperative to support the huge volumes of data that will be generated in the coming years. One way to do this is with data appliances such as the Oracle Exadata Storage Server, which is based on Sun hardware from Oracle. The Oracle Exadata appliance has forever changed how Oracle software and hardware interact, providing amazing performance for data warehouses. The speed of this appliance enables many new options for drilling through masses of data, and machines such as these can store and quickly retrieve vast amounts of information for data users. The Oracle Exadata Storage Server is just one example of the kind of enabling technology that will provide seamless access to both structured and unstructured data with utmost speed and accuracy. Resolving queries is not enough: companies need integrated data solutions, and enterprises are adopting master data management and data hubs to provide centers of knowledge. A project that Im involved in illustrates this shift. The customer, a major retailer with a network of more than 1,000 independently owned stores, needs a portal

that will provide its store owners with a single source of information from which they can all glean dataand value interactively. One goal of the project is to enable all the dealers to exchange ideas

In addition to storing, retrieving, managing, and sharing data, people must be able to decode the information.
and strategies that will help them grow their businesses. The solution leverages most of the Oracle technology stack, including Oracle Database 11g, Oracle Universal Content Management, and Oracle WebCenter Suite 11g. The goal is to create an environment that is open and flexible and that can leverage new technology. Oracle WebCenter Suite 11g was selected because it meets current needs and is extensible for future requirements. Because the suite provides so much outof-the-box functionality, the client is confident that future enhancements in Oracle WebCenter Suite 11g will be compatible. In addition to storing, retrieving, managing, and sharing data, people must be able to decode the information they already have. They need tools and methodologies that will help them glean greater value from their data. Business intelligence tools provide the analytics companies need for both structured and unstructured contentto make better decisions, take more-effective actions, and build better business processes. One final area in which we will see con-

tinued growth is the greening of technology. The dual challenges of protecting the environment and reducing the use of resources mean that shrinking our energy footprint will be essential. The 2010 IOUG enterprise platform decisions survey conducted by Unisphere Research and VMware found that in 2009, half of all enterprises increased their use of virtualization, primarily to reduce costs. These cost savings result from consolidation and lower hardware costs, but the side benefit is that enterprises also reduce their energy and resource usage. These areas will see significant changes in the next decade. The goals that will drive IT in the future will be gaining control of and managing our data so that we can discover the value and wisdom it contains and improve our enterprises and our lives.

(ian_abramson@ ioug.org) is president of Independent oracle users Group (IouG) and an oracle data warehousing expert. based in Toronto, Canada, he is the director of the enterprise Data Group for Thoughtcorp, a technology consulting company. a frequent presenter at oracle and industry conferences and seminars, abramson is also coauthor of Oracle Database 11g Beginners Guide (oracle Press, 2008) and an oracle aCe focused on business intelligence and data warehousing.

Ian abramson

next StepS
JoIn IoUg ioug.org read the 2010 IoUg enterprise platform decisions survey www.ioug.org/tech/introresearch.cfm

oracle magazIne may/June 2010

92

analysts cOrner By DaviD BauM

technology convergence for enterprise Workloads


Oracles acquisition of Sun will yield new integrated solutions.

racle Magazine spoke with Jean S. Bozman, research vice president of IDCs Worldwide Server Group, about whats ahead for enterprise customers as Oracle and Sun combine their engineering teams and develop new types of integrated solutions. Oracle Magazine: What is the primary value of the Sun acquisition in terms of Oracles customers? Bozman: Oracle now has a complete technology stack, from disk to application. The acquisition bolstered Oracles extensive product lineup to include many types of servers, storage devices, microprocessors, operating systems, and networking equipment. And of course Oracle now owns Java, which is fundamental to many Oracle products, including Oracle Fusion Middleware. Having this technology in-house will allow Oracle to further develop Java and keep its products in sync. Ideally, this will be realized through something like the Java Community Process to encourage industrywide collaboration with other vendors. Oracle also obtained important software tools from Sun. There are some interesting possibilities for how Oracle will utilize them. Oracle Magazine: How does having this complete stack influence the solutions that Oracle can provide? Bozman: Oracle is now extremely well aligned to help customers create complete business solutions more quickly than in the past. Oracle and Sun can do a lot of system integration work for certain target workloads. This is very attractive to customers. Clearly 2009 was a tough year for many IT departments. Important projects were delayed or deferred, and spending on servers was down across the board. But IDC believes that the server market is at an inflection point. We foresee modest growth

in 2010, and we expect that customers will be thinking about how they can deploy new technology as efficiently as possible going forward. Oracle Magazine: What are the main deterrents to completing these projects? Bozman: Typically IT projects take months or even years to get to the deployment stage. However, now that the engineers from Oracle and Sun can collaborate on system integration work, Oracle will be able to deliver highly integrated solutions that can be leveraged from the beginning of the planning process for a new customer-site deployment. The [Oracle] Exadata servers are an example of preintegrated hardware/software appliances for horizontal applications such as data warehousing and OLTP [online transaction processing] transactional workloads. Equally interesting are the possibilities involving industry-specific software stacks running on servers. Oracle now has everything it needs to pull together integrated solutions for specific vertical markets as well, such as transportation, retail, and telecommunications. For example, Oracle could create turnkey appliances using small servers that are optimized to run its transportation applications. It could bundle its Oracle Database 11g software, Oracle Fusion Middleware, and the vertical applications, and then help a customer to distribute these appliances to multiple locations within the customers organization to manage transportation activities. For customers, these industry-specific solutions will not only simplify development and deployment tasks, but they also will reduce complexities associated with support, maintenance, and vendor relationsand that will happen because there will be a single point of contact for an

entire business solution. Oracle also plans to simplify Suns supply chain, distribution system, licensing policies, and how it engages with channel partners, and that will be of great interest to customers, regarding the impact that may have on server pricing. Oracle Magazine: How might Oracles ownership of Solaris [now Oracle Solaris] and SPARCbased servers affect its Linux offerings? Bozman: Many people have asked whether Oracle will choose SPARC and Oracle Solaris or the x86 platforms with Linux. In our view, Oracle has a great opportunity to pick the pieces that will work best for each solution and for each market, and then to optimize them accordingly. There are so many possibilities for creating integrated-stack solutions. Some of them will play more to the strengths of Linux. Others will play more to the strengths of Oracle Solaris. I think we will see a variety of unique solutions within the Oracle portfolio as it emphasizes the strengths of various hardware/software combinations.

David Baum (david@dbaumcomm.com) is a freelance business writer based in Santa Barbara, California.
iDC (idc.com) is a global provider of market intelligence, advisory services, and events for the information technology, telecommunications, and consumer technology markets.

next steps
learn about Oracles acquisition of sun oracle.com/sun DOWnlOaD Oracle solaris bit.ly/SolarisDownloads the Java platform and tools bit.ly/JavaDownloads

May/June 2010 Oracle.cOm/Oraclemagazine

IQ Test
SPARC
Computer

Fastest

I BMs

Computer

7x Faster
Response Time

6x Energy
Consumed

Building Faster Computers

Building Smarter Planets

oracle.com/sunoraclefaster
Source: Transaction Processing Performance Council, www.tpc.org as of 11/3/09. 12-Node SPARC Enterprise T5440 server cluster, 7,646,486 tpmC, $2.36/tpmC, available 3/19/10. IBM Power 595 Server Model 9119-FHA, 6,085,166 tpmC, $2.81/tpmC, available 12/10/08.
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.

You might also like