DOES YOUR BUSINESS HAVE A HEART?

Data. It’s at the very heart of your business. Your data holds your best ideas, your plans for the future. And when your data is on NetApp, your entire business pulses with strength and feels the beat. Ideas fl ow, breakthroughs happen, markets are tapped—and even created. At NetApp, we’re committed to bringing you storage and data management solutions built to keep the heart of your business beating with strength and effi ciency. Learn how we help your business go further, faster. Visit .com/heart.

© 2008 NetApp. All rights reserved. Specifi cations subject to change without notice. NetApp and the NetApp logo are registered trademarks of NetApp, Inc. in the U.S. and other countries. All other brands or products are trademarks or registered trademarks of their respective holders and should be treated as such.

Untitled-10 1 3/18/08 9:17:38 PM MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE DEVELOPER NATION THE CHOICE OF ARCHITECTURE, STANDARDS, AND TOOLS UNITES THE ORACLE ENTERPRISE APPLICATION DEVELOPER COMMUNITY

WRAP IT UP /36 ENERGIZING THE EFFICIENT ENTERPRISE /41 ENLIGHTENED DEVELOPMENT /44 THE POWER OF TWO /47

MJ08_Cover_02.indd 5 3/24/08 3:00:13 PM Project2 3/18/081:19PMPage1

www.red.de United Statesandothercountries. and technologyarereserved. ,IntelLogo,Inside,InsideItanium, ItaniumInsidearetrademarksorregi All designationsusedinthisdocumentmaybetrademarks, theuseofwhichbythirdparties fortheirownpurposescouldviolat © 2008FujitsuLimited.Allrightsreserved.Fujitsu,the Fujitsu logoand Best-in-class architecture PRIMEQUEST are registeredtrademarksorofFujitsuLimited intheUnitedStatesandothercountries. stered trademarksofIntelCorporation oritssubsidiariesinthe e therightsoftrademarkowners.Changesindesign Project2 3/18/08 1:26 PM Page 2

for Oracle solutions.

FlexFrame™for Oracle Pre-integrated and pre-tested, FlexFrame™ for Oracle paves the way for greater flexibility and cost effectiveness in applications based on Oracle Application Server or Oracle Database. This innovative infrastructure solution distributes resources, replacing rigid hardware and software configurations with virtual relationships.

PRIMEQUEST™ The fault-immune PRIMEQUEST™ server represents best-in-class SMP capabilities for Itanium®-based systems. With its high performance memory sub-system, PRIMEQUEST™ is designed to support robust and demanding database workloads.

Benefit from two best-in-class dynamic IT infrastructure solutions today. Be ready for Service-Oriented Architecture tomorrow. We make sure.

www.fujitsu-group.net PillarAd-Oracle-8x10.875.pdf 3/12/08 4:53:51 PM CONTENTS VOLUME XXII, ISSUE 3

FEATURES WRAP IT UP Not just for visionaries anymore, service-oriented architecture (SOA) applications are widely DEVELOPER deployed in production environments. See how NATION companies use Oracle SOA Suite with business Today’s enterprise application process management developers must acknowledge frameworks and business both legacy and cutting-edge intelligence components to create reusable technologies while using a software components and integrate their variety of architectures, organizations. —David Baum /36 standards, and tools to meet the demands of the enterprise. ENERGIZING Find out how Oracle unites enterprise application developers with a broad THE EFFICIENT range of standards-based choices, ENTERPRISE enabling their businesses to succeed. Many fast-growing companies —David A. Kelly /28 choose the familiar Windows operating system and development platform. Read how businesses running Oracle technology on

Cover illustration by I-hua Chen Windows achieve outstanding performance, scale their technology, and reduce maintenance costs. /41 —Alan Joch

DEPARTMENTS

From Our Readers / 8 From the Editor / 10 12 AT ORACLE Try the Tools —Tom Haunert Events / 12 Oracle News Briefs / 18 Find out about current and Interview / 21 upcoming industry events. Jeff Pollock, senior director of product Oracle Resources / 15 management, Oracle data integration, talks OTN Bulletin / 17 about the new Oracle Data Integration Suite. Learn what’s happening with Oracle’s most dynamic online community.

ORACLE MAGAZINE MAY/JUNE 2008 3

MJ08_TOC.indd 3 3/21/08 11:36:48 AM CONTENTS

59 TECHNOLOGY DATA WAREHOUSE Accelerating Data Warehousing / 59 22 Oracle OLAP 11g brings high-performance data COMMUNITY warehouse features to Oracle Database 11g. Partner News / 22 —Dan Vlamis Liquid Computing, Accenture, Secure Path, Satyam Computer Services, Kepware SQL DEVELOPER Technologies, Knowledge Services Making Database Connections / 63 Book Beat / 22 Connect to Oracle and third-party databases from Oracle SQL Developer. —Sue Harper Commitment / 25 The United Negro College Fund makes college OCP education a reality for many aspiring students. Back Up and Recover / 67 Peer-to-Peer / 26 New backup and recovery features in Oracle Database Debra Lilley, 11g save time and data. —Sushma Jagannath Dennis Remmer, Steve Romeo ASK TOM On Seeing Double in V$SQL / 69 Our technologist looks at SQL repetition in V$SQL and differences in cardinality. —Tom Kyte

44 DEVELOPER 73 COMMENT FRAMEWORKS IN THE FIELD Enlightened Development / 44 New IOUG Award Is Double Honor / 73 Simplifying common navigation and coding From the Oracle Contribution Award to Ken tasks —Steve Muench Jacobs to Tom Kyte —Ari Kaplan BROWSER-BASED ALL SECURE The Power of Two / 47 SOA What? / 75 Use Oracle SQL Developer to aid Oracle Even with service-oriented architecture, consider Application Express development. the source. —Mary Ann Davidson —David Peake

PL/SQL ANALYST’S CORNER SOA Means Business / 76 On the PGA and Indexing Collections / 51 Service-oriented architecture delivers the technology that businesses want. —David Baum Best practices for knowing your PGA impact and indexing collections —Steven Feuerstein

.NET It Takes All Types / 55 Build applications with Oracle Developer Tools for Visual Studio and Oracle user- defined types. —Christian Shay

4 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_TOC.indd 4 3/17/08 4:12:01 PM

Editorial Editor in Chief Tom Haunert [email protected] Senior Managing Editor Caroline Kvitka [email protected] Features Editor Kay Keppler [email protected] Contributing Editor and Writer Blair Campbell Editor in Chief, OTN Justin Kestelyn [email protected] Technology Advisor Tom Kyte Contributors Marta Bright, Ed DeJesus, Kirk Donnan, Jeff Erickson, aaron Lazenby, Fred Sandsmark, Rich Schwerin, Leslie Steere

DESIGN Senior Creative Director Francisco G. Delgadillo D design Director Richard Merchán Designer yasmin Amer

Publishing Publisher Jeff Spicer [email protected]

advertising sales A associate Publisher Kyle Walkenhorst [email protected] +1.323.340.8585 Northwest & Central U.S. Tom Cometa [email protected] +1.510.339.2403 Southwest U.S. Shaun Mehr [email protected] +1.323.658.6250, ext. 205 MidAtlantic U.S. Dawn Becker and Lisa Rinaldo [email protected] +1.732.772.0160 Northeast U.S./Canada David and Ann Schissler [email protected] +1.508.394.4026 Europe/Middle East/Africa/Asia Pacific Mark Makinney [email protected] +44 0 1903.810.210 M mailing-List Rentals Edith Roman Associates +1.800.223.2194, Ext. 684

production & operations Sales and Production Director Jennifer Hamilton [email protected] +1.650.506.3794 Senior Circulation Manager Karin Kinnear [email protected] +1.650.506.1985

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 resources Subscriptions are complimentary for qualified individuals who complete the subscription card found in each Oracle Products issue or online at oracle.com/oraclemagazine. For change of address, mail in label with the new address to +1.800.367.8674 (U.S./Canada) Oracle Magazine, P.O. Box 1263, Skokie, IL 60076-8263. Oracle Services +1.888.283.0591 magazine Customer Service Oracle Press Books [email protected], fax +1.847.763.9638, phone +1.847.763.9635 www.oraclepress.com Printed by Brown Printing Privacy Oracle Publishing allows sharing of our mailing list with selected third parties. If you prefer that your mailing address or e-mail address not be included in this program,­ contact Customer Service at [email protected].

Copyright © 2008, Oracle and/or its affiliates. All Rights Reserved. No part of this publication may be reprinted or other­wise reproduced without permission from the editors. ORACLE MAGAZINE IS PROVIDED ON AN “AS IS” BASIS. ORACLE EXPRESSLY DISCLAIMS ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ORACLE BE LIABLE FOR ANY DAMAGES OF ANY KIND ARISING FROM YOUR USE OF OR RELIANCE ON ANY INFORMATION PROVIDED HEREIN. The information is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

Oracle Magazine (ISSN 1065-3171) is published bimonthly with a free subscription price by: Oracle, 500 Oracle Parkway, MS OPL-3C, Redwood City, CA 94065-1600. Periodicals Postage Paid at Redwood City, CA, and additional mailing offices. • POSTMASTER: Send address changes to: Oracle Magazine, P.O. Box 1263 Skokie, IL 60076-8263.

6 May/June 2008 oracle.com/oraclemagazine The ad ventures of Harry & Garry

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 from our READERS

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

TELEMATICS AND BIOMETRICS Hyperion and as a great fan of your magazine, I’m wondering I was so glad when I saw your article about telematics and when we will see articles on Hyperion issues in the magazine. biometrics (“Embedded Oracle: Telematics and Biometrics,” November/December 2007, otn.oracle.com/oramag/oracle/07- Alexandru Daniela nov/o67embedded.html). I am interested in knowing more [email protected] about these two devices. PDF COPY NEEDED Afolabi Oladeji The Oracle Magazine January/February 2008 digital issue is very [email protected] slow to download. A noneditable PDF file will be appreciated.

Two companies were featured in this article, BIO-Key Susanta Sahu (www.bio-key.com) and Prolificx. Since that article was published, [email protected] Prolificx has been acquired by Imarda. More about that company can be found at www.imardainc.com. There is a way for you to pull down the magazine in PDF format. In the digital edition, Click “Download” in the top right of the BETA EXAMS navigation bar. You can then save a PDF version of the magazine. Oracle had a beta exam for Oracle Database: SQL Certified Expert and the results were released in January 2008. I was LET’S PARTY wondering if you can provide the statistics of how many have After reading “Beyond Declarative Validation” by Steve taken and passed this exam and a breakdown of this informa- Muench (May/June 2007, otn.oracle.com/oramag/oracle/07- tion into different countries. may/o37frame.html), I would like to know how to get party_code from a pop-up window (LOV template) based on Mark Marucot a selected party_type (drop-down LOV). I have already set [email protected] one bind variable in a pop-up LOV for searching party_name. How do I bind party_type with party_code? To date, 200 people have completed the Oracle Database SQL Expert Beta Exam, but a breakdown by country is not available. Aribam Priya For more information on the Oracle Expert Program, includ- [email protected] ing which exams are scheduled and how to take them, please go to education.oracle.com/pls/web_prod-plq-dad/db_pages Steve Muench replies: If you are using Oracle JDeveloper/ADF .getpage?page_id=189. For the certification forum, please go to 10.1.3, I suggest looking at section 19.3.1: How to Create Popup forums.oracle.com/forums/forum .jspa?forumID=459. Dialogs of the Oracle Application Development Framework Developer’s Guide for Forms/4GL Developers (download.oracle ORACLE E-BUSINESS SUITE COVERAGE .com/docs/html/B25947_01/web_complex003.htm#CEGDIBCH) on I have found very few articles on Oracle E-Business Suite in the Oracle ADF Learning Center at otn.oracle.com/products/adf/ Oracle Magazine. Can we have articles on Oracle E-Business learnadf.html for more information. The SRDEmo sample applica- Suite appear more regularly? tion features the SRStaffSearch.jspx page, a pop-up LOV dialog.

Devendra Gulve send mail to the EDITOR [email protected] Send your opinions about what you read in Oracle Magazine, and suggestions for possible technical articles, to [email protected]. Or click the Write the MORE ABOUT HYPERION Editors link on our Web site, oracle.com/oraclemagazine. It’s been a while since Oracle acquired Hyperion. As a busi- Letters may be edited for length and clarity and may be published in any medium. We consider any communications we receive publishable. ness intelligence consultant working both with Oracle and

8 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_READERS.indd 8 3/14/08 3:19:01 PM CRM On Demand

#1 In CRM

Pre-Built Integrations to ERP

Tailored By Industry

Private Database Option

Oracle Customer Relationship Management Over 4.6 Million Satisfied Users

CRMOnDemand.com or call 1.866.906.7878

Copyright © 2008, Oracle. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. from the EDITOR

Try the Tools Oracle Technology Network serves up the tools, the ACEs, and the interaction.

ith a little help, I recently finished rebuilding a use full versions of the products for free both for self-educational stairway that connects my house to my backyard. purposes and while developing and prototyping your applica- This was a low-priority project that I had decided to tions. This makes Oracle development tools free to download tackle with the tools I had, rather than investing in and free to learn, and the evaluation period is unlimited. (Some new ones; I didn’t want more tools that I might never use again, Oracle development tools offer an even better license. Oracle and I already had more tools than garage space. JDeveloper and Oracle SQL Developer, for example, are free, Some knowledgeable people helped me with the project, without the self-education or development restrictions.) offering suggestions about a variety of things. My own slow Information on all Oracle products and technologies is progress and their descriptions of tools that would save time available on OTN, including best-practices information and finally inspired me to make the project a high priority and get how-to articles. And when you are ready to share your experi- the equipment I needed to finish the job quickly. ence and recommendations about the Oracle products you After buying several expensive new tools, I quickly finished have tried, there are many ways to interact with Oracle ACEs, the backyard stairs, making good use of some of the new tools technology experts, and users through the discussion forums and underusing others. My next project is an obvious one: (forums.oracle.com), blogs (blogs.oracle.com), the Oracle Wiki creating new storage for the tools in my garage. (wiki.oracle.com), and one of the newest information exchange vehicles, Oracle Mix (mix.oracle.com). THE DEVELOPER GARAGE My latest power tool investments have increased my apprecia- THE DEVELOPER MAGAZINE RACK tion for the process of trying and using software tools. Software This is the annual developer issue of Oracle Magazine, and I’m development tools may take up some space, but with the size happy to report that the Oracle tools discussed in this issue are of today’s hard disks, it would take a lot of tools to fill your available for download, self-educational purposes, developing “developer garage.” Additionally, with tools such as Oracle and prototyping applications, and more through OTN. Note JDeveloper and Oracle SQL Developer, you can install and that in Christian Shay’s “It Takes All Types” (page 55)—about easily continue to use multiple releases, including the latest using the new release of Oracle Developer Tools for Visual production and technology preview or early adopter releases. Studio—trial versions of the referenced third-party software are And if space or managing multiple versions of the same tools available, but there may be restrictions on the evaluation period is an issue, there are hosted instances of tools such as Oracle and the number of times that a trial product can be installed. Application Express (apex.oracle.com) that allow you to use I see the use of Oracle SQL Developer growing in presenta- the latest production release along with the latest beta or tions, demonstrations, and articles, and the tool is featured preview release (when available). prominently in this issue, in three different Technology and Software tools have another advantage over physical tools in Developer section articles as well as the “Developer Nation” that you can easily try them—for free—before you buy them. (page 28) cover feature. In this issue’s Oracle SQL Developer The Oracle products available on OTN (otn.oracle.com/software) column (page 63), Sue Harper describes the product’s latest come with a standard development license that allows you to database connection features, including connections to third- party databases.

YOU’RE ACES The cover of this issue of Oracle Magazine is a true composite READ more about application. The “Developer Nation” cover features pictures of Oracle Developer Tools otn.oracle.com/products/developer-tools more than 100 Oracle ACEs. Oracle SQL Developer Is your picture on this cover? If you are not yet an Oracle otn.oracle.com/products/database/sql_developer ACE, learn more about the Oracle ACE program and the nomi- Oracle ACE Program nation process at otn.oracle.com/community/oracle_ace. otn.oracle.com/community/oracle_ace Oracle Mix Tom Haunert, Editor in Chief mix.oracle.com [email protected]

10 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_EdNote.indd 10 3/17/08 4:18:42 PM

at OracleEVENTS

ORACLE USER GROUPS Australian Oracle User Group Bootcamps: Oracle Fusion Middleware and Oracle E-Business Suite Release 12 Financials Technology Events May 5–12, Melbourne, Australia www.ausoug.org.au Conferences and sessions to help you stay on the cutting edge Georgia Oracle Users Group Meeting May 8, Atlanta, Georgia www.gouser.org ODTUG Kaleidoscope UKOUG Oracle Spatial SIG Meeting May 14, London June 15–19, New Orleans www.ukoug.org The Oracle Development Tools User Group’s Northern California Oracle Users Group annual Kaleidoscope conference returns Spring Conference to New Orleans with two full-day symposia May 15, Foster City, California on Oracle Fusion Middleware and Oracle www.nocoug.org Application Express, a half-day session on Twin Cities Financial OAUG Quarterly Oracle Application Express versus Oracle Meeting May 15, Bloomington, Minnesota Application Development Framework, and twincitiesfin.oaug.org more than 100 sessions. Get details at . Southern California PeopleSoft User Group www.odtugkaleidoscope.com Quarterly Meeting May 20, Long Beach, California scp.oaug.org JavaOne Global Oracle Human Capital Swedish and Finnish Oracle User Groups May 6–9, San Francisco Management Users Group 2008 Baltic Sea Cruise This annual conference continues to expand Conference May 20–22, Stockholm to Helsinki and back its program into areas that play well with June 22–25, Las Vegas May 21–23, Helsinki to Stockholm and back www.ougf.fi Java technology, including rich internet This annual conference provides a venue www.orcan.se applications, scripting languages, Web 2.0, for Oracle E-Business Suite and Oracle’s Nashville Oracle Users Group Meeting e-commerce, collaboration, and developer PeopleSoft Enterprise users to interact with java.sun May 21 and June 18, Nashville, Tennessee tools. Get details and sign up at peers, vendors, and Oracle thought leaders. www.noug.net .com/javaone/sf. Vertical sessions for retail, education, and com- Northeast Ohio Oracle Users Group pensation and benefits have been added. Learn Meeting Management World 2008 ohug.org/index.php/conferences more at . May 22–23, Cleveland, Ohio May 18–22, Nice, France neooug.org Sponsored by TM Forum and featuring more Healthcare Financial Management Association Annual Ohio Valley OAUG Spring Conference than 3,500 attendees from 70-plus countries, May 23, Cincinnati, Ohio Management World is a global event for the National Institute ohio.oaug.org June 23–26, Las Vegas management of information, communications, New York Oracle Users Group Summer and entertainment services in an online world. This conference features sessions on topics General Meeting Get more information at www.tmforum.org/ including accounting, audit, and tax exemption; June 10, New York City www.nyoug.org events/managementworld2008/4807/ pricing strategies and patient communication; home.html. and supply chain and cost management. Sign Dallas Oracle Users Group Membership up at www.hfma.org/ani/2008. Drive Party Microsoft Tech-Ed 2008 June 26, Addison, Texas www.doug.org/meetings2008.cfm For Developers: June 3–6 Gartner SOA and Application For IT Professionals: June 10–13 Development and Integration Orlando, Florida Summit With back-to-back conferences for devel- June 25–26, London events LOCATOR opers and IT professionals, Microsoft’s With end-user case studies, analyst roundtables, Oracle Events largest annual technical education event has and information on new integration technologies, oracle.com/events expanded to meet the specific needs, inter- this summit covers service-oriented architecture, Oracle OpenWorld 2008 oracle.com/openworld ests, and priorities of two distinct audiences. application integration, Web services, middleware, www.microsoft Locate user groups Get details and sign up at and rich internet applications. Learn more at otn.oracle.com/collaboration/user_group .com/teched2008 www.gartner.com/it/page.jsp?id=605110 . . IMAGES GETTY

12 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_Events.indd 12 3/12/08 1:52:39 PM 08010320_ow_june_profit_ad.pdf 3/7/08 3:23:16 PM Drag & Drop Data Conversion

Check out Altova MapForce® 2008 – the award-winning graphical data mapping tool from the creator of XMLSpy®. Drag & drop to map, convert, and transform data between:

Flat XML EDI files WS

XML Databases EDI Flat Files Web Services

• Drag & drop data mapping & conversion • Connecting data to Web services • Support for all major relational databases • Auto-generation of XSLT 1.0 and 2.0, XQuery, Java, • Database query window with SQL editor C#, or C++ for royalty-free use • FlexText utility for parsing fl at fi les • Drag & drop Web services creation • Support for EDIFACT and X12 EDI messages • Extensible function library for fi ltering / processing data • Integration with Microsoft® Visual Studio® 2005 • Visual function builder for custom functions & 2008 • Instant data conversion & output window

Once you have defi ned a data mapping in MapForce, simply click the Output Window to convert data instantly. Or, generate royalty free code – and deploy it with no addi- tional fees or deployment adaptors required. With MapForce, you can implement data integration and Web services applications without writing any code!

Test drive MapForce for yourself – Download a free, 30-day trial at www.altova.com

M F O l M i dd 1 3/4/2008 10 9 08 AM omag0508p014.indd 1 3/18/08 10:41:58 PM at OracleRESOURCES

What’s New at Oracle The latest podcasts, courses, and offers

WEBCAST financial data, and apply system security to egy, including the most recent acquisitions Upgrading to Oracle Fusion Applications: Hyperion Financial Management data. and the product road map. Planning Ahead Hyperion Planning 9.3.1: Create and Manage SOA for the Real World oracle.com/pls/ebn/live_viewer.main?p_ Applications oracle.com/techcasts shows_id=6119672 oracle.com/education Demed L’Her, senior principal product Cliff Godwin, senior vice president of appli- (Search keyword: Hyperion Planning 9.3.1) manager from the Oracle SOA Suite team, cations development, Oracle, discusses This five-day course provides instruction talks about what’s unique in the suite and the importance of upgrading to the latest for creating and managing applications why support for service component archi- Applications Unlimited releases and the using Hyperion Planning. Students learn tecture and complex event processing tech- evolutionary path to Oracle Applications to create applications, add dimensions nologies is so important. built on Oracle Fusion Middleware. and members, import members, load data, Oracle Real Application Testing set up security, create data forms, set up oracle.com/database/podcasts.html PRODUCT DEMOS task lists, set up calculations, and move a David Mitchell, senior vice president of Oracle JHeadstart Demos Available plan through the planning cycle. Students research at Ovum, discusses the key chal- otn.oracle.com/products/jheadstart also learn to access data offline and lenges facing IT when it comes to inad- Oracle JHeadstart is an extension to analyze plan data. equate testing of production applications Oracle JDeveloper that boosts devel- following change implementation and how oper productivity when building Oracle PODCASTS Oracle Real Application Testing stacks up Application Development Framework Greening Your Supply Chain (Oracle ADF) applications. It is based oracle.com/profit/audiocasts.html on Oracle Consulting’s best practices Rich Kroes, product strategy director for on various large Oracle ADF projects. Oracle supply chain management, spent For Oracle product information, call the number for New demos are available for download 2007 raising awareness about the economic your region: that show you how to add multilanguage and social benefits of a greener supply Country Phone Number U.S. and Canada...... 1.800.367.8674 support, fine-grained security, and flex- chain. He talks about how Oracle’s exper- Australia ...... 1800.735.467 fields to your Oracle ADF application; tise with data and operational efficiency Austria...... 0800.29.7626 Belgium...... 0800.73280 upgrade your Oracle JHeadstart/Oracle make the company’s solutions perfect for Brazil...... 0800.901.985 ADF 10g application to Oracle ADF 11g; and going green. China...... 800.810.0161 Denmark...... 8088.1068 migrate your Oracle Forms application to Hosting Government Systems with Oracle Finland ...... 0800.113.573 France ...... 0800.905.805 an Oracle ADF application. On Demand Germany...... 0800.1.810.111 oracle.com/magcasts Greece...... 00800.353.12020 Hong Kong...... 3002.1246 ORACLE UNIVERSITY Richard Cirigliano, Oracle vice president, On India ...... 1600.44.6725 Hyperion Financial Management 9.3.1: Create Demand for the federal government prac- Indonesia...... 001.800.1.672.253 Ireland...... 1850.672253 and Manage Applications tice, talks about how hosted software has Italy ...... 8008.74720 oracle.com/education Japan ...... 0120.155.096 fundamentally changed the IT strategy of Malaysia...... 1800.80.1837 (Search keyword: Hyperion Financial the U.S. federal government. Mexico...... 01800.221.7321 The Netherlands ...... 0800.0827 Management 9.3.1) What’s Fueling the Increased Customer New Zealand ...... 0508.555.215 This five-day course provides instruction Adoption of Identity Management and Driving Norway...... 800.14411 Philippines...... 811.5831 on creating and managing applications in Oracle’s Security Product Strategy? Portugal...... 800.853.021 oracle.com/products/middleware/ Singapore...... 1800.6722.531 Hyperion Financial Management. Students South Africa...... 0800.994.225 learn to create an application, enter data, ofmradio.html South Korea...... 080.2194.114 Spain...... 900.952900 and adjust and view data using data grids Hasan Rizvi, vice president of identity Sweden ...... 020.798798 and data forms. They also learn to enter and management products, Oracle, talks about Switzerland...... 0800.55.2574 Taiwan...... 0800.672.253 process journals and intercompany data, trends driving increased customer adoption Thailand ...... 001800.441.0545 Turkey ...... 00800.353.90014 load rules, calculate and consolidate data, of identity management and what’s driving U.K...... 0870.5.332200 manage the review and approval process of Oracle’s identity management product strat-

ORACLE MAGAZINE MAY/JUNE 2008 15

MJ08_Resources.indd 15 3/12/08 1:58:00 PM RESOURCES

ORACLE E-MAIL SUBSCRIPTIONS OVERHEARD Stay Informed oracle.com/goto/signup “When you think about the impact that companies have on Oracle newsletters and e-mail announce- ments are the best way to stay informed the environment, it really starts at the beginning of their about new Oracle products and features, value chains with how a company’s products are sourced, trends, and issues affecting how you use IT produced, fulfilled, serviced, and ultimately how they are in your business; upcoming events you don’t disposed of.” want to miss; and special offers. Subscribe to your choice of 16 targeted newsletters — Rich Kroes, Product Strategy Director, Oracle Supply Chain Management, in the Greening Your and get news and original content on a Supply Chain podcast (oracle.com/profit/audiocasts.html) regular basis. Or sign up for Oracle news and product announcements, and get infor- mation as it becomes available. against traditional methods of testing in facturing company improved its application database environments. performance, scalability, and reliability by RESOURCE KITS Growing Your Business with Oracle Database deploying Oracle Real Application Clusters Get SOA Expertise On Demand oracle.com/database/podcasts.html on Windows. oracle.com/goto/soaoffer Oracle customer Tom Clark, CIO of Data Integration: Missing Piece for a Register to access the SOA Leadership Property Condition Assessments, dis- Successful Service-Oriented Architecture Roundtable Webcast, where leading com- cusses how Oracle Database Standard oracle.com/products/middleware/ panies and industry experts share their Edition One addresses the needs of ofmradio.html experiences in designing and implement- midsize companies like his by providing a Miranda Nash, senior director of devel- ing SOA solutions. Find out why these scalable, affordable, and secure platform opment, Oracle Fusion Middleware, organizations chose an SOA approach, for growing your business. describes Oracle’s data integration strat- how they secured management approval Solving Business Challenges with Oracle egy and why data integration is key to a and addressed challenges, and lessons Application Express successful SOA. learned during implementation. Other SOA oracle.com/database/podcasts.html Fusion Development Experience and Oracle’s resources, including a free SOA assess- Chris Thomson, solutions director at Indigo Next-Generation Applications ment, are also available. Tide, a consulting organization with a focus oracle.com/products/middleware/ Get Started with Oracle on Windows DVD on Oracle technologies, discusses how he ofmradio.html oracle.com/goto/powertogrow uses Oracle Application Express to develop Ted Farrell, chief architect for Oracle Learn how Oracle gives you the power to fast, secure, and scalable Web applications Fusion Middleware, discusses the Oracle grow in a Windows environment by provid- that automate workflow for his clients. Fusion Middleware development experi- ing a scalable, easy-to-use platform for Using SecureFiles in Oracle Database 11g ence and its benefits for Oracle’s next- running your business at a price you can oracle.com/database/podcasts.html generation applications, plus the latest on afford. Request your free copy of this DVD, Tim Frazier, senior technical architect Enterprise 2.0 technologies. which contains Oracle Database 11g soft- at National Ignition Facility, discusses Applications Unlimited and Siebel 8.0 ware, white papers, and tutorials. how his company is using the Oracle oracle.com/appcasts SecureFiles feature in Oracle Database Scott Nash, vice president, Oracle’s Siebel 11g on a large scale to help harness clean, product management, discusses the Oracle Blog Center oracle.com/blogs efficient energy sources. success of the Siebel 8.0 release, cus- Oracle Consulting Why Oracle Customers Should Adopt SOA- tomer momentum, how Oracle continues oracle.com/consulting based Integration Today to invest in the Siebel product line, and Oracle events and Webcasts oracle.com/appcasts what’s new for Siebel and customer rela- oracle.com/events Nadia Bendjedou, director of product strat- tionship management (CRM). Oracle Podcast Center egy, Oracle, discusses service-oriented What Are Social CRM Applications? oracle.com/podcasts oracle.com/applications/podcast- architecture (SOA)–based integration and OracleMetaLink its role as the backbone for Oracle’s next fusion.html metalink.oracle.com generation of applications. Anthony Lye, senior vice president of CRM, Oracle Newsletters oracle.com/newsletters Oracle Real Application Clusters on Windows Oracle, discusses how Oracle’s social CRM oracle.com/database/podcasts.html applications combine powerful enterprise Oracle Support oracle.com/support Sachin Kothari, manager of corporate appli- applications and the latest in social net- Oracle University cations and systems integration at Solutia, working with Web 2.0 technology to improve oracle.com/education discusses how the global chemical manu- end-user productivity.

16 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_Resources.indd 16 3/12/08 1:58:12 PM at OracleOTN BULLETIN BY JUSTIN KESTELYN

Embracing Web 2.0 OTN lights the way at Oracle’s marketing 2.0 summit.

s a community, Oracle Technology down the road toward embracing these diverse Oracle community. Network (OTN) members have concepts on a wider scale. OTN members Originally a proof of concept created been interacting informally for can be proud for leading the way. by Oracle AppsLab, Oracle’s internal nearly a decade now. We’re used Watch video from the marketing think tank, Oracle Mix is now the de to anything-goes discussions; building 2.0 summit, and read more about it, at facto social network for Oracle custom- on each other’s work; and learning from blogs.oracle.com/otn/2008/02/01#a1217. ers and partners. Thanks to an appeal- informal, user-created content. Except for ing and adaptable set of features, Oracle a few commonsense “rules of the road,” OTN DEVELOPER DAY: FOCUS ON THE ORACLE Mix is a framework in which a broad OTN is a relatively open environment. FUSION DEVELOPER range of affinity groups can mature. This was the model set before a group In 2007, OTN Developer Day work- Groups include those dedicated to of leaders from across Oracle’s vast mar- shops were convened in cities all across Oracle’s PeopleSoft Enterprise Portal; keting organization, which met in January the globe. In 2008 and beyond, you’ll the “Undutchables” (users from the 2008 to participate in a competition- see even more of them, in even more Netherlands); Oracle E-Business Suite based marketing 2.0 summit. The event countries, and on even more topics. DBAs; and of course, OTN members. In was not about Web 2.0 technology per se, Although OTN Developer Day a sense, Oracle Mix is now the ultimate but rather about the impact of collabora- will continue to be offered globally to example of Oracle hosting and facilitat- tive community participation on how we database application developers who ing the ongoing conversation. Join in at work together internally as well as with want to learn how to use tools such as mix.oracle.com. O customers and partners. Oracle Application Express, Oracle SQL The summit implemented design Developer, and Oracle Developer Tools for Justin Kestelyn ([email protected]) is senior principles that, in my opinion, set the Visual Studio, going forward the primary director, Oracle Technology Network and developer standard for such meetings, within focus will be on serving the newly emerg- programs, as well as OTN editor in chief. Oracle or elsewhere. Most important ing Oracle Fusion developer role. If you among them was a commitment to use are an Oracle Forms developer investi- Web 2.0 tools. For example, all com- gating a transition toward Java Platform, munications about meeting logistics Enterprise Edition, and service-oriented OTN home occurred via a private Facebook group, architecture; a Java developer exploring otn.oracle.com and the summit’s DNA was made of the principles of rich internet applica- OTN Headlines open space memes. Attendees were tions; or an application developer seeking otn.oracle.com/pub/news expected to have completed homework to synergize business processes across Free software downloads otn.oracle.com/software assignments, which included hands- different packaged applications, OTN Documentation on use of standard-issue tools such Developer Day is an excellent platform otn.oracle.com/documentation as Twitter and Google Reader. And all from which to dive into those topics. Technology Centers meeting notes were recorded via wiki. With a curriculum recently updated for otn.oracle.com/tech The summit was a real mind opener. use with Oracle Fusion Middleware 11g Podcasts I’m confident that Oracle’s global market- Technical Previews, these free workshops otn.oracle.com/techcasts ing organization is now on the same page are even more relevant for developers Technical articles about things such as the value of trading who don’t want to be left behind. otn.oracle.com/pub/articles control for influence, promoting transpar- See the OTN Developer Day sched- Blogs ency, and working with the rest of the ule for North America and register at blogs.oracle.com Oracle ecosystem collaboratively in ways otn.oracle.com/events/otn-developer-day. Discussion forums forums.oracle.com that do not necessarily involve technol- IN THE MIX Developer Events Calendar ogy. This is good news for developers, otn.oracle.com/events who thrive on relationship networks as Oracle Mix started off as a charming Oracle ACE Program well as community-generated content. diversion, but now it’s on its way to otn.oracle.com/goto/oracle-ace With this event, Oracle has headed becoming the epicenter of the rich and

ORACLE MAGAZINE MAY/JUNE 2008 17

MJ08_OTN.indd 17 3/12/08 12:53:53 PM at OracleBRIEFS DID YOU KNOW?

SECURITY SKILLS MOST NEEDED FOR IT ORACLE SECURE BACKUP 10.2 AVAILABLE ers to better protect sensitive applica- A telephone and online survey of more than racle is now shipping Oracle Secure tion data from unauthorized access by 3,500 IT professionals in North America, OBackup 10.2, a high-performance tape users—including privileged users who Europe, and Asia showed that security- backup for Oracle databases and network- are misusing their privileges. Oracle related skills are considered most important attached storage (NAS) file systems. Database Vault is an advanced database to today’s IT organizations. In countries with Oracle Secure Backup is a complete enter- security product designed to enforce established IT industries, including Australia, prise solution for centralized tape backup when, where, how, and by whom data Canada, France, Germany, Italy, Japan, the management with advanced features such can be accessed. Netherlands, the U.K., and the United States, as encryption, vaulting, and dynamic Many Oracle E-Business Suite 73 percent of survey respondents said security drive sharing. Customers can achieve applications, including Oracle Human was most important, but just 57 percent said high-quality, low-cost data protection for Capital Management, Oracle Financial that IT employees were proficient in these their entire IT environment with Oracle Management, Oracle Supply Chain areas. The gap was wider in countries with Secure Backup’s security policies that Management, and Oracle Customer emerging IT industries, including China, India, safeguard data stored on tape and control Relationship Management, contain Poland, Russia, and South Africa, where 76 access to backup systems and data. personal identification information, percent said security skills were important but This new release provides policy- social security numbers, or credit card only 57 percent had those skills. based encryption at the domain, host, numbers. Regulations such as Sarbanes- Source: CompTIA backup, or tape level. Oracle Secure Oxley, the Health Insurance Portability www.comptia.org/pressroom/get_ Backup 10.2 provides automated man- and Accountability Act, Basel II, and pr.aspx?prid=1317 agement of all encryption keys associated Payment Card Industry Data Security with tape backups. Encryption keys are Standards require companies to consider SERVER VIRTUALIZATION IMPORTANT, BUT centrally stored on the Oracle Secure separation of duty and strong controls HARD TO MEASURE RETURN Backup Administrative Server, which on access to sensitive information. The More than half of large enterprises manages decryption during restoration. certification of Oracle Database Vault for worldwide—54 percent—think managing their Oracle Secure Backup 10.2 auto- use with Oracle E-Business Suite enables virtual server environment is a critical or high mates tape management throughout its customers to better address their security IT priority, but just 45 percent think they’re lifecycle, from creation to expiration to and regulatory challenges. doing an effective job of it. In a survey of 300 reuse. Existing tape storage pool concepts Oracle Database Vault transparently CIOs and IT executives in the U.S., Europe, the have been extended to include policy- defends against unauthorized access to Middle East, Africa, and Asia Pacific working based management for tape vaulting, application data as well as intentional or for companies with more than US$250 million duplication, and migration from virtual accidental harmful database changes by in annual revenue, 56 percent of respondents tape library to physical tape. In addition, any users, even DBAs, by considering said they are using multiple platforms or Oracle Secure Backup automates tape factors such as time of day, authentica- vendors for server virtualization management, management according to user-defined tion, and application. It can also be used while 35 percent have standardized on policies, which may include duplicating to enforce separation of duties within a single vendor. Just 28 percent of CIOs tapes that leverage the same or differ- the database. For example, Oracle responding have a method in place to measure ent retention and vaulting schedules as Database Vault can block a DBA’s access virtualization return on investment. original tapes and scheduling rotation of to sensitive application data, while per- Source: CA tapes between multiple locations. mitting the DBA to perform day-to-day www.ca.com/about/virtual_survey “Performance is the No. 1 concern of operations such as database backup and most customers focused on backup and recovery, tuning, and replication. With EVALUATION SOFTWARE POPULAR, USEFUL recovery,” says Juan Loaiza, senior vice Oracle Database Vault, customers can 95 percent of software developers download president, systems technology, Oracle. consolidate application databases and evaluation copies of software from vendors, “Customers will be able to achieve up to enforce strong boundaries and policies according to an online survey of 386 IT 40 percent faster Oracle Database backup around access to that data. developers. A full 70 percent evaluate what to tape using Oracle Secure Backup 10.2.” “Oracle Database Vault monitors they download, and 80 percent of evaluators activity inside the database and enforces end up buying at least some of the software. ORACLE DATABASE VAULT CERTIFIED FOR real-time preventive controls,” says Vipin Source: Developer Marketing Patterns 2008, ORACLE E-BUSINESS SUITE Samar, vice president of database security, Evans Data Corp. racle has certified Oracle Database Oracle. “Organizations can now protect www.evansdata.com/reports/viewRelease OVault for use with the Oracle sensitive Oracle E-Business Suite applica- .php?reportID=10 E-Business Suite, which enables custom- tion data at the source—the database.”

18 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_BRIEFS.indd 18 3/12/08 11:55:15 AM ORACLE’S JD EDWARDS ENTERPRISEONE dependency on third-party products. environments; and updated connector TOOLS 8.97 RELEASED Design tools, wizards, and reference wizards ease the creation of new connec- racle’s JD Edwards EnterpriseOne implementations are provided to help tors and streamline integration. OTools 8.97 is now generally avail- customers and partners leverage these “The new release of Oracle Identity able. This release provides streamlined new integration capabilities. Manager further delivers on our commit- system management, faster performance JD Edwards EnterpriseOne Tools 8.97 ment to provide customers provisioning for client browsers, and improved report- also delivers improved embedded report- software that helps them more efficiently ing based on XML standards, to enable ing with Oracle Business Intelligence meet compliance requirements while JD Edwards EnterpriseOne customers to Publisher. Users can launch a complete improving security and the overall user achieve a lower total cost of ownership. run-publish-distribute cycle from a experience,” says Hasan Rizvi, vice presi- It also provides an open platform for single user interaction, output multiple dent, identity management and security customers to choose hardware, operat- objects such as invoices from a single products, Oracle. “With this release, orga- ing systems, and database technologies batch of data, and produce reports in nizations can more rapidly experience based on their IT strategies and business multiple formats including Adobe PDF, the benefits identity provisioning delivers requirements. JD Edwards EnterpriseOne HTML, RTF, Microsoft Excel, Microsoft across their diverse IT environments.” Tools 8.97 supports Oracle Enterprise PowerPoint, XML, and eText. and Oracle Fusion Middleware. ORACLE ACQUIRES CAPTOVATION JD Edwards EnterpriseOne Tools ORACLE UNVEILS NEW ORACLE IDENTITY racle has agreed to acquire 8.97 continues the evolution of JD MANAGER 10g RELEASE OCaptovation, a leading provider of Edwards EnterpriseOne toward a new release of Oracle Identity document capture solutions that stream- service-oriented architecture (SOA) and AManager, a key component of the line the process of capturing mission- provides customers with expanded func- Oracle Identity Management 10g Release critical content for access from within tionality, performance, and usability. 3 suite of products, is now available. It business applications and processes. “Our customers are under constant addresses the growing concerns orga- Captovation’s software will be part of pressure to achieve substantial pro- nizations have regarding compliance Oracle Enterprise Content Management, ductivity gains with fewer resources. and the time it takes to complete an an Oracle Fusion Middleware com- Through an evolving and more com- audit. A component of Oracle Fusion ponent that provides comprehensive prehensive technology platform, we are Middleware, Oracle Identity Manager capabilities for managing dynamic, delivering a better ownership experi- is a user-provisioning and administra- transactional, and historical content. ence to our customers at a lower cost,” tion solution that enables organizations “By adding document capture to says Lyle Ekdahl, Oracle vice presi- to automate the process of adding, Oracle’s leading content management, dent of product strategy. “JD Edwards updating, and deleting user accounts process automation, and back-office EnterpriseOne Tools 8.97 also contin- from applications and directories. It applications, Oracle will be the only ues our delivery on the Applications improves regulatory compliance by vendor that can provide customers with Unlimited commitment and allows providing granular reports that indicate a fully integrated solution for automat- customers to take advantage of the exactly who has access to specific data, ing back-office operations,” says Thomas latest technology, in many cases without resources, and information. Kurian, senior vice president, Oracle having to upgrade their applications.” The new release features enhanced Server Technologies. O One of the new features in JD attestation capabilities to automate the Edwards EnterpriseOne Tools 8.97 ongoing certification of access privileges is server manager, a centralized Web to meet compliance requirements. It also Oracle Secure Backup console for the monitoring and manage- offers 19 new compliance and opera- otn.oracle.com/products/secure-backup ment of all JD Edwards EnterpriseOne tional report templates that help organi- Oracle Database Vault server components. Other enhancements zations streamline the audit process. oracle.com/database/database-vault.html include simplified menu navigation, use In addition, a graphic workflow Oracle’s JD Edwards EnterpriseOne of browser tabs, easier import/export designer simplifies the creation and Tools 8.97 oracle.com/applications/enterpriseone-tools-8-9- of data in JD Edwards EnterpriseOne maintenance of provisioning and 7-data-sheet.pdf application forms, and support for the approval workflows; an inbound Oracle Identity Manager Firefox browser. gateway based on the Web Services oracle.com/products/middleware/identity- Thanks to the latest tools release, JD Service Provisioning Markup Language management/identity-manager.html Edwards EnterpriseOne applications (WS-SPML) 2.0 standard supports Oracle and Captovation oracle.com/captovation can operate in an SOA natively, without rapid integration across heterogeneous

ORACLE MAGAZINE MAY/JUNE 2008 19

MJ08_BRIEFS.indd 19 3/12/08 11:55:33 AM © 2008 Embarcadero Technologies, Inc. All rights reserved. definitions youhavefor“customer.” Coincidentally, also thenumberoftotallydifferent Number ofsilosinwhichyourcustomerdataresides. Call 415.834.3131orvisit www.embarcadero.com itdone.See how onegets solutionsophisticated isalsothesimplest. eliminated. It’s nocoincidence thatthemost defined andenforced. is redundancy Data isthekey.of themetadata be Standards can ahold your isfinally possible, data andgetting Understanding formats. andstorage of platforms reliable, relevant, arange across andtimelydata your are empowered business to useandreuse simpler. gets one, just With everything You and so you always know whatiswhat, andwhere itis. communicate of anarchitecture your assets data enterprise-wide, enabling you to build and Embarcadero solutions helpmanagedata definition — at OracleINTERVIEW BY JEFF ERICKSON

Data Integration as a Service Manage data integration as part of an SOA with Oracle Data Integration Suite.

ntegrating data across multiple tiers second response times, enterprise applica- just got a lot easier. The new Oracle tion integration or SOA message-based Data Integration Suite provides a distribution, and bulk delivery. comprehensive, open standards–based Having a single infrastructure to integration platform that connects hetero- support these different data delivery styles geneous datasources and applications. is really crucial for Oracle customers, Jeff Pollock, senior director of product because typically they would have had to management for Oracle Data Integration, purchase software from multiple vendors sat down with Oracle Magazine’s Jeff and then stitch them together themselves. Erickson to discuss the new suite. The fol- Another aspect that’s important is the lowing is an excerpt from that interview. MDM capability. Our customers need to Download a podcast of the full interview manage common reference data across at oracle.com/magcasts. these various data distribution channels. Oracle Magazine: What does the new suite A common MDM infrastructure will mean for our customers’ service-oriented ensure that the highest-quality data is architecture (SOA) implementations? used in all of those data flows. Pollock: Oracle is bringing to market a Oracle Magazine: How does the suite help converged infrastructure for managing data administrators, architects, process process, message, and data integration. Jeff Pollock, Senior Director of Product Management, modelers, or nontechnical business users? Oracle Data Integration It wasn’t so long ago that our customers Pollock: At the end of the day, nontech- had to go to different vendors for each of But as SOA becomes more prevalent in nical business users may never know that these solutions. We’re pulling them into a our customers’ infrastructure, we see a Oracle Data Integration Suite is there. common infrastructure to lower their cost common desire to control, manage, and What they will notice is higher-quality of ownership, and enabling customers to negotiate the data integration compo- data at a fresher rate. The rest of the roles do new things with their SOA infrastruc- nents as part of the SOA infrastructure. have different views into the suite and dif- tures. They will be able to execute things Our customers often move hundreds ferent tools to do their jobs. Now they are like data integration jobs; extract, trans- of megabytes or even gigabytes of data all tied together with the common work- form, and load (ETL); business intelli- through an XML format, so it makes sense flow infrastructure. gence; and data loading directly from the to transform that data with a data inte- That’s the heart of what we’re trying SOA tier. No other vendor can claim that. gration tool like Oracle Data Integrator, to do with this product: we’ve pulled Oracle Magazine: What technologies make because it can do it much faster than cus- together a range of the data management up the new Oracle Data Integration Suite? tomized programming in Java. products and functions into a single Pollock: The suite includes Oracle Data We also see the need to manage unified offering that our customers can Integrator, which is the ETL and data database loading and replication and leverage in an easier way to meet their integration component; Oracle Hyperion application migrations as part of the SOA enterprisewide data integration needs. O Data Relationship Manager, which is tier. Oracle Data Integrator provides all the master data management (MDM) of these capabilities and data services Jeff Erickson is a senior editor with Oracle Publishing. component; Oracle Enterprise Service directly within an SOA component. So Bus from Oracle SOA Suite; and Oracle you can begin to think of data integration BPEL Process Manager, which is the or ETL as just another SOA service. process orchestration component. Oracle Magazine: What other capabilities Oracle Magazine: DOWNLOAD the podcast How does Oracle Data does the suite provide our customers? oracle.com/magcasts Pollock: Integrator address customer needs? Oracle Data Integration Suite LEARN more about Oracle Data Pollock: Traditionally, people thought of provides a single platform to support the Integration Suite their data management infrastructure whole range of data delivery styles our oracle.com/technologies/integration/odi-suite.html

BOB ADLER as completely separate from their SOA. customers need, including real-time milli-

ORACLE MAGAZINE MAY/JUNE 2008 21

MJ08_INTERVIEW.indd 21 3/14/08 4:00:42 PM communityPARTNER NEWS book BEAT

Pro Oracle Application Express By John Edward Scott and Scott Spendolini LIQUID COMPUTING SUPPORTS ORACLE VM Apress The center will encourage closer col- www.apress.com racle partner Liquid Computing, the laboration between Accenture and Oracle ISBN: 978-1590598276 Odeveloper of the LiquidIQ fabric- executive leadership, technologists, and based computing system, has announced product development personnel. It gives Oracle Application Express is an application support for Oracle’s new server virtualiza- Accenture special access to Oracle’s development framework for quickly developing database-backed applications. tion software, Oracle VM. research and development organizations, Pro Oracle Application Express looks “under Liquid Computing has been working provides Accenture with prerelease ver- the hood” of Oracle Application Express with Oracle to optimize the performance, sions of new Oracle software, and helps to expose the full power behind its easy- security, and management of Oracle VM Accenture accelerate training on Oracle to-use GUI interface. Learn to produce on the LiquidIQ platform. LiquidIQ’s technologies across its European opera- powerful, polished applications with lessons on user-authentication models; layout and flexible, high-availability platform layer tions. For Accenture clients, the center navigation; Ajax integration; localization under Oracle VM provides a dynamic provides a site to view joint Oracle- issues such as time zones and translations; virtualized environment, with LiquidIQ Accenture technology developments, and much more. providing software definitions of server, including client-specific proofs of concept. Authors John Edward Scott and Scott networking, and I/O processes. This “The new Accenture European Spendolini have focused their careers on developing Oracle Application Express capability allows Oracle customers to Innovation Centre for Oracle, which applications. Scott runs ShellPrompt, provide greater service agility and IT builds on the long-standing relationship a hosting service that handles many management of the servers and infra- between our two companies, is an impor- large-scale Oracle Application Express structure running Oracle application tant step forward in our ongoing efforts applications. Spendolini is one of the original stacks deployed on Oracle VM. to help clients derive maximum business creators of the tool. Pro Oracle Application Express is your opportunity to learn Oracle LiquidIQ simplifies data center opera- value from their investments in Oracle Application Express from the very best. tions and reduces the complexity of man- technologies,” says David Burns, head of aging clusters, servers, networking gear, Accenture’s Oracle practice in Europe. and cables. The company claims that The center joins the Accenture Ajax in Oracle LiquidIQ can lower acquisition costs of Innovation Centre for Oracle, located at JDeveloper servers, switches, software, and network- Oracle’s global headquarters in Redwood By Deepak Vohra ing infrastructure by 45 percent or more; Shores, California; the Accenture Springer www.springer.com reduce annual data center operating Centre of Excellence for Oracle in ISBN: 978-3540775959 expenses by up to 90 percent; decrease Bangalore, India; and other Centres data center floor space requirements by of Excellence throughout Europe. The up to 85 percent; and reduce power costs Innovation Centres for Oracle are part of Asynchronous JavaScript and XML (Ajax) by up to 30 percent. Accenture’s three-year, US$450 million is a Web technique used to transfer data between a browser and a server “The high costs and inflexibilities investment in service-oriented architec- asynchronously, without posting the Web associated with traditional data center ture (SOA), announced in July 2006. page to the server. Ajax in Oracle JDeveloper infrastructure are causing a lot of pain is for Web application developers, IT in today’s IT infrastructures,” says Greg SECURE PATH LAUNCHES ORACLE-POWERED architects, project managers, and system McElheran, president and CEO of Liquid WEB PLATFORM administrators who want to learn techniques for Web search and RSS feeds with Ajax, Computing. “The new-generation data racle partner Secure Path, a provider as well as form validations with Ajax center will need fabric-based comput- Oof digital media asset registration and frameworks for Java, JavaServer Pages, ing coupled with hypervisor technolo- data management solutions, has launched JavaServer Faces, and PHP. The book gies. Together, Oracle VM and LiquidIQ MediaDNS, a standards-based Web will also help you understand the many provide a complementary solution.” platform that centralizes data manage- advantages Oracle JDeveloper has over the Eclipse integrated development environment. ment, distribution, analytics, and report- Author Deepak Vohra is an Oracle ACCENTURE LAUNCHES INNOVATION CENTRE ing for digital media. MediaDNS was Certified Associate and a Sun Certified Java FOR ORACLE IN EUROPE created using Oracle Fusion Middleware Programmer and has published in a wide racle Certified Advantage Partner and takes advantage of Oracle BPEL array of technical journals. Vohra has an MS OAccenture has opened an Innovation Process Manager and Oracle Application in mechanical engineering from Southern Illinois University. Centre at Oracle’s U.K. headquarters in Development Framework (Oracle ADF). Reading. The new center, a European Secure Path is the primary North hub for joint business development and American registration agency for the Look for Oracle books at otn.oracle technology demonstrations, is the first of International Standard Audiovisual .com/bookstore its type on an Oracle campus in Europe. Number (ISAN) and in that capacity

22 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_PARTNER.indd 22 3/14/08 3:21:23 PM handles digital media asset registration business processes in revenue man- KNOWLEDGE SERVICES EXPANDS for U.S.-based film and TV companies. agement, cost management, assets EDUCATIONAL OFFERINGS Having the centralized MediaDNS reg- management, inventory management, nowledge Services, a member of istry enables Secure Path to manage, and human resource management. Kthe Oracle PartnerNetwork and translate, and integrate the continually Specifically, it captures general station, an Oracle Approved Education Center expanding content and metadata catego- outstation, agent, and ICH bookings, (OAEC), has opened a state-of-the-art ries required by media companies. thereby preventing revenue leakage; classroom facility in Tampa, Florida, “Running Secure Path’s platform on demarcates revenue streams into pas- and has begun offering new classes Oracle Fusion Middleware provides us senger, cargo, and miscellaneous sales for Oracle Database 11g and Oracle’s with the highly scalable and adaptable categories; manages and controls direct PeopleSoft applications. Knowledge solution that we need to meet our cus- operating costs such as fuel and aircraft Services’ new facility joins those in tomer requirements and support future lease payments; and captures and allo- nine other U.S. cities that offer expert growth,” says David Benson, chief tech- cates indirect costs. skills and needs assessments, compre- nology officer at Secure Path. hensive training plans, and staffing The company chose to build KEPWARE ANNOUNCES PLANT FLOOR solutions. The company also provides MediaDNS on Oracle Fusion COMMUNICATIONS FOR ORACLE registration services for all Oracle and Middleware because of its scalability, epware Technologies, a provider of OAEC classroom locations worldwide extensibility, and ability to manage Kcommunication software for auto- through its network of global educa- complex processes. Oracle BPEL Process mation and a member of the Oracle tion partnerships. Manager and Oracle ADF enabled PartnerNetwork, has announced that The new facility features individual Secure Path to develop MediaDNS as an KEPServerEX will provide manufactur- workstations, high-quality video pro- SOA platform that incorporates more ing plant floor execution data to Oracle jection, high-speed wireless internet than 50 processes for integrating meta- manufacturing applications. connectivity, and other amenities. The data and interacting with Web services “Kepware is extremely proud to new classes include Oracle Database administered by the ISAN International work with Oracle,” says Roy Kok, 11g New Features for Administrators, Agency in Geneva, Switzerland. vice president of sales and marketing Oracle Database 11g Administration for Kepware. “The architecture of our Workshop I and II, PeopleSoft Release SATYAM’S AIRLINE XPRESS TAKES OFF KEPServerEX product is a natural fit 8.4.8, PeopleSoft Server Administration atyam Computer Services, an Oracle for all OEM applications, delivering and Installation, PeopleSoft Security, SCertified Advantage Partner, has high reliability and consistent opera- and PeopleTools I and II. released Airline xPress, an Oracle-based tion across all 130-plus protocols that “We use our centers to provide expert back-office solution for low-cost airlines. we offer, in a solution that is easy and technology training and outstanding Encompassing purchasing, inventory, straightforward to validate and support.” customer service, whether it’s a large human resources, and accounting pro- Kepware offers experience in both corporation taking advantage of our free cesses, Airline xPress provides predefined open process control (OPC) and skills assessments and planning services business process flows, ready-made embedded device communications. or an individual interested in registering project lifecycle components, templates, KEPServerEX, the newest version for a single class,” says Julie Bielawski, and utilities all generally suited for the of Kepware’s OPC server, allows CEO of Knowledge Services. O airline industry and for emerging airlines users to set up communications and low-cost carriers in particular. from equipment to control business “This robust solution will help airline systems via plug-in device drivers Liquid Computing industry organizations enjoy markedly and components. Other new features www.liquidcomputing.com/oraclevm enhanced operational efficiency,” says of KEPServerEX include OPC client Accenture Sriram Papani, senior vice president of functionality, enabling KEPServerEX www.accenture.com enterprise applications at Satyam. “By to act as a gateway from any OPC Secure Path leveraging Oracle’s leading-edge applica- server, including third-party device www.secpath.com tion products and Satyam’s exceptional drivers and higher-level HMI/SCADA Satyam Computer Services innovation capabilities, we have created or Historian products; data analytics www.satyam.com a standardized solution that will acceler- based on real-time plant floor data; Kepware Technologies www.kepware.com ate transformation and drive their future and complex data tags for aggregat- competitive strength.” ing information into concise time- or Knowledge Services www.knowledgeservices.com Airline xPress handles end-to-end event-relevant structures. .

ORACLE MAGAZINE MAY/JUNE 2008 23

MJ08_PARTNER.indd 23 3/14/08 3:21:31 PM 8 x 10.875

Discover theNew OracleWhitePapers.com

Your Source for Oracle and Oracle Partner White Papers

Copyright © 2008, Oracle Corporation and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

omag0508p024.indd 1 3/19/08 11:08:23 AM communityCOMMITMENT BY AARON LAZENBY

A Dream Conferred The United Negro College Fund makes college education a reality for many aspiring students.

ommunity activists, corporate can’t continue their education.” world is like and get invaluable mentor- donors, and United Negro The relationship between the UNCF ship and advice from Oracle employees.” College Fund (UNCF) staff and Oracle began when Oracle CEO Through an annual Oracle Community and friends gathered in San Larry Ellison approved a US$350,000 Impact Grant, the UNCF has also estab- Francisco in February 2008 for the 19th in-kind software donation to help the lished a scholarship program that serves Annual Frederick D. Patterson Awards UNCF upgrade its internal systems—a poor African-American communities in Gala. Attendees were on hand to cel- donation that helped the UNCF address the San Francisco Bay Area. Students are ebrate the UNCF’s good work in the some of its nonstudent stakeholders. selected based on need and academic San Francisco Bay Area, to recognize “Donors expect things from us too: performance to receive a US$7,000 schol- community leaders’ contributions to the quick responses to requests, regular arship. One recipient, San Francisco’s African-American community, Jonique Green, illustrated the and to present the Corporation importance of these programs in a of the Year Award to Oracle. written report to the UNCF. The UNCF is the nation’s Returning home from Fisk oldest and most successful University on the sad occasion of organization devoted to closing her uncle’s death, Green found a the educational attainment surprisingly uplifting welcome in gap in the United States. Since the form of a life-changing conver- 1944, the UNCF has raised sation with her cousin Joseph. US$2.5 billion to support its “He looked right into my eyes 39 member institutions and and told me they were all rooting has helped more than 300,000 for me,” Jonique recalls, noting that students earn undergraduate she’ll be only the second member Hank Fore (left) and Robert Shoffner of the UNCF with Jane Robertson, Senior and graduate degrees. Over the Director of Oracle Diversity, at the Frederick D. Patterson Awards Gala of her family to earn a college course of a decade, Oracle has degree. “After that day, college and contributed more than US$11 million to reports of expenses, feedback from the postcollege education has been the most support the UNCF’s mission—through recipients,” says Matthews. “But like prominent thought in my mind. When he cash grants, software donations, and most nonprofits, we don’t have a huge said that, I realized that graduating from mentorship programs. staff. So having the software to help us Fisk University is much bigger than me.” The U.S. Census Bureau reports that do the things we want to do is a service Jane Robertson, senior director of 18.5 percent of African-Americans com- to both our students and our donors.” Oracle Diversity, says that the work of plete four or more years of college—while Oracle went on to contribute US$9.8 the UNCF intersects perfectly with the the national average is 28.7 percent. million in software and training to the company’s commitment to both educa- According to Shirley Matthews, area UNCF’s Technical Enhancement Capital tion and a diverse workplace—and she development director for the UNCF in Campaign to improve the state of com- could not be happier with the results. San Francisco, many UNCF financial puters and other technical equipment in “Every year I’m asked if there is another aid recipients are from families that earn member schools, such as Fisk University organization I’d like to work with,” says less than US$30,000 a year—many from in Nashville, Tennessee, and Morehouse Robertson. “And every year I say no. The single-parent homes where they are likely College in Atlanta, Georgia. In 2001, UNCF is the best at what they do.” O to be the first to attend college. Oracle and the UNCF created the Oracle “These are kids who have potential Scholars Program to give financial aid to Aaron Lazenby is a director with Oracle Publishing. but have not had the academic exposure students with an interest and aptitude or the finances to continue their educa- in technology, science, engineering, and Oracle’s Commitment tion,” says Matthews. “The cost of edu- mathematics—as well as allow them to oracle.com/commitment cation is increasing, and some people work on the Oracle campus during the United Negro College Fund have a budget where it just doesn’t summer. “The students love it,” says www.uncf.org

MARGOT HARTFORD MARGOT work. If they can’t get scholarships, they Matthews. “They learn what the work

ORACLE MAGAZINE MAY/JUNE 2008 25

MJ08_COMMITMENT1.indd 25 3/21/08 12:37:05 PM communityPEER-TO-PEER BY BLAIR CAMPBELL

Catering to Change Oracle ACEs stay current through advisory boards, social networking, and innovative applications.

Debra Lilley incredibly important to the sorts of peerSPECS What is your favorite tool or systems we’re building today. Company: LogicalTech, an IT What advice do you have about how consulting, development, and technique on the job? Good old- integration firm to get into Web and database devel- fashioned Oracle Discoverer. Job title/description: Oracle opment? Be technology agnostic, Fusion practice manager, running I love to enable end users to understand the business, under- a business practice responsible for get at the data they put in. My consulting, architecture, integration, stand the key standards, and take and development involving SOA and brother-in-law is an Oracle an architectural perspective. With Oracle Fusion Middleware user in a very large govern- Location: SOA, you’re potentially dealing Brisbane, Queensland, ment department. He laughs Australia with any number of disparate Length of time using Oracle at me for getting so excited technologies—particularly around products: 17 years by Oracle technology, but a few days ago he rang up and said development platforms and infra- Oracle ACE he loved Oracle Discoverer. He had problems finding data in structure. You have to be flexible otn.oracle.com/community/ the application, and Discoverer oracle_ace peerSPECS and cater to change. solved the problem. Company: Fujitsu, a provider of IT How do you use the internet today? and communications solutions My daughter is at university, and Job title/description: Head of Steve Romeo business intelligence in the Fujitsu social networking sites are the Services EMEA Oracle practice; Which new features of Oracle applications are you finding most valu- only way to get her attention, so Oracle Fusion Champion working able, and why? The new Oracle Manufacturing Execution System with Oracle E-Business Suite it’s useful for that. . . . I’m also part customers in Oracle E-Business Suite 12 is very exciting. Having the ability of the pilot for Oracle Mix, the Location: Belfast, Northern to run our business in a “demand pull” envi- new community site for Oracle Ireland, United Kingdom ronment rather than a “push” environ- Oracle credentials: Oracle customers [see mix.oracle.com]. Certified Professional in Applications ment means we’re able to align our If you were going to the International and Oracle Master in IT business to our customers’ needs. It Space Station for six months and Oracle ACE lets us proactively act on our manufac- could only take one Oracle reference otn.oracle.com/community/ oracle_ace turing demand rather than struggling book, what would it be? I’m excited with meeting product demands. to read Mark Rittman’s Oracle Tell us about a unique use of applications Business Intelligence Suite Developer’s Guide [McGraw-Hill/ at your company. We utilize a mobile Osborne Media, March 2008]. supply chain in such a way that all our transactions are recorded live on Dennis Remmer the manufacturing floor. For instance, What’s your favorite tool or tech- the process of loading and unloading a truck is accomplished nique on the job? I find Oracle through scanning the boxes through the system, which updates JDeveloper 10.1.3—and now our single global instance in real time. This makes the entire Oracle JDeveloper 11g—to be company more efficient, ultimately peerSPECS an excellent tool. In the ideal getting our products to customers Company: BREG/Orthofix, a global top-down/test-first world of much faster and more accurately medical device company service-oriented architecture than traditional methods. Job title/description: Director What would you like to see Oracle, of IT, responsible for technology [SOA], it provides great fea- leadership for BREG/Orthofix in tures—particularly with respect as a company, do more of? Embrace the United States, Mexico, and to integrating with a range of users’ ideas and needs. I’ve seen throughout Europe Location: San Diego, California middleware environments and other tools tremendous improvement in this Length of time using Oracle like Oracle Business Process Analysis Suite. area with Oracle’s customer advi- products: Eight years Which new features of Oracle Database are you finding most valuable? sory board process—and continu- Oracle ACE The mature XML processing and internal Java virtual machine ing on this path is great for both otn.oracle.com/community/ oracle_ace capabilities of the Oracle Database 10g and 11g platforms are Oracle and the users. O

26 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_PEER.indd 26 3/13/08 2:28:42 PM HOW MUCH IS THAT OPEN SOURCE IN THE WINDOW?

LINUX HAS NEVER LOOKED SO GOOD

7RGD\·VUHDOZRUOGRSHQVRXUFHVROXWLRQVDUHSRZHUIXOG\QDPLFDQGJUHHQHQRXJKWRGHOLYHU SURYHQEXVLQHVVYDOXHLQHYHU\SDUWRIWKHHQWHUSULVH%XVLQHVVFULWLFDOV\VWHPV0RELOHGHYLFHV 'HVNWRSDSSV7KHQH[WJHQHUDWLRQGDWDFHQWHU

'RQ·WMXVWGUHDPDERXWZKDWRSHQVRXUFHFRXOGGRIRU\RXUEXVLQHVV&RPHWRWKHLQGXVWU\·V GHӾQLWLYHUHVRXUFHIRU/LQX[DQGRSHQVRXUFHSURGXFWVWUDLQLQJDQGLQVLJKW³DQGEULQJEDFN WKHVROXWLRQV\RXUEXVLQHVVKDVEHHQZDLWLQJIRU

REGISTER TODAY AT www.linuxworldexpo.com

August 4-7, 2008 AN WORLD EXPO EVENT The Moscone Center San Francisco, CA

/LQX[:RUOGLVRSHQWREXVLQHVVSURIHVVLRQDOVRQO\1RRQHXQGHU\HDUVRIDJHZLOOEHDGPLWWHG

IDG-LINUX_022008_OM.pdf 1 2/29/08 3:15:22 PM DEVELOP

THE CHOICE OF ARCHITECTURE, STANDARDS, AND TOOLS UNITES THE ORACLE ENTERPRISE APPLICATION DEVELOPER COMMUNITY.

BY DAVID A. KELLY

28 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_Developer.indd 28 3/24/08 4:23:22 PM ER NATION

nterprise application development means different architectures, standards, and tools to different developer communities. At the same time that new architectures and scripting languages such as service- oriented architecture (SOA) and PHP drive the direction of application development at some companies, others continue to embrace established tools, traditional languages, and legacy applications. Today’s enterprise application developers need to use—and often combine—the best technologies with transactional infrastructure components to create scalable applications that cut across

I-HUA CHEN I-HUA traditional application boundaries.

ORACLE MAGAZINE MAY/JUNE 2008 29

MJ08_Developer.indd 29 3/24/08 4:24:16 PM “With Oracle, our scalability growth has been exponential, so that has really enabled us to succeed in our market.” —Alex De Vergori, Database Architect, Betfair

scalable and responsive applications. Take the example of Betfair, an online gaming company that pioneered the concept of betting exchanges back in 2000. Headquartered in London, the company has approximately 1,200 employees, including about 25 Oracle database developers and 150 application developers. Betting exchanges allow people to bet against each other—peer-to- peer betting—rather than betting against the “house” or a traditional bookmaker. Betfair essentially serves as an exchange (like a stock exchange), facilitating bets between users and then taking a commission of the winnings. Today, Betfair is the world’s leading betting exchange and one of the foremost online gaming Performance and scalability are important to Betfair. “We take in excess of 5 million transactions a day, and it all goes straight though to the database, where those bets match with other transactions,” says Alex De Vergori, the sites in the U.K. company’s database architect. To accomplish this, Betfair relies on Oracle technology. It runs Oracle That’s why Oracle has worked to provide a wide range of Database on several distributed databases around the world standards-based, integrated application development technolo- and has Oracle Data Warehouse running on Oracle Real gies and products for all types of business and IT needs—from Application Clusters (Oracle RAC). In addition, Betfair uses Web 2.0 to Microsoft .NET to open source, PL/SQL, and more. Oracle Coherence for its in-memory distributed data caching Take the example of the move to SOA. requirements and Ajax for its front-end applications. “To enable a world where you can assemble capabilities But the core of Betfair’s business logic is written in PL/SQL. quickly to create new applications systems, you have to imple- The company has more than 250,000 lines of PL/SQL code, ment the capabilities as services,” says Anne Thomas Manes, and the betting engine that runs that core exchange system is vice president and research director, Burton Group. “From an written entirely in PL/SQL. Oracle developer perspective, that means you need to stop “We really push the envelope of Oracle and PL/SQL with thinking in terms of n-tiered applications and start thinking our exchanges,” says Alex De Vergori, database architect, in terms of service-oriented systems. Figure out where you’ve Betfair. “We take in excess of 5 million transactions a day, and got a core capability that’s used by multiple applications, and it all goes straight through to the database, where those bets refactor that into a service.” match with other transactions.” From an application architecture perspective, Betfair is also BETTING ON THE FUTURE fully embracing the move to SOA. “Traditionally people look While many organizations are using new application develop- at SOA in a very middle-tier sense, and we’re doing that as ment technologies, there’s still plenty of room for tried-and- well,” says De Vergori. “But we’re also trying to apply those

true approaches—especially when it comes to creating highly same principles within our existing database technology. So we BLYTHE JOHN

30 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_Developer.indd 30 3/17/08 1:37:53 PM definitely see this going more and more along those lines— with the help of Oracle technologies. componentizing well-defined interfaces and building a direc- “We find that 99.99 percent of all our bets are matched tory and services infrastructure for both our middle-tier and and handled in subsecond response times,” says De Vergori. database logic.” “When you’re turning over 1,000 bets per second at peak, One of Betfair’s key business objectives is to reduce its time that’s quite a technology achievement.” to market for new applications or functionality. That’s where For Betfair, the combination of proven PL/SQL applica- SOA comes in. Another part of Betfair’s application develop- tion logic with new SOA and agile approaches is paying big ment solution is using an agile development methodology. dividends. And its initial bet on an Oracle architecture was a “We’re finding that agile [development] works quite well for winning one. us. For example, it means that we can turn over more releases “Oracle has been our core for almost the entire life of the more quickly,” says De Vergori. company. The scalability you get with the Oracle database As you might expect, the user experience is critical. In fact, and, over the years, the improvements in the sheer raw speed the company’s goal is to make the user betting experience of PL/SQL—as well as the underlying data operations—have occur in less than a second—a goal that Betfair is meeting really helped our scalability,” says De Vergori. “With Oracle,

Building an Enterprise 2.0 World Build Oracle Enterprise 2.0 applications and create an interactive Web 2.0 world using your choice of development frameworks and tools.

Java and Service-Oriented Open Source Development Architecture (SOA) Development Developers leverage Oracle’s investments Developers can use Java and SOA in developing, testing, optimizing, and developer tools, part of the Oracle Fusion supporting open source technologies Middleware family of products, to define such as Linux, Ruby on Rails, PHP, Apache, business logic, create user interfaces, Eclipse, Berkeley DB, InnoDB, Spring, expose applications as Web services, and SASH, and Apache MyFaces Trinidad to orchestrate them into integrated Web 2.0 build online communities. and business processes.

These tools include Oracle WebCenter, Community Benefits Oracle Application Server, Oracle Developers and end users can work Application Development Framework, individually and collaboratively within Oracle BPEL Process Manager, Oracle Oracle Fusion Middleware organizations and across enterprises by Coherence In-Memory Data Grid, using Enterprise 2.0 applications. The Oracle JDeveloper, Oracle SOA enterprise can incorporate Web 2.0 Suite, Oracle Data Integration technology, such as Ajax-enabled rich Suite, and Oracle TopLink. user interfaces and mashups, across an open, secure, scalable, and integrated technology stack. Oracle Database

Oracle Database Development .NET Development Database developers use Oracle SQL Developer for .NET developers can build data-rich Web SQL and PL/SQL development and Oracle Application 2.0 .NET applications leveraging the Express to create Web-based applications that have power of Oracle Database with Oracle the performance, security, scalability, and availability Developer Tools for Visual Studio, Oracle necessary for Enterprise 2.0 requirements. Developers Data Provider for .NET, and Oracle can also embed Oracle databases and middleware Providers for ASP.NET. components within their products to enhance Web 2.0 capabilities. STEVE LYONS STEVE

ORACLE MAGAZINE MAY/JUNE 2008 31

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

32 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

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

RICK ZAIDAN Oracle Application Express will revolutionize the way people around the world and has had consistent double-digit growth

ORACLE MAGAZINE MAY/JUNE 2008 33

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

34 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_Developer.indd 34 3/17/08 1:41:14 PM Service Oriented Architecture “Best”

2008 InfoWorld Technology of the Year Awards* Oracle SOA Suite

“… ease of implementation and affordability make it a standout consideration.”

Oracle Fusion Middleware Hot-Pluggable. Comprehensive.

oracle.com/goto/soa or call 1.800.ORACLE.1

*InfoWorld, January, 2008

Copyright © 2008, Oracle. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

omag0508p035.indd 1 3/18/08 8:25:04 PM MJ08_SOA.indd 36 36 ARCHITECTURE WITH ORACLESOASUITE. DESIGN, BUILD, AND SHAPE YOUR SERVICE-ORIENTED ITUP WRAP MAY/JUNE 2008 footprint withbusinessintelligence, Web 2.0, business valuewhentheyenhancetheirSOA Fusion Middleware, customersseeenormous Gaur, Oracle’s groupproductmanager, Oracle intelligence (BI)environments. According toHarish frameworksandbusiness process management to thenextlevelbycombiningthemwithbusiness using Oracle SOASuitetotaketheseapplications environments, andsomeofthesecustomersare inproduction SOAapplications deployed have modular businessservices. Oracle customers cost-effective waytobuild, integrate, andreuse ORACLE.COM/ORACLEMAGAZINE ervice-oriented architecture(SOA) ervice-oriented information technology concepttoa technology information has quicklygonefromafuturistic 3/14/08 3:33:12 PM I-HUA CHEN BY DAVID BAUM

ORACLE MAGAZINE MAY/JUNE 2008 37

MJ08_SOA.indd 37 3/14/08 3:33:23 PM “We needed something that we could deploy quickly, with minimal hand- holding. We picked up Oracle SOA Suite with relative ease.” —Dipankar Basu, Manager of Software Applications, ViewSonic

with the activities of external stakeholders such as distributors and vendors. “We had problems integrating their data into our systems, and we wanted to empower them to participate in our core business processes,” says Dipankar Basu, manager of software applications at ViewSonic. “We also wanted to speed up certain customer-facing activities such as process- ing rebates.” With Oracle E-Business Suite controlling more than 90 percent of the company’s business processes, ViewSonic developers needed an SOA system that integrates closely with Oracle E-Business Suite controls more than 90 percent of ViewSonic’s business processes, says Dipankar Basu, manager of software applications. Oracle applications. The company uses Oracle ADF Business Components and Oracle BPEL Process Manager, key compo- and process modeling tools. Together, Oracle SOA Suite and nents of Oracle SOA Suite. Oracle BPEL Process Designer, part Oracle Business Process Analysis Suite, which makes it easier of Oracle BPEL Process Manager, provides a unified design- to model business processes and convert them into useful time environment to develop user interfaces and orchestration information systems, offer customers an end-to-end business services. This functionality helps Basu create automated work- process modeling platform. flow processes, and Oracle Web Services Manager gives his “Many organizations have built rich composite applications development team a safe way to expose company data. “This using Oracle SOA Suite with Oracle Application Development makes it easier to offer new services to customers and partners Framework and Oracle WebCenter to offer self-service func- through Web-based interfaces,” he says. tionality to their customers and employees,” says Gaur. “But Basu sees two major benefits to Oracle SOA Suite: it can it’s not enough just to automate processes—you also need to be deployed with minimal resources, and it interfaces directly monitor and improve them. Putting a layer of BI on top of SOA with ViewSonic’s core applications. Moreover, it enables devel- can give users tremendous insight into process performance opers to take advantage of their existing skill sets and staff and help them identify deficiencies and take corrective actions.” knowledge, such as PL/SQL, Java, and Oracle’s open interfaces One organization taking full advantage of these applica- to Oracle Forms and Oracle Reports. “We have a core team of tions is ViewSonic, a global provider of computer display just four developers, so we needed something that we could products. IT pros at ViewSonic started working with SOA in deploy quickly, with minimal hand-holding,” Basu says. “We 2006, mainly to integrate distribution operations more closely picked up Oracle SOA Suite with relative ease.” PETER STEMBER PETER THE SOA GRID

rganizations running complex IT systems, Collectively, Oracle calls these infrastructure memory storage of a service instance across especially those requiring partner or cus- components the SOA grid. a diverse server grid. “A large data set can be tomer interactions with Web interfaces, are “With the SOA grid, IT professionals achieve delivered to the grid as a single operation, and concerned about issues such as meeting runtime vital support for enabling enforceable service- the grid disperses the contents of the collection demands, developing intermediate layers, han- level agreements across entire service ranges, across multiple primary and backup nodes to dling large XML payloads, and ensuring reliability including custom enterprise system applications, improve performance and scalability,” he says. and scalability across varied systems. According Web services, messaging, and legacy main- The result is information systems with faster to Jonathan Purdy, principal solutions architect frames,” Purdy says. “The grid transparently response time and more-predictable quality of with the Oracle Coherence team, service-oriented solves many of the problems related to achieving service, with minimal configuration overhead and architecture (SOA) can address these issues high availability, reliability, scalability, and perfor- self-healing functionality to respond to server with mature software technologies such as mance in a distributed environment.” outages. Purdy says, “Oracle’s SOA grid helps you midtier caching, load balancing, and high avail- One element of a grid-enabled environment achieve a successful implementation and drives ability through service-level grid enablement. is the midtier caching layer, which offloads the adoption of service-oriented computing initiatives.”

38 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_SOA.indd 38 3/14/08 3:33:33 PM form strategies at Burton Group. “Once you perceive business functions and capabilities as services, you remove the tradi- tional impediments to human workflow reengineering.” This concept is true for Move, Inc., as developers there strive to improve workflow processes used by distributors and business partners. Move is the leading online consumer destination for real estate search and for consumers seeking the information and connections they need before, during, and after a move. Move operates Move.com, a comprehensive real estate search engine with exclusive access to Realtor.com’s listing content, as well as new home and rental content from throughout the Web. The company operates in an extremely competitive industry that requires it to bring new products to market quickly. Move began its SOA journey because of a need for better integration. Following several corporate acquisitions, coordi- nating business processes among many different information systems and reconciling information between fulfillment and billing was a laborious manual task. Managers also lacked clear and timely visibility into the order-to-cash cycle. Each Move picked Oracle SOA Suite because it integrates well with the company’s existing back-office systems, says Technology Director Manish Bhansali. system used a unique internal ID to identify customers, which complicated the billing process. Additionally, there were mul- The team used Oracle JDeveloper and Oracle Application tiple sources of orders and service requests, manual reconcili- Development Framework to develop a sales allowance ations between orders and fulfillment, and complicated billing program. Web-based interfaces handle special pricing requests; and revenue recognition. direct interfaces link to external warehouses. ViewSonic now According to Manish Bhansali, Move’s technology director, has six major sales allowances, which let distributors request the complexity of these systems and the number of manual special pricing and customers instantly process rebates. These controls resulted in expensive auditing processes. Move allowances are revealed by Web services created with Oracle needed information systems that helped accelerate the busi- SOA Suite. ness rather than disrupting it or slowing it down. “Our key service metric involves how quickly we can turn Move selected Oracle SOA Suite because it integrates well around customer requests,” says Basu. “Oracle SOA Suite with the company’s existing back-office systems, as well as with helps us reduce turnaround times by more than half in most new products that might be deployed in the future, Bhansali of our interactions with external stakeholders. The entire says. Move uses Oracle SOA Suite to coordinate activities among rebate process is now more accurate for customers and more Oracle’s PeopleSoft financials and human resources management efficient for ViewSonic.” applications, Oracle’s Siebel Customer Relationship Management Before ViewSonic implemented SOA technology, the rebate (CRM), and several Microsoft applications. process was time consuming, requiring lots of paperwork, and “SOA technology lets us extend and evolve these applica- entailed a cumbersome approval process. Automation brought tions instead of replacing them,” Bhansali says. single-point approval clearances. “The net result is not only Oracle’s Gaur agrees. “The value of Oracle SOA Suite to a much faster turnaround, but all the data is in one place so applications customers is twofold,” he says. “It not only there is less chance of fraud,” Basu adds. “We also gained a provides a certified, standards-based technology for applica- much quicker and broader reporting capability.” tions customers, but it also helps them prepare for future ViewSonic plans to use this SOA technology to create Oracle Applications.” additional customer-facing interfaces, to share other types of Move uses Oracle BPEL Process Manager to orchestrate the information with distributors, and to forge tighter links with company’s workflow processes in a visual, user-friendly way. suppliers. “We’ve proven that SOA can deliver tangible returns The technology shields business users from the connectivity in a relatively short time frame,” Basu says. “Oracle SOA Suite and structure of the applications, which is handled by Oracle enables our team to do more with less.” SOA Suite. “Our developers simply define a process, and that process subscribes to the Oracle Enterprise Service Bus mes- COORDINATING CRITICAL PROCESSES saging standards,” says Move’s Bhansali. “Oracle BPEL Process SOA is changing how organizations look at and plan business Manager provides an audit trail that makes it easier for our services. “SOA helps organizations define critical business financial officers to respond to auditors’ questions.” services and devise a flexible model of where the business is To add analytic capabilities to its business, Move uses

BOB ADLER going,” says Chris Haddad, vice president of applications plat- Oracle Business Intelligence Suite Enterprise Edition, which

ORACLE MAGAZINE MAY/JUNE 2008 39

MJ08_SOA.indd 39 3/14/08 3:33:44 PM “Oracle SOA Suite automates the development cycle and improves visibility into the underlying process. We expect to realize two to three times more productivity.”

—Richard Kolkhuis Tanke, Enterprise Architect, ABN AMRO

in conjunction with SOA supplies ers to interact with the bank through insight into managing customers, SNAPSHOTS multiple channels. “A customer should orders, employees, and sales. “We use be able to open an account on our ViewSonic BI dashboards to give salespeople a www.viewsonic.com Web site, get halfway through the constant view of business transactions process, then pick up the phone to call Headquarters: Walnut, California in real time,” says Bhansali. Industry: Computer hardware the service hotline to add additional Finally, Oracle Customer Data Hub Employees: 800 information,” Kolkhuis Tanke says. creates a single source of customer Oracle products: Oracle SOA Suite, Oracle BPEL “After that, he might appear in person information for Move. The data hub Process Manager, Oracle Web Services Manager, Oracle to sign a contract, while his wife sup- g includes data cleansing, data dedu- Database 11 , Oracle E-Business Suite, Oracle Portal plies a signature via the internet.” plication, and data enrichment tools Move, Inc. The resulting architecture com- and creates cross-references among www.move.com bines these customer-facing channels systems—so all users and applications Headquarters: Westlake Village, California and streamlines the bank’s back-office can access accurate customer records. Industry: Online real estate search engines business processes around PeopleSoft This accelerates sales and marketing Employees: 1,600 CRM. This makes the bank more processes, order capture and contract Oracle products: Oracle SOA Suite, Oracle Business appealing to customers while giving processes, and customer service pro- Intelligence Enterprise Edition, Oracle BPEL Process managers a firm grip on decision- Manager, Oracle’s PeopleSoft financials and human cesses, Bhansali says. making, reporting, and planning. resources management applications, Oracle’s Siebel “Thanks to SOA, information flows Customer Relationship Management (CRM) “Oracle SOA Suite automates the to all parts of the business, easily and development cycle and improves visi- rapidly,” says Bhansali. “As a result, ABN AMRO bility into the underlying process,” says billing processes that used to take 15 www.abnamro.com Kolkhuis Tanke. “We expect to realize Headquarters: days now run in 15 minutes, and dif- Amsterdam two to three times more productivity Industry: ferences among platforms, software Banking in both development and deployment Employees: 107,000 architectures, and network protocols Oracle products: Oracle SOA Suite, Oracle BPEL using this SOA technology.” are transparent.” Process Manager, Oracle Enterprise Service Bus, Oracle Bhansali estimates that overall Database 11g, PeopleSoft CRM, PeopleTools Enterprise INVOLVE BUSINESS USERS development time has been cut by 50 Involving business users—and not percent thanks to the SOA software. just IT pros—in the development “We can route, log, and enrich information without rewrit- process has resulted in a product that more accurately meets ing applications, and we can deploy solutions incrementally, customer needs, according to Kolkhuis Tanke. Further, the project by project, to better manage expenses,” he notes. functionality is more likely to be reused, which lowers long- term development costs. IMPROVED CUSTOMER SERVICE “Ultimately, we have a more stable and available environ- ABN AMRO uses Oracle SOA Suite to add cohesion to its ment and can respond to new business opportunities more customer-facing applications. As one of the largest banks in quickly,” he says. “Oracle worked with us to help us achieve Europe and a global leader in wholesale, private, and retail our goals for this project.” O banking, ABN AMRO selected the Oracle software to create a less-complex IT environment. David Baum ([email protected]) is a freelance business writer based in “We wanted to offer new services to customers more Santa Barbara, California. quickly and maintain a fast time to market—without encoun- tering massive IT re-engineering,” says Richard Kolkhuis Tanke, enterprise architect for ABN AMRO. “We had a busi- ness process management structure in place, but the whole READ more about environment was expensive and cumbersome. Creating or Oracle SOA Suite oracle.com/technologies/soa/soa-suite.html adapting applications to respond to business changes impacted Oracle BPEL Process Manager many parts of the software infrastructure and thus required otn.oracle.com/products/ias/bpel major IT involvement,” he says. DOWNLOAD Oracle SOA Suite These issues came to the fore when the bank started re- otn.oracle.com/software/tech/soa engineering its business processes to make it easier for custom-

40 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_SOA.indd 40 3/14/08 3:33:52 PM ENERGIZING THE EFFICIENT ENTERPRISE COMPANIES SEE SUCCESS WITH THE POWER OF ORACLE ON WINDOWS.

BY ALAN JOCH

ast-growing companies need to make efficient use of all Clusters (Oracle RAC) bring high availability and scalability to their resources, including personnel and information Windows implementations. technology. And many fast-growing companies choose Shepherd also credits Oracle for its history of supporting a Microsoft Windows as their operating system and develop- variety of hardware and operating system platforms, including ment platform because it’s familiar on the desktop and in Windows. “Oracle knows how to do these ports, how to test the data center. them, and how to make everything work,” Shepherd says. “If I already have Windows and Windows expertise in house, why not use that platform?” says Jim Shepherd, senior ARCHITECTURAL FLEXIBILITY vice president with AMR Research, explaining what partly Supporting the Windows platform alone has some limita- fuels Windows loyalty. tions: for example, Microsoft SQL Server runs only on the Sticking with Windows is especially attractive when com- Windows operating system, thus limiting users’ architectural panies team it with Oracle’s database, middleware, and enter- flexibility. By contrast, Oracle Database supports Windows, prise applications. The self-managing characteristics of Oracle Linux, and UNIX, as well as .NET applications and industry- Database reduce maintenance costs and DBA management standard Java/Java Platform, Enterprise Edition; C/C++; and burdens associated with other databases. At the same time, PHP programs.

JUPITER IMAGES JUPITER sophisticated technologies such as Oracle Real Application The Oracle on Windows combination lets organizations

ORACLE MAGAZINE MAY/JUNE 2008 41

MJ08_WINDOWS.indd 41 3/17/08 3:59:35 PM “All of the processes at the plants somehow touch our Oracle database, so we needed to make the system highly available.” —Sachin Kothari, Manager of Corporate Applications and Systems Integration, Solutia

pick and choose the capabilities that best address their individual needs. For example, Solutia takes advantage of Oracle RAC and the Oracle Enterprise Manager central manage- ment console to achieve high availability in its Oracle on Windows implementation. Based in St. Louis, Missouri, Solutia is a US$3.8 billion global performance materials company. Its businesses include nylon plastics and fibers, interlayers used in laminated glass for automo- tive and architectural applications, and spe- cialty chemicals.

APPLICATION AVAILABILITY Running Oracle in a Windows environment works well, according to Solutia’s Sachin Kothari. “When Solutia relies on Oracle’s PeopleSoft Enterprise you focus on one platform, you can combine systems or databases into fewer servers. Everything is easier when you have fewer environments to support.” for payroll applications, but for production, shipping, and logistics applications in its South Carolina and Florida production facilities, the company runs system highly available,” Kothari says. two-node clusters built on Microsoft Windows Server 2003 High availability means two things to Kothari. First, there’s running Oracle Database and Oracle RAC. Solutia built the minimizing planned downtime to add security patches or front ends of these “homegrown” applica- perform other maintenance tasks on tions using C# and .NET. servers and related systems. Thanks to This Oracle on Windows environment SNAPSHOTS Oracle RAC, the company patches the works well for Solutia, according to Sachin operating system by shutting down select Kothari, manager of corporate applications Solutia nodes, completing the upgrade, and then www.solutia.com and systems integration. “Standardizing on shifting the workload to the remaining Headquarters: St. Louis, Missouri this environment offers cost benefits and nodes. Dynamic load allocation also miti- Industry: Performance materials and gives us a commonality of expertise,” he specialty chemicals gates the negative impact of unplanned says. “We have some cost benefits from a Employees: 6,000 downtime. Oracle RAC’s automatic licensing standpoint, but in terms of staff- Oracle products: Oracle Database 10g, failover capabilities keep server blade ing and supportability, we don’t need as Oracle’s PeopleSoft Enterprise, Oracle Real failures and other unexpected events from many skill sets. When you focus on one Application Clusters, Oracle Enterprise disrupting production. Since Solutia has Manager 10g, Oracle Data Provider for .NET platform, you can combine systems or run Oracle Database and Oracle RAC on databases into fewer servers. Everything is Siemens Shared Services Windows, the company hasn’t had any easier when you have fewer environments www.siemens.com instances of downtime, Kothari says. to support.” Headquarters: Orlando, Florida Demonstrating the flexibility of this Industry: Shared services for Siemens’ THE POWER OF WINDOWS AND ORACLE environment, Solutia presents the appli- U.S. divisions Oracle Database and Oracle RAC Employees: cations to users with a Citrix thin-client 74,000 (North America) users such as Solutia can take advantage Oracle products: Oracle Database, interface or, in some cases, a Windows of Oracle Data Provider for .NET Oracle’s PeopleSoft Enterprise, Oracle Real Mobile front end. Application Clusters, Oracle Partitioning, (ODP.NET), which provides optimized “Pretty much all of the processes at Oracle Enterprise Manager 10g, Oracle ADO.NET data access to Oracle Database, the plants somehow touch our Oracle Automatic Storage Management according to Santanu Datta, Oracle senior

database, so we needed to make the director, database development. WILBORN AND ASSOCIATES

42 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_WINDOWS.indd 42 3/17/08 4:00:01 PM “Thanks to Oracle Developer Tools for Visual Studio and ODP.NET, companies can use Microsoft’s Visual Studio and C# or VB.NET to develop .NET applications that access Oracle Database and use its full power including Oracle RAC, advanced security, and support for complex data- types,” Datta says. “With transparent Oracle RAC sup- port in ODP.NET, companies can leverage Oracle RAC with Windows without having to modify their .NET applications,” he says.

ECONOMICAL SCALABILITY To achieve its efficiency goals, Siemens Shared Services decided six years ago to move its PeopleSoft Enterprise human resources applications from a client/ server architecture to a Web implemen- tation that allows managers and employ- ees to view and edit their records. The organization’s main data center in Orlando, Florida, operates a large Oracle Database on Windows implementa- tion for central processing of payroll, Steve Montgomerie, senior Oracle DBA, says that Siemens Shared Services will continue to leverage Windows and Oracle. “We found that, aside from Windows patches and small configuration changes, it’s employee self-service, manager self-service, almost maintenance-free. We basically don’t touch the database—it just runs.” and HR reporting for Siemens divisions across the United States. The Web self-service project prom- In the months ahead, Siemens Shared Services will com- ised big changes. plete its application tier upgrade running on Oracle Database, “Suddenly instead of having 50 or 60 users online process- which will continue to leverage Windows. What convinced ing payroll, we have several thousand people in different time Montgomerie that the Oracle Database on Windows combina- zones who are updating their payroll information and chang- tion is the right choice for the future? ing their addresses,” says Steve Montgomerie, senior Oracle “Once we set up the environment, we found that, aside DBA at Siemens Shared Services. from Windows patches and small configuration changes, it’s That meant the system now had to accommodate vastly almost maintenance-free,” he says. “And we basically don’t more users and maintain high performance levels throughout touch the database—it just runs.” O the day and night. “With our PeopleSoft environment we do a lot of overnight batch processing, so even a server failure at Alan Joch ([email protected]) is a technology writer based in New England who 2 a.m. hurts us,” Montgomerie says. specializes in enterprise, Web, and high-performance-computing applications. When it committed to the Web applications, the company installed a two-node cluster running Oracle Database and Oracle RAC on Windows. “We were able to scale horizontally and, by adding more servers, we could better manage the load,” he says. GET STARTED with Oracle on Windows DVD oracle.com/goto/powertogrow A COMBINATION FOR THE FUTURE READ about Oracle Database 11g on Windows Montgomerie points out that commodity-server clusters repre- oracle.com/technologies/microsoft sent an industrywide change in thinking. VISIT the Windows Server System Center “The RISC processor used to be king of the hill. But now otn.oracle.com/tech/windows Intel and AMD have really stepped up with faster processors, DOWNLOAD Oracle Database 11g and memory is so cheap that machines now come standard otn.oracle.com/software/products/database with 16 gigs of RAM,” Montgomerie says. “We can launch Oracle Developer Tools for Visual Studio large memory implementations and support really large otn.oracle.com/software/tech/dotnet/odtxe_index.html

CHARITY DE MEER CHARITY systems to take advantage of commodity-priced hardware.”

ORACLE MAGAZINE MAY/JUNE 2008 43

MJ08_WINDOWS.indd 43 3/17/08 4:00:20 PM developerFRAMEWORKS BY STEVE MUENCH

Enlightened Development Simplifying common navigation and coding tasks

n this column, we exercise several functionality. However, understanding clicked selected. Connector lines indi- new features in the upcoming Oracle how all of the different components cate that the Sal attribute comes from JDeveloper/Oracle Application are related isn’t always straightforward. the EmployeesIterator binding, which Development Framework (Oracle Oracle JDeveloper 11g includes new binds to the Employees data collection ADF) 11g release that improve developer design time features to simplify the task in the HRModuleDataControl data productivity. We’ll see firsthand how they of understanding and navigating the control. (In the Technology Preview 3 simplify working with your Oracle ADF relationships between components. To release, you may have to select a dif- application’s components and pages. observe these features in action, let’s start ferent binding such as Hiredate from To continue, download the starter with a Web page and see how easily we the list and then select the Sal binding workspace at otn.oracle.com/oramag/ can follow the links from a particular again so the connector lines show cor- oracle/08-may/o38frame.zip and ensure component on the user interface back rectly.) Armed with this information, that you’re using the Oracle JDeveloper through the Oracle ADF Model layer to expand the Data Controls section 11.1.1.0 Technology Preview 3 release, the view object that queries the data and of the Application Navigator and the available as a free download on Oracle the entity object that handles its trans- HRModuleDataControl node inside it. Technology Network at otn.oracle.com/ actional behavior and validation. We’ll Right-click the Employees data collec- products/jdev/11. Start by extracting the start with the EditEmployees.jspx page tion and select Edit Definition to open contents of the o38frame.zip file and and navigate to the related entity object the overview editor for the view object opening the FrameworksMayJun2008 to see its validation rules. related to that data collection. Click the .jws workspace in Oracle JDeveloper. With the sample workspace, Entity Objects tab of the editor, and Note that the Model project in the FrameworksMayJun2008.jws, open in select the Emp entity usage from the starter workspace defines a familiar Emp the Application Navigator, first select Selected list. Note the Definition hyper- entity object, an EmpView view object, the ViewController project. To quickly link that appears below the list. This is and an HRModule application module. navigate to the EditEmployee.jspx Web the name of the entity object that par- The ViewController project defines page, select Navigate -> Go to File from ticipates in this view object. Click that SearchEmployees.jspx and EditEmployee the main menu. When the Go to File oramag.model.Emp link to open the .jspx pages that allow searching for dialog box appears, type the letter e to overview editor for the Emp entity object. employees and editing a given employee’s display a subset list of files including only Click the Attributes tab of the editor, data, respectively. Before proceeding, those whose names start with that letter. and click the Sal attribute in the table. adjust the properties of the scott con- Continue by typing the letter d, and note Expand the Validation Rules section to nection in the Application Resources that the EditEmployee.jspx page and its see Sal Range(1,5000). So in a few clicks, zone of the Application Navigator until page definition are now the only entries we have navigated from the user interface you can successfully test a connec- in the list. Select EditEmployee.jspx component to its binding, to the related tion to a SCOTT schema. If you need from the list, and press the Enter key; the view object and entity object. to create the tables, use the provided page opens in the visual editor. (In a large CreateDeptEmpTables.sql. application, this Go to File feature will FINDING USAGES As the last step in this column, we fix save you time, so note its key accelerator: Next, let’s navigate in the other direc- a bug in the sample application, so we Ctrl-Alt-[-].) tion. We’ll start with the Sal attribute in won’t run it until the end. With the Design tab selected, right- the Emp entity object and see how to click the Sal.inputValue text field UI discover which view objects reference EXPLORING COMPONENT RELATIONSHIPS component in the visual editor and that entity attribute and, in turn, which We’ve seen enough examples in previ- select Goto Binding. This changes page definitions reference that view object ous columns to know that Oracle ADF the active tab of the visual editor to attribute. With the Emp entity object empowers us to build sophisticated, the new Bindings tab, which shows a open in the overview editor, click the cleanly layered business solutions that visual representation of the page defini- Attributes tab, right-click the Sal attri- rely on a metadata-driven implemen- tion for the current page, with the Sal bute in the table, and select Find Usages. tation of all the typical application binding related to the text field you A new tab called Emp.Sal appears in

44 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_FRAMEWORKS.indd 44 3/17/08 12:34:24 PM the log window, showing all the usages character. For example, typing the name framework class, you can’t navigate to of this entity attribute. We can see that *Listener*Impl would match any class it. Press the Backspace key to widen the EmpView view object references the whose name contained “Listener” and the list of methods again, and use Emp.Sal attribute. Next, click the line ended with “Impl.” Also note, in the Quick Outline to navigate to the in the Emp.Sal log window that reads Go to Java Class dialog box, that the prepareRender method by selecting it EntityAttrName=”Sal” (it is indented Go to radio group enables you to select in the narrowed method list and press- beneath the EmpView.xml node). This either Source or Javadoc. By setting ing the Enter key. (To further simplify brings you to the XML Source tab of this option appropriately, you can also your debugging, when the production the EmpView view object editor, to the quickly jump to the Javadoc API refer- release of Oracle ADF 11g becomes line that references the Sal entity object ence documentation for any class. available, you can request the full attribute. Click the Overview tab to In the Go to Java Class dialog box Oracle ADF source code by opening an switch to the overview editor, and click (open it with Navigate -> Go to Java OracleMetaLink service request.) the Attributes tab. Right-click the Sal Class from the main menu, or press The last two code navigation fea- attribute, and again select Find Usages. the Ctrl-[-] key accelerator), find the tures we’ll explore are the quick peek An EmpView.Sal log window tab CustomPageController class in the work- and the tasks window. Notice the appears, showing the two page defini- space. Once you have the source of any colored bands in the overview margin tions that reference this Sal view object Java class in the code editor, you can use on the far right edge of the code editor attribute: EditEmployeePageDef and several additional code navigation tools for the CustomPageController class. SearchEmployeesPageDef. So again we’ve to further explore related classes. Note If you hold your cursor over any seen that it’s easy to find which compo- that the Structure window shows you band, a floating window will appear, nents are using other components to do an outline of the methods in the current offering a quick peek at the relevant impact analysis or just to better under- class as well as the name of the class it source code lines, along with a heading stand how the application components extends (PageController). explaining why the band is there. For are related. The Find Usages feature we Let’s use the Structure window to example, holding the cursor over the used on Oracle ADF components here quickly navigate to a method in a class first, peach-colored band, you’ll see works with Java classes as well. by name. Click in the Structure window the onRemoveWithKey method and (or press Ctrl-Shift-S), begin typing a heading that says, “Parameter ctx NAVIGATING AROUND CODE the method name prepare, and see the not used.” (You can double-click the Although you can use the Go to File search find the first matching method, band to navigate to it.) You can access feature to find any Java source file in prepareModel. You can either con- a similar quick peek feature from the your application, Oracle JDeveloper tinue typing to make the method name Structure window by holding the Ctrl offers a specific feature to find any Java unique or use the arrow keys to select key down while hovering over a method class in your workspace, in the core the prepareRender method. When you name. (Again, you can double-click the Java Developers Kit (JDK) library, or in press the Enter key, the cursor moves in method name to navigate to it.) any other library your project uses. For the code editor to the selected method. Next, choose View -> Tasks from example, to quickly find the source file Note that the Structure window shows the main menu to show the Tasks of the java.util.ArrayList class, choose only the methods in the current class. tab and window. The tab lists all the Navigate -> Go to Java Class from To quickly navigate to any method places in your code where you have the main menu or press the Ctrl-[-] in a class, including those inherited left TODO comments as a reminder key accelerator. When the Go to Java from superclasses, use Quick Outline that some work is left to be done. For Class dialog box appears, type the initial instead. From the code editor, select example, there is a “Fix this code” task characters of the class name ArrayList Navigate -> Quick Outline (or press for the CustomPageController class. until the list reduces enough for you to Ctrl-Shift-`). When the Quick Outline Double-click the task to navigate to the select ArrayList (java.util) by using the window appears over the code editor, relevant line. In the next section, we’ll arrow keys and pressing the Enter key. note that by default it presents methods fix this code with the help of one more Note that you did not have to remember sorted by class. (Using the toggle productivity feature. the package name and that you can use button on the far right, you can change combinations of uppercase and lower- the way the methods are sorted.) Begin USING CODE ASSIST SUGGESTIONS case letters to more quickly reduce the typing val, and note that the list is nar- In the CustomPageController.java list. For example, if you were to type rowed to include methods that contain file, find the onRemoveRowWithKey() ArLi, you would find any classes in any “val,” such as validateModelUpdates method, an event handler that will packages whose name contains “Ar” fol- from the PageController superclass; trigger whenever an end user inter- lowed by “Li,” including ArrayList. You however, because you won’t have the acts with a page that uses the built-in can also use the asterisk as a wildcard source code for this base Oracle ADF RemoveRowWithKey operation to

ORACLE MAGAZINE MAY/JUNE 2008 45

MJ08_FRAMEWORKS.indd 45 3/17/08 12:35:10 PM FRAMEWORKS

delete a row. This custom code aug- Assist lightbulb that appears in the Steve Muench is a consulting product manager for ments the default row-delete processing left margin. Click that icon to display Oracle JDeveloper and an Oracle ACE. Since 1990 by immediately causing the transaction the menu of Code Assist suggestions he has developed and supported Oracle tools and to commit as well. for correcting the problem. Select the XML technologies and continues to evangelize them. We’ve left a TODO comment in the first option in the list: Cast To . . . Muench coauthored the Oracle ADF Developer’s Guide code to remind ourselves to fix a problem JUCtrlActionBinding. This fixes the for Forms/4GL Developers (Oracle, 2006) and shares on the line that reads “JUCtrlActionBinding problem automatically. (By using the tips and tricks on OTN (otn.oracle.com) and in his Dive oper = null.” Replace the null on Ctrl-Alt-Enter key combination, you can into ADF blog (radio.weblogs.com/0118231). that line with ctx, the name of the apply Code Assist suggestions without PageLifecycleContext parameter, followed using the mouse as well.) At this point, immediately by a dot (.). This causes a you can test the application by right- READ more Frameworks list of available methods to appear. Begin clicking the SearchEmployees.jspx otn.oracle.com/oramag/oracle/frameworks typing the first few letters of the page in the Application Navigator and READ more about Oracle getEventActionBinding() method name to selecting Run. JDeveloper and Oracle ADF quickly reduce the list, and then choose I hope this quick overview of otn.oracle.com/products/jdev otn.oracle.com/products/jdev/tips/muench/ that method by pressing the Enter key. Oracle JDeveloper 11g’s code and com- designpatterns At this point, a red, wavy line ponent navigation features will prove Oracle ADF Developer’s Guide appears below the method call, indi- useful to you as you continue to check otn.oracle.com/documentation cating a compilation error. Hold your out the new features in the upcoming DOWNLOAD cursor over ctx.getEventActionBinding() production release. For more infor- Oracle JDeveloper 11g to see a tool tip that explains that mation, see the draft of the Fusion Technology Preview otn.oracle.com/products/jdev/11 there is a missing cast because Developer’s Guide for Oracle Application getEventActionBinding() Starter workspace for this column is returning an Development Framework, available with otn.oracle.com/oramag/oracle/08-may/ interface; we want to use the concrete the Oracle JDeveloper 11g Technology o38frame.zip class instead. Also notice the Code Preview 3 release. O

Oracle HCM User? We’re rolling out the red carpet for you! The Global OHUG 2008 Conference

June 22nd - June 25th, 2008 The Mirage Hotel, Las Vegas, Nevada Why attend?

‡6KDUHH[SHULHQFHVLQXVLQJ  2UDFOH®SURGXFWVDQGVHUYLFHV  ZLWKRWKHU2+8*PHPEHUVDQG  OHDUQIURPWKHLUH[SHULHQFHV

‡,QÁXHQFHGLUHFWLRQDQGLPSURYH  WKHSURGXFWVWKURXJKFRPPXQLFD  WLRQDQGFRRSHUDWLRQZLWK2UDFOH®

‡3URYLGHDIRUXPIRUVKDULQJ  NQRZOHGJHDQGQHZVIURPDOO  VRXUFHVZLWKRWKHU2+8*  PHPEHUV

‡(QFRXUDJHEURDGXVHRIWKH  SURGXFWWKURXJKGLDORJXHZLWK  SURVSHFWLYHFXVWRPHUV

‡$FKLHYHPD[LPXPEXVLQHVVYDOXH  IURPRXULQYHVWPHQWLQ2UDFOH® Join us!  SURGXFWV

Membership is free. 5HJLVWHUWRGD\DWwww.ohug.org 0HQWLRQWKLVDGZKHQUHJLVWHULQJ Oracle Human Capital Management User Group DQGVDYH$FFHVV&RGH Cedar Hill, TX 75106-1412 25$&/(0$*

46 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_FRAMEWORKS.indd 46 3/17/08 12:35:29 PM developerBROWSER-BASED BY DAVID PEAKE

The Power of Two Use Oracle SQL Developer to aid Oracle Application Express development.

racle Application Express and its supporting objects from one work- Oracle SQL Developer are space to another. This capability is espe- no-cost tools that both work cially useful for deploying applications with Oracle Database versions from your development environment to 9.2 and above. Not only can Oracle testing or production. SQL Developer help you develop data- You can copy SQL code from your base applications but it also lets you Oracle Application Express regions, browse, export, import, deploy, and LOVs, and validations; paste it into remotely debug your Oracle Application a SQL worksheet in Oracle SQL Express applications. Developer; and execute the query. This column introduces the ways Oracle SQL Developer lets you enter Oracle SQL Developer and Oracle values for the bind variables and run Application Express work together to explain plan or autotrace against the aid your development efforts. We’ll query to identify performance issues see how to browse Oracle Application and tune the SQL. Express information from within Oracle This column’s examples require SQL Developer. Then we’ll walk through Oracle Application Express 3.0.1 or an example of remotely debugging a above and Oracle SQL Developer browser-based application’s PL/SQL 1.2.1 or above. (Note that you cannot code from Oracle SQL Developer. perform the examples’ steps on the hosted version of Oracle Application Figure 1: Oracle Application Express node in Oracle OVERVIEW Express at apex.oracle.com.) You also SQL Developer Using Oracle SQL Developer in con- need an Oracle Application Express junction with Oracle Application workspace associated with the sample REMOTE DEBUGGING Express, you can browse across mul- HR schema available in the default data- You can use Oracle SQL Developer to tiple applications and pages and drill base installation. debug PL/SQL remotely. This capability down to specifics quickly. For example, is especially useful when an application in Oracle Application Express, you BROWSING ORACLE APPLICATION EXPRESS isn’t failing but also isn’t producing the need two browsers to view the code INFORMATION results you expect. As an exercise, follow for two lists of values (LOVs) in two In Oracle SQL Developer, create a con- these steps to debug a procedure in the applications simultaneously. In Oracle nection to the HR schema. See the asset manager packaged application SQL Developer, this task is as simple Oracle SQL Developer column “Making deployed in Oracle Application Express: as expanding both applications in Database Connections” in this issue of Step 1: Obtain and install the packaged Connections Navigator. Oracle SQL Oracle Magazine for step-by-step instruc- application. Download, import, and Developer also provides several very tions on making connections from deploy the asset manager application in useful and detailed reports—about Oracle SQL Developer to a database. Oracle Application Express. applications, pages, schemas, and Once the connection is established, 1. Download asset_manager_1.0.zip workspaces—specifically for Oracle you can see an Application Express from otn.oracle.com/products/database/ Application Express (under Data node under the HR connection in application_express/packaged_apps/ Dictionary Reports). Connections Navigator, as shown packaged_apps.html#ASSETS, and save Oracle SQL Developer lets you (under the XE DPeake connection) in the file locally. export, import, and deploy applications Figure 1. 2. Unzip the file. across multiple workspaces, instances, You can now browse the HR user’s 3. In Oracle SQL Developer, connect to and databases. Right-clicking the appli- Oracle Application Express applications, the HR schema. cation name invokes a context menu using the detail tabs in Oracle SQL 4. Right-click the Application Express that lets you move the application and Developer, as shown in Figure 2. node under HR in Connections

ORACLE MAGAZINE MAY/JUNE 2008 47

MJ08_BROWSER.indd 47 3/13/08 2:26:37 PM BROWSER-BASED

Navigator, and select Import Application. 5. Browse to and open the unzipped asset_manager_1.0 folder, and select the asset_manager_installer_1.0.sql file. 6. Click Next. 7. Click the Run Install Script check box (see Figure 3), and click Next. 8. Click Finish. 9. Click OK in the success window. Step 2: Configure Oracle SQL Developer for remote debugging. Set up Oracle SQL Developer for debugging the applica- tion’s EBA_ASSET.update_status procedure remotely. 1. In Oracle SQL Developer, connect to the database as a user with DBA privileges. 2. Enter the following code in the SQL worksheet. If necessary, replace PUBLIC Figure 2: Detail tabs for an application with the user defined to run Oracle Application Express in mod_plsql. (PUBLIC is correct if you’re using Oracle Database 10g Express Edition.)

grant DEBUG CONNECT SESSION to HR; grant DEBUG on HR.EBA_ASSET to PUBLIC;

3. Click Run Script (or press F5). 4. Connect as HR. 5. In Connections Navigator, open the Packages node and click EBA_ASSET. 6. Right-click EBA_ASSET Body, and select Edit. 7. Right-click in the margin on the detail pane, and select Toggle Line Numbers. 8. Scroll down to line 113, right- click in the margin, and select Toggle Breakpoint. 9. Right-click in the main body, and select Compile for Debug. (Note that running a package in debug mode Figure 3: Importing and deploying an application severely hampers performance. Once testing is complete, you should recom- as HR. tcp(‘localhost’,4000); pile the package.) 2. Click Application Builder. END IF; 10. Right-click HR in Connections 3. Click Asset Manager 1.0. eba_asset.update_status(:P11_ASSET_ID); Navigator, and select Remote Debug 4. Click Page 11 – Inventory Details. IF :DEBUG = ‘YES’ THEN (see Figure 4). 5. Under Processes, click Update Asset dbms_debug_jdwp.disconnect; 11. Click OK. Status. END IF; Step 3: Configure Oracle Application Express 6. In the Source box, replace the exist- for debugging. Set up Oracle Application ing code with the following: This code is designed to fire only Express to debug the EBA_ASSET when the page is run in DEBUG mode. .update_status procedure: IF :DEBUG = ‘YES’ THEN The second IF statement disconnects 1. Log in to Oracle Application Express dbms_debug_jdwp.connect_ the debugging session.

48 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_BROWSER.indd 48 3/13/08 2:26:57 PM to Oracle SQL Developer manually.) 11. Use the Oracle SQL Developer debugging controls to resume, step over, and step into the procedure (see Figure 5). As you step through the procedure, you can see the data values change. Once the procedure finishes execut- ing, the remote debugger disconnects. You can use remote debugging to step through complex PL/SQL process- ing that’s not performing its intended function. Reviewing the data values as you step through the program helps you identify incorrect logic.

CONCLUSION You can use Oracle SQL Developer to perform the following tasks as you develop your Oracle Application Express applications: O Navigate rapidly through all your applications’ components O Export, import, and deploy applications O Tune SQL Figure 4: Oracle SQL Developer configured for remote debugging O Remotely debug PL/SQL The combination of Oracle SQL Developer and Oracle Application Express can give your Web application development efforts a significant pro- ductivity boost. O

David Peake ([email protected]) is a principal product manager in Oracle’s Server Technologies division. He has been with Oracle since 1993.

Figure 5: Remote debugging in Oracle SQL Developer READ more Browser-Based otn.oracle.com/oramag/oracle/browser LEARN more about 7. Click Apply Changes. the status value. Oracle Application Express apex.oracle.com Step 4: Run the application. Run the 6. Click Apply Changes. The applica- Oracle Application Express/ asset manager application in Oracle tion performs normally, because it’s not Oracle SQL Developer integration Application Express, first normally and in DEBUG mode. otn.oracle.com/products/database/application_ then in DEBUG mode. 7. Click on the edit icon for the same express/html/sql_dev_integration.html 1. In Oracle Application Express, navi- inventory record. DOWNLOAD Oracle Application gate back to page 1 and click Run. 8. Click Debug in the developer toolbar. Express otn.oracle.com/products/database/application_ 2. Log in as HR. 9. Change the status value, and click express/download.html 3. Select Assets. Apply Changes. UPGRADE Oracle Application 4. Click the edit icon for any asset 10. Oracle SQL Developer should now Express within Oracle Database 10g record. have the desktop focus. (If not, the Express Edition otn.oracle.com/products/database/application_ 5. Click the edit icon for an inventory application will show a partially com- express/html/3.1_and_xe.html record in that asset record. Change plete process and you should navigate

ORACLE MAGAZINE MAY/JUNE 2008 49

MJ08_BROWSER.indd 49 3/21/08 1:57:05 PM >YP[[LUI`SLHKPUN6YHJSLWYVMLZZPVUHSZ6YHJSL7YLZZIVVRZVMMLY[OLTVZ[KLÄUP[P]LJVTWSL[L HUK\W[VKH[LJV]LYHNLVM6YHJSLWYVK\J[ZHUK[LJOUVSVNPLZH]HPSHISL>L»]LILLU[OLWYLTPLY ZV\YJLMVY6YHJSLPUMVYTH[PVUMVYTVYL[OHUHKLJHKLHUK[OL[YHKP[PVUJVU[PU\LZ^P[O[OL YLSLHZLVM6YHJSL+H[HIHZLg

6YHJSL+H[HIHZLg5L^-LH[\YLZ 6YHJSL+H[HIHZLg 6YHJSL(\[VTH[PJ:[VYHNL4HUHNLTLU[ 9VILY[.-YLLTHU +)(/HUKIVVR

6YHJSL+H[HIHZLg:83 6YHJSL+H[HIHZL(1(? 7/7 6YHJSL+H[HIHZLg73:83 1HZVU7YPJL >LI+L]LSVWTLU[ 7YVNYHTTPUN (JJLZZ6YHJSLKH[HIHZLZ[OYV\NO 3LL)HYUL`HUK4PJOHLS4J3H\NOSPU 4PJOHLS4J3H\NOSPU :83Z[H[LTLU[ZJVUZ[Y\J[73:83 )\PSKHUKKLWSV`OPNOS`YLZWVUZP]L +LZPNUHUKKLSP]LYYVI\Z[ WYVNYHTZHUK\ZL:837S\ZHUK:83 KH[HKYP]LU>LIHWWSPJH[PVUZ MLH[\YLYPJO73:83HWWSPJH[PVUZ +L]LSVWLYPU[OLUL^KH[HIHZLYLSLHZL

(=(03()3,,=,9@>/,9,*647<;,9)662:(9,:63+ 1VPU[OL6YHJSL7YLZZ*VTT\UP[`[VIL[OLÄYZ[[VOLHYHIV\[ UL^6YHJSL7YLZZYLSLHZLZHUKZWLJPHSVMMLYZH[ ^^^6YHJSL7YLZZ)VVRZJVT

Untitled-5 1 3/18/08 8:38:41 PM developerPL/SQL PRACTICES BY STEVEN FEUERSTEIN

On the PGA and Indexing Collections Best practices for knowing your PGA impact and indexing collections

y DBA wants me to reduce the codeLISTING 1: show_pga_memory procedure amount of PGA (program global area) memory I use in my CREATE OR REPLACE PROCEDURE show_pga_memory ( context_in IN VARCHAR2 DEFAULT NULL collection-based programs. Isn’t it ) the DBA’s job to manage memory, and if it isn’t, IS how am I supposed to know how much PGA l_memory NUMBER; BEGIN memory I am using? SELECT st.VALUE Sure, it is ultimately the responsi- INTO l_memory FROM SYS.v_$session se, SYS.v_$sesstat st, SYS.v_$statname nm bility of the database administrator to WHERE se.audsid = USERENV (‘SESSIONID’) analyze memory usage and to either AND st.statistic# = nm.statistic# make the necessary adjustments in the AND se.SID = st.SID AND nm.NAME = ‘session pga memory’; database configuration or recommend to the developers what should be changed DBMS_OUTPUT.put_line ( CASE in their code. WHEN context_in IS NULL THEN NULL Having said that, I strongly encour- ELSE context_in || ‘ - ‘ age all developers to become as aware of END and as involved as possible in all aspects || ‘PGA memory used in session = ‘ || TO_CHAR (l_memory) of deployment of your code, to ensure ); the best-possible results for your users. END show_pga_memory; It is certainly possible, for example, for you to measure the amount of PGA memory your program uses. To do so, INDEXING COLLECTIONS I demonstrate both of these tech- however, you will need to go back to I want to use associative arrays to quickly look niques below, based on a set of office your DBA and ask that person to grant up an office product name for a given product product data that is initialized within the SELECT privileges to your schema on number and a product number for a given package body. the following views: product name. Product names are unique, and Scan until you find it. First, I create a product numbers are integers. I see how I can package whose specification includes a SYS.V_$SESSION use the product number as the index value collection of product names, as shown in SYS.V_$SESSTAT in my collection of names, but I also need to Listing 2. SYS.V_$STATNAME reverse the process and find a product number Suppose I have the name of the pro- for a given product name. Can I create another duct and want to find its index value so Once you can query from these views, index on a collection’s contents? that I can remove that element. Listing 3 compile the show_pga_memory proce- A collection has only one index, contains the product_lookup1 function, dure, shown in Listing 1 (and included which is defined explicitly in associative which scans the collection until it finds a in the show_pga_memory.sp file in the array types with the INDEX BY clause (as match on the name. sample code download for this column, integer or string) and implicitly in nested This is a very simple program, easy at otn.oracle.com/oramag/oracle/08- table and varray types (as integer only). to understand and maintain. Yet it may may/o38plsql.zip), in your schema. You So if you need to find the index perform inefficiently for large collec- can then call show_pga_memory after value (location) at which a given tions—especially if I try to locate the running your application code to see element resides, you will have to do index value for a name that is not in the how large the PGA has become. one of the following: list. To do so, I would have to scan the When I used this procedure to test O Scan the contents of the collection full contents of the collection. Clearly, BULK COLLECT with different LIMIT until you find a match. I’d rather not have to look through the clause values, I found that the size of O Construct a second collection that will collection element by element. my PGA ranged from 4,613,072 bytes to emulate (act like) an index on the first or Emulating a table column index. A much 46,883,792 bytes. primary collection. better approach is to follow the example

ORACLE MAGAZINE MAY/JUNE 2008 51

MJ08_PLSQL.indd 51 3/13/08 1:12:06 PM PL/SQL PRACTICES

of Oracle Database. If you want to quickly package body in Listing 5. complex block of code at the end of my find a row in a table based on a given I have, first of all, changed the package. Also, I could now, if necessary, column value, you create an index on structure of the body, having moved expose this subprogram in the package that column. For this question, if I were the lines of code used to populate the specification so that it can be reinitialized working with a relational table, I would names collection into its own initialize as needed during a session. create an index on the product name. procedure. I then call that procedure in The initialize procedure itself con- I can do something similar for a the initialization section of the package. tains a local procedure, add_product, collection, but to do so, I will have to I find it easier to maintain such code that takes a name and does two things: define a second collection to emulate in its subprogram than to have a long, O Adds that name to the list of names the index on a table column. For the remainder of this column, I will use codeLISTING 2: Initial office_products package specification and body the term index collection when referring CREATE OR REPLACE PACKAGE office_products to the collection I create to emulate an IS index on a table column. TYPE names_list_aat IS TABLE OF VARCHAR2 (100) A collection can have only one index, INDEX BY PLS_INTEGER;

and my list_of_names collection is list_of_names names_list_aat; already indexed by product number. So END office_products; I will have to create a second collection CREATE OR REPLACE PACKAGE BODY office_products and index this one by product name. IS Listing 4 shows the modified office_ BEGIN products package specification. list_of_names (1567) := ‘Stapler’; list_of_names (75009) := ‘Mousepad’; Note, first of all, that I no longer use list_of_names (101) := ‘Pencil sharpener’; hard-coded declarations for the types ref- END office_products; erenced in my collection types. Instead, I have switched to using subtypes. codeLISTING 3: Function for finding name of product This approach is completely optional but highly recommended. In other CREATE OR REPLACE FUNCTION product_lookup1 (NAME_IN IN VARCHAR2) RETURN PLS_INTEGER words, I could define my collection types IS as follows: c_count PLS_INTEGER := office_products.list_of_names.COUNT; l_index PLS_INTEGER := office_products.list_of_names.FIRST; l_return PLS_INTEGER; TYPE names_list_aat IS TABLE OF BEGIN VARCHAR2(100) INDEX BY PLS_INTEGER; WHILE (l_index IS NOT NULL) LOOP IF office_products.list_of_names (l_index) = NAME_IN TYPE index_list_aat IS TABLE OF THEN PLS_INTEGER INDEX BY VARCHAR2(100); l_return := l_index; l_index := NULL; ELSE Both approaches will execute in l_index := office_products.list_of_names.NEXT (l_index); exactly the same way. So why bother END IF; with subtypes? Because the resulting END LOOP; code explains itself much more clearly, RETURN l_return; making it easier to understand, debug, END product_lookup1; and maintain. Because I’m using subtypes, my codeLISTING 4: Modified office_products package specification package specification tells me—very explicitly and without the need for com- CREATE OR REPLACE PACKAGE office_products IS ments—that I have these two collections SUBTYPE name_t IS VARCHAR2(100); to work with: SUBTYPE index_t IS PLS_INTEGER; O office_products.list_of_names, a list of TYPE names_list_aat IS TABLE OF name_t the product names indexed by the index INDEX BY index_t; value (product number) TYPE index_list_aat IS TABLE OF index_t O office_products.index_by_name, a list INDEX BY name_t; of the product numbers indexed by the product name list_of_names names_list_aat; Of course, I still need to populate index_by_name index_list_aat; END office_products; these collections, so let’s look at the

52 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_PLSQL.indd 52 3/13/08 1:12:15 PM O Updates the index collection to associ- Listing 9 includes the results I ob- conclusions: ate that product name (the index value of tained (in hundredths of a second) in an O For collections with small amounts of this string-indexed collection) with the Oracle Database 10g Release 2 instance data, you can take either approach—the index value of the original list of names on a laptop with 4GB of memory. scan find or the index find—to finding I then call add_product for each row From this data, I draw the following the index containing a certain element, in the products table. With this emulated index in place, codeLISTING 5: Modified office_products package body my lookup function now becomes very CREATE OR REPLACE PACKAGE BODY office_products simple, as shown in Listing 6. This IS function returns the index value for the PROCEDURE initialize specific name, if a row exists for that IS PROCEDURE add_product (index_in IN index_t, NAME_IN IN name_t) name. If not, the function simply returns IS NULL. Because NULL is never allowed BEGIN as an index value, it is a good indicator list_of_names (index_in) := NAME_IN; index_by_name (NAME_IN) := index_in; for “Sorry, no product with that name.” END add_product; This second approach, taking advan- BEGIN tage of the emulated index, results in add_product (1567, ‘Stapler’); add_product (75009, ‘Mousepad’); a very simple lookup program, but, of add_product (101, ‘Pencil sharpener’); course, the setup code is more com- END initialize; plicated. Increased code complexity is BEGIN initialize; justified if I can get a substantial boost in END office_products; performance. Let’s see if that is the case. Comparing the performance of lookup LISTING 6: programs. I want to compare perfor- code Modified product lookup (product_lookup2) function mance for these scenarios: CREATE OR REPLACE FUNCTION product_lookup2 (NAME_IN IN office_products.name_t) RETURN PLS_INTEGER O Scan collection for a name in the IS collection l_index PLS_INTEGER; O Scan collection for a name not in the BEGIN collection IF office_products.index_by_name.EXISTS (NAME_IN) THEN O Index find for a name in the collection l_index := office_products.index_by_name (NAME_IN); O Index find for a name not in the END IF; collection RETURN l_index; First I change the initialize procedure END product_lookup2; so that I can load a nontrivial volume of data into the collections (I will no longer LISTING 7: populate the collections in the initializa- code Modified initialize procedure tion section), as shown in Listing 7. CREATE OR REPLACE PACKAGE BODY office_products I then construct a compare_lookups IS PROCEDURE initialize (count_in IN PLS_INTEGER) procedure that relies on DBMS_UTILITY IS .GET_CPU_TIME to help me calculate PROCEDURE add_product (index_in IN index_t, NAME_IN IN name_t) elapsed CPU time down to the hun- IS BEGIN dredth of a second. Listing 8 includes list_of_names (index_in) := NAME_IN; the code for timing the performance of index_by_name (NAME_IN) := index_in; the collection scan implementation. END add_product; BEGIN I then call this compare_lookups list_of_names.DELETE; procedure with variations in the number index_by_name.DELETE; of rows in the collection and the number add_product (1567, ‘Stapler’); of calls to the lookup programs: add_product (75009, ‘Mousepad’); add_product (101, ‘Pencil sharpener’); BEGIN FOR indx IN 1 .. count_in compare_lookups (100, 1000); LOOP compare_lookups (1000, 1000); add_product (indx * 1000, ‘Product ‘ || indx); compare_lookups (100000, 1000); END LOOP; END initialize; compare_lookups (100000, 10000); END office_products; END;

ORACLE MAGAZINE MAY/JUNE 2008 53

MJ08_PLSQL.indd 53 3/13/08 1:12:26 PM PL/SQL PRACTICES

and performance will be fine. analysis and conclusions, you should run in the program global area is much faster O For collections with hundreds and the script compare_lookups.sql (avail- than doing so from a persistent table’s certainly thousands of elements, you able in the sample code download for data cached in the system global area. should build an index collection and this column) yourself on your version of You must always remember the fol- use that to find indexes for elements. Oracle Database and confirm the results. lowing, however, when using package- Performance is stable regardless of col- Don’t forget. . . . Collections offer a very level collections in this way: lection counts. efficient mechanism for looking up data. O The data you are caching in the collec- Finally, as with any performance Retrieving data from a collection cached tion is static while the user is asking for the information. If the source of this data codeLISTING 8: compare_lookups procedure changes (if, for example, it is queried from a table), your cache will be out-of-date. CREATE OR REPLACE PROCEDURE compare_lookups ( coll_count_in IN PLS_INTEGER O Your database server must have enough , iterations_in IN PLS_INTEGER memory (in addition to the SGA alloca- ) tion) to handle all the PGAs for each IS l_time_before PLS_INTEGER; session connected to Oracle Database l_index PLS_INTEGER; that uses this package-based cache. Each BEGIN PGA will have its own copy of the cache. office_products.initialize (coll_count_in); If you are developing your software ... l_time_before := DBMS_UTILITY.get_cpu_time; for Oracle Database 11g, you should take advantage of the function result cache, FOR indx IN 1 .. iterations_in LOOP which I wrote about in the September/ l_index := product_lookup1 ( October issue of Oracle Magazine (“On ‘Product ‘ || TO_CHAR (coll_count_in / 2)); the PL/SQL Function Result Cache,” at END LOOP; otn.oracle.com/oramag/oracle/07-sep/ DBMS_OUTPUT.put_line ( o57plsql.html). It offers performance ‘ Scan Find - name exists = ‘ similar to that of package-based caches || TO_CHAR (DBMS_UTILITY.get_cpu_time – l_time_before)); but is shared across all sessions in the ... END compare_lookups; database instance and is automatically invalidated if any changes are made to dependent tables. codeLISTING 9: Results of compare_lookups procedure Regardless of the approach you take, COUNT in collections = 100 Number of times program lookup called = 1000 remember that collections have only a single index but that you can always add Scan Find - name exists = 0 your own emulated indexes by populat- Scan Find - name does not exist = 2 Index Find - name exists = 0 ing other collections with the cross- Index Find - name does not exist = 0 referencing information. O

COUNT in collections = 1000 Steven Feuerstein ([email protected]) is Number of times program lookup called = 1000 Quest Software’s PL/SQL evangelist. He has published Scan Find - name exists = 12 10 books on Oracle’s programming language, including Scan Find - name does not exist = 11 Oracle PL/SQL Programming and Oracle PL/SQL Best Index Find - name exists = 2 Index Find - name does not exist = 0 Practices (O’Reilly Media). Feuerstein’s self-appointed mission in life these days is to improve the quality and COUNT in collections = 100000 quantity of PL/SQL code testing. Number of times program lookup called = 1000

Scan Find - name exists = 681 Scan Find - name does not exist = 1391 Index Find - name exists = 0 Index Find - name does not exist = 0 READ more Best Practice PL/SQL COUNT in collections = 100000 otn.oracle.com/pub/columns/plsql Number of times program lookup called = 10000 DOWNLOAD Scan Find - name exists = 6578 Oracle Database 11g otn.oracle.com/software/products/database Scan Find - name does not exist = 14043 Index Find - name exists = 1 sample code for this column Index Find - name does not exist = 0 otn.oracle.com/oramag/oracle/08-may/o38plsql.zip

54 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_PLSQL.indd 54 3/13/08 1:12:34 PM developer.NET BY CHRISTIAN SHAY

It Takes All Types Build applications with Oracle Developer Tools for Visual Studio and Oracle user-defined types.

sing Oracle Data Provider for Visual Studio to create UDTs in Oracle DESIGNING THE DATA AND THE APPLICATION .NET (ODP.NET), a high- Database, and then I create a sample I keep the database design simple while performance ADO.NET- ASP.NET Web application to display the demonstrating some of the object- compliant data provider, value of those objects. relational features of Oracle Database. To developers can take advantage of all of The steps in this article require Visual that end, I first define a simple customer Oracle Database’s enterprise features Studio 2008 or Visual Studio 2005 and object type, CUSTOMER_OBJ, that con- with performance tuning and secu- access to an Oracle Database (Oracle9i sists of a customer number; a customer rity features built in. ODP.NET can be Database or later) instance. You should name; an address object, ADDRESS_OBJ; used in conjunction with and a phone number list, Oracle Developer Tools for PHONELIST_OBJ (which Visual Studio, an add-in for will be a VARRAY of as many Microsoft Visual Studio that as 10 phone numbers). The makes common database CUSTOMER_OBJ objects tasks easy for .NET develop- will live in the CUSTOMER_ ers. For example, you can TAB object table. (When create tables, edit and debug you store objects in an PL/SQL, edit and run SQL object table, they become scripts, automatically gener- referenceable, meaning that ate .NET code to access data- you can refer to them via base schema objects, and do a pointer, a REF, in other many other database tasks table columns. You can also right from Visual Studio. “dereference” any REF in User-defined types SQL statements and in appli- (UDTs) make it possible cation code.) Finally, I create to model real-world enti- a CUSTOMER_MEETINGS ties such as customers or relational table that con- purchase orders as objects sists of a meeting ID, a in Oracle Database, and ODP.NET 11g also be able to get this article’s sample meeting date, a location, and a REF to a has added support for UDTs, so that application working with Visual Studio CUSTOMER_OBJ object. developers can access their objects, .NET 2003, in which case the steps will My ASP.NET Web application design VARRAYs, and nested table types from be significantly different from those used is also very simple: I display all customer C# or VB.NET code. Oracle Developer in this article. meetings on a Web page, along with all Tools for Visual Studio also supports You’ll need to download and install of the details for each customer. I could UDTs, enabling you to use Visual Studio both Oracle Developer Tools for Visual have just as easily created a Winform to create and modify them and autogen- Studio and ODP.NET version 11.1 (thick client) application, and the steps to erate .NET code to access them. (UDTs or later. These products are free and do so are very similar to what I do here will be of particular interest to .NET can be downloaded from the Oracle for this ASP.NET Web application. developers leveraging Oracle Spatial and Technology Network using the link in Oracle Advanced Queuing, which accept “nextSTEPS,” at the end of this article. CREATING USER-DEFINED TYPES UDTs as part of their PL/SQL interfaces. If you are not familiar with the object- Oracle Database’s primary integration VARRAYs and nested table types are fre- relational features of Oracle Database, point with Visual Studio is server explorer quently used in PL/SQL business logic.) see “nextSTEPS” to find the URL for (see Figure 1), a tree control that enables In this article, I use both accessing Oracle Database Object- you to view your Oracle Database ODP.NET and Oracle Developer Tools Relational Developer’s Guide, which schema. Each schema object in server for Visual Studio to take you, step describes concepts and terminology explorer provides context menu items that

LINDY GROENING LINDY by step, through the process of using used in this article. launch various wizards and designers.

ORACLE MAGAZINE MAY/JUNE 2008 55

MJ08_ODT.indd 55 3/17/08 4:21:30 PM .NET

Figure 1: Server explorer and context menu

With Visual Studio, ODP.NET, and Oracle Developer Tools for Visual Studio installed and an Oracle Database Figure 2: Object designer schema available, you are ready to start building the application. First, connect to Oracle Database. In Visual Studio, right-click the Data Connections node of server explorer and select Add Connection. Make sure that Oracle Data Provider for .NET is selected, fill in the connection dialog box with the necessary database information, and click OK to connect. Next, construct the various child components of the CUSTOMER_OBJ object, starting with the address object type. In server explorer, scroll down to the User-Defined Types node, right-click it, and select New Object Type. This launches object designer, as shown in Figure 2. Enter ADDRESS_ Figure 3: Object table designer OBJ for Type name. Click Add four times to create four attributes. Select Note that you can click Preview Then click OK to create the object type. each attribute on the left side of the SQL>> to see the SQL that is going to be The last type to define is designer (under Attributes) and then executed. Click OK to create the type. CUSTOMER_OBJ. Once again, right change its Name and Type on the right Now, create PHONELIST_OBJ, which click the User-Defined Types node and side (under Attribute Properties) using is a VARRAY of phone numbers. Again select New Object Type. the following values: right-click the User-Defined Types Enter CUSTOMER_OBJ for Type name. node, and this time select New Varray As you did when creating ADDRESS_ Name Type (Data type) (as shown in Figure 1). This launches OBJ, first click Add four times to create STREET VARCHAR2(200) the VARRAY designer. In the Type Name four attributes. Next, select each attri- CITY VARCHAR2(200) field, enter PHONELIST_OBJ; in the Limit bute on the left side of the designer STATE CHAR(2) field, enter 10; in the Type field, enter (under Attributes) and then change ZIP VARCHAR2(20) Varchar2; and in the Size field, enter 20. its Name and Type on the right side

56 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_ODT.indd 56 3/17/08 4:21:38 PM server explorer, right-click the Tables node and select New Relational Table. Enter CUSTOMER_MEETINGS for Table name. Click Add four times to create four columns. Next, select each column on the left side of the designer (under Columns) and then change its Name and Data type on the right side (under Column Properties) using the following values:

Name Data type MEETING_ID NUMBER TIME DATE LOCATION VARCHAR2(20) CUSTOMER CUSTOMER_OBJ Figure 4: Relational table designer As before, when selecting the data- codeLISTING 1: Loading the data type for the CUSTOMER column, you INSERT INTO Customer_tab will need to look near the bottom of the VALUES ( Data type list for the CUSTOMER_OBJ 1, ‘John Doe’, Address_obj(‘111 Lollipop Lane’, ‘Redwood Shores’, ‘CA’, ‘95054’), user-defined type. Check the Create as PhoneList_obj(‘415-555-1212’) Ref check box (see Figure 4), and click ) ; Save to create the table. INSERT INTO Customer_tab VALUES ( POPULATING THE OBJECTS WITH DATA 2, ‘John Smith’, Address_obj(‘333 Island Drive’, ‘Edison’, ‘NJ’, ‘08820’), The schema objects have been created in PhoneList_obj(‘609-555-1212’,’201-555-1212’) Oracle Database; now you need to load ) ; data into them. To load the data, you INSERT INTO Customer_tab will execute SQL statements by using the VALUES ( 3, ‘Richard Roe’, ad hoc query window that Oracle has Address_obj(‘555 Clay St’, ‘San Francisco’, ‘CA’, ‘94115’), integrated into Visual Studio. In server PhoneList_obj(‘415-555-1212’,’650-555-1212’, ‘510-555-1212’) ) ; explorer, right-click the Tables node and select Query Window. Enter the SQL in INSERT INTO Customer_meetings SELECT ‘1’, ‘12-JAN-2008’, ‘HQ - 200’, REF(C) Listing 1, select all the statements, and FROM Customer_tab C click the green “execute” toolbar icon to WHERE C.CustNo = 1 ; run them all. INSERT INTO Customer_meetings SELECT ‘2’, ‘13-JAN-2008’, ‘HQ - 300’, REF(C) CREATING THE ASP.NET WEB APPLICATION FROM Customer_tab C WHERE C.CustNo = 2 ; Now that the database is ready, create the ASP.NET Web application, by taking advantage of the automatic .NET code (under Attribute Properties), using the Now you need to create an object generation features of Visual Studio. In following values: table to give the CUSTOMER_OBJ the main menu, choose File -> New objects a place to live, so that you can Project, and then under Visual C#, Name Type (Data type) refer to them in other tables by using select ASP.NET Web Application. CUSTNO NUMBER REFs. In server explorer, right-click the Choose View -> Toolbox, and then CUSTNAME VARCHAR2(200) Tables node and select New Object under the Data section of the Toolbox, ADDRESS ADDRESS_OBJ Table. When the dialog box opens, drag and drop a GridView control onto PHONELIST PHONELIST_OBJ enter CUSTOMER_TAB for Table name the ASP.NET design surface. Right-click and select CUSTOMER_OBJ from the the small arrow in the upper right-hand The last two attributes are user- Object type list (see Figure 3). Click corner of the GridView control to open defined types you just created. You will Save to create the table. the GridView Tasks pane (see Figure find user-defined types at the bottom of To finish building your database 5). From the Choose Data Source the Attribute Properties Type list, after schema objects, you need to create the list, select . This all of the standard Oracle datatypes. CUSTOMER_MEETINGS table. In will start the datasource configuration

ORACLE MAGAZINE MAY/JUNE 2008 57

MJ08_ODT.indd 57 3/17/08 4:21:45 PM .NET

wizard, which will create and configure a codeLISTING 2: ToString() method for custom classes SQLDataSource component that contains ToString() method for CUSTOMER_OBJ class (in Customer_obj.cs): automatically generated ODP.NET data public override string ToString() { return “Customer Number: “ + CUSTNO + “
Name: “ + CUSTNAME + “
Address: “ + access code. When the wizard opens, ADDRESS.STREET + “ “ + ADDRESS.CITY + “ “ + ADDRESS.STATE+ “ “ + ADDRESS.ZIP + double-click the database icon. Select the “
Phone Numbers:
” + PHONELIST.ToString(); } correct connection, and then continue ToString() method for PHONELIST_OBJ class (in Phonelist_obj.cs): to the “Configure the Select Statement” public override string ToString() screen. Click the Specify a Custom SQL { string ret = “”; Statement radio button, click Next, and for (int x = 0; x < m_PHONELIST_OBJ.Length; x++) enter the following SQL statement in the { ret = ret + m_PHONELIST_OBJ[x] + “
”; text box: } return ret; SELECT MEETING_ID, TIME, LOCATION, } DEREF(CUSTOMER) FROM CUSTOMER_MEETINGS

Note that the SQL includes the SQL DEREF operator. This makes sure that the object value is returned, rather than the REF, which is nothing more than a large hexadecimal value, similar to a ROWID. (You could also create an appli- cation that queries for the REF and then fetches each object value individually, using its REF, but that approach is not covered in this article.) Click Next and then Test Query Figure 5: Configuring the GridView control to make sure there are no errors. Then click Finish. Go to the GridView the CUSTOMER_OBJ object to render Web server (built in to Visual Studio) Tasks pane again, and click Add New its value as a string, by calling its and also launches a Web browser with Column. For Header Text, enter ToString() method, so you need to a URL pointing to that Web server. The Customers, and for Data Field, select modify the ToString() method on Web browser displays a grid containing DEREF(CUSTOMER). both the CUSTOMER_OBJ and the the MEETING_ID, TIME, LOCATION, PHONELIST_OBJ custom classes. (In this and CUSTOMERS column data. USING THE CUSTOM CLASS WIZARD example, you can ignore the ADDRESS_ Now that you have walked through At this point, the GridView and OBJ ToString() method, because its indi- the basics, I encourage you to further SQLDataSource controls do not know vidual members are rendered explicitly by exercise the ODP.NET and Oracle what to make of the CUSTOMER_OBJ the CUSTOMER_OBJ ToString code). For Developer Tools for Visual Studio 11g types being returned by Oracle this sample application, use the code in releases. Happy coding! O Database. By definition, they are user- Listing 2 for the ToString() methods. defined, and therefore you must provide One last thing you need to do is make Christian Shay ([email protected]) is a a mapping between the Oracle user- sure the HTML tags you are passing back principal product manager at Oracle. defined datatype and a .NET class that with the CUSTOMER_OBJ custom class will hold the data. To do this, use the ToString() method are honored by the Oracle Custom Class wizard. GridView control. Go back to GridView In server explorer, go to each of the Tasks, and select Edit Columns. In the DOWNLOAD three user-defined types you created dialog box that appears, under Selected ODP.NET and Oracle Developer Tools for Visual Studio .NET 11g (CUSTOMER_OBJ, PHONELIST_OBJ, Fields, select CUSTOMERS. In the otn.oracle.com/dotnet and ADDRESS_OBJ) and do the fol- Properties pane on the right, set HTML READ more Shay lowing: Right-click the type name, and Encode to False and then click OK. cshay.blogspot.com select Generate Custom Class. Then READ more about object-relational accept all the defaults until you reach RUNNING THE ASP.NET WEB APPLICATION features the end of the wizard, which will add a From the main menu, select Debug -> Oracle Database Object-Relational Developer’s Guide download.oracle.com/docs/cd/B28359_01/ C# class file to the project. Start without Debugging. This starts appdev.111/b28371/toc.htm The SQLDataSource control will ask a Microsoft Internet Information Server

58 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_ODT.indd 58 3/21/08 2:22:47 PM technologyDATA WAREHOUSE BY DAN VLAMIS

Accelerating Data Warehouses Oracle OLAP 11g brings high-performance data warehouse features to Oracle Database 11g.

n option of Oracle Database 11g These calculations often rely on data summarization. They support naviga- Enterprise Edition, Oracle OLAP from many rows and interrow calcula- tion such as drill-down and certain types 11g is a full-featured online tions. For example, an OLAP cube might of calculations such as Share to Parent, analytical processing engine. include a calculation that compares the Share within Ancestor, and Rank within Because Oracle OLAP 11g is embed- current year’s sales for each region and Parent. They also support many time- ded in Oracle Database, it benefits from product line with those from the same series calculations such as Year to Date. database scalability, security, These types of calculations and manageability features. are easy to define within the Key new features in analytic workspace manager Oracle OLAP 11g include (the administrative tool of database-managed relational Oracle OLAP 11g) and are views of a cube, a cube scan efficiently computed within row source that is used by the cube at runtime. the SQL optimizer, and Oracle OLAP 11g can cube-organized materialized significantly shorten query views. This article focuses processing times for users of on enhancements in Oracle SQL-based business intel- OLAP 11g, how OLAP cubes ligence (BI) tools such as fit into the Oracle data ware- Oracle Business Intelligence house, and how they are Suite Enterprise Edition used within SQL-based busi- and other third-party tools. ness intelligence applications Oracle OLAP 11g also to provide enriched content makes it easy to embed with high performance. computations in an OLAP period last year and two years ago. The cube. Oracle OLAP 11g capabilities are WHY OLAP? cube structure is optimized to handle all provided within Oracle Database, Users’ queries are often unpredictable. this kind of querying and analysis. which allows for centralized control of On different days, the same users will data, business rules, and security. perform trend analysis, drill down on WHY ORACLE OLAP? specific product lines, and compare a Oracle OLAP uses an analytic work- CREATING CUBE-ORGANIZED MATERIALIZED week’s sales against those of the same space in the database to perform OLAP VIEWS FOR SUMMARY MANAGEMENT week last year. With standard relational analysis. Oracle OLAP stores data in the Cube-organized materialized views systems, it is difficult to optimize data database as multidimensional cubes, are a new capability in Oracle OLAP structures that provide consistently good which are designed for fast incremental 11g that enables cubes to be used as a query performance for such an unpre- update and query. Cubes are organized summary management solution, often dictable query pattern. by dimensions, which act as keys to the replacing relational summary tables To address this need, DBAs and fact data and define the basic structure and table-based materialized views. In designers frequently create a system of of the cube. In many ways, a cube is this scenario, an application queries the summary tables or materialized views. similar to a star schema. The cube plays fact table by using aggregation func- OLAP cubes, which provide consis- the role of the fact table, and an OLAP tions (such as SUM) and a GROUP BY tently fast query performance across an dimension plays the role of a dimension clause, and the query rewrite feature of entire data model, often provide a better table. Dimensions can be simple lists the database automatically redirects the alternative to summary management. of members, or they can be organized query to the cube-organized material- Sophisticated calculations can be easily into levels and hierarchies. Hierarchical ized view. The cube manages summary embedded within the cube to enhance dimensions enable data to be aggregated data transparently to the querying

DAN HUBIG DAN the analytic content of applications. from lower levels to higher levels of application, and users benefit from

ORACLE MAGAZINE MAY/JUNE 2008 59

MJ08_OLAP_11g.indd 59 3/14/08 3:28:45 PM DATA WAREHOUSE

improved query performance. To create a cube-organized material- ized view, DBAs build a cube from the fact and dimension tables that applica- tions currently query. They then enable the cube to allow materialized view refresh and query rewrite. The materi- alized view can be created via an API call or, more commonly, via certain options in the analytic workspace manager, as shown in Figure 1. The cube is self-indexing and manages the entire aggregate space. Build the GLOBAL sample cube. To create and use the GLOBAL sample OLAP cube and walk through the Oracle OLAP 11g capabilities this article describes, install and set up the products, schema, and workspace as follows: 1. Install the Oracle Database 11g database server and client. Note that the server and client are separate downloads, both available on Oracle Technology Network at otn.oracle.com. From this page, select Downloads -> Figure 1: Analytic workspace manager Database, and then click the See All link next to the name of your operat- you can find it at {Oracle11g Client Analytic Workspace GLOBAL. ing system in the Oracle Database Home} -> Integrated Management 11. Click >> (Add All), and then click 11g download section. When install- Tools -> Oracle OLAP Analytic Finish. This step loads data into the ing the database server, you can use Workspace Manager and Worksheet. cube and aggregates it according to the default options. When installing 6. Create a connection to your instance, settings specified in the template file. the client, make sure you select the by right-clicking Databases and select- It may take a few minutes to complete. Administrator option to install the ing Add Database to tree. . . . Enter a Once you’re done, click Close to close extended set of tools, which includes description for the connection and the the build log. the analytic workspace manager. appropriate connection string for your Run the OLAP query. With the GLOBAL 2. Download the GLOBAL schema instance (such as localhost:1521:orcl11). cube loaded and the data aggregated, (global_11g_schema.zip) from otn Then click Create. now enter the following— .oracle.com/products/bi/olap. From 7. Expand the Database tree until your this page, click the 11.1 link next to new connection appears, and then click SELECT t.calendar_year_id time, the Global Schema selection in the + (plus sign) next to your connection to p.class_id product, Downloads section of this page. Unzip connect to the instance. Enter GLOBAL c.region_id region, the file contents to a directory. for the username, and enter the pass- SUM(f.sales) sales 3. Download otn.oracle.com/oramag/ word you assigned in step 4. FROM time_dim t, oracle/08-may/o38olap.zip, and unzip 8. Expand the Schemas tree until you product_dim p, the contents, the global_oramag.xml file, see Analytic Workspaces. Right-click customer_dim c, to a directory. Analytic Workspaces, and select units_fact f 4. Follow the directions specified in the Create Analytic Workspace from WHERE t.month_id = f.month_id global_11g_readme.html documentation Template. . . . AND p.item_id = f.item_id file, which is provided in the GLOBAL 9. Navigate the file chooser to find the AND c.ship_to_id = f.ship_to_id schema zip file downloaded in step 2. global_oramag.xml template file you AND c.region_id = ‘AMER’ These directions enable you to create the downloaded in step 3. Choose this file, GROUP BY t.calendar_year_id, GLOBAL schema with the tables neces- and click Create. Wait for a few minutes p.class_id, sary to build an analytic workspace. while it creates the analytic workspace. c.region_id 5. Launch the analytic workspace 10. Right-click the new GLOBAL ana- ORDER BY t.calendar_year_id, manager. From the Windows Start menu, lytic workspace, and select Maintain p.class_id;

60 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_OLAP_11g.indd 60 3/14/08 3:29:01 PM —using Oracle SQL Developer (or codeLISTING 1: Quarterly sales and comparison query another SQL tool of choice). This typical SELECT t.long_description time, OLAP query summarizes the data in the p.long_description product, UNITS_FACT fact table by year, class, cu.long_description region, and region for only those rows that have ch.long_description channel, ROUND(u.sales) SALES, a REGION_ID value of AMER. ROUND(u.sales_ytd) YTD, If there were no summary tables, this ROUND(u.sales_ytd_dif_yrago) DIFF, query would have to sift through the ROUND(u.sales_ytd_pct_dif_yrago, 6) PCT FROM time_view t, product_view p, customer_view cu, channel_view ch, units_cube_view u CUSTOMER_DIM (dimension) table WHERE t.dim_key = u.time to find all rows with REGION_ID=‘AMER’ AND p.dim_key = u.product and then find rows in the fact table with AND cu.dim_key = u.customer AND ch.dim_key = u.channel those SHIP_TO_ID values. Finally, it AND (t.level_name IN(‘CALENDAR_YEAR’, ‘CALENDAR_QUARTER’) would have to summarize the SALES OR t.time_calendar_quarter_id = ‘CY1999.Q1’) column in the fact table, grouping the AND p.level_name IN(‘CLASS’, ‘TOTAL’) AND cu.level_name = ‘TOTAL’ data by year, class, and region. AND ch.level_name = ‘TOTAL’ With Oracle OLAP 11g, using mate- AND p.dim_key = ‘CLASS_SFT’ rialized views, these totals are imme- ORDER BY t.end_date, t.time_span; diately accessible. It simply fetches the rows of summarized data and returns them to the SQL processor. The result is much faster query response, with a simple summary management system that is easy to maintain. If you run an explain plan against the query, you’ll see that the Oracle opti- mizer uses the CUBE_SCAN operation instead of the much less efficient HASH JOIN operation, which is required when you don’t have the materialized view. To see the difference, execute the commands

alter materialized view cb$units_cube disable query rewrite

and Figure 2: Quarterly and comparison results alter materialized view cb$units_cube enable query rewrite extent to which the data is precomputed, standard relational engine. but the cube always presents itself as fully Year-to-date and share calculations and view the resulting explain plans in solved for every combination of the levels are good examples of calculations that each case. You will also see a huge dif- of the dimensions involved. A material- perform better with Oracle OLAP. Once ference in performance. In my tests on ized view log keeps track of the rows that defined in the analytic workspace as the small (300,000 lowest-level rows) change in the base table, and it controls calculated measures, these measures are GLOBAL fact table, I found that with how much of the cube is incrementally exposed as extra columns in a view that the query rewrite feature enabled (using updated and aggregated and when. is automatically created for a cube. You the cube), the query returned results can then query these measures just as two to five times as fast as without the ADDITIONAL CALCULATIONS EXPOSED you would query any base measure from cube. You will find larger differences in THROUGH AUTOMATIC VIEWS the cube view. performance when using larger, more- You can use cubes in Oracle OLAP 11g When working with cube views, realistically sized cubes. as a summary management solution, but bear in mind that the view contains pre- The summary management system is Oracle OLAP 11g really shines when you aggregated data at multiple levels. As a also easy to maintain. It has one material- use it to perform calculations. Oracle result, you do not need to include any ized view, rather than a separate material- OLAP can perform many calculations aggregation functions such as SUM, and ized view for each combination of levels that can be difficult to express in SQL you generally do not need GROUP BY of each dimension. You can control the and time-consuming to perform with the clauses. But you must also specify the

ORACLE MAGAZINE MAY/JUNE 2008 61

MJ08_OLAP_11g.indd 61 3/14/08 3:29:19 PM DATA WAREHOUSE

level of data you want to select via the appropriate WHERE clause. Enter the query in Listing 1 into Oracle SQL Developer (or your SQL tool of choice) to look at quarterly sales and see how those sales compare on a year-to-date basis with the same periods last year. The query also shows how to return multiple levels of the time dimen- sion in one query. Executing the query in Oracle SQL Developer returns the results shown in Figure 2. Note how rows are returned for years, quarters, and three specified months—all in one view. This example shows only the most- basic calculations Oracle OLAP 11g can perform. A new calculated measure wizard in the analytic workspace manager enables you to calculate shares, indexes, ranks, moving aggregates, cumulative aggregates, and user-defined expressions. You can even calculate models, forecasts, and regressions.

REFRESHING CUBES, USING Figure 3: Cube creation dialog box specifying 20 percent preaggregation MATERIALIZED VIEWS As fact tables acquire new data, Oracle AGGREGATION rate OLAP into the framework of a data Database must maintain cubes and Oracle OLAP always returns data as warehouse. Key improvements such recalculate totals. You can simplify this fully solved, but you have control over as materialized views, automatic view procedure by taking advantage of the the extent to which the data is pre- creation, and aggregation wizards make materialized view refresh capability in aggregated. In Oracle OLAP 10g, you Oracle OLAP a compelling choice for Oracle Database. By checking the Enable could specify which levels of the cube accelerating query performance. O Materialized View Refresh of the Cube to preaggregate. That capability is still check box (shown in Figure 1), you can supported in Oracle OLAP 11g, but Dan Vlamis ([email protected]) is president of specify the refresh of an analytic work- now you can also specify the percentage Vlamis Software Solutions, Inc. He has been working space to be the same as the refresh of any of the cube you want to preaggregate. with Oracle business intelligence products since other materialized view. For example, to Oracle OLAP will then figure out which 1986. He gives presentations regularly at major Oracle refresh the GLOBAL analytic workspace, areas of the cube to preaggregate and conferences and is a recognized Oracle OLAP and use the following command: which areas to aggregate on the fly. Oracle business intelligence expert. Oracle OLAP figures out how to balance dbms_mview.refresh(‘CB$UNIT_CUBE’, ’F’) runtime performance against load per- formance and the time needed to calcu- This command reloads the analytic late certain aggregates. Figure 3 shows workspace from the fact table and a cube creation dialog box that specifies READ online-only article content recalculates any aggregates that need 20 percent preaggregation. otn.oracle.com/oramag/oracle/08-may/o38olap.html updating. The mechanisms and syntax The online version of this article, at READ more about Oracle OLAP otn.oracle.com/products/bi/olap are exactly the same as with noncube otn.oracle.com/oramag/oracle/08-may/ “Building Analytic Workspaces” materialized views, with methods for o38olap.html, discusses other ways to otn.oracle.com/oramag/oracle/05-nov/o65awm.html controlling aspects such as staleness and present Oracle OLAP data and more Oracle OLAP 11g Release 1 User’s Guide schedules. The materialized view logs Oracle OLAP 11g new features. oracle.com/pls/db111/to_pdf?pathname=olap.111/ identify which portions of the cube need b28124.pdf reloading. Oracle OLAP then uses this CONCLUSION DOWNLOAD sample data for this article otn.oracle.com/products/bi/olap information to reload and recalculate the With the enhanced capabilities in Oracle otn.oracle.com/oramag/oracle/08-may/o38olap.zip appropriate portions of the cube. OLAP 11g, it is much easier to incorpo-

62 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_OLAP_11g.indd 62 3/14/08 3:29:39 PM technologySQL DEVELOPER BY SUE HARPER

Making Database Connections Connect to Oracle and third-party databases from Oracle SQL Developer.

racle SQL Developer enables developers and DBAs to browse, create, and update data in a database. Before you can perform those actions, however, you must create at least one database connection—an Oracle SQL Developer object containing the information needed to connect to a specific database as a specific user. This column explains how to make connections from Oracle SQL Developer to an Oracle Database and third-party databases. It also discusses authorization options for Oracle Database connections and explains the role of JDBC drivers in the connection process. All the examples in this column require Oracle SQL Developer to be running on your local machine. For Figure 1: Basic database connection type some examples, you need access to a running local or remote Oracle Database instance with the sample HR schema bined username and database name. Database is 1521. (available in the default database instal- 2. Enter hr for Username, and enter the O SID: This is the system identifier, such lation). Other examples require access to hr password in the Password field. (If as orcl (the default for Oracle Database an Oracle Internet Directory server or a you check the Save Password box, the 10g and Oracle Database 11g) or xe (the third-party database. password will be stored as an encrypted default for Oracle Database 10g Express file on your local machine.) Edition). Service name: This is the BASIC CONNECTIONS 3. Select Basic from the Connection network service name of the database. You can connect to a local or remote Type list. Select either SID or Service name. Oracle Database instance by using the 4. Provide information for the following 5. Click Test to validate the new connec- Basic connection type. Basic connections settings: tion. Figure 1 shows the dialog box after do not require any other Oracle software O Role: This is the set of privileges to be the connection has validated successfully. to be installed on your machine—you associated with the connection. Accept 6. If your test reports “Status: Success,” don’t need an Oracle home. default for this connection. click Connect. Oracle SQL Developer will Right-click the Connections node O OS Authentication: Leave this save the new connection, close the dialog in Oracle SQL Developer’s Connections unchecked for this connection. box, and connect to the database. (If you Navigator, and click New Connection O Proxy Connection: Leave this click Save instead of Connect, you will to open the New / Select Database unchecked for this connection. be able to create more new connections in Connection dialog box. All of this col- O Hostname: This is the host system for the dialog box before connecting.) umn’s connection examples start from the Oracle Database instance. Enter an Now HR_ORCL appears in this dialog box. IP address, a machine name, or localhost Connections Navigator, and you can To create a basic connection for the (when connecting to a database on the expand it to browse the database. HR schema, follow these steps: same machine as Oracle SQL Developer). 1. Enter HR_ORCL for Connection The default is localhost. TNS CONNECTIONS Name. The connection name is an O Port: This is the listener port for the The TNS connection type is an appro- arbitrary alias; conventionally, it’s a com- database. The default port for Oracle priate option in any of the following

ORACLE MAGAZINE MAY/JUNE 2008 63

MJ08_SQLDEV.indd 63 3/14/08 3:24:20 PM SQL DEVELOPER

circumstances: O You have an Oracle client installed on your machine. O You have access to many Oracle Database instances. O You do not know the machine details of the system hosting the Oracle Database instance you want to connect to. A TNS connection uses an alias entry from a tnsnames.ora file. Oracle SQL Developer uses only one tnsnames.ora file. You may have more than one on your local machine or want to use the tnsnames.ora file on a remote machine, so note that Oracle SQL Developer looks sequentially for the tnsnames.ora file in the following locations: 1. $HOME/.tnsnames.ora 2. $TNS_ADMIN/tnsnames.ora Figure 2: LDAP connection with a list of database services 3. /etc/tnsnames.ora (non-Windows systems) 4. $ORACLE_HOME/network/admin/ Internet Directory Administrator’s Guide at tion, Oracle Database uses a database tnsnames.ora otn.oracle.com/documentation/oid.html. user’s OS login credentials to authenti- 5. Registry key To look up database services in cate that user. The user doesn’t provide On Windows systems, if a tnsnames Oracle Internet Directory and create a username or password to access the .ora file exists but Oracle SQL Developer an LDAP connection in Oracle SQL database, and Oracle Database doesn’t isn’t using it, create a TNS_ADMIN envi- Developer, follow these steps: store and manage the account password. ronment variable via Control Panel -> 1. In the New / Select Database Local OS authentication can be used System -> Advanced -> Environment Connection dialog box, enter a new con- when the client and the database server Variables, specifying the file’s location nection name, username, and password are on the same machine. Remote OS as the variable’s value. for the database user. authentication is possible but is not Follow these steps to create a TNS 2. Select LDAP from the Connection considered secure. connection in Oracle SQL Developer: Type list. To configure local OS authentica- 1. In the New / Select Database 3. Select a server from the LDAP Server tion for a new user, first find the value Connection dialog box, enter the same list, which is populated with entries of the OS_AUTHENT_PREFIX database connection name, username, and pass- from an ldap.ora file (similar to the initialization parameter in your system’s word you used for the basic connection. tnsnames.ora file). Alternatively, you can init.ora file. When you create this new 2. Select TNS from the Connection enter LDAP server details directly. user in the database, you must add this Type list. The GUI changes slightly to 4. Fill in the LDAP Admin User and parameter value as a prefix to the OS provide a list of all network alias entries LDAP Admin Password fields. username. The default value is OPS$, available to you. Select an alias. 5. Click Load to populate the DB for backward compatibility with earlier 3. Click Test and Connect as before. Service list with all the database service database releases. (If the value is “”, the entries from Oracle Internet Directory. OS username and the database username LDAP CONNECTIONS 6. Select a service from the DB Service are the same, so you don’t need to add a Oracle Internet Directory is a directory list, as shown in Figure 2. prefix to create the Oracle usernames.) service that enables you to store and 7. Click Test and Connect as before. Establish a basic connection with the manage network service names centrally. HR schema as the SYSTEM user. Execute With it, user identity information can be OTHER AUTHENTICATION OPTIONS the following from the SQL worksheet, stored in a directory instead of in mul- Alternatives to database authentication using your database’s OS_AUTHENT_ tiple databases. Oracle Internet Directory and LDAP authentication include oper- PREFIX prefix and substituting your own is an implementation of the LDAP direc- ating system (OS) and proxy authenti- OS username for “sue”: tory service and a component of Oracle cation. You can create connections in Identity Management. For information Oracle SQL Developer for users who CREATE USER ops$sue IDENTIFIED on how to install, set up, and configure authenticate with these mechanisms. EXTERNALLY; Oracle Internet Directory, see the Oracle OS authentication. With OS authentica- GRANT Connect, resource to sue;

64 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_SQLDEV.indd 64 3/14/08 3:24:27 PM Microsoft Access does not require an additional driver, because it uses a JDBC/ODBC bridge. After downloading the driver you need, expand the driver binary Java Archive (JAR) file, which is typically inside the downloaded archive file: O The mysql-connector-java-5.0.8.tar.gz (or .zip) download for MySQL includes mysql-connector-java-5.0.8-bin.jar. O The jtds-1.2-dist.zip file for Microsoft SQL Server and Sybase includes jtds-1.2.jar. Select Tools -> Preferences -> Database -> Third Party JDBC Drivers. Click Add Entry, and add your specific JAR file. Now you can create a connec- tion for your third-party database. The online version of this column, Figure 3: Creating a proxy connection at otn.oracle.com/oramag/oracle/08-may/ o38sql.html, includes the steps for creat- Now create a basic connection for Connection in the New / Select Database ing connections to third-party databases this user from the New / Select Database Connection dialog box, and complete the and explains Oracle JDBC drivers and Connection dialog box. Enter a connec- details in the Oracle Proxy Connection driver compatibility. tion name; select Basic for Connection dialog box, as shown in Figure 3. Type; fill in the Hostname and Port CONCLUSION fields; select OS Authentication; and CONNECTING TO THIRD-PARTY DATABASES Oracle SQL Developer provides an array provide a SID or Service name. Click Oracle SQL Developer supports brows- of alternatives for connecting to Oracle Test and Connect as before. ing and reviewing data and objects in and third-party databases. Support for Proxy authentication. Proxy authentica- Microsoft Access, MySQL, Microsoft SQL both Oracle JDBC Type IV (thin) and tion means that one JDBC connection Server, and Sybase. It also offers a SQL Type II (thick) drivers lets you access acts as a proxy for other JDBC connec- worksheet for ANSI SQL commands to Oracle Databases via basic, TNS, or tions. Before you can create a connec- update or create objects for these data- LDAP connection types. You can make tion that uses proxy authentication, bases. Users who want to migrate from connections for Oracle Database users you need a proxy user. In the following third-party databases to Oracle Database who authenticate via database, OS, or example, you create a new user named can use the Oracle SQL Developer proxy authentication. Connecting to a HR_PROXY_USER and connect that user Migration Workbench. For any of these third-party database from Oracle SQL through the existing HR user. situations, you need to create a connec- Developer lets you work in that data- To create the new proxy user (HR_ tion to your third-party database. base and gives you a starting point for PROXY_USER) and grant the correct Installing third-party drivers. The correct migrating to Oracle Database. O proxy authentication privileges, execute third-party driver must be installed the following in the SQL worksheet: before you can create the connection. Sue Harper ([email protected]) is an Oracle You can install third-party drivers either senior principal product manager based in London. CREATE USER HR_proxy_user IDENTIFIED manually or by using Check for Updates BY ; (Help->Check for Updates). For manual ALTER USER HR_proxy_user GRANT installation, you can download supported CONNECT THROUGH HR AUTHENTICATED drivers from the following locations: READ online-only column content USING PASSWORD; O MySQL JDBC driver, version 5.08: otn.oracle.com/oramag/oracle/08-may/o38sql.html dev.mysql.com/downloads/connector/ READ more about You also need to grant any other j/5.0.html. Oracle SQL Developer otn.oracle.com/products/database/sql_developer privileges required by the new user, such O jTDS driver, version 1.2 (required by Oracle JDBC drivers as CREATE SESSION. Microsoft SQL Server and Sybase): source otn.oracle.com/tech/java/sqlj_jdbc/htdocs/jdbc_faq.htm Once your proxy user exists, you can forge.net/project/showfiles.php?group_ READ more Harper create a new proxy connection for HR id=33291. (See jtds.sourceforge.net for sueharper.blogspot.com in Oracle SQL Developer. Select Proxy information about this driver.)

ORACLE MAGAZINE MAY/JUNE 2008 65

MJ08_SQLDEV.indd 65 3/14/08 3:24:35 PM “Best” Enterprise Content Management

2008 InfoWorld Technology of the Year Awards*

Oracle Universal Content Management

“… an excellent offering.”

InfoWorld, November 8, 2007

oracle.com/goto/ecm or call 1.800.ORACLE.1

*InfoWorld, January, 2008

Copyright © 2008, Oracle. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

Untitled-6 1 3/18/08 8:44:15 PM technologyINSIDE OCP BY SUSHMA JAGANNATH

Back Up and Recover New backup and recovery features in Oracle Database 11g save time and data.

sound database backup and recovery plan is crucial to pro- 1. Assess data failures. Health Monitor tecting data in the event of media loss and physical cor- ruption on production storage systems. 2. List failures by severity. Oracle backup and recovery technolo- Data gies enable data to be recovered from 3. Advise on repair. Recovery media loss and corruption, as well as Advisor from logical errors at the row, table, and 4. Choose and execute repair. database level. This column discusses some of the new backup and recovery features in Oracle Database 11g that 5. Perform proactive checks. DBA improve the manageability of Oracle Database backup and recovery. The Figure 1: Automatic diagnostic workflow in Oracle Database 11g column also presents sample questions of the type you may encounter when presents the repair advice. The DBA can PARALLEL BACKUP AND RESTORE FOR taking the Oracle Database 11g: New choose to manually execute a repair or VERY LARGE FILES Features for Administrators exam, which ask data recovery advisor to perform it. In earlier versions, the smallest piece enables Oracle Certified Professionals In addition to the automatic, reactive of an Oracle Recovery Manager (Oracle (OCPs) certified on Oracle Database 10g checks of health monitor and data recov- RMAN) backup was an entire file. to upgrade their certifications to Oracle ery advisor, Oracle recommends that Because Oracle datafiles can be up to Database 11g. DBAs use the VALIDATE command with 128TB in size, it is not feasible to back the BACKUP and RESTORE commands to up a very large file. In Oracle Database DATA RECOVERY ADVISOR proactively check for corrupt blocks and 11g, however, Oracle RMAN can break Successfully diagnosing a data failure missing files and also to confirm that up a single large file into sections and and devising an optimal strategy for backups can be restored. back up and restore them indepen- repair is critical to maintaining high Which of the following failures can data dently. The SECTION SIZE parameter availability in the enterprise. Data recov- recovery advisor diagnose and repair? in the BACKUP command tells Oracle ery advisor is an Oracle Database tool A. Physical corruption such as block RMAN to create a backup set in which that automatically diagnoses corruption checksum failures and invalid block each backup piece contains blocks from or loss of persistent data on a disk and header field values one file section, enabling the backup of gathers data failure information. It then B. I/O failures such as hardware errors large files to be parallelized across mul- determines the best repair option and and operating system driver failures tiple channels. Restoring a multisection checks the feasibility of implementing C. Inconsistencies such as a datafile that backup in parallel is automatic. the repair in your environment. is older than other database files In your database, the JAN_08_SALES Figure 1 shows the automatic diag- D. Failures on standby databases tablespace contains a single 600MB data- nostic workflow in Oracle Database 11g. The correct answers are A, B, and file. Three system backup to tape (SBT) Health monitor automatically diagnoses C. Data recovery advisor can detect channels are configured, with the paral- failures and logs them into the automatic and repair physical corruptions related lelism setting for the SBT device set to 3. diagnostic repository. Data recovery to blocks, I/O failures, and also any The MAXSETSIZE is set to 600MB. advisor consolidates these failures and inconsistencies in datafiles. Option D is You issue the following Oracle RMAN attaches a severity to them, such as incorrect because data recovery advisor command: critical or high. If a DBA requests repair cannot diagnose and repair failures on advice, data recovery advisor maps any a standby database; it does support RMAN> BACKUP failures to automatic and manual repair failover to a standby database as a repair SECTION SIZE 200M options, checks basic feasibility, and option, however. TABLESPACE jan_08_sales;

ORACLE MAGAZINE MAY/JUNE 2008 67

MJ08_OCP.indd 67 3/13/08 11:41:03 AM INSIDE OCP INSIDE OCP

What is the outcome? A. The command creates three backup sets, each containing one 200MB file section. B. The command creates one backup set containing three 200MB backup pieces. C. The command creates one backup set comprising one backup piece that con- tains three separate 200MB file sections. D. The command generates an error, because MAXSETSIZE is larger than SECTION SIZE. E. The command generates an error, because MAXPIECESIZE is not specified. Figure 2: Using Oracle Enterprise Manager Database Control for flashback transaction The correct answer is B. The command results in an Oracle RMAN SQL>UPDATE regions SET region_name = dent transactions. (It would restore the backup set in which each backup piece ‘South’ WHERE region_id = 1; row as “1, ‘South’.”) contains a file section, which is a con- SQL>COMMIT; tiguous range of blocks in a datafile. SQL>DELETE FROM regions CONCLUSION Answers A and C are incorrect because WHERE region_id=1; This column focused on some of the a multisection backup set contains SQL>COMMIT; new backup and recovery features intro- multiple backup pieces. Answer D is duced in Oracle Database 11g: incorrect because MAXSETSIZE must be The UPDATE and DELETE transactions were OBy providing a centralized tool for larger than SECTION SIZE. Answer E is a mistake, and you are asked to restore automated data repair, data recovery incorrect because MAXPIECESIZE must the original row details: “1, ‘North’.” You advisor can reduce the mean time to not be specified when SECTION SIZE is use the flashback transaction feature for recovery (MTTR) after a failure. Data specified, so no error is generated. this operation, and Figure 2 shows the recovery advisor improves the man- transaction IDs available for flashback in ageability and reliability of an Oracle ORACLE FLASHBACK TRANSACTION Oracle Enterprise Manager. Which trans- Database instance. Flashback transaction enables the action ID and which change recovery option OBacking up a file in separate sections changes made by a transaction to be must you select to complete the operation? can both improve performance and undone, optionally undoing changes A. The first transaction ID with the enable large-file backups to be restarted. made by dependent transactions. This NONCONFLICT ONLY recovery option Using the SECTION SIZE parameter in recovery option uses undo data to create B. The first transaction ID with the the BACKUP command, you can parallel- and execute corresponding compensat- NOCASCADE FORCE recovery option ize the backup-and-recovery operation ing transactions that make the affected C. The second transaction ID with the across multiple channels. database revert to its original state. The CASCADE recovery option OThe flashback transaction feature TRANSACTION_BACKOUT procedure D. The third transaction ID with the increases availability during logical analyzes transactional dependencies, NOCASCADE recovery option recovery, by easily and quickly backing performs data manipulation language The correct answer is C. It backs out out a specific transaction or a set of (DML) operations, and generates reports. specified transactions and all dependent transactions, and their dependent trans- TRANSACTION_BACKOUT does not transactions in a post-order fashion: actions, with one command while the commit the DML operations it performs children are backed out before the database remains online. O as part of the transaction backout, but parents are backed out. Answer A is it holds all the required locks on rows incorrect because the NONCONFLICT Sushma Jagannath ([email protected]) is and tables, preventing other dependen- ONLY recovery option backs out a certification exam development manager at Oracle. cies from entering the system. To make changes to nonconflicting rows of the She has been with the company since 2000. the transaction backout permanent, you specified transactions. Answer B is must explicitly commit the transaction. incorrect because the NOCASCADE SCOTT executes the following commands FORCE recovery option backs out speci- LEARN more about the Oracle on the REGIONS table in his schema: fied transactions, ignoring dependent Certification Program, and download a free exam guide transactions. Answer D is incorrect oracle.com/education/certification SQL>INSERT INTO regions(region_id, because the NOCASCADE recovery READ Inside OCP columns region_name) VALUES (1, ’North’); option backs out specified transactions, otn.oracle.com/oramag/oracle/ocp SQL>COMMIT; which are expected to have no depen-

68 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_OCP.indd 68 3/13/08 11:41:13 AM technologyASK TOM BY TOM KYTE

On Seeing Double in V$SQL Our technologist looks at SQL repetition in V$SQL and differences in cardinality.

often find more than one row in V$SQL for codeLISTING 1: PL/SQL block executing query text four times a given SQL statement. I am wondering why SQL> declare that is, which one of those rows represents 2 l_x_number number; the “active” SQL statement, and which one 3 l_x_string varchar2(30); users executing that SQL statement in the 4 begin 5 execute immediate ‘alter session set optimizer_mode=all_rows’; database will use. Can you explain? 6 for x in (select * from t look_for_me where x = l_x_number) loop null; end loop; There are many reasons why more 7 for x in (select * from t look_for_me where x = l_x_string) loop null; end loop; than one copy of a SQL statement can 8 execute immediate ‘alter session set optimizer_mode=first_rows’; 9 for x in (select * from t look_for_me where x = l_x_number) loop null; end loop; be present in V$SQL. For example, 10 for x in (select * from t look_for_me where x = l_x_string) loop null; end loop; let’s say two users each have a table T, 11 end; so tables USERA.T and USERB.T are 12 / PL/SQL procedure successfully completed. present in the database. USERA logs in and queries SELECT * FROM T. LISTING 2: Likewise, USERB logs in and issues code Query on V$SQL showing same SQL_ID for four query executions SELECT * FROM T. Even though these SQL> select sql_id, sql_text two SQL statements appear to be the 2 from v$sql 3 where upper(sql_text) same, they are obviously very differ- 4 like ent—accessing different objects with 5 ‘SELECT % T LOOK_FOR_ME %B1_’; entirely different query plans. Therefore, SQL_ID SQL_TEXT we need two different entries for them ——————–— ——————————————————————— in V$SQL. 1qqtru155tyz8 SELECT * FROM T LOOK_FOR_ME WHERE X = :B1 In general, there are many reasons 1qqtru155tyz8 SELECT * FROM T LOOK_FOR_ME WHERE X = :B1 1qqtru155tyz8 SELECT * FROM T LOOK_FOR_ME WHERE X = :B1 you’ll see more than one cursor in V$SQL 1qqtru155tyz8 SELECT * FROM T LOOK_FOR_ME WHERE X = :B1 for a given SQL statement. The follow- ing discussion explores another pair of 4 rows selected. reasons and shows how we can figure out why there is more than one copy of So we have a table, and the optimizer is simple PL/SQL block that will execute the SQL in V$SQL. We’ll see that in the told that there are 1,000,000 rows in it. the same query text four times, as shown end, the cursor version used depends on Now we’ll ensure that the shared pool has in Listing 1. the environment of the user running the no cached copies of SQL against this table After executing that block, we’ll look SQL statement. Let’s start by setting up an (this is for demonstration purposes—do at V$SQL and find that there are four example table to query: not do this on a production system!): entries—one each for the identical SQL statements we executed in Listing 1. We SQL> create table t SQL> alter system flush know they are identical because we can 2 ( x varchar2(30) primary key, 2 shared_pool; see that they all have exactly the same 3 y int ); System altered. SQL_ID, as shown in Listing 2. Table created. Those four copies may appear identi- SQL> select sql_id, sql_text cal, but they are different. Because of the SQL> begin 2 from v$sql way I wrote my code, the cursors were 2 dbms_stats.set_table_stats 3 where upper(sql_text) parsed in entirely different environments: 3 ( user, ‘T’, 4 like O Cursor 1 used ALL_ROWS and bound 4 numrows => 1000000, 5 ‘SELECT % T LOOK_FOR_ME %B1_’; a NUMBER datatype. 5 numblks=>100000 ); no rows selected O Cursor 2 used ALL_ROWS and bound 6 end; a VARCHAR2 datatype. 7 / So, we have table T—a very simple O Cursor 3 used FIRST_ROWS with a PL/SQL procedure successfully completed. table—and now we’ll construct a very NUMBER datatype.

ORACLE MAGAZINE MAY/JUNE 2008 69

MJ08_ASK TOM.indd 69 3/13/08 2:24:01 PM ASK TOM

O Cursor 4 used FIRST_ROWS with a codeLISTING 3: Plans for cursors 1 and 2 VARCHAR2 datatype. SQL> select * from table( dbms_xplan.display_cursor(‘1qqtru155tyz8’, 0 ) ); The differences between cursor pair 1 and 2 and cursor pair 3 and 4 are in the PLAN_TABLE_OUTPUT —————————————————————————————————————— optimizer settings. Pair 1 and 2 was opti- SQL_ID 1qqtru155tyz8, child number 0 mized for ALL_ROWS (total through- ———————————————————— put), and pair 3 and 4 was optimized SELECT * FROM T LOOK_FOR_ME WHERE X = :B1

for FIRST_ROWS (initial response time). Plan hash value: 1601196873 Additionally, within each pair, we bind either a VARCHAR2 or a NUMBER type, ——————————————————————————————————————— | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | and depending on which datatype we —————————————————————————————————————— use, we get a different query plan. | 0 | SELECT STATEMENT | | | | 30891 (100)| | Listing 3 shows the plans for cursors |* 1 | TABLE ACCESS FULL| T | 10000 | 292K| 30891 (2)| 00:02:27 | —————————————————————————————————————— 1 and 2. Those two plans (child number 0 and child number 1 here, because Predicate Information (identified by operation id): Oracle Database numbers from 0) are ————————————————————————— 1 - filter(TO_NUMBER(“X”)=:B1) very different—all because of the binds. When you compare a string with a 18 rows selected. number, an implicit to_number() is SQL> select * from table( dbms_xplan.display_cursor(‘1qqtru155tyz8, 1 ) ); placed on the string, as shown in Listing 3. We have not indexed to_number(x), so PLAN_TABLE_OUTPUT we do a full-table scan for the first cursor, —————————————————————————————————————— SQL_ID 1qqtru155tyz8, child number 1 and for the second cursor, bound to a ———————————————————— VARCHAR2, we use the index. SELECT * FROM T LOOK_FOR_ME WHERE X = :B1 Listing 4 looks at the plans for cursors Plan hash value: 3817779948 3 and 4 (which are child numbers 2 and 3). The plans for cursors 3 and 4 ——————————————————————————————————————————— in Listing 4 look the same as those for | Id | Operation | Name | Rows | Bytes | Cost (%CPU) ——————————————————————————————————————————— the first two cursors (in Listing 3), but | 0 | SELECT STATEMENT | | | | 2 (100) that is just a coincidence. The plans for | 1 | TABLE ACCESS BY INDEX ROWID| T | 1 | 30 | 2 (0) cursors 3 and 4 could have been different, |* 2 | INDEX UNIQUE SCAN | SYS_C0023438 | 1 | | 1 (0) —————————————————————————————————————————— because they were optimized with FIRST_ ROWS—for initial response time—not Predicate Information (identified by operation id): ALL_ROWS, as the first two cursors were. —————————————————————————— 2 - access(“X”=:B1) Therefore, because the optimizer mode is different, there is a different optimizer 19 rows selected. environment and hence a different child cursor. We can see what makes these dif- ferent, via V$SQL_SHARED_CURSOR: (the first two cursors) differed in a bind more than one copy of a given SQL mismatch (column B) and the next two statement in the shared pool. SQL> select child_number, cursors differed from the previous ones 2 bind_mismatch B, because of optimizer mode mismatches WHY THE CARDINALITY DIFFERENCE? 3 optimizer_mode_mismatch O (column O)—and the last cursor from the What are all the possible reasons for the differ- 4 from v$sql_shared_cursor previous, due to bind mismatch as well. ence in cardinalities shown in the explain plan 5 where sql_id = ‘1qqtru155tyz8’ All four cursors are “active”—any (the guess at the cardinality made by the opti- 6 / of them can and will be used by appli- mizer) and TKPROF row source operation (what cations. If people log in and run that actually happened at runtime)? CHILD_NUMBER B O query, binding a string with FIRST_ Well, as far as what all the possible ———————— — — ROWS optimization, they’ll use the last reasons for the difference in cardinalities 0 N N child cursor. If people log in and run shown in the explain plan and TKPROF 1 Y N that query with ALL_ROWS optimiza- row source operation are, there are a 2 N Y tion and bind a number, they’ll use the possibly infinite number of reasons, or 3 Y Y first child cursor. at least the list is so large that I cannot By using V$SQL_SHARED_CURSOR, imagine building a comprehensive one. It shows that child cursors 0 and 1 you can gain insight into why there is Take, for example, a case where you

70 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_ASK TOM.indd 70 3/13/08 2:24:29 PM have a set of data called table T. In this set codeLISTING 4: Plans for cursors 3 and 4 of data, you have two columns, x and y, SQL> select * from table( dbms_xplan.display_cursor(‘1qqtru155tyz8’, 2 ) ); each with 12 distinct values. You gather every bit of statistics you PLAN_TABLE_OUTPUT —————————————————————————————————————— can—on the table and on each of the SQL_ID 1qqtru155tyz8, child number 2 columns (you know the high and low val- ———————————————————— ues—in fact you have histograms, so you SELECT * FROM T LOOK_FOR_ME WHERE X = :B1

know for any of the 12 values of x how Plan hash value: 1601196873 many rows will be returned precisely), and you have information in every index. ——————————————————————————————————————— | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Now, you have a lot of information, —————————————————————————————————————— but it won’t be enough to answer the | 0 | SELECT STATEMENT | | | | 30891 (100)| | question, “How many rows does WHERE |* 1 | TABLE ACCESS FULL| T | 10000 | 292K| 30891 (2)| 00:02:27 | —————————————————————————————————————— x = ? AND y = ? return?” Let’s make this even easier: x is perfectly distributed (the Predicate Information (identified by operation id): number of rows returned by “x=anything” ————————————————————————— 1 - filter(TO_NUMBER(“X”)=:B1) is 1/12 of the data). Y is the same: y=anything returns 1/12 of the data. 18 rows selected. Now tell me: How many rows does SQL> select * from table( dbms_xplan.display_cursor(‘1qqtru155tyz8’, 3 ) ); WHERE x = ? AND y = ? return? Using high school statistics, we can guess PLAN_TABLE_OUTPUT (assuming that x and y are independent): —————————————————————————————————————— SQL_ID 1qqtru155tyz8, child number 3 ———————————————————— rows-returned-by(x) * rows-returned-by(y) = SELECT * FROM T LOOK_FOR_ME WHERE X = :B1 1/12*1/12 = 1/144 Plan hash value: 3817779948

So, about 1/144 of the rows will be ——————————————————————————————————————————— returned from this table T, right? Maybe— | Id | Operation | Name | Rows | Bytes | Cost (%CPU) ——————————————————————————————————————————— maybe not. What if x=y for every row? | 0 | SELECT STATEMENT | | | | 2 (100) Then, well, it is either 1/12 of the rows or | 1 | TABLE ACCESS BY INDEX ROWID| T | 1 | 30 | 2 (0) zero rows. That is, if you ask “WHERE |* 2 | INDEX UNIQUE SCAN | SYS_C0023438 | 1 | | 1 (0) —————————————————————————————————————————— x=5 AND y=5,” that will return 1/12 (not 1/144) of the rows and for “WHERE x=5 Predicate Information (identified by operation id): AND y=6,” you’ll get zero rows. ————————————————————————— 2 - access(“X”=:B1) Well, the optimizer will pick neither of those; in general, it will pick 1/144 of 19 rows selected. the rows. Consider table T in Listing 5. So we have table T, it has 49,850 rows, and we can see that 1/12 of that is about is to use dynamic sampling, as shown SOME DDL JUST GOT EASIER, AND SOME 4,154 rows and 1/144 of that is about in Listing 7 (and demonstrated in more JUST GOT ADDED 346 rows. We’ve gathered very precise detail at asktom.oracle.com/tkyte/ Have you ever encountered something statistics on the table. If we now ask the DynamicSample.html). like this? optimizer to tell us how many rows it See how the guess of 1 row is much thinks “WHERE x=5,” “WHERE y=6,” closer to reality than the prior guess of SQL> alter table emp add resume blob; and “WHERE x=5 AND y=6” will return, 357 rows? The optimizer works with alter table emp add resume blob we’ll discover the results in Listing 6. imperfect information at times, and it * The optimizer guessed 1/12, 1/12, makes the best guess. When we see a ERROR at line 1: and 1/144 of the data, and for the first large disparity in the computed cardinal- ORA-00054: resource busy and acquire two, it was dead on (due to the way we ity, we can usually see why in that case with NOWAIT specified constructed our test case), but for the last and then find a remedy, be it by using one, we know it was way off, because dynamic sampling as demonstrated or In a busy system, you may find there are zero records “WHERE x=5 AND by using a virtual column and gathering certain data definition language (DDL) y=6” (because x=y for every row!). statistics on it (an Oracle Database 11g operations virtually impossible to In this specific case, a possible solu- Release 1 new feature—demonstrated in execute, because they do not wait for tion for correcting the optimizer’s guess the March/April 2008 Ask Tom column). existing transactions to finish. You might

ORACLE MAGAZINE MAY/JUNE 2008 71

MJ08_ASK TOM.indd 71 3/13/08 2:24:41 PM ASK TOM

execute this ALTER TABLE statement Database 11g to put your statement in SQL> alter session thousands of times over the course of a queue—to wait for the chance to lock set ddl_lock_timeout = 6; many hours, never getting it to “go.” the table, do the DDL, and give up the Session altered. Now you have the ability to ask Oracle lock. For example, if you issue in Oracle Database 11g, your DDL state- codeLISTING 5: Query on V$SQL showing same SQL_ID for four query executions ments will wait six seconds before giving SQL> create table t up and returning with a slightly modi- 2 as fied Oracle Database 11g error message: 3 select mod(rownum,12) x, 4 mod(rownum,12) y ORA-00054: resource busy and acquire 5 from all_objects 6 / with NOWAIT specified or timeout expired Table created.

SQL> begin So now a DBA can specify the amount of 2 dbms_stats.gather_table_stats time to wait for existing transactions to 3 ( user, ‘T’, complete before having the statement fail. 4 method_opt => ‘for all ‘ || 5 ‘columns size 254’ ); In addition, some new DDL state- 6 end; ments have been introduced in Oracle 7 / Database 11g. One I’ve been waiting PL/SQL procedure successfully completed. for is the ability to put a table in READ SQL> select count(*), count(*)/12, count(*)/144 from t; ONLY mode—preventing data manipu-

COUNT(*) COUNT(*)/12 COUNT(*)/144 lation language (DML) and DDL modi- ————— ——————— ———————— fications. The following puts a table in 49850 4154.16667 346.180556 READ ONLY mode and then attempts to run a new DDL statement: codeLISTING 6: Plan for table with precise statistics SQL> set autotrace traceonly explain SQL> alter table emp read only; SQL> select * from t where x = 5; Table altered.

—————————————————————————————————————— | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time SQL> alter table emp add resume blob; —————————————————————————————————————— alter table emp add resume blob | 0 | SELECT STATEMENT | | 4079 | 20395 | 30 (10)| 00:00:01 |* 1 | TABLE ACCESS FULL| T | 4079 | 20395 | 30 (10)| 00:00:01 * —————————————————————————————————————— ERROR at line 1: ORA-12081: update operation not SQL> select * from t where y = 6; allowed on table “OPS$ORACLE”.”EMP” O —————————————————————————————————————— | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time Tom Kyte is a database evangelist in Oracle’s Server —————————————————————————————————————— | 0 | SELECT STATEMENT | | 4305 | 21525 | 31 (13)| 00:00:01 Technology division and has worked for Oracle since |* 1 | TABLE ACCESS FULL| T | 4305 | 21525 | 31 (13)| 00:00:01 1993. He is the author of Expert Oracle Database —————————————————————————————————————— Architecture: 9i and 10g Programming Techniques SQL> select * from t where x = 5 and y = 6; and Solutions (Apress, 2005) and Effective Oracle by (Oracle Press, 2003), among others. —————————————————————————————————————— Design | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time —————————————————————————————————————— | 0 | SELECT STATEMENT | | 357 | 1785 | 31 (13)| 00:00:01 |* 1 | TABLE ACCESS FULL| T | 357 | 1785 | 31 (13)| 00:00:01 —————————————————————————————————————— ASK Tom Tom Kyte answers your most difficult technology questions. codeLISTING 7: Using dynamic sampling to improve the plan Highlights from that forum appear in this column. asktom.oracle.com SQL> set autotrace traceonly explain SQL> select /*+ dynamic_sampling(t 3) */ * from t where x = 5 and y = 6; READ more Tom i g —————————————————————————————————————— Expert Oracle Database Architecture: 9 and 10 Programming Techniques and Solutions | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time amazon.com/exec/obidos/tg/detail/-/1590595300/ —————————————————————————————————————— | 0 | SELECT STATEMENT | | 1 | 5 | 31 (13)| 00:00:01 DOWNLOAD |* 1 | TABLE ACCESS FULL| T | 1 | 5 | 31 (13)| 00:00:01 Oracle Database 11g —————————————————————————————————————— otn.oracle.com/software/products/database

72 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_ASK TOM.indd 72 3/13/08 2:24:53 PM commentIN THE FIELD BY ARI KAPLAN

New IOUG Award Is Double Honor From the Oracle Contribution Award to Ken Jacobs to Tom Kyte

t’s not often that a single award capacities; and helping to guide the about Oracle Database and its tools. “I can honor two people, but that’s development of the Oracle Database spend way too much time working on what the Independent Oracle Users product over the years. asktom.oracle.com,” Kyte says. Group (IOUG) has done with one Jacobs says that the real stars of the The author of several well-regarded award this year. Oracle community are the volunteers of books on Oracle technology, Kyte The Oracle Contribution Award the IOUG, who work so hard, invest so has been involved with the IOUG has been one way that the IOUG has much energy, and inject so much cre- since 1993, and every year since, his recognized extraordinary contributions ativity to provide support to others in involvement in the user community by Oracle employees to the user group the community. has grown. He’s now been to Oracle and the user community. Each year at “It has been my great pleasure to user group events all over the world the annual COLLABORATE conference, work with you and on your behalf, and spends at least three or four days a which is cosponsored by the IOUG, both as a strong voice of advocacy for month helping the user groups. the Oracle Applications User Group, users to Oracle, as well as a voice of Kyte says that he’s very flattered and Quest, the IOUG has presented Oracle to the users,” Jacobs says. “I am to receive this recognition. “I was in this award to an Oracle employee for truly touched and extremely honored Toronto when Ken Jacobs received outstanding dedication and service to by your naming this award for me. It’s the Oracle Contribution Award in the user group community. an honor I will always cherish.” 2004, and I remember thinking how Through this award, the IOUG has impressed I was that he had this con- acknowledged people who have posi- AND THE JACOBS GOES TO . . . nection with the user group com- tively affected the success of the IOUG The IOUG is presenting this first- munity,” Kyte says. “I’m humbled to through their support of the organiza- ever Ken Jacobs Award to Tom Kyte, receive the same award—now named tion. Recent recipients of the Oracle Oracle architect. after Ken—this year.” Contribution Award include Shyam “I am thrilled that this award is Kyte says that joining the IOUG Varan Nath (2007), Mary Lou Dopart going to Tom Kyte, who exemplifies offers many advantages for profes- (2006), James Hobbs (2005), Ken all the best that an Oracle employee sional growth. “I’m a big supporter of Jacobs (2004), Mary Ann Zirelli (2003), can be,” Jacobs says. “Tom is extremely the IOUG and try to do what I can to and Kate Kerner (2002). knowledgeable and passionate about support it,” he says. “I would strongly Oracle technology. He is tireless and encourage anyone who calls their career THE IOUG IS PLEASED TO RENAME . . . every week answers what seem to be Oracle to become part of it. The confer- The IOUG has renamed the Oracle millions of technical questions on the ences are great. Great technical content, Contribution Award after Ken Jacobs, Ask Tom Web site. His mission is to strong leadership, and great organiza- Oracle’s vice president of product strat- help people make better use of Oracle tion: that’s the IOUG.” O egy in Oracle Server Technologies, for technology through education and his many contributions to Oracle users. examples. Tom’s no-nonsense, just- Ari Kaplan ([email protected]) is president of the The years that Ken Jacobs has provided the-facts, and show-me-the-proof style Independent Oracle Users Group (IOUG) and a senior support, strategic guidance, and leader- make him an invaluable resource for consultant at Datalink. He founded Expand Beyond ship to the IOUG have truly made a Oracle and users alike. It is entirely Corporation, a leader in mobile IT software. He has been mark on our organization, and we very fitting that he receives this recognition,” involved in Oracle technology since 1992. much appreciate all that he has done Jacobs says. for the IOUG. Kyte has worked with Oracle Jacobs has had an extensive career Database since 1987; he joined Oracle as with Oracle, including helping to an employee in 1993. He helps Oracle JOIN the IOUG establish the first Oracle office in customers and users who work with the www.ioug.org Washington DC in 1981; serving in database and is familiar to users as the ASK Tom various consulting, support, product Tom behind the Ask Tom column in asktom.oracle.com management, and product marketing Oracle Magazine, answering questions

ORACLE MAGAZINE MAY/JUNE 2008 73

MJ08_KAPLAN.indd 73 3/14/08 3:19:43 PM                           3'))$# 01.#1+.'2 )#"#"1! 0',+$,.. !)#0#!&+,),%5 +" --)'! 0',+/-.,$#//',+ )/ )'(#5,1 3&, .#),,('+%0,#+.'!&0&#'.! .##./ +"#+& +!#0&#-#.$,.* +!#,$0&#'.!,*- +5/. !)##+2'.,+*#+0 & 0/3&5  '/0&#)# "'+%1/#.".'2#+. !)##"1! 0',+#2#+0 )),3'+%. !)#-.,$#//',+ )/0,

7  3'0&0&,1/ +"/,$. !)#1/#./0,/& .#/1!!#///0,.'#/ !& ))#+%#/ +"/,)10',+/$,.. !)# 0#!&+,),%5 +" --)'! 0',+/ 7   $.,*0&##4-#.0/ +")# "#./'+0&#. !)#!,**1+'053'0& !&,'!#,$*,.#0& + #"1! 0',+/#//',+/ 50&#  +"1#/0-.#/#+0'+% #/0-. !0'!#/ +"0#/0#"/,)10',+/ 7    0#!&+,),%5/,)10',+/ +"/0. 0#%'#/3'0& !!#//0,*,.#0& + ,$0&#)# "'+%/,)10',+-.,2'"#./ #4&' '0'+%'+,+#,-#+$,.1* 7   '+/'"#'+$,.* 0',+ +"'+/'%&0$.,*. !)#)# "#./&'- +"0#!&+,),%52'/',+ .'#/ +")#2#. %#0&#1/#./ %.,1-/!,))#!0'2#2,'!#0,. !)#

#"  "!%   7$5,1 .# +. !)#0#!&+,),%5 +"" 0 /#-.,$#//',+ ) '+!)1"'+%/ "#2#),-#./ .!&'0#!0/ --)'! 0',+/#.2#. "*'+'/0. 0,./ /5/0#*/#!1.'05/0,. %#* + %#./ .#%'/0#.0&.,1%&0&#+"#-#+"#+0. !)#/#./.,1- 7$5,1 .# +. !)# --)'! 0',+/-.,$#//',+ )3'0& +'+0#.#/0'+0&#. !)#1/'+#//1'0# #,-)#,$0 . !)# #0 ') '# #) . !)#,**1+'! 0',+/$,.*#.)5,.0 ),$03 .# +"#0 ,)2,$03 .# +"#* +0.  --)'! 0',+/ 0#!&+,),%5 .#%'/0#.0&.,1%&0&#. !)#--)'! 0',+//#./.,1- 7 $5,1 .# #,-)#,$0,."3 ."/$1+!0',+ ),.0#!&+'! )-.,$#//',+ ) 0 +5)#2#),$5,1.,.% +'6 0',+ .#%'/0#. 0&.,1%&1#/0+0#.+ 0',+ )/#./.,1-1#/0 .#/#+0#" 5

 $%#%"!$ &$%'''" "#%" "# "#!"# %"!

 

 

Untitled-8 1 3/18/08 8:51:03 PM commentALL SECURE BY MARY ANN DAVIDSON

SOA What? Even with service-oriented architecture, consider the source.

s long as I have worked in the “security code.” Accordingly, developers three trolls and earned a magic sword,” IT industry, the holy grail has can use libraries such as Oracle Security he will do so, especially if he can sell been reusable code. In fact, IT Developer Tools or, better still, leverage the virtual sword for real money—and industry history is littered with SOA and Web services security through he can. Developers focused on the “rich acronyms that promised reusable code Oracle Web Services Manager to attach client” experience must remember that but didn’t deliver it. security policies to Web services or SOA they cannot believe anything the client It makes sense—especially for secu- composites. With Oracle Web Services hands the server unless they separately rity—to use a well-vetted module for a Manager, security is not “siloed” into validate it. I can tell the guard at a bank common function instead of having all each application but, rather, centralized that I am the queen of England, but the developers “roll their own.” For example, in a single point of administration. bank won’t let me access Her Majesty’s for many years, Oracle has had its As a security kahuna, I offer several bank account unless I prove it. developers use standard cryptographic cautionary notes about SOA. One is Oracle SOA Suite is a wonderful modules. Integration and maintenance that if you incorporate modular logic place to find a development frame- costs are lower, too, if you have modular into your application and it’s a critical work—including SOA and Web services services that other components can use component, you need to acquire that security—that also integrates well with instead of duplicative, deeply embedded component from an entity you trust. Oracle’s identity and access management code. You can develop new applications You wouldn’t buy a home alarm system products to provide end-to-end security faster if the basic building blocks— from just anyone you met on the street. from clients (browsers or applications) to especially security ones such as identity Similarly, you wouldn’t download a portals to networks of Web services. You and access management—are just there critical component on the fly from can build cleaner, more-secure applica- and accessible. Last, much of IT is now JustAnywhere.com. It’s never about tions faster. But do not forget the maxim affected by regulations requiring you to “assertions”; it’s about where you get code about nuclear disarmament that’s even show that security controls are imple- and knowing what the code does. more applicable to massively distributed mented properly. This is much easier if A second caution is to remember applications: “Trust but verify.” O security is enforced in a few correct (and information security Rule No. 1: “Don’t auditable) places instead of deep in your trust any information from the client.” Mary Ann Davidson is the chief security officer of multimillion-lines-of-code base. (Rule No. 2 is “See Rule No. 1.”) What Oracle, responsible for secure development practices, The latest industry go-round at reus- does this mean in terms of SOA? Simply security evaluations, and assessments. She represents able code is service-oriented architecture that, to the extent that developers put Oracle on the board of directors of the Information (SOA). Unlike earlier code reuse flops, more “rich code” on the client, they Technology Information Security Analysis Center and SOA is succeeding, for several reasons. create security problems if that informa- the U.S. Defense Science Board and is on the editorial For one, the industry has enough “stan- tion is not validated by the server before review board of SC Magazine. dards glue” to make SOA work. In fact, it is “accepted.” No protocol, security Oracle has been a leader in the creation framework, or standard will ever replace of Web security standards such as SAML, proper server-side validation, because XACML, WSS, WS-SX, and the Identity anyone can hand the server something LEARN more about Governance Framework. Integrated, it expects that appears valid. You might Oracle SOA Suite standards-based identity and access man- be able to trust a server within your otn.oracle.com/tech/soa agement offerings such as Oracle Identity control, but you absolutely cannot trust Oracle Identity Management and Access Management give developers nine million clients outside your control. otn.oracle.com/products/id_mgmt/oxp a healthy toolbox of choices. And the A new book by Gary McGraw, Oracle Access Management Webifying of legacy applications and the Exploiting Online Games, describes how otn.oracle.com/products/id_mgmt/coreid_acc emergence of Web 2.0 have created a online games are massively distributed READ more Davidson blogs.oracle.com/maryanndavidson compelling market need. systems with rich clients (just like SOA). DOWNLOAD Oracle SOA Suite Oracle believes that most develop- If a fearless gamer can “trick” the server otn.oracle.com/software/tech/soa ers should be writing “secure code,” not into believing “Fearless Gamer killed

ORACLE MAGAZINE MAY/JUNE 2008 75

MJ08_DAVIDSON.indd 75 3/13/08 11:23:35 AM commentANALYST’S CORNER BY DAVID BAUM

SOA Means Business Service-oriented architecture delivers the technology that businesses want.

racle Magazine spoke with processes and data changes. necessary business services and imple- Chris Haddad, vice president of Oracle Magazine: How do development ment them according to your model of Applications Platform Strategies projects create reusable software assets? where the business is going. at Burton Group, about how Haddad: You can’t reuse a service capa- Oracle Magazine: How can SOA affect to make headway with service-oriented bility unless you understand what the other business initiatives? architecture (SOA). service will provide to your project, so Haddad: For example, SOA can affect Oracle Magazine: How do you define business and technical users need to business intelligence [BI], which is all success in the context of SOA? jointly define entities that underpin their about gaining visibility into business Haddad: Many people will say they want business processes. For example, in the performance, metrics, and trends. BI to achieve greater agility, reduce time to financial services market, you need a requires links to data repositories, ana- market, and minimize costs. But those universal definition of an account object. lytics, reports, and data visualization goals apply to any IT project. I consider Once you reach agreement, you can tools. SOA serves as a catalyst for con- SOA projects successful when services bring commonality to all applications necting these entities and normalizing are shared and reused, software assets that access these objects, and you can the semantic data representations. The are consolidated and provide redundant promote reuse because the data elements first step is to implement mediation capabilities, and projects conform to consumed by the applications are built agents that can monitor messages and common standards. Tangible success into the service. Every well-designed event streams and generate alerts that metrics provide small steps required to service is a pragmatic step toward feed real-time dashboards or event pro- realize bigger goals. achieving these goals. cessor engines. Developers want to take Oracle Magazine: What’s the best way to Oracle Magazine: What’s the relationship their dashboards and hook them up to adopt SOA with minimal disruption? of business process management to SOA? this new runtime infrastructure, which Haddad: Have clear adoption strategies. Haddad: Business process management supports publication and consumption You want to identify gaps in your software provides a way for discussing business of services. This is much more efficient development lifecycle and create an envi- needs and service capabilities. It forces than building point-to-point connections ronment that fosters collaboration and businesspeople and IT people to devise between event publishers, processing trust. Some companies decide they need a shared language, so they can align their engines, and information consumers. O to improve their operations-management IT systems with the business processes capabilities so services will be reliable, they want to execute. Business Process David Baum ([email protected]) is a freelance available, and secure enough to be shared Execution Language [BPEL] lets you business writer based in Santa Barbara, California. across teams. Others decide to upgrade describe business goals technically; tools their change-management processes. In such as Oracle BPEL Process Manager Burton Group (www.burtongroup.com) is a technical any case, you need a consensus about help you define and orchestrate services research and advisory group focusing on service- how to describe services. Most companies and then expose them as discrete build- oriented architecture and other topics. start small by creating a single service and ing blocks. As you develop a holistic sharing it with a specific community. picture of your IT capabilities, you can Oracle Magazine: What happens as these weave new and old functions into a unified SOA implementations gain momentum? portfolio and align your information READ more about Haddad: Far-seeing organizations begin systems with how people want to work. service-oriented architecture to take inventory of all their software Oracle Magazine: What’s a good example? oracle.com/technologies/soa assets, services, and application frame- Haddad: Suppose your organization wants Oracle SOA Suite works. This allows them to create a to revamp its call center systems. SOA oracle.com/technologies/soa/soa-suite.html shared infrastructure of business func- creates interfaces to the applications and Oracle BPEL Process Manager otn.oracle.com/products/ias/bpel tions, to migrate their applications to data repositories, so you can simplify the DOWNLOAD these common functions, and to create way people interact with these systems Oracle SOA Suite “event awareness” within their IT archi- and streamline the tasks that they need otn.oracle.com/software/tech/soa tectures so they can monitor business to perform. BPEL helps you describe the

76 MAY/JUNE 2008 ORACLE.COM/ORACLEMAGAZINE

MJ08_ANALYST.indd 76 3/12/08 11:25:44 AM Throw Away* Half Your Disk Drives

Newest Oracle Database Half the disk space Half the electricity Half the cost And it runs faster

Advanced data compression makes the planet a little greener

oracle.com/goto/compression or call 1.800.ORACLE.1

*We encourage you to reuse or recycle. Learn more at: www.eiae.org

Copyright © 2008, Oracle. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

Untitled-9 1 3/18/08 9:12:54 PM