oracle scene

68
The Pursuit of Enterprise Mobility www.ukoug.org An independent publication not affiliated with Oracle Corporation Oracle Scene Serving the Oracle Community Autumn/Winter 15 Issue 58 Java Cloud Service Scratching the surface of what it offers for WebLogic Admins APEX 5 Features that make life easier and work more fun for Developers Apps Upgrade Options Do you go leading edge, bleeding edge or avoid the edge altogether? This edition’s sponsors:

Transcript of oracle scene

Page 1: oracle scene

The Pursuit of Enterprise Mobility

www.ukoug.org An independent publication not affiliated with

Oracle Corporation

OracleSceneServing the Oracle Community

Autumn/Winter 15 Issue 58Java Cloud Service Scratching the surface of what it offers for WebLogic Admins

APEX 5 Features that make life easier and work more fun for Developers

Apps Upgrade OptionsDo you go leading edge, bleeding edge or avoid the edge altogether?

This edition’s sponsors:

Page 2: oracle scene

Our AMOBI methodology can help you fi nd innovative ways to improve and optimise your existing business processes and systems.

Utilising the best of Six Sigma/Lean and Customer Journey mapping concepts, we focus on maximising the value chain and lowering TCO.

Realise additional value from your current Oracle solution and drive a holistic strategy for future Oracle investment!

UnlockYourInvestment

ASSESS

MAP

OPTIMISEBENCHMARK

IMPLEMENT

BUSINESS

SYSTEM

STRATEGY

Member

TM

InvestmentAre you realising the potential of your investment?Are your people and business processes aligned in harmony with your IT systems?

..

Contact us for a complimentary assessmentOur Services :. Management Consulting. Business Process Management (BPM). Oracle Consulting Services. Finance Domain Expertise. Enterprise Architecture

. [email protected]

. +44 (0)208 123 5508

. www.vipappsconsulting.com

@vipappsconsult /vipappsconsulting +vipappsconsulting

Page 3: oracle scene

www.ukoug.org 03

32WHY USE ORACLE ENTERPRISE ARCHITECTURE?by Phil Wilkins

Inside this issueOracle Scene Editorial TeamEditor: Brendan Tierney Email: [email protected]

Deputy Editor (Tech): Martin Widlake Deputy Editor (Apps): Currently vacant

UKOUG Contact: Brigit Wells Email: [email protected]

Sales: Kerry Stuart Email: [email protected]

UKOUG GovernanceA full listing of Board members, along with details of how the user group is governed, can be found at: www.ukoug.org/about-us/governance

UKOUG OfficeUK Oracle User Group, User Group House, 591-593 Kingston Road, Wimbledon London, SW20 8SA

Tel: +44 (0)20 8545 9670 Email: [email protected] Web: www.ukoug.org

Produced and Designed byWhy Creative Tel: +44 (0)7900 246400 Web: www.whycreative.co.uk

UKOUG Event PhotographyPatrick Larderwww.patricklarder.com

Next Oracle Scene IssuesIssue 59: March 2016 Content deadline: 11th JanuaryIssue 60: June 2016 Content deadline: 4th April Issue 61: September 2016 Content deadline: 27th JuneIssue 62: December 2016 Content deadline: 5th September

08ORACLE MOBILE CLOUD SERVICE TECHNOLOGY OVERVIEWby Chris Muir

OracleScene© UK Oracle User Group LtdThe views stated in Oracle Scene are the views of the author and not those of the UK Oracle User Group Ltd. We do not make any warranty for the accuracy of any published information and the UK Oracle User Group will assume no responsibility or liability regarding the use of such information. All articles are published on the understanding that copyright remains with the individual authors. The UK Oracle User Group reserves the right, however, to reproduce an article, in whole or in part, in any other user group publication. The reproduction of this publication by any third party, in whole or in part, is strictly prohibited without the express written consent of the UK Oracle User Group. Oracle is a registered trademark of Oracle Corporation and /or its affiliates, used under license. This publication is an independent publication, not affiliated or otherwise associated with Oracle Corporation. The opinions, statements, positions and views stated herein are those of the author(s) or publisher and are not intended to be the opinions, statements, positions, or views of Oracle Corporation.

TECHNOLOGYMastering the APEX Universal Theme by Roel Hartman 17An Introduction to Oracle Read Consistency by Martin Widlake 24Oracle Standard Edition Database Something for the Enterprise? by Ann Sjökvist 28Virtual Tuning by Jonathan Lewis 35Write Less Code, With More New Oracle 12c Features by Oren Nakdimon 38

APPLICATIONSOracle Tears Down the Final Barriers to Cloud Adoption: Finding Your Perfect Path to the Cloud by Joyce Boland 44 Should I Stay or Should I Go? by Steve Davis 50Integrated Real-Time Reporting from E-Business Suite at the University of Oxford by Susan Gillis 58

BUSINESS & STRATEGYKey Considerations for Cloud Adoption: A Decision Framework by Sean Snow 62

EVENTSUKOUG 2016 Calendar of Events 67UKOUG Partner of the Year Awards: Presenting Your 2015/16 Winners 20

FOCUS ONWomen in IT: Ambition in the Face of Adversity 48Striking the Right Balance by Debra Lilley 16

ADVERTORIALSVIP Apps 57Certus Solutions 42

REGULAR FEATURESNews & Reviews 06

12

OracleSceneD I G I T A L

View the latest edition and access the online archive: www.ukoug.org/os

More than 15,000 people follow UKOUG.

Join them now. @UKOUG

Welcome to Oracle Scene

A ROADMAP FOR DECIDING AN ORACLE

IMPLEMENTATION STRATEGYby Kartik Subbaraman & Chinmay Jain

54

JAVA CLOUD SERVICE: QUESTIONS A WEBLOGIC

ADMINISTRATOR MIGHT ASKby Simon Haslam

Our AMOBI methodology can help you fi nd innovative ways to improve and optimise your existing business processes and systems.

Utilising the best of Six Sigma/Lean and Customer Journey mapping concepts, we focus on maximising the value chain and lowering TCO.

Realise additional value from your current Oracle solution and drive a holistic strategy for future Oracle investment!

UnlockYourInvestment

ASSESS

MAP

OPTIMISEBENCHMARK

IMPLEMENT

BUSINESS

SYSTEM

STRATEGY

Member

TM

InvestmentAre you realising the potential of your investment?Are your people and business processes aligned in harmony with your IT systems?

..

Contact us for a complimentary assessmentOur Services :. Management Consulting. Business Process Management (BPM). Oracle Consulting Services. Finance Domain Expertise. Enterprise Architecture

. [email protected]

. +44 (0)208 123 5508

. www.vipappsconsulting.com

@vipappsconsult /vipappsconsulting +vipappsconsulting

Page 4: oracle scene

04 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

First Word

First wordWelcome to this bumper winter edition of Oracle Scene. Yes it is a larger edition as we have squeezed in as much practical content as it was possible to because this is the type of content you have been telling us that you love to see.

In 2016 we will be increasing the size of each edition to accommodate more content around applications, cloud applications and business/IT strategy related topics. With this in mind we’re looking to expand the editorial team for Oracle Scene. It is a pleasure to welcome Martin Widlake to the editorial team as a deputy editor to focus on the Oracle Database and Technology related content. We also have another position to fill. Do you work with Oracle Applications? If so would you be interested in stepping up and joining the editorial team as deputy editor focusing on Oracle Applications content? If the answer is yes and you feel you can add value to the editorial team in this area, then get in touch with me or talk to any of the UKOUG staff or Board for more information.

I’d like to take this opportunity to send you all festive greetings and best wishes for the New Year. We will have more articles and more Oracle Scenes for you in 2016. If you would like to be in the next edition the submission deadline is 11th January.

This edition also coincides with the big annual flagship UKOUG conferences. These are the Technology (TECH15), Applications (APPS15) and the JD Edwards (JDE15) conferences. This year Apps15 & Tech15 are co-locating with JDE15 at the ICC in Birmingham after spending the last couple of years in Manchester and Liverpool. I really love these conferences, they are the best and one of the cheapest ways to access the latest and greatest of what is going on in your area of expertise. Again this year there is the Super Sunday event prior to these conferences. If you’re going to Tech15 and can get to Birmingham on the Sunday morning you can attend some top notch sessions covering core internals of the Oracle Database, lots of topics for the APEX fans, practical sessions on Cloud and then there is my favourite topic of Analytics and BI. But sign up quick for the Super Sunday event as places are limited. You sign up as part of your Tech15 registration via www.tech15.ukoug.org.

I said earlier that this is a bumper edition. We had such an incredible number of fantastic articles submitted and what you see in this edition is just a subset of what we could have included. We’re holding onto a lot more for the next edition. I would like to thank everyone for submitting not just for this edition of Oracle Scene but to all our editions this year. We look forward to receiving your articles in 2016 and beyond.

More information on submitting an article can be found online at: www.ukoug.org/oraclescene

ABOUTTHEEDITOR

Brendan TierneyConsultant, Oralytics.com

Brendan is an Oracle ACE Director, independent consultant and lectures on Data Mining and Advanced Databases in DIT in Ireland. Brendan has extensive experience working in the areas of Analytics, Data Mining, Data Warehousing, Data Architecture and Database Design for over 20 years. He started working with the Oracle 5 Database, Forms 2.3 and ReportWriter 1.1, and has worked with all versions since then. Brendan is editor of the UKOUG Oracle Scene magazine and is the deputy chair of the OUG Ireland BI SIG. Brendan is a regular presenter at conferences around the world.

Contact Brendan at: [email protected]

Page 5: oracle scene

05

UKOUG Membership

Thinking about training for 2016?UKOUG members benefit from exclusive discounts on Oracle-approved certification with our education partner - it really can make a difference to your training costs, so come and ask us what we have on offer.

Elections are coming...If you’re interested in getting involved in leading your user group, we have the following positions coming up for election in Spring 2016: Member Advocate and President Elect. Get in touch with us to find out more about the roles and how you go about submitting a nomination.

The Membership Team...Come and find us on the UKOUG stand (44) this December at one of our national conferences, we’d love to have a chat with you. Whether we’ve met before or not, it’s always good to catch up - we can discuss membership, your conference experience, favourite animals... whatever you fancy.

Do you get the best out of your Oracle licence?Find out at the UKOUG Licence Management Event on the 15th March 2016 and make sure you’re up to date with all the small print.

Martin SmithersHead of Membership

Martin has worked in membership organisations for over 15 years and takes pride in helping members to get the most out of their investments.

What makes Martin tick?“I love travelling and spending time in my vegetable garden”

Ashley SoucyMembership Executive

Ashley is new to membership but has worked in customer service for five years. She focuses on providing the best customer journey in any field.

What makes Ashley tick?“I enjoy good movies and spending time with friends”

Michelle HarrisBusiness Systems Support

Michelle has been involved in various systems projects both within and without membership, with a focus on continuous improvement.

What makes Michelle tick?“I like to write and explore new places”

helpful

Meet the UKOUGMembership Team

Knowledgeable

flexibleef

ficie

ntinformativeprofessional

experiencedskilled

hard

wor

king

acce

ssib

le

driv

en

friendly

confidentchee

ry

char

asm

atic

See us on stand 44 at Apps15, JDE15 & Tech15 or contact us today on +44 (0)20 8545 9670 / [email protected]

orga

nise

d

Stay informed with #ukoug_lme16 and book at www.ukoug.org/lme or come to our stand in the Exhibition Hall

Page 6: oracle scene

06 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

News & Reviews

FORTHCOMING EVENTSJanuary UKOUG Database Server SIG, LondonFebruary UKOUG Project Management SIG, LondonUKOUG Hyperion SIG, LondonUKOUG Oracle Financials SIG, LondonMarch OUG Ireland 2016, DublinUKOUG Business Analytics SIG, LondonUKOUG Application Server & Middleware SIG, SolihullUKOUG HCM SIG, LondonUKOUG Licence Management Event 2016, LondonUKOUG Systems SIG, London

See page 67 for the 2016 calendar and www.ukoug.org/events for more information.

Licence to Grill... the Experts!1 5 T H M A R C H 2 0 1 6K E N S I N G T O N C L O S E H O T E L | L O N D O N | #ukoug_lme16

Share your licensing questions and better understand how to manage your Oracle assets at our next UKOUG Licence Management Event. The agenda will be revealed at this year’s Apps15 and Tech15 conferences, rendezvous at our LME taster sessions to be briefed on what to expect from this event.

94% of delegates at our last Licence Management Event rated their overall satisfaction as good/very good/excellent. Here’s what they said:

“ Pretty inspiring, I work on a larger customer estate than Britvic but what they managed to do in such a short space of time is impressive”

“ This was excellent... a lot of useful tips and conversations were had”

“Very informative”

Secure your place now at: http://bit.ly/ukoug_lme16

2016 DatesWe’re excited to announce that Oracle Scene is evolving into a quarterly magazine in 2016. The larger magazine will offer the same amount of content for our technical readers, but from spring 2016 will also enable us to include more pages for the non-technical reader too. So if you are working in the applications space and have stories to share with our readers, we want to hear from you! Make a note of the 2016 deadlines below and

send your article proposals and/or finalised pieces to

[email protected]

Issue 59 11th January

Issue 60 4th April

Issue 61 27th June

Issue 62 5th September

2015/16

partneroftheyear

We’d like to say a HUGE thank you to everyone who took part in voting for UKOUG Partner of the Year Awards 2015/16. We received a staggering 4,666 votes from more than 2,300 Oracle end-users around the world - the highest we’ve ever had and it’s all down to you! Your winners received their awards at a ceremony on 15th October. Check out pages 20-22 to see who topped the winners table in each category.

Come and see us at the Oracle Modern Customer Experience conference on 2-3 February 2016 at the InterContinental London - O2. We’ll have members of our team there ready to run through your membership options and tell you more about UKOUG activities.www.moderncustomerexperience.oracle.com/london

UKOUG Out ‘n’ About

Women in IT

On Tuesday 8th December from 08:00 - 09:00 we’ll be hosting our Women in IT breakfast meeting at Apps15, JDE15 & Tech15 for all members of the community to network and find out more about how

this initiative will be moving forwards into 2016. Find out more on the agenda pages of each conference website. We hope to see you there! www.ukoug.org/conferences2015

December Breakfast Meeting

Page 7: oracle scene

www.ukoug.org 07

News & Reviews

Delivering Direct ROI to PartnersGenerating brand awareness, exposure to the market and explaining your offering to potential clients is imperative to your business’ success and working with UKOUG is one of the ways this can be achieved.Many of our partners start small, usually by taking a stand and maybe some sponsorship at a UKOUG conference. This is exactly what Beoley Mill Software (BMS) did and they reaped the rewards. Exhibiting gave BMS a platform to talk face-to-face with genuinely engaged potential customers generating many leads to follow up on. The work generated from their first UKOUG event realised £240,000 of revenue from just £3,000 expenditure. Needless to say they have returned every year since and now regularly contribute to conference sessions as well. UKOUG helped BMS to become the UK market leader in their field with a turnover of £12 million. Stuart Rimmer, Chief

Executive Officer of BMS believes “We would have eventually reached our goal, but without partnering with UKOUG it would have taken far longer. Partnering with UKOUG is an essential element of BMS’s marketing mix, ensuring we retain our position in the market by continuing to engage with new customers and building our relationship with existing ones.” Create your own package If you regularly participate in UKOUG events and activities you’ll save money with an annual agreement. By committing upfront to the year we’re able to leverage discount and maximise your exposure to the membership. To find out how we can support the promotion of your organisation or take advantage of a 2016 annual agreement, get in touch with Kerry Stuart on +44 (0)20 8545 9685.

OUG Ireland 2016 OUG Scotland 2016

OUG Ireland 2016 is now open for abstract submissions. All that’s needed is just 250 words on what you would like to present and who your target audience is. Closing date is 09:00 on 4th January 2016. www.oug.org/ireland

At the time of publishing the committee are still finalising details, however, the call for papers is likely to cover similar topic areas to the 2015 event. Keep an eye on the website for more information.www.oug.org/scotland

Call for Papers Now Open Call for Papers Opening Soon

UKOUG Leadership Roles Nominations Opening ShortlyUK Oracle User Group (UKOUG) is governed by a number of elected and appointed leadership positions that make up the UKOUG Board.

Board member tenures are staggered to ensure stability and continuity which means that every year there are positions up for election. 2016 will see

the following positions up for election - Member Advocate and President Elect. We will be announcing the call for nominations shortly.

Find out more about the roles at www.ukoug.org/getinvolved and if you’re interested in submitting a nomination contact the UKOUG Appointments Group.

www.ukoug.org/about-us/governance/appointments-group

Page 8: oracle scene

08 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

Technology

Mobility, in an era of disruptive digital technology, has become a priority for enterprises to remain competitive and keeping their ever more mobile savvy staff and customers happy. Yet in adopting the ‘mobile-first’ mantra enterprises quickly realise that there are significant challenges in providing mobile solutions beyond creating their first Android or iOS apps. Security, mobile to enterprise integration, data integrity and synchronisation, governance, analytics, all these cornerstones of sound enterprise development do not disappear in the mobile world, but in fact become more critical for enterprise mobile apps where your standard 8 to 5 corporate user becomes a 24 by 7 mobile user.

Chris Muir, Senior Principal Mobility and Development Tools Product Manager, Oracle

To tackle these concerns head on, Oracle has introduced Oracle Mobile Cloud Service, a specialised mobile PaaS commonly known in the mobility industry as a Mobile Backend as a Service (MBaaS). A typical MBaaS is designed to reduce the burden on mobile development efforts, essentially reducing the time to market taken by your development efforts.

Oracle Mobile Cloud Service differentiates itself from the MBaaS crowd by not just addressing the needs of the mobile developer, but all parts of the business in building and delivering and monitoring a successful mobile campaign.

Oracle Mobile Cloud Service Technology OverviewAddressing the enterprise challenges of moving to a mobility-first world

Page 9: oracle scene

www.ukoug.org 09

Technology: Chris Muir

In this technology focused article, we’ll explore, from a high technical level, the major moving pieces of Oracle Mobile Cloud Service so you can become familiar with it as a platform, as well as its capabilities and what advantages it will provide you.

Design Time OverviewAn introduction to the main Oracle Mobile Cloud Service components is best highlighted by studying figure 1.

From the far left to far right, overall a key challenge that Oracle Mobile Cloud Service is designed to solve is to simplify the integration of your mobile applications, be they on Android or iOS for example, with your enterprise systems, be they on-premise legacy systems, other cloud or internet solutions, and Oracle’s contemporary cloud product portfolio. In doing so Oracle Mobile Cloud Service shapes the enterprise payloads, for example potentially heavy weight SOAP services or other package specific protocols, into light weight, fast, secure, RESTful services beloved if not demanded of mobile developers everywhere.

This focus on giving mobile developers what they want rather than just providing another enterprise centric integration solution is another key design tenet of Oracle Mobile Cloud Service. Mobile developers are extremely skilled at finding and adopting 3rd party frameworks and APIs for their mobile needs and tastes.

In providing mobile APIs Oracle Mobile Cloud Service takes great care to provide mobile friendly RESTful services so that mobile developers feel at home rather than feeling like they need to swallow a proprietary non portable enterprise solution.

To take this one step further to really make mobile developers cheer, Oracle Mobile Cloud Service provides native SDKs for the likes of Android, iOS and Oracle Mobile Application Framework.

FIGURE 1

FIGURE 2

These SDKs written in the native language of each mobile platform further address the development effort by reducing the size of numerous REST API code calls, often taking 10 to 20 lines of code each, to nothing more than 3 or 4 lines in many cases.

This leaves mobile developers time to focus on building a compelling mobile application over dealing with essentially a code-centric integration challenge.

Returning to figure 2 for each mobile application your enterprise builds, within Oracle Mobile Cloud Service a Mobile Backend is provisioned to act as a gateway for allowing access to the various capabilities. The mobile backend maps to a Realm of mobile users and their roles to give specific access to the APIs required by the mobile application.

In terms of APIs Oracle Mobile Cloud Service provides both prebuilt mobile specific APIs known as Platform APIs, as well as custom built APIs by Oracle Mobile Cloud Service developers known as Custom APIs, externalised to be consumed by your mobile applications as RESTful endpoints. Platform APIs provide the likes of mobile user management services, push notifications, cloud storage, data synchronisation, analytics and more, all designed to reduce the burden on mobile developers by providing mobile centric services, ultimately increasing the pace which you can deliver mobile solutions as these are provided out of the box.

Alternatively, Custom APIs are a feature that allows service developers in Oracle Mobile Cloud Service to, as the name implies, build their own APIs backed by Node.js. There really are unlimited options of what can be built, but a primary use case is building a Custom API to allow your mobile application to retrieve and transform data from your end enterprise systems, or even disparate cloud or web resources, in a mobile optimised payload.

Node.js is a noteworthy inclusion in the Oracle Mobile Cloud Service specific mix. Node.js is a server side JavaScript >>

Page 10: oracle scene

10 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

Technology: Chris Muir

framework specialising in server solutions, specifically those working on the HTTP request-response cycle. Node.js is incredibly popular with a huge developer community and numerous 3rd party available modules. Of special note, Node.js uses an extremely fast asynchronous non-blocking I/O programming model that makes it ideal for high throughput server solutions like that required by mobile. Given its JavaScript roots the language syntax is also highly familiar to many existing development teams with a JavaScript and Java background, with the benefit of not having to deal with the messy DOM programming model that web developers have to tackle each day. Essentially JavaScript is no longer just a browser solution, its ideal for server side programming too through the likes of Node.js.

Beyond the custom APIs and Node.js implementation, to avoid the mistake of coding security and connection details to external services across numerous Node.js modules, Oracle Mobile Cloud Service provides the concept of Connectors. A connector centralises the settings around the external connections such as security policies, so they are set once in your overall code base, easily modified when you move your application from development to staging/testing to production. In addition connectors provide ‘smarts’ under the covers to optimise for the mobile use case, for example the SOAP technology specific connector automatically converts heavy weight XML payloads to light weight JSON payloads, instantly optimised for mobile delivery.

Beyond the CodeThe Oracle Mobile Cloud Service development capabilities stretch beyond code, APIs, integration and connections. Oracle Mobile Cloud Service takes care to consider the typical lifecycle of a mobile app and how it fits into the world of enterprise IT processes too.

Oracle Mobile Cloud Service allows teams to migrate the design time modules from development to staging (testing) to production environments as the application matures.

In addition the design time modules can be activated and deactivated, published (locked) and versioned according to your development, testing and production needs.

Another debilitating challenge in mobile development is when things start to go wrong, how do you track down the issue? As example service providers forget to communicate changes to the external services you’re dependent on, apps crash and your mobile users quickly become irate.

Firstly, across the Oracle Mobile Cloud Service user interface each API actively exposes test pages to each RESTful endpoint so you can fire off tests without having to build a whole mobile application to do so. This allows teams to isolate the mobile application out of the equation and focus on the integration side where problems may lie.

In centralising mobile integration through Oracle Mobile Cloud Service, essentially a channel between the mobile front ends and rear enterprise systems, Oracle Mobile Cloud Service has been designed to take advantage of where it sits.

An extensive and light weight diagnostics and logging framework looks into every API call, such that when things do go wrong, Oracle Mobile Cloud Service gives developers and administrators an insight into what is actually going on in each API call, errors, warts and all. Stepping further back, Oracle Mobile Cloud Service administrators can quickly monitor the overall health of their solution with a highly visual dashboard.

Searching for Business SuccessIn looking into the needs of enterprises wanting to build mobile applications, Oracle considered not just the developers’ needs, but also what the business needs to know about the success of the mobile apps delivered to customers and staff. Mobile

FIGURE 3

FIGURE 4

Page 11: oracle scene

www.ukoug.org 11

Technology: Chris Muir

ConclusionUltimately, Oracle Mobile Cloud Service is a unique product in that it acts both as a glue and oil between the mobile-savvy development world and traditional enterprises. By providing integration and data transformation services between enterprise systems and mobile apps, as well as giving a nod to traditional enterprise needs like lifecycles, multiple environments, analytics, diagnostics and logging, Oracle Mobile Cloud Service essentially acts as the glue between the two parties so they can work together. Yet in providing prebuilt, mobile-friendly RESTful APIs and services such as push notifications, flexible custom API programming through the likes of Node.js, and providing native-optimised-mobile SDKs to mobile developers, Oracle Mobile Cloud Service acts as a slick oil to ensure mobile developers can move at a pace they’re accustomed to even when working with traditional enterprises. All with the goal of making your enterprise mobility development a success.

ABOUTTHEAUTHOR

Chris MuirSenior Principal Mobility and Development Tools Product Manager, Oracle

Chris Muir is an Oracle Senior Principal Product Manager, of the Oracle Mobile and Cloud Development Tools customer enablement group. The group performs an outbound product management role with a wide range of tasks focused on enabling customers across the globe to be successful with Oracle’s mobile, cloud and web development solutions.

Blog: blogs.oracle.com/onesizedoesntfitall au.linkedin.com/in/chriscmuir @chriscmuir

applications are intrinsically linked to business processes and their KPIs, as well as marketing campaigns and other business oriented initiatives. Rather than just ‘delivering an app’, many enterprises want to judge the success of their mobile applications to drive the success of their business too.

To meet the business’ needs Oracle Mobile Cloud Service makes analytics a core function. Business stakeholders can log into Oracle Mobile Cloud Service and, through the analytics dashboard, look to how many users are using the app, where they’re located, what services they’re using, and track and analyse trends.

The analytics capabilities don’t just stop there, as Oracle Mobile Cloud Service provides mobile developers the ability to lodge custom analytic events with specific information around anything they need to capture.

For example, if mobile users are easily getting confused and referring to the mobile app help pages, these analytic events can easily be captured and reported back to the Oracle Mobile Cloud Service analytics dashboard.

Finally, Oracle Mobile Cloud Service allows you to setup analytic funnels which track a series of analytic events within a work flow and how far your mobile users got through the process.

For example, a shopping cart app typically has several steps including putting items in the shopping cart, entering credit card details, then pressing pay. With funnels you can judge how many customers get through each stage, which gives you information on potential pain points in your application or maybe where you need to place some incentive for customers to continue.

READ more about Oracle Mobile Cloud Service

cloud.oracle.com/mobile

WATCH Oracle Mobile Cloud Service YouTube training

youtube.com/user/OracleMobilePlatform

JOIN the Oracle Mobile Platform Google+ community

bit.ly/oramobcom

Page 12: oracle scene

12 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

Technology

Java Cloud Service

Questions a WebLogic Administrator Might Ask

What is Java Cloud Service?If you’ve not yet heard about Java Cloud Service (JCS) this is Oracle’s WebLogic Java EE application server and supporting software, run from Oracle’s data centres, with all hardware and software costs bundled into a monthly subscription fee. It is one of Oracle’s new products in its Platform-as-a-Service (PaaS) portfolio. JCS was first launched in autumn 2012 as “Java-as-a-Service,” but that particular product has been re-badged as “JCS SaaS Extension” which, as its name suggests, is designed to make it easy

to create relatively small add-ons to Oracle Cloud Applications (SaaS) but in a tightly constrained environment; it’s not discussed further in this article.

Over the last year we’ve seen the introduction of JCS Virtual Image (JCS-VI) and what’s loosely called “full JCS” or “JCS PaaS”. These two products offer the full power of WebLogic with the control an existing WebLogic Administrator is likely to want. They are suitable for running both custom enterprise applications and commercial off-the-shelf products.

Oracle’s new Java Cloud Service enables customers to run their Enterprise Java applications entirely on Oracle’s IT infrastructure. What does this mean for WebLogic and middleware administrators? Read on for answers to questions you might have…

A JCS environment itself, known as an “instance”, is a self-contained set of virtual machines (VMs) running a single WebLogic domain that can include multiple managed servers, dedicated Coherence servers and a load balancer.

How do I use JCS?Well, firstly you need to create a JCS instance. Figure 1 shows you almost all you need to specify in the web console for even the most complex JCS configuration.Once you have created the JCS instance it

Simon Haslam, Principal Consultant, Veriton

Presenting at Tech15 on 9th December at 11:20

S P E A K E R

Page 13: oracle scene

www.ukoug.org 13

Technology: Simon Haslam

runs until you either stop it (which shuts down the virtual machines but preserves the contents of the disks) or delete it (which permanently deletes everything, except for backups in the case of full JCS).

Following provisioning, which takes from around 40 minutes to an hour or so depending on the components chosen, you get several new virtual machines running pre-configured Oracle software. In theory you are then ready to deploy Java applications.

Figure 2 shows the provisioned configuration. Note that all JCS instances need a Database Cloud Service instance too (for at least the Fusion Middleware Infrastructure schemas), and full JCS needs a Storage Cloud Service container (for backup), but these are not shown in the diagram.

Once running, a JCS instance (full JCS or JCS-VI) can be accessed by the usual web-based administration tools (WebLogic console, Fusion Middleware Control, Traffic Director console), or else you can log directly into the virtual machines themselves (with root privileges if needed). This then allows you to run commands such as WLST or set up configuration management tools like Chef or Ansible.

Is there anything else for me to do once I’ve provisioned a JCS instance?Yes, without doubt, there is! Whilst JCS minimises the effort needed to create and patch a Java EE platform, there are often many more steps in deploying and maintaining a typical application.

Your first task following JCS provisioning, in almost all cases, will be to replace the demonstration SSL certificates with securely generated ones, especially given that the JCS infrastructure is so much “closer” to the internet than most WebLogic systems running in your own data centres. Then you will usually set up the administrators, probably by hooking into some form of identity provider. The firewall rules, as configured in the Oracle Compute Service, will need adjustment. Now you may start to think about deploying your applications, and maybe choose to do that via Oracle’s Developer Cloud Service. Finally, being the diligent administrator that you are, you will want to put in place monitoring and alerting (via Enterprise Manager or some other tool).

In addition to technical operations, given that it is very easy to create new instances, someone within your organisation needs to monitor the billing side of all your Oracle Cloud services to make sure they are remaining within budget.

How will JCS integrate with all the other systems that I run?Today we take it for granted that if we need a corporate service, such as a directory server like Microsoft Active Directory, that it is available on either the same network or one that is very close by. In the cloud world, and this is not specific to Oracle, servers may have to communicate over relatively convoluted network paths, with latencies far higher than we’re used to, and more reachability issues – this is just something we will have to cope with, and configure retries, time-outs, and maybe caching strategies, accordingly.

FIGURE 1

FIGURE 2>>

Page 14: oracle scene

14 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

Technology: Simon Haslam

At the time of writing Oracle has no VPN service (nothing comparable to Amazon’s Virtual Private Cloud for example) which means that JCS virtual machines cannot talk directly to your existing systems except via SSH tunnels (undesirable) or port-to-port over the internet (almost unworkable, even ignoring security, as none of your internal systems will be exposed directly). Apparently this will be addressed by Oracle soon.

When thinking about how applications will be integrated that’s a little more straightforward – web service calls between applications have become ubiquitous and, whether via SOAP or REST, are unlikely to be too tricky between data centres connected over the internet (other than the latency mentioned above). Products such as Oracle’s Managed File Transfer and Service Bus give you options for handling more traditional integration using file transfers or messaging protocols.

How different is JCS from running WebLogic at my own premises?Clearly the architecture is slightly different – the servers are remote of course, and aren’t located in a segmented DMZ topology that you probably have in your own data centre, although the Oracle VMs do have firewalls between them.

The initial domain provisioning is different too (as described earlier). With full JCS you don’t apply patches using OPatch, but instead instruct JCS to update the Oracle (or JDK) Homes in an automated manner. Likewise full JCS has its own way of backing up to both a local filesystem and the Oracle Storage Cloud, but in concept it’s still packaging up directories and running RMAN backups comparable to what you probably already do.

Other than this, if you already run Oracle Linux or Red Hat Enterprise Linux, then working on JCS will be almost identical to what you’re used to.

How does JCS fit in with Enterprise Manager 12c?This is a very good question. Firstly the provisioning and management mechanisms for Oracle Public Cloud are completely different to Enterprise Manager 12c Cloud Control (EM). Oracle has recently introduced a gateway for EM that allows you to monitor Oracle Cloud instances in a similar manner to other target types. The licensing position for Enterprise Manager on JCS, as at Autumn 2015, seems unclear (unlike Database Cloud Service which specifies which packs are included with each service level). However, EM integration with JCS is an area that is evolving very quickly so I think we will see clarification and improvements later this year.

When should I choose Virtual Image and when full JCS?Various Oracle PaaS products come in “virtual image” and “full” flavours but the distinction between these service levels is not always the same. In the case of JCS, the full product adds “cloud tooling” which provides automated backup/restore, rolling patching and scaling. These backups can be synchronised with Database Cloud instance backups. Scaling can be by either changing the number of managed servers, or by resizing each VM’s compute resources. This full JCS tooling comes at a premium of between 38% and 100% (at the time of writing) over the cost of JCS-VI, so you need to consider this decision very carefully – its value to you will depend on what other approaches you use currently.

Can I run Fusion Middleware on JCS?JCS is just WebLogic 11g or 12c on Oracle Linux x86-64 VMs so, yes, in theory you can run any Fusion Middleware “layered” product on it – in fact installing SOA Suite 12c was one of the first things I tried with JCS. Oracle has certified SOA 11g on JCS and will support you if you wish to run that version, but is not certifying SOA 12c as you would be expected to use their new SOA Cloud Service instead.

The JCS platform currently is missing a few features you need for a real-world, enterprise deployment too – for example, the VPN service as I mentioned earlier but

also shared storage, so you would need to be creative in that respect.

Finally, it would probably not be financially prudent to run products such as SOA on JCS by “bringing your own” licences; SOA needs WebLogic Suite so, unless you had some spare SOA licences, you would effectively be paying for WebLogic Suite licence and support twice.

What’s the performance of JCS like?My initial impressions of JCS performance are favourable. The physical servers under the VMs that I have been using over the summer have Intel E5-2690v2 3.0 GHz processors, as used in Oracle’s X4-2 servers and engineered systems.

I’ve not seen any obvious evidence of CPU starvation (i.e. steal time) and the network tests that I’ve done between VMs suggest a typical 10Gb Ethernet level of performance.

Therefore, whilst it’s still too early to comment on reliability and consistency of service, JCS appears to perform comparably to running your own modern servers. Even though these JCS VMs may have been on 2014 processors, let’s face it, in our own data centres it often takes many months for a new server to reach production anyway.

The way I see enterprise cloud services at the moment is similar to the early days of x86 virtualisation — back then, prior to processor enhancements, the primary motivation for virtualisation were cost savings from hardware consolidation, rather than improved system performance. The motivations for using JCS are different but if you are looking for maximum performance and predictability I think, for the time being, you will still need on-premises systems, such as Exalogic or the Oracle Database Appliance (which, despite its name, happily also runs Fusion Middleware!).

Page 15: oracle scene

www.ukoug.org 15

Technology: Simon Haslam

Are there any less tangible benefits to using Oracle Cloud Services?Yes, I think so. For example, most Oracle customers, certainly in the mid-market, are concerned about Oracle licence reviews: they can present a significant commercial risk if Oracle software features have been used, perhaps completely accidentally, but that haven’t been paid for. I’m no lawyer of course, but common sense would suggest that it will be more difficult for Oracle to pursue you for additional licence fees if they have allowed you to use forbidden software features, given that they have full visibility of your system. Of course only time will tell how that works out, but not having this particular Sword of Damocles hanging over you must be a benefit!

A corollary to this is that the JCS subscription model may signal a change from the up-front pricing to something far more flexible that can be scaled up, and just as importantly, scaled down when required – this is usually impractical given the contractual terms of Oracle Support for on-premises software.

Another consequence of a fully Oracle-provided platform is having a single point of support responsibility.

From the experience I’ve had of the same concept with the Oracle Database Appliance this doesn’t necessarily mean problems get fixed much more quickly, but you don’t have those difficult triage situations with 3 or 4 vendors trying to establish where the problem lies and whose responsibility it is to fix it.

What will JCS mean for my daily job, career prospects, mortgage, etc?If you’re primarily a middleware administrator and another team handles provisioning of the operating system and below, using JCS may not be very different to how you work today.

Firstly, think about what you do in your daily work: the proportion of your time you spend installing software, creating domains and patching WebLogic will depend on the degree of automation you already have in place, and the volatility of your environments, so the time savings from JCS will vary. We all know that applications change, that applications break and that performance problems arise — in my opinion “cloud” will make very little difference in this regard, but what it should do is allow you to dedicate more of your time to these business-visible, high value tasks, rather than more menial provisioning work.

Whilst I’ve focussed on JCS here, the wider architectural view also needs to be considered including how other PaaS/SaaS systems, and those running on-premises, will co-exist with each other — something in which I expect administrators, with their intimate

knowledge of existing systems, will be able to play a vital role.

Changing the way our IT infrastructure is provided also brings new opportunities to improve processes.

For example, as well as the web consoles, all interaction with Oracle Public Cloud can be carried out via REST APIs. This allows for comprehensive automation, improving both efficiency and build quality, so I strongly encourage you to use this opportunity to both develop your skills and deliver more value to your organisations.

Finally, what no broad-market cloud provider can do is be totally responsible for your systems. Your organisation will have a unique combination of business departments, functional requirements and software in use, as well as its own rhythm – peaks and troughs of activity that depend on new initiatives and perhaps cyclical demand: you are far better placed than any cloud provider to understand these factors and respond accordingly.

In this article I’ve only scratched the surface of what Java Cloud Service offers. Whilst it will affect some of the work WebLogic administrators will do, it will also allow us to focus on higher value activities, so I think the future’s bright!

ABOUTTHEAUTHOR

Simon HaslamPrincipal Consultant, Veriton

Simon is a consultant and Oracle ACE Director (Middleware & SOA) who helps mid-sized organisations get the best value from their Oracle platforms. He’s a Fusion Middleware enthusiast and, as of July 2015, an Oracle JCS Specialist, who spends a probably unhealthy amount of time working with Oracle technology. Simon also invented O-box, a product that provisions highly available and secure SOA environments onto Oracle Database Appliance hardware - very quickly!

Blog: simonhaslam.co.uk uk.linkedin.com/in/simonhaslam @simon_haslam

Page 16: oracle scene

16 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

Oracle ACE Program

In Issue 56 of Oracle Scene, Jennifer Nicholson from the Oracle Technology Network (OTN) - the biggest Oracle community that exists and who runs the ACE Program - explained what the program is all about and in following edition Oracle ACE Rene Antunez told us about his journey to becoming an ACE; which inspired me to share my experience.

The way I describe the ACE Program is that it’s about finding a balance between knowledge and sharing.

You might think being an ACE Director is all about getting to travel to exotic countries at Oracle’s expense, yet whilst I have had wonderful opportunities to visit places; it is about so much more than this. Most OTN Tours are about taking speakers to user groups which struggle to get a wide range of speakers. So to me it’s about the opportunity not only to share my knowledge but also to learn what Oracle means to different regions and gain insight into their biggest challenges. I feed this back into Oracle so they are able to work at a local level to address it.

As an ACE Director you have the opportunity to be involved at the very early stages of new Oracle releases. Not only have I worked with Oracle through the development of Fusion Applications but I’ve been involved with future releases of Cloud PaaS products, for example the PaaS4SaaS proof of concept I did earlier this year. I was also involved in the

joint development of the Applications User Experience Advocates program, where ACE Directors of many technical backgrounds learn more about the applications and give valuable feedback to Oracle as well as sharing their insight with the community.

I recall one time when I was preparing to speak about SOA suite in Australia and Alex Gorbachev came into the session. I was horrified; what could I teach him about SOA? He told me I couldn’t teach him how to use it, but I could teach him why – which is my area of expertise, the business reasons to use the technology.

Each year ACE Directors have two days of briefings at Oracle HQ and an optional third day for those of us with an interest in Apps UX. These days are priceless. We’re under Non Disclosure Agreements until announcements are made, however Oracle sharing advance knowledge is invaluable. I’m unlikely to hear anything about Apps I haven’t already heard working with product development, yet what I won’t have heard about is all the things coming in the wider technology stack - which affects me since most of

what I do is delivered on Oracle Cloud.

OTN are always looking for the next ACE; their role is to encourage community which means being inclusive, not elitist. An important part of being an ACE Director is encouraging others, who are doing great work in their own communities, to step up to join the ACE Program. It’s important that people are recognised for what they’re doing and that there is room for upcoming ACEs to be acknowledged by the Program. I believe it’s our role as ACEs to identify and encourage these people and this year I shared stages with people that I, along with many others, have encouraged into the Program. These people are the foundation of their communities and in turn will encourage others.

OTN sponsors our UKOUG Speaker Awards for this very reason. These awards recognise our conference speakers that delegates have given the best feedback for. These people are the future of UKOUG and inspire people to speak. It’s just one way we recognise great community input, as is the ACE Program.

There are lots of people at different stages of their community journeys that would fit right into the ACE Program. There are three levels you can enter the program at so the opportunities are there for anyone who wants to make the move. If you want to know more, come and find me at conference.

ABOUTTHEAUTHOR

Debra Lilley Debra Lilley, UKOUG Member Advocate

Debra Lilley, Board Member Advocate UKOUG and VP Certus Cloud Services – Certus Solutions. Debra has worked with Oracle Applications for more than 18 years.Blog: debrasoracle.blogspot.co.uk uk.linkedin.com/in/debralilley @debralilley

Attend any UKOUG event and you will see the ACE logo against some of the speaker names on the agenda.

Striking the Right Balance

ACEACE DIRECTOR ACE ASSOCIATE

Presenting at Apps15 on 9th December at 13:10

S P E A K E R

Page 17: oracle scene

downside is, you need a lot of templates for each and every building block: one for a region with a border and one for a region without a border; one for a report with a header and one for a report without one. So you end up with an impressive number of templates, and making general changes, e.g. a change that applies to all region templates, is a lot of work. So that should be made simpler.

Mastering theIn the spring of this year the long awaited version 5.0 of Oracle Application Express (APEX) was released. This version was not just another update, but a major overhaul with two goals: increase developer productivity and create better-looking applications on every device.

Roel Hartman, Director & Senior APEX Developer, APEX Consulting

APEX Universal Theme

Although APEX was already well known for its speed of development, the developer still needed to click around quite a lot when making changes to his application. That’s totally changed with the appearance of the “Page Designer”. In one view you can see all the details of your page, a graphical representation of what your page looks like and the properties of the current selected item (see figure 1). Just like in good old Oracle Forms you can select multiple items at once and make changes to common attributes with just one click.

Next to Page Designer there are dozens of other new features that makes APEX one of the most productive, if not the most productive, Oracle development environments.

The Issues With The Old TemplatesThe second goal of APEX 5.0 was to make it easier to create good-looking applications on every device. In APEX, templates define the look of an application. There are templates for every type of building block, like pages, regions, buttons etc and a set of templates is grouped into a theme. So you’ll get a uniform look across your application when you’ve picked a theme. The

www.ukoug.org 17

APEX & Database Development

FIGURE 1: PAGE DESIGNER

Presenting at Tech15 on 7th December at 11:20 & 9th December at 15:30

S P E A K E R

>>

Page 18: oracle scene

18 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

APEX & Database Development: Roel Hartman

As an example you can create a Template Option that shows an item on a page in uppercase or lowercase. Therefore you have to navigate to Shared Components > Themes > Universal Theme > Global Template Options. Click on the button “Edit Template Options Groups” and click “Create” on the next page. Then fill in the popup screen as in figure 3.

FIGURE 3: TEMPLATE OPTION GROUP FIGURE 4: TEMPLATE OPTION

Next you have to add the Template Options itself. So click “Add Template Option”. Pick the same Template Type as you used for the Option Group, “Field” in this example, and select the group you just created. Then enter a display name, this is what the user of your Template Option, the developer, sees. Then define a CSS class associated with this Option, e.g. “Ukoug--Uppercase” (see figure 4). Do the same for a lowercase option.

If you now navigate to an item on any page in APEX and click on Template Options you can select the “Case”. If you switch it to “Uppercase” as in figure 5.

FIGURE 5: USING THE TEMPLATE OPTION

Running the page will add the CSS class you associated with the option to an element on the page as you can see in figure 6.

FIGURE 6: GENERATED HTML SHOWING THE CSS CLASS

Of course it doesn’t do anything yet, you still have to define the CSS that will present your data in uppercase. If you add

.Ukoug--Uppercase input { text-transform: uppercase }

to the inline CSS property of your page you should be able to see it working. Of course you need to set that CSS styling rule in your application level (or even theme level) css file, but that’s an exercise I’ll leave to the reader.

Secondly, when you want to make changes to the look of your application, like using a different colour on buttons, you need to write CSS. While this is a very simple example, the required CSS skills quickly outgrow the skills of a regular APEX developer. So the challenge was, can we make CSS-like changes without actually knowing CSS?

Finally, most themes are based upon HTML tables. These tables are rather rigid and fixed by nature. So your application might look good on a 1200 pixel wide screen, but on a smaller device you need to scroll left and right and on a wider screen it just looks odd. Therefore, in order to make your application adaptive to different screen sizes, the templates need to be based on HTML DIVs instead of tables.

Universal ThemeThe answer to the three issues mentioned above is “42”. Every theme in APEX has a name and number associated with it. The new theme in APEX 5.0 is called “Universal Theme” and has, not by accident, number 42. So what are exactly the solutions to the aforementioned issues?

Template Options

FIGURE 2: TEMPLATE OPTIONS

Instead of creating a new template for every minor deviation of the standard, the Universal Theme introduces “Template Options”. Previously a developer had to look for a specific template to get the look that fits his needs, now there is often just one and all the deviations are controlled by setting Template Options (see figure 2). So with just one click he can left or right align all labels within a region or remove the borders around a region. In the previous version of APEX this would probably require multiple templates and some additional CSS styling.

The Universal Theme is shipped with a number of Templates and Template Options. But you can also define your own! And you will see that a Template Option is nothing more than just a class that’s added to an element on your page.

Page 19: oracle scene

www.ukoug.org 19

APEX & Database Development: Roel Hartman

a “Responsive Fluid Grid”. A page is divided into a grid of 12 equal partitioned columns. You can use these columns can to position a maximum of 12 regions. For instance you can position Region 1 in column 1 to 5, Region 2 in column 6 to 10 then Region 3 in column 11 and 12. Within these regions you again have 12 columns at your disposal to position either items or sub regions, and because the width of these columns are calculated by percentages of the available width, your pages automatically display fine on different screen sizes. See figure 8 for an example.

FIGURE 8: RESPONSIVE FLUID GRID

You can easily test that by reducing or enlarging the width of your browser. You will notice your application adjusts smoothly, almost fluid. To support devices with even smaller screen sizes, media queries are implemented to make your application responsive. All without knowing a lot about CSSS.

Theme Roller and Theme StylesThe default colour setting of the Universal Theme comes in three flavours – or Theme Styles: Vita (blue), Vita – Slate (grey) and Vista (similar to the Alta-UI look of ADF).

But if your company colours are different, how can you change that look without a deep dive into CSS?Run your application from the APEX Builder and you will notice a developer toolbar – default at the bottom of your page. On the right side of that bar is a “Theme Roller” option. Click that and the Theme Roller will make it’s appearance. You can now change the colours of your application and inspect the result on the fly. Although it is tempting to use the Color Wheel, usually it is easier to set the colours one by one in the Global Colors section. Once you have achieved the desired result you can save the new Theme Style. So even without any knowledge of CSS you can make an application that adheres to the company colour style sheet!

Responsive Fluid GridIn previous versions of APEX you could create an application that runs fine on different devices and different screen sizes. But you needed a real CSS expert to accomplish that task.

But when using the Universal Theme in APEX 5 this feature comes out of the box. This is implemented by something called

FIGURE 7: THEME ROLLER

SummaryAPEX 5 brings a lot of features that make life easier and work more fun for a developer. ‘Productivity’ and ‘ease-of-use’ are the words that describe this version best. Just get your hands on the tool and experience it yourself.If you want to know a lot more about the Universal Theme, we will be running a one-day class on Thursday 10th December in Birmingham following the annual UKOUG conference. See http://apextraining.eu for more details.

ABOUTTHEAUTHOR

Roel HartmanDirector & Senior APEX Developer, APEX Consulting

Roel Hartman carries over 25 years of Oracle experience of which around 10 years of APEX. He is an independent consultant in The Netherlands and runs his own company APEX Consulting. He is an Oracle ACE Director and a co-writer of three books, Expert Oracle Application Express being the latest.

Blog: roelhartman.blogspot.com

nl.linkedin.com/in/roelhartman

@RoelH

Page 20: oracle scene

Gold: BPI OnDemandSilver Enigen UKBronze Atos

UKOUG CX Partner of the Year - Inc. CRM

20 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

UKOUG

2015/16

partneroftheyear

P R E S E N T I N G Y O U R

2015/16 Winners Huge congratulations to all of this year’s UKOUG Partner of the Year Award winners who were presented with their awards at a ceremony on 15th October. Look out for the winners at our December conferences. If you would like more information about the awards visit www.ukoug.org/pya - the 2016/17 nominations will open in Spring 2016.

Gold: ExplorerSilver Red Stack TechBronze dsp

UKOUG Database Partner of the Year

Gold: Rittman MeadSilver Red Stack TechBronze Prōject (EU) Ltd APPS15 Notebook Sponsor

UKOUG Business Analytics Partner of the Year

TECH15Stand 60

RAC Attack Sponsor

Registration Sponsor

Page 21: oracle scene

www.ukoug.org 21

UKOUG: Partner of the Year Awards 2015/16

Gold: SucceedSilver Certus SolutionsBronze Rittman Mead

UKOUG Emerging (New Products) Partner of the Year

Gold: Red Stack TechSilver EsteemBronze Inoapps TECH15 Stand: 61

UKOUG Hardware & Infrastructure Partner of the Year

Gold: Konnagar LimitedSilver Madora ConsultingBronze Infuse Consulting Ltd APPS15 Stand: 53

UKOUG Independent Partner of the Year

Gold: ConfigSnapshot - Rookery SoftwareSilver SucceedBronze Excel4apps APPS15 Stand: 24

UKOUG ISV Partner of the Year

Gold: dspSilver Version 1 APPS15 Stand: 58Bronze Hitachi Consulting

UKOUG Oracle E-Business Suite Partner of the Year

Gold: Red Stack TechSilver Rittman MeadBronze Accenture Enkitec Group

UKOUG Engineered Systems Partner of the Year

Gold: AMOSCASilver Codec-dss APPS15 Stand: 63Bronze PricewaterhouseCoopers LLP

UKOUG Hyperion Partner of the Year

Gold: ConfigSnapshot - Rookery SoftwareSilver eBiz Answers Ltd APPS15 Stand: 64Bronze Succeed

UKOUG Innovative (Product/Service) Partner of the Year

APPS15

Stand: 39

APPS15

Stand: 39

Page 22: oracle scene

22 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

UKOUG: Partner of the Year Awards 2015/16

Gold: Cedar ConsultingSilver dspBronze Red Stack Tech

UKOUG Managed Services (Outsourcing & Operations) Partner of the Year

Gold: Certus SolutionsSilver SucceedBronze Evosys APPS15 Stand: 35

UKOUG Oracle Cloud Applications (inc. Fusion) Partner of the Year

Gold: Hitachi ConsultingSilver Prōject (EU) Ltd APPS15 Notebook SponsorBronze Collabro

UKOUG Primavera & Oracle Projects Partner of the Year

Gold: Keyteach LimitedSilver Certus SolutionsBronze Rittman Mead

UKOUG Training Partner of the Year

Gold: Beoley Mill Software Limited (BMS)Silver insightsoftware.com APPS15 Stand: 46 & JDE15 Stand: 07Bronze Redfaire JDE15 Stand: 11

UKOUG JD Edwards Partner of the Year

Gold: EstafetSilver InfomentumBronze Steltix UK Ltd JDE15 Stand: 09

UKOUG Middleware Partner of the Year

Gold: SucceedSilver Cedar ConsultingBronze Inoapps TECH15 Stand: 61

UKOUG PeopleSoft Partner of the Year

Gold: SucceedSilver eBiz Answers Ltd APPS15 Stand: 64Bronze Certus Solutions

UKOUG SME Partner of the Year

JDE15

Stand: 14

Page 23: oracle scene

UKOUG Furthers Member Benefits With Vertex IT Solutions Oracle technology is evolving faster than ever and it is important that the user community has a medium to keep up with the changes. You need to maintain the knowledge and skills required to achieve the maximum return on your company’s Oracle investment. With the growing need for training on an individual and enterprise level UKOUG has formed a digital training partnership with Vertex IT Solutions.

Vertex IT Solutions is an Oracle Authorised Education Reseller that focuses on Oracle digital learning. It offers Oracle University’s full catalogue of digital learning for both individual and enterprise Oracle professionals, giving you the ability to learn what you need, when you need it, where you need it.

Training on Demand – Courses are delivered via streaming video and give you all the benefits of classroom training, including access to hands-on labs, without having to travel or be dependent on course schedules.

Learning Streams – You can keep learning beyond the classroom with continuously updated video training direct from the Oracle experts. Connect and learn with Oracle at any time.

Cloud Learning Subscriptions – A combination of videos and Training On Demand courses for cloud implementers, developers, administrators and other technical professionals.

Unlimited Learning Subscriptions – Access to of all the above plus live connections with top Oracle instructors, dedicated labs and hands-on practices.

The catalogue includes:

For more details visit: www.ukoug.org/training

UKOUG Exclusive Member Offer*

UKOUG Exclusive Member Offer*

Purchase any Training on Demand course and get 12 months access to an Oracle Learning Stream for FREE

* Valid until end February 2016

Page 24: oracle scene

24 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

Technology

Back to Basics | SeriesA series of articles focusing on an introduction to Oracle-related topics and themes

It is vital, for any corporate data store, that when you access your data you know that what you see is consistent and reliable. In this third article in a series giving an overview of “how Oracle works”, I’ll show you how Oracle ensures you see a point-in-time and consistent view of the data, no matter what changes as your query runs. Finally, I will describe the very fast method Oracle uses to find your data in the buffer cache.

Martin Widlake, Database Architect & Performance Specialist, ORA600

Oracle Read Consistency

When you query a relational database, you want the data to be accurate. Firstly, you want the data to be referentially correct. That is, you want:

• One and only one set of customer details for each customer (we do not want two versions of the truth!);

• Every order to link to a single customer, as it makes no sense to have it any other way;

• To be able to identify each customer and each order uniquely.

We use Primary key, Unique identifiers and Foreign keys (amongst other things) to ensure these rules. There are lots of articles and examples of this on the web and I am sure you all understand the basic concepts of relational data. But we need something else, we need to know that the data is consistent at a point in time.

Let us consider an example. If we start running a report on all orders received and their status at 13:00 exactly and that report runs for 5 minutes, do we want to see an order that came in at 13:04? You might say “yes”, but think about it. Depending on where the query has got to in the data set at 13:04 you may or may not see that new record. If the SELECT statement was just to show you the data “as it finds it”, the data you would see would depend on how long that report ran for. Also, what if someone had entered a new order at 12:59 but not committed it - and in fact deleted it when they changed their mind at 13:01? You would not want to see that record at all.

What you want to see is the data as it is at the very microsecond you start your query, and only committed changes - no matter how long your query runs for.

That is called a point-in-time view and it is vital to providing a consistent and reliable view of the world. You do not want that view shifting under your feet as more records come in and others are changed. Having worked on a relational database that did not implement a point-in-time model like Oracle does, I can testify to how many problems it can create.

Before I describe how Oracle provides a point-in-time view, let me quickly run over some key points from the previous articles. See figure 1.

When you create, modify or delete a record in Oracle the change is coordinated by your Oracle Server Process. The key thing to be done is not the row being created or changed in the table block in memory but actually the description of the change, known as the change vector, being written to the redo logs. This is done because the redo logs allow the change to be repeated if there is a problem with the database; if it crashes or is shut down suddenly. A “COMMIT” is completed when Oracle tells

An Introduction to

Presenting at Tech15 on 7th December at 16:30

S P E A K E R

Page 25: oracle scene

www.ukoug.org 25

Technology: Martin Widlake

your session that the change vector has been written to the online redo logs on disc. So the redo log record is done first (1). Then the change is done to the table block in memory (2). The final step is for the block to be saved to the database files by the DBWR process (3). It can take “a while” for (3) to occur – a second or three.

The Order of Things - System Change Number (SCN)Figure 1 (and the prior articles) miss out two key items.

The first is the System Change Number. You can think of this as a clock with a very accurate time but it is in fact an incrementing counter, held in the SGA. If this is a RAC database, the SCN is the same and shared across all nodes in the RAC. Each time “a change” is made to the database the SCN increments. A change is any change at all to a database block in the database, including internal changes to data dictionary objects. It is possible for the same SCN to be used for several changes, e.g. for several records inserted at the same time - but only if they are in the same transaction. In this way, every database change gets an SCN recorded with it. In figure 2 this is represented by the SCN “clock”.

The SCN is the key identifier of changes to an Oracle database. It constantly increments and is vital to such things as point-in-time recovery and flashback database. It is also critical to how Oracle shows you a consistent set of data.

The second new item is the UNDO tablespace. This is a special tablespace that is only used for internal purposes and one that users cannot put any tables or indexes into. It still consists of 8K blocks, the same as a normal tablespace, but it holds the information to undo changes to normal database blocks, to tables and indexes.

Why is this UNDO information needed? One reason is that when you change a lot of data in a table in one transaction (think an update statement effecting hundreds or thousands of rows), it

would be highly inefficient if Oracle waited until you committed the transaction to make all the changes to the blocks in memory. Oracle actually writes changes to the redo log and updates the blocks in memory and might even flush them down to disc as the update progresses.

At the point the user commits the change, Oracle finalises the data being written to the redo logs and confirms the commit. But what if you cancel the changes? You issue a rollback, your session terminates or, heaven above, the database crashes? All those changes that have been done need to be undone. That is where the UNDO tablespace comes in. Oracle can use that data to unpick the unwanted changes. It is not the most efficient process but that is because Oracle does not expect you to rollback many changes. The whole process of writing and controlling the changes you make to the database is designed to make doing and committing the changes as fast as possible, not undoing them.

To come back to our figure 2, when the Oracle Server Process wants to update a block, be it for the table or an index it:

0. Gets the current SCN and uses it to mark the change.1. Writes the change description for the table/index to the redo

log, including the SCN.2. Writes the change description for the undo to the redo log,

including the SCN3. Applies the change to the UNDO tablespace block, including

the SCN4. Applies the change to the database block, including updating

the SCN on that block

I have labelled the getting of the SCN as 0 just to highlight the point that it has to be done before all the other changes (which may not be done in exactly the order I say, for example both undo and block change can be written to the redo at the same time) and the same SCN can be applied to more than one change within a transaction.

As I said above, if the change is now rolled back, the undo information is used to undo all the changes to the table and index data. It is not a “free” activity, because it is designed to be most efficient when you complete your changes. So if you think that inserting a set of records to a table and then rolling it back does not really do any work, please think again. In fact,

FIGURE 1: ORACLE ARCHITECTURE OVERVIEW FIGURE 2: THE SCN AND UNDO TABLESPACE

>>

Page 26: oracle scene

26 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

Technology

it is worse, as all the undo-driven changes to blocks are also recorded in the Redo logs. They have to be so that the undo can be repeated in the case of an instance or database recovery.Another thing to keep in mind is that it takes a while to undo all those block changes. Therefore when you cancel a large update or insert that has been taking a while to run, do not be surprised when it takes a while to undo it.

So we have our changes being applied to the database, with the description of the changes being written to the redo log in order that they can be redone after a crash or database recovery and the undo so an uncommitted change can be unpicked (or undone after a crash if need be), all marked with a unique SN or set of SCNs - we are protected. But this is not yet giving us a point-in-time view. How does Oracle manage that?

The Time is Now: Point-In-Time ViewSee figure 3. Our Oracle Server Process is about to execute a query against the database. One of the first things it does, before the actual query starts running, is to grab the current SCN (it does not increment it, it gets the current value). In our case it is 45678 (it is usually a pretty large number, say 10 or 12 digits). This SCN is used for the whole duration of the SQL statement. The server process now starts looking for the data in the Buffer Cache (and if it is not found there, gets it from disc – see Issue 57 for details). For each block it visits, it checks the SCN held against the block. This is the SCN when the block was last changed.

FIGURE 3: POINT-IN-TIME VIEW

The first block has an SCN of 45123. This is prior to our Query’s SCN of 45678 so the data in the block can be safely read. The next block is examined and is found to again have an earlier SCN, of 45007. However, the next block has an SCN of 45688, compared to 45678 when our query started running. The block has changed since our query started.

This more recent block is copied and the Oracle Server Process then looks up the information for the latest change in the UNDO tablespace and uses it to undo that change to the copied block.

The SCN for this reconstructed block is now 45422, which is before our query started. We can use it. The server process works through the next couple of blocks and finds them both to pre-date the query start SCN and so simply uses them (45607 & 45006). The next block, however, has an SCN of 45701, more recent than our query start SCN. So again the block is copied and the UNDO information for the latest change is used to roll back the latest change. However, that still results in a block with an SCN more recent than when our query started, so the next change in the UNDO tablespace for that block is found and applied. This does result in a block with an SCN prior to the query start SCN.

{Just as an aside, Oracle is often not creating a version of the block that really existed in the past - it is creating one that shows the information you need to see in order to maintain a correct point-in-time view. Part of the reason Oracle makes a copy of the block and does not make an exact historical replica is that the copied and modified block can be discarded as soon as your query does not need it anymore – the reconstructed block does not need to go to disc and can be freed up immediately should Oracle need space in the Buffer Cache.}

That’s it. Oracle works through all the blocks it needs to satisfy its query and when one is found with a more recent SCN to that when the query started, the changes in the UNDO tablespaces are applied in reverse chronological order until the first version of the block that pre-dates the query start is reconstructed.

This process of looking at the SCN of the block and either using it immediately as it is old enough or reconstructing it until it is old enough is called a “Consistent Get”.

It is a term that seems to cause a lot of confusion as people often think it means only blocks that have had to be reconstructed with UNDO information; it does not. It means block reads where the need to reconstruct it in order to preserve a consistent view has been considered – whether such reconstruction was needed or not.

Page 27: oracle scene

www.ukoug.org 27

Technology: Martin Widlake

The whole process of constructing this point-in-time consistent view is greatly impacted by three factors:

• How long the query runs for• How much change occurs to the blocks involved in the query• How large the UNDO tablepace is

When you see the ORA-01555: Snapshot too old error it means that Oracle was no longer able to reconstruct the data as it looked when your SQL statement started. The usual response is to ask for an increase to the UNDO tablespace. The correct response is probably to work out why the SQL statement is taking so long to run!

How Oracle Finds a Block In MemoryI want to finish on a final thing. During this and the previous two articles I have often said something bland like “The Oracle Server Process finds the block in the Buffer Cache”. How? How does it find the block? This has to be a fast process as it is happening all the time. Does it use some sort of index? No, it uses a hashing algorithm.

A hashing algorithm takes in an input - a number or string - and produces a number. For a given input value it always gives the same number. But if you input a very similar string, you will get out a quite different number. The hashing algorithm is in effect a bit of mathematics that generates the number and it can be designed to give a value in a stated range, say 1 to 10 million. Several very different input values to the hashing algorithm can produce the same output, so it is not a unique value. The idea is the input values are spread out randomly over the range of allowed output numbers.

See figure 4. Here we are putting a string that represents the block identifier into the hashing algorithm and getting a seven digit number. Note how only the last character of the block identifier changes but the resulting number is significantly different.

FIGURE 4: FIND A BLOCK VIA HASHING, HASH BUCKETS AND BLOCK CHAINS

For the input value of “AADBaAgABcDec” we get the number 0821606. This number represents (as do all the others) one of the positions in memory of a bucket of blocks. Each hash bucket holds a small number of blocks, in our case three, and it is the second one we are interested in. The server process basically gets to the correct bucket and looks at the small number (about 0-5) of blocks in the bucket for the one it wants. If it is not found, the Oracle server process knows the block is not in memory and needs to go and get it from storage.

Calculating a hash is a very fast process, it takes just a little CPU time. If the required block is fetched into memory from disc one of the things that it does, of course, is register the block with that bucket. {It should be noted that I’ve hidden some detail about latches controlling the buckets and that the blocks are elsewhere and it is just the headers alone that are in the block chain, but there is always another level of detail…}

In summary:

• Being able to show a consistent point-in-time view of only committed data for the duration of a SQL statement is vital.

• Oracle marks all blocks with the SCN of the last time it was changed.

• Using the current SCN at the start of a query, Oracle can easily identify any blocks that have since changed and use the UNDO tablespace to create a copy of the block that holds the old data.

• Oracle uses a hashing algorithm to quickly find blocks held in memory.

In part 4 of this series of 3 (in homage to Douglas Adams) I will give an overview of how the Oracle Optimizer works.

ABOUTTHEAUTHOR

Martin WidlakeDatabase Architect & Performance Specialist, ORA600

An independent consultant specialising in Oracle database design, performance and making systems work better. Martin has been working with Oracle technology for half his life. Despite this he is passionate about user groups, sharing knowledge and explaining how Oracle works. He is a regular conference presenter both in the UK and internationally. Martin is an Oracle ACE Director and a member of the OakTable Network. His blog is part technical, part management and part just musing on working in I.T. His real passion is genetics. And cats.

Blog: mwidlake.wordpress.com uk.linkedin.com/pub/martin-widlake/2/7a2/8b/en @MDWidlake

Page 28: oracle scene

28 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

Technology

Something for the Enterprise?

Oracle Standard Edition Database

You may have already heard that Oracle Database Standard Edition will have a dedicated track at this year’s UKOUG Tech15 Conference on the 7th of December in Birmingham.

Ann Sjökvist, Oracle Standard Edition Database advocate

To my knowledge, this is the first time that Standard Edition (often referred to as “SE”) will have a place in the spotlight at an Oracle User Group conference, and I am really thrilled about this. Oracle Database Standard Edition is a much cheaper alternative to Enterprise Edition (“EE”) but it can provide a solid and well supported solution to all companies; both small and large. Whether it is a solution for you all depends on business requirements. So first let us discuss what Oracle Database Standard Edition is.

A Background to Standard EditionOracle Database Standard Edition (SE/SE1/SE2) is exactly the same technology as Oracle Enterprise Edition (EE) but without some of the advanced features and with some limitations on its use. I like to think of it as like a Rolls-Royce Phantom or Maserati Ghibli (or whatever luxury car you prefer) without air-conditioning, a navigation system, or front and side cameras. This type of car is still a pleasure to drive but we would need to lower the windows to cool down, bring a map and stick our head out of the window to when parking.

Oracle SE has the same SQL capabilities, the same optimizer engine, the same referential integrity, basic RMAN features of EE but it lacks features such as

Partitioning, Dataguard, Parallel Execution, Virtual Private Database, advanced security and the extra cost packs, such as the tuning and diagnostics packs, are not available – full details are given below. However, many of these features might not be needed by a large number of systems or there are alternatives. From Oracle v10 to v12.1.0.1 (R1) SE allows use of RAC – and in fact, unlike with EE, it is a free feature! You can create a physical Oracle Standby either by creating your own script that ships/apply the archive logs or use 3rd party software that is available on the market. The use of Dataguard in SE/SE1/SE2 to manage your Physical Standby database is not allowed. SE 12c offers customers a container database architecture, making it easier to plug into the cloud.

SE1 is even cheaper but is more limited in the hardware it can run on (2 CPU sockets) and there is no RAC capability.

The difference in licence cost can be substantial. Looking at the September 1st 2015 Oracle Technology Global Price List shows the following for processor

Presenting at Tech15 on 7th December at 11:20

S P E A K E R

Page 29: oracle scene

www.ukoug.org 29

Technology: Ann Sjökvist

licensing (NB this does not include support):

Standard Edition One $ 5,800Standard Edition $17,500Standard Edition 2 $17,500Enterprise Edition $47,500

On the 1st of September this year Oracle released the new Oracle Database 12c Standard Edition 2 (SE2) version to replace SE and SE1. With this release, Oracle has brought a new license model to the Standard Edition Community.

Main changes in SE2 release:• With the 12.1.0.2 release SE and SE1 have been merged into

“Oracle Database Standard Edition 2” (SE2). Note: Release 12.1.0.1 continues using old SE/SE1 concept.

• SE2 database is available on servers supporting a maximum of two sockets on all Oracle-supported operating systems, including Windows, Linux, and Unix.

• SE database (servers that have a maximum capacity of 4 sockets).

• SE1 database (servers that have a maximum capacity of 2 sockets).

• SE2 may use a maximum of 16 CPU threads at any time. When used with RAC, each SE2 da-tabase may use a maximum of 8 CPU threads per instance at any time.

• The minimum number of NUP (named user) licences has increased from 5 to10.

• SE licensed customers can download the new SE2 without any extra costs.

• SE1 licensed customers can download the new SE2 for an extra migration fee.

• 12.1.0.1 SE and SE1 customers will have 6 months of patching support once SE2 12.1.0.2 is released with quarterly patches still being available in Oct 2015 and Jan 2016.

This announcement of SE2 release from Oracle on 1st September caused some buzz on Twitter, and here are some of the comments:

“ Full database caching can be great for small databases on big servers and is available in #se2”

“ Ok, but what I was wondering was whether the host total mattered? E.G. Intel purley may bring 56 cores for 2s!”

“ You can also have as many instances as you want on the two socket server. Go mad…”

“ Thanks for the clarification! :) Imagine a 56 core monster server fully licensed for db se for $35k list…”

“ We didn’t break anything just made sure it had a viable future.”

Oracle provides good information about SE2/SE/SE1 so please check these documents:

• MOS 2027072.1• Database Licensing• Database License Features & Options Information

Now let us look a little deeper into what Standard Edition can and cannot bring.

SE functionality of interest and feature replacements:When we have a SE2/SE1/SE database environment, we need to think beyond the “out-of-the-box” solutions and can, with a little more effort, work around some of the limits. Examples of these are:

• Partition Views to replace Partitioning. This was a technique that we used back in Oracle 7.3 version and still works. If you are interested in “how-to-do-this” please check my blog.

• RMAN “parallelism”. When the application data model is well designed and system is under-stood well, executing multiple RMAN commands in succession through a Linux/Unix Pipe might provide an acceptable solution.

• Physical Standby database can be accomplished with 3rd party applications.

• Some people think that RAC is not available – on the contrary, it is and is free (unlike on EE).

• From the release of 10gR2, the Oracle SE includes the Real Applications Clusters option.

• Oracle SE2 includes RAC (max of 2 one-socket servers).• Oracle Statspack is still available and works well on SE/SE1/

SE2, plus lots of free and purchasable 3rd party analyses/monitoring tools are available.

Standard Edition vs Enterprise EditionAt the Harmony14 Conference in Finland, I gave my first presentation about Oracle Database Standard Edition and people asked me “what’s different in this edition compared with the ‘big brother’ Enterprise Edition”? As I said before, it is just like having a luxury car with some of the features like air conditioning missing.

As an Oracle Certified Professional, I have learned how to “drive” the Oracle SE database, and I have used the same core set of basic skills as an EE DBA would use. But SE database also re-quires some extra skills, such as understanding the pitfalls and “Dos & Don’ts” that a SE database unavoidably brings to the table when administrating or using it.

I have also noticed that the importance of proactive collaboration between DBA, customers, and Software R&D departments in deepening all parties’ understanding about SE restrictions in relation to supporting business requirements, helping to provide a better and more solid solution.

A database administrator must understand the licence agreement; which features and functions are available or not. Also, in our amazing Oracle Community we have a great spirit of knowledge sharing and by searching the internet we can find all kind of solutions. However, a challenge is that most, if not all of the results, are scripts or queries performed against an Oracle

>>

Page 30: oracle scene

30 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

Technology

EE database. For example this query will violate the licence agreement in an SE database:

SELECT output FROM TABLE(dbms_workload_repository.awr_report_text( v_dbid, v_Instance_number, v_curr_val, v_curr_val+v_snap_delta))

This is because the Diagnostic and Tuning pack is not available for Oracle Database Standard Edition (and is in fact a licensable option for Enterprise Edition - so it could violate the licence agreement there too!).

For those interested in the features/options to which I refer, please start by using this link from Oracle.com (Standard vs Enterprise).

Is SE Something for the Enterprise?The answer to this question is “It depends”. When business requirements, software, security, performance, and legal considerations do not necessitate the use of Enterprise Edition features or options, my answer to the question is “yes, SE is something for the enterprise”. Oracle SE is a very good opportunity to provide robust functionality while limiting licence costs, and provides complete upward compatibility, protecting your investment as your usage requirements grow. And if you encounter problems in Standard Edition, Oracle Support will help just as they would with EE since it is fully supported.

EE Features not available in SE2/SE or SE1:The following are some examples of some very nice features that we cannot get “out-of-the-box” if we have an SE2/SE or SE1 database environment:

• Data Guard• Real Application Security• Fine-Grained Auditing• Oracle Virtual Private Database• Build index online• Parallel Execution• Encryption (TDE, backup encryption, network encryption)• Replication• Compression• Performance (Diagnostic Pack and Tuning Pack)

The SE Track at UKOUG Tech15As I already mentioned, the Standard Edition community will have a track on the 7th of December, at the UKOUG Tech15 conference, with five presentations and an SE Round Table. So why not come and listen and exchange your thoughts with us?

• Oracle Standard Edition is Awesome!: Mr Tom Dale• Standard Edition Something for the Enterprise?:

Ms Ann Sjökvist• Silent but Deadly: SE Deserves Your Attention:

Mr Philippe Fierens• Max Protection Standby in Standard Edition RAC

Environment: Mr Eter Pani• SE DBA’s Life a Bed of Roses?: Ms Ann Sjökvist• Oracle Standard Edition Round Table: Mr Joel Goodman

Take care, stay well and let’s enjoy a great conference in Birmingham – see you there!

ABOUTTHEAUTHOR

Ann SjökvistOracle Standard Edition Database advocate

Ann Sjökvist is an Oracle Standard Edition Database advocate and blogs about it. She was born in Sweden and moved to Finland in 1985 where she learned the Finnish Language and started her IT career. Ann has worked in many different roles within IT such as analysis, system analysis, software test engineer, software test manager, customer care support, project manager, integration specialist, and SaaS production man-ager. She is an Oracle Certified DB Professional, and former COO. All these roles have helped to develop her innovativeness, creativeness and curiosity into a solution finding mindset.

Blog: www.sejustloveit.com fi.linkedin.com/in/annss @annsjokvist

Page 31: oracle scene

www.ukoug.org 31

Advertising

BROUGHT TO YOU BY

Raise the standard of your Budgeting and Forecasting

DOWNLOAD THE BROCHURE NOW

Your Oracle BI & Big Data Specialist

WWW.QUISTOR.COMT +44 1372 365035

We make business

intelligent

Page 32: oracle scene

32 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

Technology

Why Use Oracle Enterprise Architecture?Perhaps a less known aspect of Oracle’s offerings is its Enterprise Architecture (EA) framework (Oracle Enterprise Architecture Framework – OEAF). In this article I’m going to draw out a number of benefits of Oracle’s framework and why you might want to consider adopting it over other better known vendor/consultant/integrator provided frameworks such as those provided by the likes of Capgemini or just sticking with leading frameworks such as TOGAF.

Phil Wilkins, Enterprise Integration Architect, Specsavers

FIGURE 1: ORACLE ENTERPRISE ARCHITECTURE FRAMEWORK (OEAF) FIGURE 2: ORACLE ARCHITECTURE DEVELOPMENT PROCESS

In looking at the benefits we’ll see how OEAF relates to other artefacts & processes available from Oracle, such as Unified Method, reference architecture material (IT Solutions from Oracle). With any EA initiative the question of tooling typical comes up, so we’ll address how OEAF addresses that dimension.

We also need to face into the challenge of the perception that a vendor framework will always result in buying that vendor’s solutions; and let’s be honest regardless of the realities Oracle has a reputation of being expensive.

Page 33: oracle scene

www.ukoug.org 33

Technology: Phil Wilkins

Starting with the question of whether the Oracle EA framework just leads to Oracle sales. I was fortunate enough to have some time discussing the EA framework strategy with a member of the Oracle EMEA leadership. In part at least, the adoption of EA by Oracle has occurred to take into account of Oracle’s historic reputation of focusing on product not always on a solution (or at least the customer might not appreciate the value the products can offer). So the use of EA is becoming a mechanism through which Oracle can work with customers (particularly those on significant transformation programmes) to identify what needs to change, the value of change and where the customer wants to get to. In all these points, the focus is the customer and their journey, not the vendor and whilst establishing these needs there is no sign of product in any shape or form. As is the case with any sensible vendor, they use the framework internally as well. You can see this in the Oracle Architecture Development Process diagram (for those who are aware of TOGAF, this may look familiar – something we’ll come back to). As the process shows EA is being used to understand the business goals, what the gap is between where things are and that objective along with the business value. It is only the final stages of the process you will start looking at overlaying your capabilities models (and other representations of your future state) with Oracle product capabilities. Even during this overlaying stage the emphasis should be driven towards business value. Within the product overlay process it is more than possible to actually overlay other vendor products – the only catch is that you will need to draw out the value propositions and capabilities for those products yourself, whereas Oracle has that detail for you.

Oracle does offer EA consulting as a service, but it is possible to use without needing such a service. The key pieces of the EA framework are already available, and I understand that there will be more to become available. As with everything there is an element of start-up cost, so let’s consider those costs. Firstly, Oracle don’t offer training publically today – there is only an internal training capability – this will become clearer shortly. Secondly, and most interestingly Oracle have chosen not to acquire or build tools to help with the EA framework – instead to keep the message ‘clean’ of sales you can do all the work with standard office tools – as with all EA initiatives this is going to be a case of the more tool support the less the manual graft to help get the value from the artefacts. So Oracle will suggest tools to you, if that’s what you want. As the use of OEAF can be applied in the presales activities it is of course possible for the artefacts from process to be handed onto Oracle consulting resources if such a step is chosen which should help make the transition far slicker (in some respects providing a degree of ‘organisational memory’ for Oracle).

Now for the really big questions; Why no training? Why an Oracle EA Framework? Well, that’s because rather than try and invent something from the ground up, Oracle have started with TOGAF, which is a matured framework with great adoption. But, and here is the first big win through adopting OEA, they have undertaken Open Group’s guidance of tailoring TOGAF to meet specific goals. Oracle’s tailoring of TOGAF has been to produce a stripped down lean framework that for many should deliver be “just enough” EA perspective and “just in time”.

This means that if you’re TOGAF trained the Oracle EA should be obvious and understandable. The Oracle EA Framework Development Process – the Oracle EA equivalent to TOGAF’s

ADM is packed with provided templates (Open Group provides plenty of templates as well, but they’re not wrapped up so much with ADM). So the training path is probably easiest to pursue TOGAF (lots on this in my blog1), and then work with an Oracle Certified EA to gain some mentored support through customisation.

Going back to the ‘just enough’ and ‘just in time’ points this is the heart of one of the potential benefits of leveraging Oracle’s EA resources. Adopting TOGAF requires the investment of time, effort and ideally plenty of real experience to tailor it to your organisational needs. Get that wrong and you are at risk of creating a process that can be seen as lengthy, not producing material that helps the organisation forward and difficult to maintain. The EA processes therefore will benefit from being battle hardened. If the Oracle approach looks like a pretty good fit, then you have eliminated the customisation efforts and you have a proven (battle hardened) framework. There is nothing to prevent you from tweaking OEAF to meet any specific needs or aesthetics, but too much tweaking and you’re better off going back to first principles.

With this understanding the next questions that come along are likely to be so how does this fit with the IT Strategies from Oracle (ITSO2) and Oracle Unified Methodology (OUM3). I’ve been studying the ITSO (see ITSO Mind Mapped4 for example). The ITSO sits at the next tier down and provides the technical design framework to determine how to establish the technologies and maximise their value on the technical side, on the lines of business side the ITSO is offering common business patterns of technology use.

The relationship between OEAF and OUM is a little more complex, you can work with one, or other, or both. The OUM does have a

FIGURE 3: TOGAF’s ADM

>>

Page 34: oracle scene

34 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

Technology: Phil Wilkins

reference back to OEAF in the Envision stage. But, if you’ve not yet adopted OUM or even necessarily decided on Oracle products and processes you can still leverage OEAF. Typically though, OUM is used to help shape and drive the delivery phases rather than the work to develop strategic thinking.

So having done a potted view of Oracle EA, how does it reflect in our experiences? Getting TOGAF established has proven difficult in so far as creating the breathing space to do the tailoring, and then trying to get other parts of the organisation to go on the journey without seeing value almost immediately has proven to be enormously difficult. As a result we’ve picked up aspects of TOGAF that have proven easy to work into the organisation and applying existing processes and governance. The company has taken an approach of investing in TOGAF training for its Architects (along with the expectation to get their certification), from a practical basis of providing something to standardise the practise around, but also a factor that may help with recruitment.

But this approach hasn’t yet yielded the benefits we would like to see, which can support the organisation’s need for things

to be done quickly and with great agility; whilst still wanting to be or remain being the market leader, innovative, very entrepreneurial and yet remain very cost effective. But getting the big dividends from TOGAF does require more of a committed investment and long game thinking. So jump starting a stronger EA approach by taking something off the shelf that is already parred back should help us push the exploitation of EA forwards faster. The fact we also happen to have a fairly significant Oracle investment is an added bonus, and potentially an opportunity to lean on a vendor to help drive adoption as well.

The ‘bonus ball’ is that we are doing more and more with System Integrators (SIs) that are also Oracle partners. All of whom will have their own TOGAF skills and most will have OEAF knowledge so we can share our resources with any of the SIs and they can draw more understanding of business goals, link their deliverables so that there is traceability back to the originating business needs. At the same time you aren’t tied to the SI’s variant of TOGAF or custom methodology so there is no cost in changing SI or using several SIs from that perspective.

SummarySo, to summarise, the key values of Oracle Enterprise Architecture Framework are:• TOGAF derived meaning you’re building and exploiting the vast amount of effort into a proven architecture framework• Focus on quick value delivery – which means you should see information that will define or give validity to strategies and not

seriously impacting change programme timelines• Using this framework isn’t locking in Oracle products, if you have alternate products available or even want architectural

consistency in areas outside of an Oracle ecosystem. But if you want Oracle solutions, you’re going to be guided the best answers• A means by which you can architecturally share vision with Oracle or its partners very easily, combined with the meta

material then in theory any TOGAF aware organisation can work with your models, which will promote solution thinking not product thinking

• Linked with other major Oracle design & delivery processes (OUM, ITSO).The bottom line is that here is a framework that can help with Oracle, but need not be used in an Oracle environment that allows the possibility of giving EA adoption some agility.

1https://mp3muncher.wordpress.com/category/technology/togaf/ 2http://www.oracle.com/technetwork/topics/entarch/itso-165161.html 3http://www.oracle.com/us/products/consulting/resource-library/oracle-unified-method1-069271.pdf 4https://mp3muncher.wordpress.com/category/technology/oracle/itso-oeaf/

ABOUTTHEAUTHOR

Phil WilkinsEnterprise Integration Architect, Specsavers

Phil Wilkins has over 25 years experience in the IT industry having worked across many different domains. He’s been working with Oracle technologies extensively for the last 4 years, during which he has become an active volunteer for UKOUG and advocate for the user group within Specsavers. Phil has contributed his expertise and understanding to a range of books as a technical reviewer during the book development phase and as a reviewer for published books as well.

Blog: oracle.mp3monster.org uk.linkedin.com/in/philwilkins @mp3monster

I’d like to thank Mike Blackmore at Oracle to providing support from an Oracle perspective.

Some Helpful resources:• Oracle.com’s Enterprise Architecture Home -

http://bit.ly/1LXHp1o • Whitepaper on OADP and position to TOGAF etc -

http://bit.ly/1H28Y1u

• Short Whitepaper on OADP - http://bit.ly/1DOCcB1 • When to call in an Oracle EA – Oracle Blog post -

http://bit.ly/1VMVLEU • IT Strategies from Oracle - http://bit.ly/1fGTKsP

Page 35: oracle scene

www.ukoug.org 35

Technology

Virtual Tuning

The ideal for fixing performance problems, especially if you’re using a 3rd-party product, is to find a way of making a difference without changing the code and without fiddling with indexes or otherwise adding physical overheads (like materialized views) to the application.

Oracle has given us Stored Outlines, SQL Plan Baselines, SQL Profiles, SQL Patches and (in 12c) SQL Plan Directives to help, but there’s a completely different technology that’s been around for several years that can solve many of the performance problems caused by a bad choice of execution plan. It’s the virtual column which, particularly when it can be assisted by suitable constraints, can bypass the problems of badly written SQL and help the optimizer to create new access paths for existing code.

Sample DataTo demonstrate the concept I’m going to create a table which holds time-stamped data and then experiment with a query for “recent data”. Unfortunately the query is going to have some problems using the most suitable index because the code applies a function to the indexed column. Figure 1 creates the table and indexes:

Virtual Tuning

create table t1 ( id not null, date_time not null, small_vc, padding)nologging aswith generator as ( select rownum id from dual connect by level <= 1000)select rownum id, (trunc(sysdate) - 150) + ((rownum-1)/1440) date_time, rpad(‘x’,10,’x’) small_vc, rpad(‘x’,100,’x’) paddingfrom generator, generatorwhere rownum <= 1440 * 150;

begin dbms_stats.gather_table_stats( ownname => user, tabname =>’T1’, method_opt => ‘for all columns size 1’ );end;/

alter table t1 add constraint t1_pk primary key(id);create index t1_i1 on t1(date_time);

Jonathan Lewis, Freelance Consultant, JL Computer Consultancy

Panel session at Tech15 on 7th December at 11:20& presenting on 8th December at 15:30

S P E A K E R

>>

Page 36: oracle scene

36 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

Technology: Jonathan Lewis

The SQL is engineered to create 150 days worth of data at one row per minute; and I’ve created an index on the (date_time) column to allow efficient access to narrow time-bands of data. To keep the numbers constant as I modify and re-run the test I’ve got references to trunc(sysdate) in the data creation code (and in the query) so that I can look for an easily recognisable 1,440 rows in cardinality estimates. Ignoring the slight lack of realism, I want the application to deal with queries like the one shown (with its execution plan) in figure 2:

select count(small_vc)from t1where trunc(date_time) >= trunc(sysdate) - 1;

--------------------------------------------------------| Id | Operation | Name | Rows | Cost (%CPU)|--------------------------------------------------------| 0 | SELECT STATEMENT | | 1 | 579 (14)|| 1 | SORT AGGREGATE | | 1 | ||* 2 | TABLE ACCESS FULL| T1 | 10800 | 579 (14)|--------------------------------------------------------

Predicate Information (identified by operation id):--------------------------------------------------- 2 - filter(TRUNC(INTERNAL_FUNCTION(“DATE_TIME”))>=TRUNC(SYSDATE@!)-1)

Thanks to the trunc() applied to the date_time column the query has disabled the optimizer’s ability to use the index, so the execution plan uses a tablescan, which isn’t going to scale as the data continues growing. Not only is the plan undesirable, we can see that the estimated cardinality is wrong – I’m expecting to get 1,440 rows, not 10,880. If you’re wondering where the optimizer got its number from, it’s the standard guess for “function(column) > constant” – which is 5% of the number of rows in the incoming rowsource. It’s not just the performance that’s going to get worse and worse as the data set grows larger and larger.

Next StepsDepending on the degree of freedom we have – and assuming we can’t rewrite the query – there are a number of ways we could start to address this problem. As a first step we might consider changing the setting of the parameter optimizer_dynamic_sampling from 2 (the default) to 3, the level at which the optimizer will sample the data when it would otherwise be using a fairly arbitrary guess. You could do this in a logon trigger or at the system level. When I tested this approach with an ‘alter session’ command the shape of the execution plan didn’t change but, unfortunately, the predicted cardinality dropped to 101 in 11g and 82 in 12c! I haven’t tried to work out how Oracle came to these specific numbers (though there are two obvious guesses) but the problem happened because my interesting data was clustered in a small number of blocks at the end of the table and Oracle didn’t find any of it until I increased the sampling level to cover a large fraction of the table.

Of course setting the optimizer_dynamic_sampling to a non-standard value at the system level is probably something you won’t be allowed to do anyway, and even using a logon trigger to set it for the session might be unacceptable.

What you really need is a function-based index on (trunc(date_time)) but, again, you may not be allowed to add an index to the system, perhaps because of the extra workload it will introduce. But if we’re thinking of the indexing is there any information we

can give the optimizer that might help it realise that the existing index could be helpful? Here’s a very simple thought: by definition trunc(date_time) can’t be greater than date_time – so what happens if we point out this obvious truism to the optimizer? Figure 3 shows how we can do that and the resulting execution plan:

alter table t1 add constraint t1_dates check(date_time >= trunc(date_time));

---------------------------------------------------------------------------| Id | Operation | Name | Rows | Bytes | Cost (%CPU)|---------------------------------------------------------------------------| 0 | SELECT STATEMENT | | 1 | 19 | 33 (4)|| 1 | SORT AGGREGATE | | 1 | 19 | || 2 | TABLE ACCESS BY INDEX ROWID| T1 | 10800 | 200K| 33 (4)||* 3 | INDEX RANGE SCAN | T1_I1 | 1440 | | 5 (0)|---------------------------------------------------------------------------

Predicate Information (identified by operation id):---------------------------------------------------

3 - access(“DATE_TIME”>=TRUNC(SYSDATE@!)-1) filter(TRUNC(INTERNAL_FUNCTION(“DATE_TIME”))>=TRUNC(SYSDATE@!)-1)

With that truism attached to the table Oracle suddenly realises (using transitive closure to generate an extra predicate from the constraint) that it can use the existing index. Unfortunately there’s a little oddity with the optimizer – it’s not behaving consistently with its cardinality calculations; it has managed to use the correct access predicate to calculate the index cardinality, but used the 5% guess when moving to the table. So we may get the efficiency we want in this query but if this code was part of a more complex query the cardinality error introduced here could lead to the rest of the plan being inefficient.

It’s important to note, by the way, that this trick of turning a constraint into a predicate only works when the column is also declared not null.

Virtual ColumnsHaving bypassed the option for creating another index, and discarded the option for using dynamic sampling, we’ve found that a clever strategy with a constraint can get Oracle to use the index – but with a very poor cardinality estimate. What could we try next? How about using the function-based index without the index? Let’s create a virtual column that matches our predicate. Figure 4 shows the method and the resulting execution plan after gathering stats on the virtual column:

alter table t1 add date_only generated always as (trunc(date_time)) virtual;

begin dbms_stats.gather_table_stats( ownname => user, tabname =>’T1’, method_opt =>’for columns date_only size 1’ );end;/

---------------------------------------------------------------------------| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |---------------------------------------------------------------------------| 0 | SELECT STATEMENT | | 1 | 19 | 579 (14)| 00:00:03 || 1 | SORT AGGREGATE | | 1 | 19 | | ||* 2 | TABLE ACCESS FULL| T1 | 1440 | 27360 | 579 (14)| 00:00:03 |---------------------------------------------------------------------------

Predicate Information (identified by operation id):--------------------------------------------------- 2 - filter(“T1”.”DATE_ONLY”>=TRUNC(SYSDATE@!)-1)

Page 37: oracle scene

www.ukoug.org 37

Technology: Jonathan Lewis

We’ve got the right cardinality – except we’re back to not using the index. But, in the interests of testing carefully, I was doing one test at a time; I had dropped the constraint from the previous test before I created the virtual column – clearly I should think about bringing it back. (Notice, by the way, that while my query has a predicate on trunc(date_time), the execution plan is showing that the optimizer has transformed the predicate into one that references the date_only column).

Rather than adding a constraint that declares a truism about the date_time column I have to create a constraint that relates the date_only column to the date_time column. (Either constraint should work in principle, but the optimizer isn’t quite smart enough (yet) to work through every permutation of messing about with transitivity). Figure 5 shows the constraint creation, and resulting execution plan.

alter table t1 add constraint t1_dates check (date_time >= date_only);

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

| 0 | SELECT STATEMENT | | 1 | 6 (0)|| 1 | SORT AGGREGATE | | 1 | || 2 | TABLE ACCESS BY INDEX ROWID| T1 | 1440 | 6 (0)||* 3 | INDEX RANGE SCAN | T1_I1 | 10 | 5 (0)|-------------------------------------------------------------------

Predicate Information (identified by operation id):--------------------------------------------------- 3 - access(“DATE_TIME”>=TRUNC(SYSDATE@!)-1) filter(“T1”.”DATE_ONLY”>=TRUNC(SYSDATE@!)-1)

So finally we’ve got there – the cardinality estimate is correct at 1,440 and the access path is the index we wanted – and we haven’t had to create an extra index or enable dynamic sampling across the system or session. What we’ve got is a virtual column and a constraint that is inevitably true at all times; in fact, if we used this method on 12c we could even make that virtual column invisible so there would be no risk of problems from application code doing an insert or select without an explicit column list.

There is still one problem though – notice how the index cardinality and the total cost are both far too small for the access to the 1,440 rows we know we need. Oracle has generated a second predicate from our constraint and then used it to generate some redundant arithmetic – which means it has applied an extra scaling factor to the index cardinality, the index cost, and the table cost (the last because the table cost is derived from the index clustering_factor).

So nothing is perfect. Without changing any code or any parameter settings, or modifying or creating any indexes we’ve managed to get the optimizer to use an indexed access path we like with a correct table cardinality – but the cost the optimizer has given that path may make it choose that path in cases where an alternative would be better.

ABOUTTHEAUTHOR

Jonathan LewisFreelance Consultant, JL Computer Consultancy

Jonathan’s experience with Oracle goes back more than 25 years. He specialises in physical database design, the strategic use of the Oracle database engine and solving performance issues. Jonathan is the author of ‘Oracle Core’, ‘Cost Based Oracle – Fundamentals’ and ‘Practical Oracle 8i – Designing Efficient Databases’ and has contributed to three other books about Oracle. He is one of the best-known speakers on the UK Oracle circuit, as well as being very popular on the international scene, having worked or lectured in 50 different countries. Further details of his published papers, presentations and tutorials can be found through his blog

Blog: jonathanlewis.wordpress.com uk.linkedin.com/pub/jonathan-lewis/2a/93a/340 @JLOracle

SummaryIf you have columns with not null constraints on them it is worth remembering that the optimizer can play some clever games turning other constraints on those columns into predicates. In particular you might be able to construct a constraint that tells the optimizer how an index can be used for a predicate that doesn’t quite match the index definition. In some cases you may find that the simplest strategy is to create a virtual column that matches the target predicate and then use a constraint to connect the indexes to the virtual columns you’ve created. There are still some anomalies in the way the optimizer works with the extra predicates that get generated, so you may need to experiment a little with the options: essentially you have to worry about the access path, the cardinality, and the cost – and at present it looks as if manipulating constraints may allow the optimizer to get two out of the three looking reasonable, leaving you have to hope that the third one is good enough to avoid problems.

Page 38: oracle scene

38 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

Technology

So let’s start “a day in the life” of an Oracle 12c developer.

Task: fill the PEOPLE table with data from a text fileWe have a comma-delimited text file - people.dat - where each line contains the details of one person and the order of the fields corresponds to the order of the columns in the PEOPLE table:

Oracle supports loading data from external files for decades. There is the good old SQL*Loader utility and since Oracle 9i there is also the ability to use External Tables. Both are very powerful, but require quite a complex configuration even for very simple files - either as a control file (for SQL*Loader) or as part of the CREATE TABLE statement (for External Tables).

In Oracle 12c SQL*Loader can be executed in Express Mode. In this mode no control file is needed and many defaults are used. In our example we only need to specify the connect string and the target table name:

Write lessNew versions of Oracle usually introduce revolutionary features, interesting architectural changes and exciting (yet, sadly, separately licensed) new options, and Oracle 12c is certainly such a version. This article, however, is not about that. It is about the other kind of new features - the evolutionary ones - features that allow us developers to write less than in previous versions in order to achieve the same functionality; features that affect our day-to-day work and should be part of our development toolkit.

Oren Nakdimon, Oracle Developer and Instructor, DB Oriented

Using features that allow writing less means more productivity and efficiency. Shorter code is more readable and easier to maintain. And when we write less, there’s less chance to add bugs (or is it just my wishful thinking?).

Rather than showing a feature and then giving examples, I chose the other way around. We’ll start with concrete development tasks, and for each task I’ll suggest a pre-12c solution and a solution that uses a new 12c feature (that allows us... to write less, of course).

Since it is impossible to cover all the details and nuances of every presented feature in the article, I wrote an addendum in the form of a blog post series, with a post dedicated to each feature (the link is at the end of the article).

All the examples in the article are based on this data model:

We have 3 tables: PEOPLE, PROJECTS, and a (very naive) join table between them - PROJECT_ASSIGNMENTS.

With morecode

Oracle 12c new features

Page 39: oracle scene

www.ukoug.org 39

Technology: Oren Nakdimon

11g> rename projects to all_projects;

11g> create view projects as select * from all_projects where is_deleted=0;

By naming the view PROJECTS, just as the table’s original name, we make all the existing references to PROJECTS throughout the applications see only active projects. Now we only need to handle the rare cases where obsolete projects should be seen, by using ALL_PROJECTS in the relevant SQL statements.

In Oracle 12c tables can be defined as ROW ARCHIVAL. As a result, a hidden column - ORA_ARCHIVE_STATE - is implicitly added to the table, holding an archiving (“logical deletion”) state. The default value is ‘0’, representing the “Non-Archived” state and any other value means “Archived”. Based on a session-level parameter, “Archived” rows are either visible or not.

In our case we can recreate the table like this:

12c> create table projects ( project_id integer not null constraint projects_pk primary key, project_name varchar2(100) not null, status number(1) not null, last_days_to_show_in_reports integer not null ) ROW ARCHIVAL;

Now, in order to logically delete records we will update their ORA_ARCHIVE_STATE column to ‘1’ (or any other non-zero value).By default, the following will return only the non-deleted projects:

12c> select * from projects;

We can change the default behaviour in the session level. The following will return all the projects, including the obsolete ones:

12c> alter session set ROW ARCHIVAL VISIBILITY = ALL;12c> select p.*, case ora_archive_state when ‘0’ then ‘Active’ else ‘Deleted’ end from projects p;

To get back to the default behaviour we will issue the following statement:

12c> alter session set ROW ARCHIVAL VISIBILITY = ACTIVE;

Task: add assignment period to PROJECT_ASSIGNMENTS PROJECT_ASSIGNMENTS is too simplistic - it only says which people are assigned to which projects, not when or for how long. Now we want to add this missing information. Before 12c we could add a pair of date columns to represent the active period boundaries, e.g. PERIOD_START and PERIOD_END,

11g> alter table project_assignments add ( period_start date, period_end date );

sqlldr user/pwd table=people

and our file is loaded, using the implicit configuration (the input file name is the table name with the suffix “.dat”, it is located in the current directory, its structure is identical to the table’s structure, the fields are terminated by commas, and many more defaults). Many attributes of the default configuration may be overridden using optional command line parameters.

Task: set a unique number to ASSIGNMENT_ID (implicitly) for every new PROJECT_ASSIGNMENTS recordBefore 12c we could use a sequence and a BEFORE INSERT trigger to achieve this. For example:

11g> create sequence project_assignments_seq;

11g> create trigger project_assignments_bir_tr before insert on project_assignments for each row begin :new.assignment_id := project_assignments_seq.nextval; end;

An Oracle sequence has always been an independent object and it was the developer’s responsibility to associate its outcome with a specific purpose (usually, assigning a unique value to a table column).

In Oracle 12c a table column can be created as “identity”. As a result, the column implicitly becomes mandatory, and a sequence is automatically created and associated with the table. Then (depending on exactly how the identity is defined) the sequence is automatically used to produce values for the identity column when new records are inserted.

In our case we can simply recreate the table like this:

12c> create table project_assignments ( assignment_id integer GENERATED AS IDENTITY constraint project_assignments_pk primary key, person_id integer not null constraint assignments_fk_people references people, project_id integer not null constraint assignments_fk_projects references projects );

Task: delete obsolete projects, but keep their assignment historyWe don’t want to “really” delete obsolete PROJECTS records, as we may have PROJECT_ASSIGNMENTS records that reference them (via a foreign key constraint). We just want to “hide” them, or, as it is often called, “logically delete” them.

Before 12c we could add a column to the PROJECTS table - IS_DELETED - which contains either 0 (representing an active project) or 1 (an obsolete project):

11g> alter table projects add is_deleted number(1) default 0 not null check (is_deleted in (0,1));

Now, since we usually want to hide the obsolete projects, we can rename the table to, say, ALL_PROJECTS, and create a view that exposes only the active records:

>>

Page 40: oracle scene

40 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

Technology: Oren Nakdimon

select * from projects where ora_archive_state = ‘0’;

so we may want to add an index on ORA_ARCHIVE_STATE to optimise the query performance.

Task: write a query to get project assignments with pagination Pagination is the ability to retrieve an ordered result set one “page” at a time; for example, getting the first 20 records in one query execution, getting the second page (records 21-40) in another execution, or even jumping to page 9 and getting records 161-180 in a third query execution. Before 12c, we can implement pagination using inline views and the ROWNUM pseudo column (or analytic functions like ROW_NUMBER), and the result is quite cumbersome; for example:

11g> select project_id, person_id, assignment_id, assignment_period_start, assignment_period_end from ( select x.*, rownum row_num from ( select project_id, person_id, assignment_id, assignment_period_start, assignment_period_end from project_assignments order by project_id, person_id) x where rownum <= :page_size * :page_number) where row_num > :page_size * (:page_number - 1);

In Oracle 12c this can be achieved using the new Row Limiting clause, which can be added to the end of SELECT statements. The size of the page is defined by either an absolute number of records or a specific percent of records out of the complete result set. You can define whether the page starts from the first record of the original result set or from some offset. It can also be defined how to treat “ties” (i.e. when several records with the same value are on the borders of the page). So our query becomes as simple as:

12c> select project_id, person_id, assignment_id, assignment_period_start, assignment_period_end from project_assignments order by project_id,person_id offset :page_size * (:page_number - 1) rows fetch next :page_size rows only;

Task: write a procedure to update the status of multiple projects We need to write a stored procedure that gets a collection parameter of “project updates”, each one with PROJECT_ID, UPDATE_TIME and STATUS, and updates the PROJECTS table with the latest status of each project.

Let’s start with the API. A nice solution would be to define the procedure and the necessary types in one package, like this:

> create or replace package projects_dl as

type proj_update_t is record( project_id projects.project_id%type, update_time date, status projects.status%type);

type proj_update_tt is table of proj_update_t;

procedure update_status( i_proj_update_list in proj_update_tt );

end projects_dl;

and add conditions based on the new columns to the relevant SQL statements in the application.

In Oracle 12c a table can be defined with the PERIOD FOR clause, to associate it with one or more valid time dimensions. Each such dimension consists of a pair of date/time columns. These columns can be created either explicitly or implicitly. As a result, the data can become visible or invisible, based on statement- or session-level definitions.

In our case we can simply add a period called ASSIGNMENT_PERIOD to the table:

12c> alter table project_assignments add PERIOD FOR assignment_period;

This statement added two hidden timestamp columns: ASSIGNMENT_PERIOD_START and ASSIGNMENT_PERIOD_END, which can (and should) be set explicitly when records of PROJECT_ASSIGNMENTS are inserted and updated.

Statement-Level ControlThe following query returns only assignments that are active on 1/1/2015, i.e. records in which ASSIGNMENT_PERIOD_START ≤ 1/1/2015 < ASSIGNMENT_PERIOD_END (a NULL value in ASSIGNMENT_PERIOD_START/END means “unlimited”):

12c> select person_id, project_id, assignment_period_start, assignment_period_end from project_assignments as of period for assignemnt_period date’2015-01-01’;

Session-Level ControlThe call to dbms_flashback_archive.enable_at_valid_time affects all the subsequent queries in the session; in this case showing only assignments that are currently active:

12c> begin dbms_flashback_archive. enable_at_valid_time(‘CURRENT’); end; /

12c> select * from project_assignments;

There are two sides to every coin We’ve just seen two new features - In-Database Archiving and Temporal Validity - that add hidden columns to tables and hidden predicates to SQL statements. This is cool, but also dangerous. When things are hidden, it is easy to forget them, but we shouldn’t. Take for example the statement

select * from projects;

when:• there are many records in the table• most of them are obsolete (i.e., their ORA_ARCHIVE_

STATE!=’0’)• ROW ARCHIVAL VISIBILITY = ACTIVE (the default behaviour)

We should remember that Oracle actually translates our statement to

Page 41: oracle scene

www.ukoug.org 41

Technology: Oren Nakdimon

Task: write a query that shows all the people with a valid date in their GENERAL_INFO columnWe can write a small function - is_date - that gets a string input and checks whether it represents a valid date or not, and then we can call the function from the SELECT statement:

select * from people where is_date(general_info) = 1;

The big question is where to locate the function? Before 12c we had only one choice: creating is_date as a stored function (either in a package or standalone), whose scope is the entire schema. But if is_date is used only in the context of this query, storing it and exposing it to the entire schema is quite inappropriate.

Oracle 12c offers a better option. The WITH clause can now include not only subquery factoring but also PL/SQL declarations of functions that can be used in the query (and procedures that can be used in those functions). This allows for embedding ad-hoc functions, that are relevant only for a specific SQL statement, in the statement itself. In our case:

12c> with function is_date(i_info in varchar2) return number as l_date date; begin if i_info is null then return 0; else l_date := to_date(i_info, ‘dd/mm/yyyy’); return 1; end if; exception when others then return 0; end is_date; select p.* from people p where is_date(p.general_info) = 1;

And now to the implementation: we can do it procedurally, but since we have a collection as the basis for the data update, and since we need to do some manipulation on the content of this collection, and since a collection reminds me of a table (well, many things remind me of tables, but I’m sure collections remind you of tables too), the best solution in my opinion is doing it in a single SQL statement, using the TABLE expression to un-nest the collection:

> create or replace package body projects_dl as

procedure update_status( i_proj_update_list in proj_update_tt) is begin

merge into projects p using ( select project_id, max(status) keep(dense_rank last order by update_time) latest_status from table(i_proj_update_list) group by project_id ) i on (p.project_id = i.project_id) when matched then update set p.status=i.latest_status;

end update_status; end projects_dl;

This solution works nicely in Oracle 12c, but not in earlier versions. In 12c it is possible to select from package-level collection types. If we try to compile this package in 11g it will fail with the following error:

PL/SQL: SQL Statement ignoredORA-22905: cannot access rows from a non-nested table itemPLS-00642: local collection types not allowed in SQL statements

To achieve the same functionality in 11g we had to create the proj_update_t and proj_update_tt types in the schema level, rather than in the projects_dl package, although they are used only in the scope of this package.

ConclusionWe’ve seen several features that were added in Oracle 12c and can make our life as developers easier:- With SQL*Loader Express Mode we can write less configuration- With Identity Columns, In-Database Archiving and Temporal Validity we can write less application code- With Row Limiting we can write less code in SQL statements- With Package-Level Collection Type Un-nesting and PL/SQL in the WITH Clause we can write less “inappropriately located” codeThese are only few of the new features that allow us to write less. Others include LATERAL Inline Views, Pattern Matching, Extended Strings, the ON NULL Clause, Multiple Partitions in a Single DDL, and more. To learn more about the features introduced in this article you are welcome to read the “Write Less with More” series of posts on my blog: www.db-oriented.com/category/writelesswithmore

ABOUTTHEAUTHOR

Oren Nakdimon Oracle Developer and Instructor, DB Oriented

Oren Nakdimon is an Oracle ACE Associate with more than 20 years’ experience with Oracle-based systems, as a developer, DBA, manager and instructor. Oren gained lots of knowledge about databases in general, and Oracle in particular, and likes sharing it. He believes in good collaboration between developers and DBAs and tries to bridge the traditional gaps between these two worlds.

Blog: db-oriented.com linkedin.com/in/orennakdimon @DBoriented

Page 42: oracle scene

42 www.ukoug.org

The day in the life of our CEO

What made you start Certus?I spent many years as a Project Manager undertaking central government turn around projects. I felt that I could build a company that could enable organisations to transform their businesses through Oracle technology. I met Tim Warner, COO of Certus, working on the same project in 2005. It was then during many long days and nights, that Tim and I started to talk about the next big thing.

In 2011, we saw the advent of the Cloud and the future direction the industry was taking. We could see that there was going to be paradigm shift that would positively disrupt not only the industry, but also the Oracle Partner Network as the approach to implementation had to change.

We knew that we could achieve first mover advantages by building a new and different kind of business that had not been seen before and also for the most common reason people Climb Mountains simply “because it’s there and we could” and it’s fun.

What is your role?I provide the vision and strategic direction for the company, whilst being actively involved in helping our prospects, customers in describing their journey into the Oracle Cloud and how we will look after them not just in the implementation, but over the life of the contract through our engage® Business Support Services offering. Our approach to business development has always been to understand and to paint and frame that picture of our customer’s journey and what they will experience. I also enjoy getting my hands dirty in ensuring that all our customer engagements are successful and from a project management and governance perspective.

Why Certus Solutions as the company name?Certus in Latin means is “certain; trust; reliable; resolved, determined”; these reflect our values as a company. “Solutions” is an acknowledgement that that there is always more than one way to address an organisations challenge.

Why do you focus on Cloud?In our opinion, cloud is very much the present and the future. You won’t see many new on-premise deals if any at all! As our industry started to experience this paradigm shift, we wanted to be at the forefront and become the recognised leader and trusted advisor in this field. We also saw that the cloud would enable Oracle to move into the new marketspaces and become attractive to companies that previously would never have considered Oracle as a viable solution. Cloud provides access to innovation and greater consumer choice at a lower price point than on premise solutions. My passion is working with disruptive technology to have a positive transformational effect on a business and Oracle Cloud does just this.

Why is there a need for Business Support when Oracle gives you product support?A customer’s investment in Oracle ERP & HCM Cloud needs to be protected. Therefore a need clearly exists to supply ongoing knowledge. Take the R9-R10 upgrade for instance, which introduces new innovation in many areas, but does need decisions to be made by you; who is best to advise an existing customer on how to approach the upgrade than the partner who understands not only the changes but the implications.

Certus works closely with Oracle development and we assist in early adopter beta testing.

In doing so, we provide our customers a value add service moving forward as we intrinsically understand how the latest cloud innovations can be implemented into our customers’ existing configuration.

We take away any worry a customer may have in regards to future upgrades thereby protecting their investment.

Also, if we did not do the original implementation, we have the expertise to on-board you onto the service and look after you moving forward. Check out my blog at: http://marksweeny.blogspot.co.uk

Mark Sweeny

Certus CEO, Mark Sweeny was recently interviewed and this is what he said

Page 43: oracle scene

www.ukoug.org 43

It’s quite surprising how many times we hear the same story across our customers. They provide the absence policies but then reel off a number of caveats like ‘we only apply that rule if…’ and ‘it doesn’t apply to…’, which any consultant will tell you, is impossible to ask a computer program to make a judgement on something so subjective. Oracle Cloud HCM has many features that can be leveraged to ensure users are guided through the process with the appropriate rules applied for them, but it also provides features that allow variations in the flow depending on other situations or events.

Certus’ support consultants have deep HR knowledge and considerable experience of common HR practices, which differentiates what we do from our competitors. Anyone with the right training can build an absence plan based on a policy, but you need HR business experience to ask the right questions in order to make the solution flexible enough to work in the real world.

Richard Summerfield joined Oracle on a Press Round Table hosted by Loic Le Guisquet, president of Oracle EMEA and Asia Pacific, talking about Cloud Applications and our own Richard Atkins joined Goldman Sachs talking on Oracle’s Cloud Strategy.

The two Richards presented on the ’JT Global journey to HCM Cloud’ and what it meant to JT Global business. Tim Warner, COO at Certus spoke on ’10 Ways to Enhance Your Oracle HCM Cloud Applications’ and Debra Lilley, EVP Certus Cloud

Services spoke on ‘PaaS4SaaS’\‘Upgrading to Cloud Applications’.

Tim and Debra are part of the Oracle ACE Program and had participation with OTN at OOW. Outside of the speaking we held many meetings with Oracle Development and those responsible for Midsize customers, and with the User Experience Team we believe are central to the success of Cloud Applications; underlining and developing our relationship with Oracle. A very busy week.

Protecting your Oracle ERP, HCM & Taleo Cloud InvestmentOracle HCM has a very flexible absence system which you configure to match the policies for your organisation. In many organisations, especially ones that have been around for a while, HR written policy on absence may not be what actually happens in practice, and there is nothing more controversial than challenging existing practices on holiday (well perhaps payroll issues).

Our more common call is in understanding how the established practices can be added to the configuration, and working with the organisation to determine if it is system wide or restricted to those who have it.

Certus at Oracle OpenWorld Certus were at the recent Oracle Open World in force, our CEO Mark Sweeny was accompanying one of our customers, Richard Summerfield from JT Global.

Paul Burchell

“engage® Business Support ensures that your Oracle Cloud services are supported by an expert team for less cost than an in-house support function. We proactively guide customers through the Cloud update process and manage all interactions with Oracle on their behalf, leaving customers to focus on their core business. We will support you through those next steps you take”.

Paul Burchell, engage Business Support Manager

To learn more about our engage® business support offering http://tinyurl.com/q5gl8hc

20152016

PA RT N E R O F T H E Y E A R AWA R D

BRONZE WINNER

20152016

PA RT N E R O F T H E Y E A R AWA R D

SILVER WINNER

20152016

PA RT N E R O F T H E Y E A R AWA R D

GOLD WINNER

Certus wins Gold for the second time running at UKOUG Partner of the Year Awards. Press Release http://tinyurl.com/qhouageSTOP PRESS

Page 44: oracle scene

44 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

Technology

Oracle Tears Down the Final Barriers to Cloud AdoptionFinding Your Perfect Path to the Cloud

The Cloud. We’ve all been talking about its cost-saving, flexibility-boosting, and agility-enhancing capabilities for years.

It’s had a huge effect on just about every area of enterprise IT, and it’s completely transformed the way organisations acquire, manage, and deliver the software they need.

But the shift to Cloud hasn’t come without challenges. While acquiring net-new apps may be easier than ever, moving from existing on-premise apps to cloud versions of the same core systems hasn’t always proven to be a simple decision.

For IT teams, migrating from legacy apps to next-generation cloud apps has been at the top of their agenda for a while now. But, thanks to the perceived levels of integration work involved in these often complex migration plans and concern over “lock-in” to on-premise solutions, many still haven’t been able to bring the full benefits of cloud into their organisation.

That’s why we designed the Oracle Customer 2 Cloud program—a simple and cost-efficient way for Oracle customers to move from on-premise apps to the cloud.

Joyce Boland, VP Applications

Marketing, Oracle

Page 45: oracle scene

www.ukoug.org 45

Technology: Joyce Boland

In this article we’ll explore Oracle’s Customer 2 Cloud program in more detail—examining exactly how it can help organisations move faster from on-premise Oracle Applications to Oracle Cloud Services.

What is Oracle Customer 2 Cloud?At Oracle, we’ve been passionate about the cloud and the advantages it can deliver to businesses for many years now. We’ve seen countless customers transform IT experiences, increase business agility and cut costs by migrating to the cloud. But we don’t think organisations should face obstacles to gain those benefits—we think they should be readily accessible to everyone.

With that in mind, we set about finding a new way to remove the barriers to cloud adoption—making it a very real option for any organisation currently using on-premise Oracle Applications with an Oracle support contract.

‘Customer 2 Cloud enables Oracle customers to quickly and easily convert on-premise applications to Oracle Cloud Services, accelerating their pace of innovation and taking advantage of rapid implementation services and packaged cloud integrations’

The Oracle Customer 2 Cloud program eases the path to the cloud by offering:

• Flexible finance models• Faster implementation services• Packaged integration services

Put simply, we’re taking away all of the challenges associated with moving to the cloud and getting the most out of best-in-class cloud applications.

Who is eligible for Customer 2 Cloud?The program is open to all Oracle customers of ERP, SCM, EPM, HCM and CRM solutions from Oracle’s Siebel, PeopleSoft, JD Edwards, and Oracle E-Business Suite product lines, who have a current support contract for these applications with Oracle.

Under the Customer 2 Cloud program, organisations can redirect unused or unwanted support fees for those applications towards an investment in Oracle Cloud Services from the same product family – simply and seamlessly.

And to help to ensure an ultra-smooth migration, Oracle offers Cloud Express rapid startup services, as well as packaged cloud integrations between Oracle Cloud Services and popular third-party applications.

No need to wait for your current support contract to finishOracle Customer 2 Cloud enables you to shift unused support fees into budget for innovative and flexible new cloud services. If you’re ready for the power, flexibility, and unparalleled integration capabilities of cloud services, but feel under pressure to delay the move until your current support contract is finished, Customer 2 Cloud makes the transition to the cloud a viable option today.

At Oracle we’ve embraced the cloud, and we want our customers to be right there with us. If you’ve invested in ongoing support for your Oracle on-premise solutions, we don’t want that to be a barrier to you moving to the cloud as soon as you can. In fact, we want to turn it into a major catalyst to help you make the move sooner.

We’ve seen hundreds of organisations jump at the opportunity to engage with the program and redirect their support spend to new cloud investments. And,

we’re working with more and more each day to demonstrate the power of Software-as-a-Service (SaaS) and show them why now is the ideal time to shift on-premise apps into the cloud.

A Brief Introduction to SaaS and the CloudThe cloud conversation has become unavoidable, but chances are that you probably still have some questions that need answering. ”How can SaaS help me innovate faster?” “What advantages does SaaS offer over on-premise applications?” “What questions should I be asking potential SaaS providers?”

To help business managers that are new to the cloud answer those questions and to facilitate the discussion between IT and business leaders, Oracle recently worked with Wiley publishers on an eBook entitled “SaaS for Dummies”. It’s a helpful tool for people of all levels of cloud experience and there are a few key points of information that organisations eligible for Oracle Customer 2 Cloud support may find useful.

You can access the eBook and other assets here: www.oracle.com/goto/

Customer2Cloud

What does the cloud do that on-premise doesn’t?The key to the success of the cloud is flexibility. You can customise apps, deploy new ones, and typically get up and running much faster than with on-premise solutions.

Employees and teams can connect to these new apps in the ways that best suit them, making the cloud an ideal platform for modern working patterns and device preferences.

Juan Jones, Senior Vice President of Customer Support Services, Global Sales

>>

Page 46: oracle scene

46 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

Technology: Joyce Boland

Top 5 reasons to consider a move to the cloud• #1: The cloud delivers the apps you

already love using, but makes them easier to update, manage, and scale alongside your demands

• #2: You can access a greater number of powerful enterprise applications without worrying about upfront investment or how you’re going to provision them on-premise

• #3: Improved app interconnectivity means your business-critical apps can share more information than ever before

• #4: Analytics dashboards help you understand more about what’s going on across your application environment

• #5: High upfront costs are replaced by predictable operating expense (OPEX) costs spread across the Cloud Service lifecycle

The great IT finance shiftThat final point about finance is one of the biggest of all. The shift away from upfront capital expense (CAPEX) purchasing to OPEX-based, subscription-style payment models has been a major trend in both the enterprise and consumer space for a number of years now, and that’s largely been driven by the emergence of powerful cloud services.

The way cloud services are paid for just makes sense to a lot of today’s businesses.

When the pace of change is so fast, do you really want to lock into a new service that might not be the ideal fit for your organisation in a couple of years’ time? Moving to an OPEX model removes that doubt from IT teams’ minds and replaces it with a model that’s as flexible as they want to be.

The entry costs can be lower too, especially when it eliminates the need to buy and provision new on-site hardware. Purchasing decisions are so much easier because considerations like those simply don’t apply in the cloud. You just pick your

solution, talk to your provider and you can be ready to go in hours and days instead of weeks and months.

However, there is still one major financial hurdle remaining. Because many organisations are tied into 3 or 5-year support contracts for their on-premise apps, moving to the cloud versions now will require them to essentially pay for two licenses at once. This isn’t financially viable, and it’s a situation that we think businesses shouldn’t have to face. By releasing organisations from their support contracts and turning any unused spend into cloud budget, the Oracle Customer 2 Cloud program eliminates this issue altogether.

Building your business case for cloudSo could the Oracle Customer 2 Cloud program be right for you? Here are a few questions you can ask yourself and the rest of your organisation to see if you’re a good fit and start building a business case for powerful new cloud applications:

1) What could your business achieve by becoming more agile?

Increasing agility is a major goal for many modern businesses. Competitive, market, and technological changes have conspired to create an environment that’s never standing still, and to keep up, businesses need solutions that are as fast and flexible as they are.

The cloud is helping businesses achieve their agility goals by making powerful applications, services, and tools faster and easier to deploy, customise, and provision than ever before – giving businesses the ability to react to changing conditions and emerging opportunities as quickly as possible.

2) Is your Oracle Applications support budget being put to full use?

When you purchased your Oracle on-premise solutions, you very likely also took out a support contract with Oracle. But if your business needs or usage levels have changed since then, you may find that some of that support spend is now unnecessary. With the Oracle Customer 2 Cloud program you can convert those fees into budget for new Oracle Cloud Services.

3) Are you hoping to deploy new enterprise apps in the near future?

If you want to deploy new applications in any areas of your business, but lack the budget to invest in them, the Customer 2 Cloud program offers a solution. You can free up budget from your Oracle support contract to reinvest in new cloud services, with minimal additional budget required.

4) Are you spending too much simply “keeping the lights on”?

Cloud vs. on-premise is often presented as a battle of CAPEX vs OPEX, but it’s easy to forget that on-premise technology also carries a significant OPEX cost. If keeping on-premise apps up and running is constantly eating into your IT budget and siphoning funds away from important growth and innovation projects, moving to the cloud is a great way to take control of costs once and for all.

Oracle Customer 2 Cloud in actionSo what might your organisation’s engagement with Oracle Customer 2 Cloud look like? Here’s a quick illustration of a typical customer’s experience:

A few years ago, Company X purchased Oracle Siebel CRM to help boost sales and build stronger customer relationships. Alongside the licenses, the company signed up for a five-year support contract to ensure that if anything went wrong, or if anything needed to change, there would always be expert help on tap.

Over the years, the company’s needs changed. Siebel was helping them achieve their goals, but as the cloud became a more appealing prospect, and as Oracle added more functionality to its powerful Sales Cloud suite, a shift to the cloud looked more and more appealing.

Unfortunately, the CFO would not release budget for new cloud apps while the support contract for Siebel was still current. But when the company heard about the Customer 2 Cloud program, they realised they could shift £250k in remaining support spend for their on-premise solution and convert it into budget for a subscription to Oracle Sales Cloud.

ConclusionThe cloud is not a new concept. At Oracle we’ve spent years evangelising its capabilities and investing in the development of an exceptional portfolio of cloud solutions. We’ve broken down every barrier to adoption – from addressing security concerns to helping organisations plot a simple and manageable migration path.Oracle Customer 2 Cloud is our solution to one of the final remaining barriers: the feeling that a move to the cloud can

Page 47: oracle scene

www.ukoug.org 47

Technology: Joyce Boland

ABOUTTHEAUTHOR

Joyce Boland VP Applications Marketing, Oracle

Joyce is responsible for driving marketing and demand generation programs for Oracle Applications business across the globe. Joyce has over 20 years experience in the enterprise applications market. She came to Oracle from Gartner where she was Vice President of Enterprise and Supply Chain Management at Gartner Europe. Before Gartner, Joyce held various positions with Dun & Bradstreet Software in Europe and the US.

only come at the end of a support period for on-premise apps. By giving organisations that have invested in our on-premise applications the chance to turn their support spend into an investment in innovative cloud apps, we’re creating a great opportunity to move to the cloud today.For some organisations this may be enough to get them talking seriously about the cloud for the first time. For others it will be the final motivator they need to finally make the leap. But for every eligible company, it’s an opportunity that merits serious consideration.If you’re interested in finding out more about Oracle Customer 2 Cloud, Oracle is happy to provide a free analysis of your current on-premise applications and support contracts to assess how much you could re-allocate. To find out more, talk to your Oracle rep or partner.I also encourage you to participate in the UKOUG’s Applications Innovation program. There are several upcoming events where you can learn from your peers and subject matter experts on the transition to the Cloud – giving you unique perspective and insights that can help make your own journey even simpler.Don’t miss out – get in touch today and see if you can turn your unused on-premise support spend into a cloud advantage for your organisation.

Page 48: oracle scene

48

AUTUMN/WINTER 15

OracleScene

Women in IT

Ambition in the Face of AdversityIn a recent survey of IT professionals by Evolution Recruitment Solutions and the UK Oracle User Group, over half of women believed that they would be employed in a more senior role within the next 5 years.

This ambitious outlook is against a well-documented backdrop of lower wages and poor representation for women working in IT, with the level of pay for female IT specialists 19% lower than that of men.

The negative working experiences of women in the sector are such that when questioned ‘if they knew then what they now know’, a third of respondents stated the lack of diversity would be a discouraging factor in choosing IT as a career.

65% of women surveyed agreed that their salary was low when compared to that of men. This was higher than the proportion of men who felt the same way (59%) and furthermore, 15% of male respondents said they felt they were earning more than they would have expected.

Thinking positivelyHowever, the proportion of women that foresee career progression is actually

higher than the share of men who think that they will be in a more senior job. In fact, a higher percentage of men, almost a third, felt that they faced a lack of career prospects.

One aspect that may be driving positivity is that women seem to be more willing to move between roles and companies. Over 60% of women surveyed have worked for their current employer for 1 year or less. Men are more likely to have longer tenure – 20% stated that they had been with their current employer for 4+ years, compared to 12% of women.

If you want a job doing…In an industry described by one female respondent as still having ‘the same issues that existed 30 years ago’ there is little wonder that many women feel that their advancement is a matter that is something they need to cultivate themselves.

Page 49: oracle scene

www.ukoug.org 49

Women in IT: Survey Results

JOBS IN IT

IT SPECIALISTSARE WOMEN

WOMEN ARE MORE LIKELY TO SWITCHROLES AND CHANGECOMPANIES

DON’T KNOWIF EMPLOYER HAS

A ‘WOMEN IN IT’SCHEME

% of on £70k+

BELIEVE

WOMEN

FEEL

SENIOR

AS

AS THEIR

VALUED

PEERS

POSITIVE

ABOUT

MORE

ARE

CAREER

PROSPECTS

ROLE IN

MORE

56%

FIVE

THEYWILLBE IN A

YEARS

TIME

1IN 6

1IN 3

2/3

CTO

50%EARN

<£30k... ...COMPAREDWITH 34% OF MEN

% OF on £70k+

1/3 PUT OFF

THRO

UGH A LACK OF

DIVE

RSITY

65% FEEL SALARY IS LOW COMPARED TO PEERS

Ambition in the Face of Adversity

This seems to be working, with the proportion of female respondents earning £70k+ in line with the proportion of men with earnings within this salary bracket.The trend of ‘job-hopping’ amongst women is perhaps an indicator that women understand the need to take control, and will look for new opportunities rather than wait to be recognised by their current employer. This poses a real threat to businesses who run the risk of losing talented and ambitious employees.

Turning this around will encourage more women to plan longer careers with their existing employers, but it must start with measures to eradicate inequality in salaries and champion more women in IT departments. From a wider industry perspective, enabling the advancement of women will create a more diverse and skilled workforce that will in turn attract increased numbers of women into the field. Furthermore, promoting the success

of women will challenge the societal norm that the industry is a ‘male’ domain, thus helping to inspire young girls that IT is an interesting and rewarding sector worth exploring.

Everything to lose, everything to gainThose women entering the IT field are generally well qualified, ambitious and genuinely interested in their chosen career. The appetite for progressing seems to

endure despite disparities in pay and the poor representation of women in the sector.

As an entire industry we must take responsibility for delivering opportunity and fairness to match the ambition of our female workforce.

To request a copy of the white paper please contact [email protected]

Join our Women in IT Breakfast MeetingOn Tuesday 8th December from 08:00 – 09:00 we’ll be hosting our Women in IT breakfast meeting at Apps15, JDE15 & Tech15 for all members of the community to network and find out more about how this initiative will be moving forwards into 2016. Find out more on the agenda pages of each conference website. We hope to see you there!www.ukoug.org/conferences2015

Page 50: oracle scene

50 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

Oracle E-Business Suite

Should I Stay or Should I Go?As The Clash’s Mick Jones and Joe Strummer lyrics said all those years ago;“If I go there will be trouble, an’ if I stay it will be double”.

Steve Davis, COO, Namos Solutions

For those of us using Oracle E-Business Suite, whether Financials, HCM, CRM, Procurement, Manufacturing etc. we are always being told to go to the latest version, whether for the fact that you’re suddenly going to be unsupported, because they are more rich in functionality, or there are fixes in later versions that you really need. Either way software providers want us to patch and upgrade on a consistent basis, it’s in their DNA in order for us to remain reliable and supportable. Of course any Payroll users will be rolling their eyes as they feel they don’t have much choice with Oracle’s support model.

So what we’re going to discuss here is, what are the drivers or reasons why?1. You could stay on 11i, if not forever at least for a while

longer – or put it more bluntly, why should I move off a stable platform?

2. If I decide to move, is R12 a good place to go, and what is considered a stable version of this release?

3. Is Fusion (sorry Cloud – slap wrist) the way to go or is it really still bleeding edge, and is there really such a thing as co-existence?

Decisions, Decisions

Page 51: oracle scene

www.ukoug.org 51

Oracle E-Business Suite: Steve Davis

Should I Stay or Should I Go?

>>

The question then dear readers, and this isn’t just focused on 11i users;

“Are we going leading edge, bleeding edge or staying away from the edge altogether?”

11i – Why should I move at all?Here are some terms I hear quite regularly talking to Oracle 11i users.

1. If it isn’t broke then don’t fix it - Honest maybe, but there is a point here, generally a number of users are still on 11i because it works and is stable particularly 11.5.10 RUP2.

2. It does everything I need - In conjunction with point 1 comes this comment. Basically speaking I’ve bought Oracle, it does what our organisation needs on a day to day basis so why change.

3. My users know it so well - If I get a new system, even if I upgrade there is going to be some training involved and that comes with additional cost, it won’t be like an 11.5.9 to 5.10 change.

4. My hardware and environments are in place and cope with the throughput - I’ve got good servers, good environment strategy, we don’t really do any development work or improvements and space/processing times are not an issue. Nothing is changing in the corporate strategy roadmap to suggest any increase in transactional processing etc.

5. I have a good support arrangement with a managed services provider - Support, whilst not that fantastic from Oracle let’s be honest (we’re all adults), is also provided by a number of third parties. In fact a past employer of mine are still supporting someone on 11.0.3!

6. IT strategy is steady and unremarkable for back office systems - Lastly, for a number of organisations the Oracle E-Business Suite/HR/CRM system is not the big concern or lifeblood system that underpins their business, scary I know but that is how some people feel about their ERP.

Blatantly though a natural progression from point 6, there is also the other elephant in the room……COST.

Money, time and resources that quite frankly the business see as being spent more wisely making the business more profitable. Will a new version of their ERP really help with that or is moving on just a necessary evil that must always be costed for eventually?

Of course these aren’t the only reasons, but unless there is a real driver to move on, then why do it? In fact don’t do it! There’ll be plenty of people who will be able to help you, and sometimes the bravest and most sensible decision is the one that is “do nothing”. However, remember that you’ll need to review that decision on a regular basis to ratify it.

But if I do move, where do I go?What are the alternatives, and this isn’t just for those of you still on 11i, it has pertinence to current R12 users as well? Let’s have a quick overview of some of the options and we’ll go into more detail later on.

1. Release 12, but which version/release?2. The Cloud – slowly becoming the C word that offends people

more than any other. We’ll discuss this option, but I’m sure those of you who are seasoned readers and APPS conference attendees there are many a Cloud-related session and article that can do the subject more justice than myself here and now

3. A co-existence model, ironically does co-existence exist and is it really viable?

4. Oracle won’t thank me for this, and a strange one to raise in an Oracle publication, but hey I always struggled to conform. Let’s mention it and move on to the other three in more detail, but for some it has been or will become a viable option. Clearly moving away from Oracle altogether will mean users starting again from scratch on a completely new system, all that data migration, all that user training but is Cloud so like 11i or R12 that you won’t have to go through that anyway and you’d still have the reimplementation costs?

From my experience it’s a grown up conversation to have with my clients and, as you would expect the cost of change is usually higher than staying put with a particular provider, but it’s healthy to do the due diligence in this respect and it puts pressure on Oracle to up their game and provide systems that really work for the user masses. Also if your company didn’t grow or is not using your current Oracle solution to its full potential, then is it time to move software provider to reduce running costs or better still take up an Oracle SaaS Cloud offering, the savings could be significant?

Page 52: oracle scene

52 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

Oracle E-Business Suite: Steve Davis

R12So R12 as an option to move, but which version is the one for you, plus if you’re already on R12 and don’t yet want to make the leap to Cloud, where can you go?

For a number of early movers and shakers to R12, release 12.0.6 was de rigueur, but a number waited it out and are now on 12.1.3.

To be honest 12.1.3 is, in my opinion and experience in the biz, the more stable of the two and a lot less buggy, but for anyone still on 11i, 12.0.6 or 12.1.3 and any versions in between, is it worth going to 12.2.4?

Again, the drivers are there and each have their merits, so how do you make the right choice for you? I’ve had many conversations on this very subject with former colleagues and the consensus of opinion was thus;

There are a great deal of factors (up to 20) including criteria such as; Infrastructure, total cost of ownership, patching, functionality, analytics, localisations and language, performance, availability, flexibility, licencing, control and risk.

Each item above must then be assessed against each of the offerings so for instance let’s look at Infrastructure in the tables below.

CloudThe criteria and diligence shown in R12 can and should be repeated for Cloud offerings. If we take our example shown for Infrastructure in R12 and apply it to Cloud we see the following in table 2.

The option then for Private Cloud, would be to use Oracle’s Private Cloud rather than non-Oracle infrastructure.So again, the 20 or so criteria need to be reviewed. Patching on a public cloud will always be up to date, but that has to be tempered with the fact patching and testing cycles will be far more frequent than organisations are currently used to, and therefore the Control factor kicks in. As I said earlier in the piece, there is not enough room here to weigh up each criteria against each offering (maybe a more expansive piece in the next issue), and there are always new pieces written about the Cloud solutions all the time, as the products themselves develop. HCM Cloud has been leading the way and is well ahead of Financials or Cloud ERP, but yet it still hasn’t got a UK Localised Payroll. Financials is there now, but SCM not so much, therefore a co-existence model may be sought, for which the Fusion Middleware must be in existence.

Criteria EBS R12.1.3 EBS 12.2.X

Infrastructure Advantages• Typically requires 40-50% less disk

space than 12.2• Plenty of stable choices that are

reliable• Multiple instance costs are less than

12.2• Memory and processing requirements

are fewer than 12.2

Disadvantages• Is becoming outdated• Total cost of ownership

Advantages• WebLogic clustering on multiple apps

tiers• WebLogic load balancing• WebLogic helps integrate 3rd party

apps• Newer infrastructure options

Disadvantages• More specialist skills needed to

maintain• Higher cost than 12.1.3• Infrastructure more complex

TABLE 1: R12

Criteria Public Cloud Private Cloud

Infrastructure Advantages• No infrastructure on site

Disadvantages• Little control in comparison to owning

the architecture on site

Advantages• Control of infrastructure (unless

outsourced) • Only way to directly customise apps

Disadvantages• Deemed to be costly and complex• Up to 4 times the level required

compared to R12

TABLE 2: CLOUD

Page 53: oracle scene

www.ukoug.org 53

Oracle E-Business Suite: Steve Davis

Finally, the Public Cloud debate rages on. Talking to Oracle recently the use of the word Public appears to have got organisations in a bit of a stew, in that the belief is, that everyone is sharing servers and other businesses are just a password away from seeing your data – Oracle project quite the opposite belief, in that your data is indeed on your server, and is more secure than most businesses own current on-site hardware provision. I tend to side with Oracle here, your data and security is fundamental to the future of Cloud, so to not

give them the attention they deserve would be one of the world’s worst business plans and a disaster for the corporation.

And therefore we come full circle and back to paraphrasing Jones & Strummer;

ABOUTTHEAUTHOR

Steve Davis COO, Namos Solutions

An experienced Oracle professional managing and delivering large programmes/ projects in the Oracle Applications space, whether implementation, re-implementation or upgrades for a variety of customers through Mokum, PwC and now as COO of Namos Solutions Ltd, ensuring they get the very best from their systems to help deliver business success.

uk.linkedin.com/pub/steve-davis/a/298/81 @DeadlyNamos

“ This indecision’s buggin’ me, If you don’t want me, set me free, Come on an’ let me know, Should I Stay or Should I Go?”.

Apps15Stand 67

Page 54: oracle scene

54 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

Business & Strategy

Oracle Implementation Strategy As corporations look to adopt global Oracle ERP systems, one of the primary strategic decision points they face is whether to go for a big-bang approach for global implementation or to implement their systems in a phase -n m wise manner (rollouts) or a combination of both. An ERP programme in today’s world is considerably complex, has a long gestation period and involves substantial monetary commitment. The adoption of an incorrect implementation approach can lead not only to significant monetary losses but also a serious erosion of competitiveness in the marketplace. The paper endeavors to provide a comprehensive model illustrating strategic and operational parameters that any programme management team must consider before deciding on implementation approach. It illustrates a step-by-step methodology that should be adopted while attempting this exercise which will aid implementation teams in evaluating their options.

Kartik Subbaraman & Chinmay Jain, Infosys

A Roadmap For Deciding an

Corporations in today’s world operate in an extremely diverse and competitive environment spanning multiple business lines and geographies, each with their own unique set of challenges. Add to that a plethora of software applications being adopted and integrated, any change to the existing systems becomes an extremely challenging and arduous task. Any Oracle ERP implementation involves significant commitment of money, resources and time. One of the first and foremost questions that any programme management team on the road to an Oracle implementation has to answer is “What will be my approach

to my Oracle implementation?”. The adoption of an incorrect approach would lead to wide-ranging ramifications, which would make it difficult for any organisation to recover from.

Fundamentally there are three broad approaches to an Oracle ERP implementation:

A Big Bang approach envisages implementing an Oracle ERP system for identified business processes across the entire organisation in one go, at a single point of time. All the users/

Page 55: oracle scene

www.ukoug.org 55

Business & Strategy: Kartik Subbaraman & Chinmay Jain

business units cut-over to the new system on a designated day and time. Typically a Big Bang approach delivers a complete set of new processes and modules to the end users.

A Phased Rollout approach envisions a changeover to the new system in a series of extended steps over a period of time. This changeover could be business area-wise, module-wise or geographic area-wise.

A Hybrid approach is a mix of the Big Bang and Phased Rollout wherein organisations may choose to use Big Bang for certain identified business clusters or geographies and a phased approach for others. The decision on which cluster to choose a Big Bang or Phased Rollout will be dependent on organisational, operational and business environment factors.

Approach Definitions for deciding an Oracle Implementation Strategy While deciding on an implementation strategy, the key decision criteria can be grouped under two broad levers (see table 1): • Strategic• Operational

Strategic LeversTechnology• Is the corporation in an industry where the use of technology

is critical differentiator between the organisation and its competitors?

• How frequently does the organisation foresee changes in technology which will make the existing systems obsolete?

An organisation in an industry where technology is a key differentiator would be better off implementing in a Big Bang approach across all units simultaneously because the gains from the Oracle implementation would accrue to all units resulting in better competitive advantage overall. Usage of latest features of Oracle across the entire organisation would result in streamlining processes and operations, companywide. Phased

Rollouts are better for corporations where technology is more of a business enabler. A Phased Rollout, in this case, helps the organisation tweak its processes and methodologies across multiple iterations to achieve a durable and dependable solution.

Objectives of the Oracle Implementation• Does the ERP programme envisage wide ranging business

process re-engineering changes leading to better control on operations, moving to a centralised shared service model etc?

• Is the objective of the implementation the need to use the best of breed systems to competitive advantage?

If an organisation is opting to go in for wide ranging business process re-engineering or re-alignment exercises it is better to go in for a Big Bang implementation. This is because process re-engineering/centralisation etc give more bang to the buck when they are implemented all at once rather than in a phased manner. When planning for a Big Bang approach there is tremendous scope for designing common global processes, adopting streamlined procedures, centralising operations and achieving tremendous operational synergies. In a Phased Rollout approach sometimes such synergies are difficult to foresee, maintain and achieve. The same is the case if an organisation is in process of revamping its entire information technology to adopt some of the best in class technologies. Synergies between multiple technology platforms work best when all are integrated together across the organisation simultaneously. While the initial effort to implement a global solution across the organisation would be immense value, realisation is faster in a Big Bang approach.

Business EnvironmentIf an organisation is in a rapidly changing business environment and business conditions are constantly in the flux, it is best to go for a rapid Big Bang implementation. This will enable the organisation to use the latest technological features and upgrade quickly when the next version of Oracle is released.

Levers Elements Importance Approach Definitions

Go Big Bang Hybrid Approach Phased Rollout

Strategic Technology High Key competitive differentiator

Key differentiator but not critical to competitive positioning

Technology is an enabler

Implementation objectives

Moderate Large scale BPR for standardisation and centralisation

✓ Process standardisation ✓ Acceptance by key

stakeholders

Step-by-step process improvement

Business environment

Low Rapidly changing market conditions

Relatively stable industry Mature industries

Operational Organisation Moderate ✓ Homogenous organisation culture

✓ Common business process landscape

✓ Common process landscape in certain clusters but not across the organisation

✓ Multiple geographies✓ Varied business

requirements

People High Limited and culturally similar user base

Limited and similar user base across identified clusters

✓ Large number of users✓ Diverse user base✓ Multiple geographies

Financial High Willing to commit huge financial costs upfront

Willing to commit large financial costs but wish to control spending in phases

Willing to commit limited financial resources and that too only after evaluation at each step

TABLE 1 >>

Page 56: oracle scene

56 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

Business & Strategy: Kartik Subbaraman & Chinmay Jain

Organisations in relatively stable and mature industries can go in for a Hybrid/Phased Rollout as risk of technology/process obsolescence is not high. Depending on business units within the organisation an Oracle implementation approach can be tailored to the business units.

Operational LeversOrganisationalThe structure of the organisation, the kind of business it is in, the geographies in which it operates are all critical factors in deciding on an implementation strategy. Corporations operating in multiple geographies generally tend to have different business process, taxation and reporting requirements (specific to each individual country). Harmonising all these requirements could prove a tedious and challenging task. In such cases a Hybrid approach of grouping business units with similar lines of business, common taxation needs and shared reporting requirements, and implementing the Oracle solutions for these clusters together, would realise value and better benefits. A Phased Rollout is best if the grouping organisations in common clusters is not possible or is difficult.

PeopleThe people or users who will finally use the Oracle system determine the success or failure of any implementation programme. Hence considering the people aspect is extremely important while determining any strategy for implementation. While deciding on any implementation approach the programme team must consider the number of users who will be impacted, the training needs, the cultural background of diverse teams, availability of skilled personnel who will be available to support the implementation team and the geographies in which the users are present. Typically in a Big Bang approach the people aspect often acts as a stumbling block in the successful implementation of an ERP programme. The ability to co-ordinate change management activities of a large number of employees across multiple geographies presents a significant challenge. If an implementation team has the resources and the ability to manage these aspects of the programme a Big Bang approach

would work fine, else a Phased Rollout is advisable. A Hybrid approach or Phased Rollout provides an advantage of segregating the change management and adaptability process in several steps and learning continuously.

FinancialA large scale ERP programme involves commitment of a considerable amount of monetary resources. A Big Bang approach would involve considerable commitment of amount of resources upfront. But on completion of a successful implementation (if the stated goals of the implementation are achieved) the return on investment will be higher. By contrast in a Phased Rollout approach the initial investment would typically be lower but the gains of the implementation in terms of strategic process re-engineering or centralisation of activities would be lower and would take a longer period to fructify. An organisation should take financial and taxation considerations into deciding on an approach.

ConclusionAny implementation methodology must be specifically tailored to meet an organisation’s unique set of challenges and requirements. Organisations with faster go-to-market needs, using obsolete technologies or wanting to have accelerated return on investment, should adopt a Big Bang approach. Organisations in mature industries with streamlined processes and technologies or having people/resource constraints would prefer a Phased Rollout. A Hybrid approach is best for geographically dispersed organisations who have areas of commonalities which can be grouped together for faster deployment. With rapidly changing market dynamics and technologies, organisations are also considering Agile and DevOps methodologies for design and development. A well-thought out and carefully crafted implementation strategy, tailored to the specific needs of the organisation, will be critical to the success of any Oracle implementation.

ABOUTTHEAUTHORS

Kartik Subbaraman Principal Consultant, Infosys

Kartik Subbaraman ([email protected]) is a Principal Consultant in the Oracle Manufacturing Practice at Infosys Limited. He has overall 12+ years of experience post his MBA, which includes 11 years of experience in the Oracle Applications space. In this span, he has worked and successfully delivered multiple end to end Oracle Implementations for Retail, Manufacturing and Hi-Tech vertical clients.

Chinmay Jain ([email protected]) is a Senior Industry Principal in the Oracle Practice at Infosys Limited. He has overall 18 years of experience post his post graduate, which includes 14 years of experience in the Oracle Applications space. In this span, he has managed and successfully delivered consulting assignments and multiple end to end Oracle Implementations for Manufacturing and Hi-Tech vertical clients.

Page 57: oracle scene

WHAT WHY

value.innovation.process

ASSESS

MAP

OPTIMISEBENCHMARK

IMPLEMENT

OPOOOOOOOOOOOO

BUSINESS

SYSTEM

STRATEGY

www.vipappsconsulting.com

Maximise your Return on (Oracle) Investment (ROI)Is your Oracle solution working to its full potential?

Many organisations have spent thousands, if not millions of pounds over several years on their current Oracle solution. You may have recently upgraded to Release 12, or still be planning an investment in the upgrade or a move to Fusion Applications and/or Cloud technologies.

The most successful organisations recognise the need to continuously improve, whether this improvement is proactive and built into the DNA of the company workforce, or is driven as a reaction to a business problem. Information Technology is too often viewed as just technology, without any emphasis on the people or processes it supports.

VIP Apps Consulting has worked with major companies in the Finance and Manufacturing/Service industries, providing innovative strategies, Oracle solutions and holistic process re-engineering using our AMOBI methodology.

Focusing on the ‘holistic’ business, our AMOBI Assess phase helps to target the key high pain points that are restricting the value of your Oracle investment, whether that be ineffi cient workfl ows

or process steps, lack of utilisation of licensed modules, system performance or off-system workarounds.

Using event based fl ow mapping, and benchmarking any changes against real business transactions and behaviours, we can help you optimise the way your business engages with your technology, increasing productivity and enabling you to meet your key internal or customer KPIs.

Visit www.vipappsconsulting.com for more information on how we can help you extract maximum value from your current Oracle investment.

A Assess - Establish key areas to target and KPIs to measure success

Reviewing your high pain points in the context of your business will identify the best place to focus your investment

M Map - Document existing event fl ow, calling out off-system and manual steps

Capturing the events that drive your current process, along with the manual touch points, is essential as a baseline to optimise from

O Optimise - Streamline events, focusing on manual or ineffi cient steps or tasks

Driving out manual tasks, or ineffi ciencies, can increase KPI delivery and enhance user engagement

B Benchmark - Test the new event fl ow against real business transactions and KPIs

Tracking real transactions through the optimised event fl ow demonstrates the potential of the change and increases engagement

I Implement - Introduce the new event fl ow to the business in a managed fashion

The ‘holistic’ approach builds stakeholder and user engagement, allowing a smoother transistion to the new event fl ow

Page 58: oracle scene

58 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

Oracle E-Business Suite

Integrated Real-time Reporting from E-Business Suite at the University of Oxford

The University of Oxford is a global household name and I am proud to work for such an institution – not many people can say they work for an organisation that’s over 800 years old. What a lot of people don’t realise is the highly federalised nature of the University. For quite a few areas of the enterprise, it is really a couple of hundred separate businesses that work together for a common aim: excellence in higher education and research. The Finance Division has the unenviable task of trying to ensure that all of those separate organisations are able to be both semi-independent but also integral parts of the whole, using common processes and procedures. To achieve this we use Oracle E-Business Suite Financials modules, including General Ledger, Payables, Receivables, Purchasing with iProcurement, Cash Management, Fixed Assets and, most importantly for managing all of that research funding, the Project Accounting module. The University had previously used the Grants Management module on 11i and moved the same functions into Project Accounting on R12. Adding this to the fact that the underlying data structure of the Financials modules changed with R12, we knew that our project needed to include a complete replacement of our existing E-Business Suite reporting.

In November 2013, we cut over to live processing on R12. This project was a re-implementation, we didn’t upgrade from 11i we started again and that applied to all our reporting too.

Choosing the SolutionA number of options were considered for the task of bringing all of the previous reports together, and compared against several essential considerations, including:

• A single point of entry for users – we had standard Oracle reports, FSG (ADI) reports, a couple of BI tools plus Discoverer;

• Reports should open directly into Excel;• Technologically it had to work on platforms already in place at

the University;• All types of reports had to be available - from day-to-day

“bread and butter” reports through month-end reconciliation to full management accounts.

The easy winner was EiS eXpress from EiS Technologies (EiS). Their solution won on all points especially due to a combination of both cost and functionality based upon our requirements.

The EiS eXpress tool integrates directly with E-Business Suite – indeed most users don’t even realise that it is actually an extension of E-Business Suite. In addition, it comes with Excel add-ins that enables users to work exclusively in Excel while being transparently logged into E-Business Suite.

ImplementationThe hard work started once the choice had been made of course: defining all of the reports without a stable environment and whilst the business processes were still being revised and

Susan Gillis, Finance Systems Reporting Manager, University of Oxford

Presenting at Apps15 on 7th December at 17:20

S P E A K E R

Page 59: oracle scene

www.ukoug.org 59

Oracle E-Business Suite: Susan Gillis

finalised. Because of their experience with many prior R12 implementations, and their hundreds of seeded reports, EiS was able to help by assigning a Project Manager for their end, who worked closely with the team in Oxford.

This is when I joined the Reporting workstream of the R12 project as a Report Developer. All of the reports had been identified (in fact it changed every week, but the number of R12 reports stabilised at around 170) and most had already been specified. So the plan was that we would just get on with development with some help from EiS. I wish it had been quite that simple.

It was always understood that EiS would remotely develop a large proportion of our reports, particularly the more complex ones required for our use of the Project Accounting module. The process worked well, despite the time differences; and weekly telephone meetings kept us all on track. A small number of Oxford employees, including myself, were trained in using the Report Development responsibility within the tool so that we were able to write the simpler ones at this stage and then be well placed to manage report development going forward.

Although there were a number of challenges along the way, which goes with the scale of the project, we did manage to deliver virtually all the reports requested by the Project team (just two were missing) in about eight months.

Due to time constraints (and the large number of custom reports) not all of the available EiS eXpress functionality was initially released with R12. However, over the past two years we have gradually added more and more functionality for our user community and there are still a few more new features in our plans.

What the Users SeeAs a consequence of the embedded nature of the tool, any security that is used within E-Business Suite, e.g. Data Access Sets, responsibilities, etc. are all available for EiS eXpress to utilise. The end-user simply sees an additional responsibility on the E-Business Suite Home page:

All reports are run through this single responsibility and the reports that are available to any specific user will be determined by the responsibilities assigned to that user. This works for the University because the reports can be assigned optionally to responsibilities or request groups (we use the latter generally). So a “Central Finance” user will see a different list of reports to a “Finance Officer” within a department.

In addition, data security embedded in the report ensures that the user only returns rows of data in any report which they are permitted to see. For General Ledger reports, security hangs off the same Data Access Sets that E-Business Suite uses whilst for the other modules we have built bespoke security (well, the EiS

>>

Page 60: oracle scene

60 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

Oracle E-Business Suite: Susan Gillis

developers did actually). This custom data security is vital to the University because of that federalised organisation structure mentioned above.

We still use FSG reports, of course, but these too are run through the same EiS reporting responsibility. Whatever the type of report, all outputs are managed through the Requests tab (see p.59) – and again a user will generally only see the reports they have run. It is also possible for report outputs to be shared across a single responsibility.

There are also several secured report distribution options and we use different methods depending upon our business requirements. Completed reports, in any of the available formats, can be automatically emailed as a secured link or as an attachment. We also use the bursting option to run University-wide reports that are automatically “sliced and diced” and then selectively distributed to lead academics and heads of department. Automation of the report distribution process has enabled the University to achieve huge savings through more efficient processes.

We are selectively rolling out two EiS eXpress features that are Excel-based tools:

The GL Connect utility is a real-time General Ledger drilldown navigation tool. It is provided only to our central and more-experienced financial teams for ad hoc reporting, to rapidly build financial statements and to dig down to find a quick answer to an urgent question.

The XL Connect user front-end is being rolled out to all users for running reports without logging into the Oracle E-Business Suite application. So our users can accomplish all of their reporting needs within an Excel interface connected to E-Business Suite.

We have also created “report packs” for our heads of department that can be refreshed each month very easily. The latter will ensure all departments run consistent reports, although this is still a “work in progress”.

AdministrationAs the main Administrator for the tool I have an entire suite of reports that enables me to monitor and maintain the Reporting module. In addition, my team and I can see records of all the reports run by all users – so we can monitor if there are extra server requirements, for example, and support users not getting the results they expected (entering parameters properly is key).It’s very easy to maintain as all the processes are written for me and I just run the relevant programs at the recommended intervals.

As well as an Administration responsibility there is also a Report Developer responsibility that could be given to trained developers, which permits creation of new reports based on the Views that are already in place. I know from talking with other EiS eXpress clients at their user conference that some do allow this, but never in production.

At the University of Oxford we retain strict control over the number of reports permitted and a full Change Control process is in place for when new reports are requested by the Business.

EiS eXpress TechnologyThe EiS eXpress system is installed onto the APPS E-Business Suite schema like any other Oracle patch, so we do not need any new skill sets to take this on. The EiS eXpress code sits on the E-Business Suite applications server and the report output sits on the database server. The installation process detects standard customisations such as the KFFs and DFFs, and this setup information is pushed into the reports and their underlying views. So from the first day we were looking at our data with our specific setups. One of the reasons Oxford selected EiS eXpress

Page 61: oracle scene

www.ukoug.org 61

Oracle E-Business Suite: Susan Gillis

is because of the deep level of integration with E-Business Suite. It utilises the exact same security setups, which even includes our custom security, and the reports execute through Oracle’s concurrent manager.

It seems that the philosophy with EiS eXpress has been to leverage the capabilities of Oracle wherever possible.

I’m not a guru on the technical side, but as the person with front line responsibility to keep our users happy, we have used the many flexible options available with both reporting output formats and also built-in automated delivery mechanisms. Output options include Excel, Pivot, PDF, HTML, BI Publisher

(XML) and RTF, and each report can have as many, or as few, of these options as needed. There is also a graphical output module for charts and dashboards that we will be looking into in the near future.

Even though we needed to initially develop many new reports, the out-of-the-box reporting tool also came with a huge and ever-increasing number of seeded reports. These can be made available to specific request groups. All reports are based on SQL Views, with the option to call Packages with PL/SQL for the more complex reports.

Software maintenance upgrades are released at approximately six month intervals. These patches include bug fixes and enhancements to the functionality. We are currently on v8.02 of the software but are testing v8.03 as it contains a whole raft of new options that we are keen to roll out over time.

ConclusionDid we get what we wanted? The EiS eXpress reporting tools delivered everything on our “need to have” and, following various upgrades, also the “nice to have” lists. For Go Live, we only delivered the first set of requirements but gradually all the optional requirements are being met as additional functionality is rolled out.EiS Technologies have guided and supported us over the whole period, providing training and expertise when we asked for it. They have responded positively to all our requests for functional development. The question I have been most often asked is: would I have chosen the EiS eXpress tool for the University of Oxford? And my answer has always been, “Yes, absolutely”.

ABOUTTHEAUTHOR

Susan Gillis Finance Systems Reporting Manager, University of Oxford

Susan manages the team within the Financial Systems Support Centre delivering both new and improved reports using EIS eXpress, plus supporting users on reporting, including GL and XL Connect. Susan has been at the University over 9 years moving through a variety of posts to get to her current position.You can hear more from Susan at Apps15 at 17.20 on Monday 7th December – www.apps15.ukoug.org

uk.linkedin.com/pub/susan-gillis/27/a9b/b51

Page 62: oracle scene

62 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

Business & Strategy

A Decision Framework

Key Considerations for Cloud Adoption:

Sean Snow, Manager - IT Advisory, KPMG

Cloud is Becoming InevitableAs each month goes by the predictions for cloud adoption multiply, amplifying the need for a cloud computing strategy. A 2014 Gartner survey1 recorded that 37% of respondent organisations would use the cloud for processing more than half of their transactions by 2015. The survey predicted this will rise to 51% by 2016 and increase to up to 81% of organisations post 2017.

So, what’s driving cloud adoption?

Software running on cloud will become the de facto standard Software-as-a-service (SaaS) has now overtaken ‘on premise’ in categories such as human capital management (HCM), customer relationship management (CRM),

and collaboration solutions, once available in multiple deployment modes are now SaaS only (Source: Forrester - Predictions For 2014: Cloud Computing)

The cloud enables value and strategic transformational changeIn 2013, the UK Government declared a ‘Cloud First’ policy. This was driven not just simply by the motivation to reduce cost but by a conclusion that the cloud enables value and strategic transformational change. To quote Francis Maude, former Minister for the Cabinet Office:“The Cloud First policy will embed the skills a modern civil service needs to meet the demands of 21st-century digital government and help us get ahead in the global race”2.

What is the ‘C-suite’ asking?Given these drivers and the associated benefits, C-suite executives (Chief Executive/Finance Officers, Financial Controllers and Chief Information Officers and their peers) are asking ‘what should we be doing now?’. Key questions include:

Strategic:• How can we leverage the cloud to drive

business growth, agility and lower costs?

• What are our competitors doing?

Financials & Business Case:• What are the Total Cost of Ownership

(TCO) comparisons? What are the benefits – Quantifiable or Intangible?

• What is the business case?

Presenting at Apps15 on 9th December at 11:20

S P E A K E R

Page 63: oracle scene

www.ukoug.org 63

Business & Strategy: Sean Snow

Risk:• Is cloud infrastructure secure? Is it

compliant with our regulatory, legal, and contractual obligations?

• What are the risks? How do we mitigate and manage them?

People:• What is the likely impact on our

organisation and staffing? What new skills do we need to develop or acquire?

And the Chief Information Officer (CIO) has additional concerns:

Legacy Investment & Optimisation:• How can we maximise use of existing

assets? How do we turn-up and down capacity to avoid overpaying?

Vendor Selection & Management:• Who do we partner with and how do

we avoid vendor lock-in? How do we contract and monitor Service Level Agreements (SLAs), performance and quality?

Architectural & Technology:• What are our practical options? What

should the target state look like? Which is best?

Migration:• What should the roadmap look like?

Which applications and data must be moved together?

Cloud Strategy & the KPMG Cloud Decision FrameworkTo devise an effective strategy that addresses these questions requires a methodical and robust framework. This article provides an insight into our cloud expertise harvested from our assurance services and client engagements. It is aimed at guiding you on the creation of a clear cloud strategy and then how you start to execute on that using our cloud decision framework.

Cloud Strategy Given the trends and competitive pressures, all organisations should have a cloud strategy and roadmap which covers business objectives and technical priorities. Ideally, this should be laid out with 1, 3 and 5 year milestones.Business objectives vary but typically include:

• Compliance/alignment with new regulatory requirements

• Need to improve data quality, ‘data lineage’, controls and efficiency

• The need to protect data and privacy • Gaining business advantage through

new capabilities • Moving to finance business partnering/

insight driving the business • Need to integrate acquisitions quickly,

enabling access from anywhere• CapEx and OpEx reduction targets (i.e.

in IT hardware and buildings space)• Adopting standard business processes• Mandatory carbon footprint reduction

In parallel with this, we recommend an assessment of your current systems environment to confirm, for example:

• Current systems profile - Lifecycle stage, custom and standard

applications, contractual support and maintenance position, key stakeholders etc.

- Which systems are not cloud candidates and why they need to remain on premise (this potential block may change over time)

- The applications that need to be migrated

• Integration requirements• Business impact, security and data

integrity requirements• Service level commitments per system • IT skills and capability (i.e. change,

vendor, service level management etc. become more acute with the cloud)

• IT test practices

This assessment will inform an initial view of the technical priorities to feed into the strategy, such as a focus on low risk areas to begin with prior to moving to higher-value, more complex integrated systems. Early stage learnings can be incorporated into the overall strategy to shape future transformation and migration phases and provide an indication of where cost savings can be achieved.

The KPMG Cloud Decision FrameworkAs your business objectives, technical priorities and requirements take shape, we recommend the adoption of our framework to help evaluate the various cloud provider options under consideration, prior to the transformation project. Key themes comprise:

1) Total Cost of Ownership (TCO)Whatever the market research indicates each organisation needs to demonstrate their cloud strategy makes commercial sense and supports the wider business and IT strategy, over the long term.

As each organisation’s ‘levers’ differ there isn’t a simple model to create a robust TCO comparison for the cloud. Therefore, we recommend using a progressively detailed 3 stage approach to qualify and clarify the nature of cost savings and business improvements that can be derived from the cloud.

• Stage 1: A high-level cost run rate model based on a 5 year timeframe that helps assess the viability of the cloud compared to alternative on premise proposition(s). Typically achieved through collection of basic information (Implementation & upgrade; licence and support; Infrastructure, Hardware, Disaster Recovery (DR) and internal IT support) on the ‘as is’ state and comparing this to equivalent cloud based costs.

• Stage 2: If stage 1 proves favourable then you should develop a more detailed high-level directional analysis of the key economic cost drivers. For a finance system these would include detailed current finance IT, finance applications, IT & finance staff costs and the corresponding cloud finance cost option.

• Stage 3: The final stage involves a full TCO business case and implementation roadmap describing the business challenge, system options, recommended option and associated return on investment. The stage 3 TCO business case should be comprehensive, including, for example, the cost of terminating existing contracts and associated transition cost in general.

2) Security, Architecture and Risk ComplianceYou need to be confident that your specific risk, compliance, resilience and control requirements are adequately captured and addressed. We recommend an assessment is undertaken against your strategy covering your key criteria - those the cloud provider should meet including:

• Architecture • Information and Physical Security >>

Page 64: oracle scene

64 www.ukoug.org

AUTUMN/WINTER 15

OracleScene

Business & Strategy: Sean Snow

• Data/Incident Management processes• Business resilience and continuity• Contractual • Change Control (SaaS entails regular

mandatory updates, not at your discretion)

This will identify the extent to which the cloud providers offering matches your needs and target terms and conditions, highlight any inconsistencies and enable you to assess each options risk profile, devising potential mitigations to shortlist accordingly.

3) Regulatory ComplianceRegulatory views on cloud services are still to be fully developed, however, regulations still apply and when using a cloud service in the UK and European Economic Area, the Data Protection Act (DPA) must be followed. For example, when a regulated firm procures cloud services, and those services are considered critical or important, the firm must ensure that it complies with the FCA’s rules on outsourcing.

Clients need confidence that their cloud service provider meets their requirements or is clear on any exclusions, limitations or obligations that remain with them, before making a final decision. We recommend that the following areas are covered:

• Confirm: - Which regulatory regimes/legislation

apply to you and what your responsibilities and obligations are

- The suitability of internal data controls and the impact of cloud on these

- The types of data that will be placed in the cloud

• Clarify if the cloud data will move outside the EEA & how data, DR and back-ups will be managed

• Identify where you can/must prove compliance to satisfy regulators and clients

This will help clarify the extent to which the cloud provider contracts meet your relevant legal & regulatory requirements for control enforcement and identify any residual risks not covered.

4) Integration Integration is a consistent theme of business system delivery and with an ever more connected world it is becoming important that you have an ‘open’ but secure means of transferring data to and from your cloud service. To determine the suitability of vendor cloud propositions you should collate your primary decision points and priority items for discussion with the cloud vendor:

• Current state: e.g. What integration strategy and policies are in place? What is the level of implementation and compliance? Does it support integration between cloud and on premise applications, does it need extending to operate with the target cloud service provider(s) architecture? What are the technical and business impacts?

• Strategy: e.g. What are the technical and business resilience requirement implications for your future integration framework in terms of scalability, availability, recovery and integrity and how does the cloud provider address

Page 65: oracle scene

www.ukoug.org 65

Business & Strategy: Sean Snow

ABOUTTHEAUTHOR

Sean Snow Manager - IT Advisory, KPMG

Sean is a Manager in KPMG’s UK Management Consulting function with 30 years Enterprise Resource Planning (ERP) experience - the last 16 with Oracle and Oracle partners. Since completing a multi £Million procurement assignment for a FTSE100 client in 2014, he has been part of the team building KPMGs Powered Finance Oracle ERP cloud based transformation proposition.

uk.linkedin.com/in/seanfsnow

them? What is the desired cloud provider’s role in support of recovery of interfaces in transit at the point of failure? Is this addressed adequately?

• Requirements: e.g. System management/monitoring and error handling: What level of integration monitoring is required, how much of the integration framework and monitoring is provided by the cloud provider and to what level? For changes - How are changes to be controlled and managed? Where do the obligations lay? What constraints apply?

• Commercial: What are your priority terms and conditions for integration services and are these suitably covered?

By clarifying these items with related impact and likelihood, you will have a checklist to help you assess how well each cloud service provider meets your requirements and how they compare to current industry practises.

5) People and CapabilityAdopting the cloud, and its associated

automation, integration and reporting capability, usually impacts your operating model. We have assisted many clients in defining and driving the people aspects of organisation and change management, such as target operating model design and the roles and capabilities needed to support cloud based models.

Clients want confidence that their cloud implementation will be effectively embedded within their organisation and the following approach will help to assess your readiness, associated people implications and what needs to put in place to maximise the opportunity:

• Change Management – You should review the current organisational culture, values and ways of working, comparing these to the business case and vision for change. From this you will be able to identify risks and associated stakeholders and assess the nature of the change management and work required to embed the desired new behaviours, mandated by the

cloud, in the business. For example, with SaaS cloud, businesses have less freedom to customise

• Your new operating model will include a range of capabilities entailing roles with varied / new skills and competencies. This will need to be thoroughly worked through to ensure all roles and competencies are adequately covered and an appropriate approach to training has been identified.

Cloud strategy defined, Cloud selected – what next?The KPMG Cloud Decision Framework is one of the many assets we have to support cloud adoption. We also have other assets including KPMG Powered HR and KPMG Powered Finance which help to accelerate and de-risk cloud based Human Resource and Finance transformation implementations. For further information on any aspects of our Cloud Decision Framework, Powered HR and Powered Finance please contact Sean Snow at [email protected].

1 2014 Gartner Financial Executives International CFO Technology Study2 Government adopts ‘Cloud First’ policy for public sector IT – Press Release May 2013

Page 66: oracle scene

GLOBALSOFT WARE

Start in Excel. Stay in Excel.

U K L I M I T E D ®

Page 67: oracle scene

www.ukoug.org 67

January UKOUG Database Server SIG London

February UKOUG Project Management SIG LondonUKOUG Hyperion SIG LondonUKOUG Oracle Financials SIG London

March OUG Ireland 2016 DublinUKOUG Business Analytics SIG LondonUKOUG Application Server & Middleware SIG SolihullUKOUG HCM SIG LondonUKOUG Licence Management Event 2016 London UKOUG Systems SIG London

April UKOUG Higher Education SIG London UKOUG Development SIG London UKOUG RAC Cloud Infrastructure & Availability and Database Server SIG ManchesterUKOUG EMEA PeopleSoft Roadshow 2016 LondonUKOUG Apps DBA SIG LondonUKOUG HCM Cloud SIG London

May UKOUG Applications Express (APEX) SIG SolihullUKOUG Spatial & Graph SIG LondonUKOUG JD Edwards SIG TBCUKOUG Systems Event 2016 LondonUKOUG Oracle Financials SIG ManchesterUKOUG Project Management SIG London

June OUG Scotland Event 2016 ScotlandUKOUG Hyperion Event 2016 LondonUKOUG Application Server & Middleware SIG ReadingUKOUG AGM 2016 LondonUKOUG Database Server SIG London

July UKOUG Application Innovation Event 2016 (Your Journey to Cloud) LondonUKOUG RAC Cloud Infrastructure & Availability SIG London

September UKOUG Oracle Financials SIG BirminghamUKOUG JD Edwards SIG TBCUKOUG Application Server & Middleware SIG LondonUKOUG Database Server SIG Solihull UKOUG Business Analytics SIG Solihull

October UKOUG HCM SIG BirminghamUKOUG HCM Cloud SIG BirminghamUKOUG Ireland BA & Big Data SIG DublinUKOUG Ireland Tech SIG DublinUKOUG Apps DBA SIG LondonUKOUG Higher Education SIG SolihullUKOUG Application Express (APEX) SIG LondonUKOUG RAC Cloud Infrastructure & Availability SIG TBCUKOUG Partner of the Year Awards 2016 London UKOUG Systems SIG London

December Super Sunday - part of Tech16 TBCUKOUG Technology Conference & Exhibition 2016 TBCUKOUG Applications Conference & Exhibition 2016 TBCUKOUG JD Edwards Conference & Exhibition 2016 TBC

All information was correct at time of printing. Subject to change.

UKOUG Events in 2016

We’re excited to showcase the current line up of events for 2016. More events and dates will

be added to the calendar as they are confirmed. For the latest on events, dates, agendas and

venues visit www.ukoug.org/events

GLOBALSOFT WARE

Start in Excel. Stay in Excel.

U K L I M I T E D ®

Page 68: oracle scene

[email protected]

engage® Business Support Services

Tel: +44 (0) 1483 549066

Protecting your Oracle ERP, HCM & Taleo Cloud Investment

engage® Business Support Services is a comprehensive support service designed to protect your investment and provide easy access to the leading Oracle Cloud experts.

www.certus-solutions.com

• Highly cost effective support service that can be tailored for each client’s needs

• ITIL compliant business processes to provide an efficient and consistent service

• Operated by a dedicated team of support consultants who specialise in Oracle

ERP, HCM & Taleo Cloud Services.

engage® Business Support delivers piece of mind for your Oracle Cloud Solutions, contact the leading

Cloud Consultancy on +44 (0) 1483 549066