Wednesday, May 09, 2007

Life on Planet...uh, I mean Project...X

According to the rumor mill, Collaborate 07 will include an announcement about Oracle's Project X Integration Framework. Project X is a composite application integration framework that allegedly will allow users to pull together the best pieces or features of Oracle's various application stacks into a single, unified business process.

Project X sounds similar to what many in the industry thought Fusion Applications would be when they were first announced. In fact, this could turn out to be a much bigger deal than Fusion Applications for the Oracle apps community...if the rumors are correct. Can't wait to see or hear what happens...

Getting Personal with OA Framework Pages

Here are some common questions regarding personalization of E-Business Suite (EBS) HTML-based pages:

"How can we quickly determine if particular E-Biz pages support personalizations?"

First of all, I assume we're talking about the Oracle Application Framework (OAF) Administrator personalization, not Personalized Views (Saved Searches).

All pages built using OA Framework are personalizable by default--the page developer has to do something specific to make the page be non-personalizable. One thing a developer can do to make a page (usually just a region or field) non-personalizable is to set a specific property to false during development. The other is to create regions or fields programmatically (so they don't exist in the page definition that is stored for using with personalizations). These are generally the exception cases.

Some HTML Products Don't Support OAF Personalization

In 11.5.10 (11i), many E-Business Suite CRM products and some other products were built using a different technology stack (JTT/JTF), so they couldn't use OAF personalization. In EBS Release 12, most of these have been rebuilt using OAF.

EBS Business Intelligence products have their own version of personalization, and they do not use the OA Framework feature even though they are built with OAF. Business Intelligence products have somewhat different implementations of their personalization depending on whether you are looking at a dashboard or a report page. But the way to tell if it's a BI page is to look in the upper corners. If you see an Actions dropdown, it's a BI page.

BI Page screenshot:

But Which Ones Are Built Using OA Framework?

Sometimes people have trouble telling which pages are created using OA Framework. Here are several ways I use to tell if a page is built using OAF:

The best and easiest way I know of is to look for "OA.jsp" in the URL of the page.

Is OA.jsp in the URL screenshot:

You can also use the About this Page feature to confirm if a page is an OA Framework page. If you don't have it already, you'll need the FND: Diagnostics profile option set to Yes (you may need your administrator to set this). Go to a product page (I'm using iProcurement here) and click on the About this Page link:

About this page screenshot:

If you see that the first line of the page definition is "pageLayout", it's an OAF page.

Page definition starts with pageLayout screenshot:

Beyond looking at each page individually, you can use the About this Page feature to get a whole list of pages built with OAF, all at once. Since you're already there, simply go look at the page context (menu), as follows:

About this Page > Page Context > Menu (Expand All)

Most of the functions in the menu display a URL, so you can see at a glance which ones start with "OA.jsp":

Lots of OA Framework Pages screenshot:

Another way to check for a single page is to use View Page Source in the browser. Early in the source, you will see the following for an OAF page:

You can also list the pages (and more) using the JDR_UTILS package. It is described in the "Inspecting the MDS Repository Content" chapter of the Oracle Application Framework Developer's Guide for your release version (available on MetaLink).

Finally, you can set the "Personalize Self-Service Defn" profile option to Yes to allow personalization, and then look for the Personalize Page link on the top of each page. Of course you can also use the link to see the personalization hierarchy page (or the context page if you are using 11.5.9 up to 11.5.10 CU1--it changed in 11.5.10 CU2).

Note that all of this applies to both Release 11.5.10 and Release 12 of the E-Business Suite. It also applies to EBS 11.5.9 if you applied OAF 11.5.10 to it as part of a patch.

To learn more about OA Framework Personalization, see the Oracle Application Framework Personalization Guide in the Oracle Applications Online Documentation Library.

Here's an Extra Tip: Hidden Fields Between the Fields

Some product teams build features into their pages that are hidden by default because they expect most customers won't use them. These include extra fields for special purposes, hidden Additional Information regions containing descriptive flexfields, and so on. We recommend to product teams that they explicitly document places in their applications where customers are expected to personalize the pages. Check your product's documentation for such updates. I know that iProcurement, at least, mentions such hidden fields directly in the text of their implementation manual. I found one on page 2-17 of the Oracle iProcurement Implementation and Administration Guide, Release 12, Part No. B31402-01. Also, the Oracle Workflow Administrator's Guide and Oracle Workflow User's Guide both have appendices highlighting some of the personalizations for Workflow pages that customers may be most interested in using.

Happy personalizing!


What Does "DMZ Certification" Mean?

Depending on whom you ask, the E-Business Suite has somewhere around 200 functional applications products, clustered into larger product families such as Oracle Financials. A subset of those products are specifically certified for deployment in an externally-facing configuration via demilitarized zones (DMZ). For example, products certified for these types of "external" deployments include iRecruitment, iStore, and iSupplier Portal.

DMZ Reverse Proxy:

The diagram above shows a common DMZ configuration for the E-Business Suite Release 11i. All of the points I'll make in this article apply equally to Release 11i and 12.

Loopbacks are Incompatible with DMZs

Some E-Business Suite products use loopbacks, which I've discussed in a previous article. Apps products certified for external use in demilitarized zone configurations are tested to ensure that they don't use loopbacks.

In fact, we turn off loopback support completely as part of the DMZ certification process for externally-facing products. If a particular product breaks during testing in these environments, this means that their code must be upgraded to eliminate the use of loopbacks.

Which Products are Certified for DMZs?

Products certified for external deployment are listed in:
Not all Apps products are appropriate for use in demilitarized zones, so product testing in these configurations isn't comprehensive across all product families. For example, regardless of security measures, no sane Apps architect would consider allowing their Chart of Accounts to be modified via the Internet. So, there's no point in certifying that particular product with in a DMZ configuration.

If a product isn't in listed in the appendices of the Notes listed above, it could mean one of two things:
  1. It uses loopbacks and is not certified for external use in a DMZ configuration
  2. It hasn't been tested in a DMZ configuration, and may or may not use loopbacks
What If a Product Isn't Certified?

Here's a hypothetical situation:

You'd like to deploy a particular application externally in a DMZ configuration. It's not listed in either of the referenced Metalink Notes. What do you do?

The answer: log a Service Request against the specific application via Metalink stating your requirement. It always helps to include a network diagram of your proposed topology, by the way. If all goes as planned, the Development team for the product will be notified of your requirement and will respond with an update on their plans for that certification.


Will the Real JRE Please Stand Up?

Unlike Release 11i, E-Business Suite Release 12 no longer requires Oracle Jinitiator for its Forms-based content. In theory, it will be possible to use any version of the native Sun J2SE Runtime Engine (JRE) plug-in to access Forms-based content in this Applications release.

Java Console Screenshot:

The present reality is that you need to use a specific version of the Sun JRE with Release 12. I know some of you have been interested in going deep on this, so strap on your helmets; we're goin' in.

A Problem of Focus

When you have multiple windows for different programs open in WinXP (say, Outlook and Firefox), the one you're working in actively has the focus. So, if you're working in Outlook and then click on the Firefox window, the focus changes to Firefox.

Here's the complicating factor: current releases of the native Sun JRE plug-in may lose focus from Forms-based content in a few situations. This behavior occurs in all Sun JRE versions released publicly to date, including 1.5.0_11.

We've been working closely with Sun on this issue. Sun has committed to including the fix for this issue in an upcoming JRE release. In the meantime, Sun has provided Oracle with a specially-patched version of 1.5.0_10 that includes the fix for this bug. This version is informally called 1.5.0_10-erdist and is included as part of the Release 12 Rapid Install.

Checking Your JRE Version

To check which version you have installed:
  1. Enable the Java Console on your PC through the 'Java Control Panel' by clicking on the 'Java' icon within your desktop's 'Control Panel'.

  2. Select the 'Advanced' Tab and expand the 'Java Console' field, then ensure the 'Show Console' option is selected.
  3. Select the 'General' Tab and click the 'About' button.
If the version displayed is:
  • Version 1.5.0 (build 1.5.0_10-erdist-b20061221)

    You have the special version that includes the focus fix required for use with Release 12.
  • Version 1.5.0 (build 1.5.0_10-b03)

    You have the standard version of 1.5.0_10 that does not include the focus fix. If you wish to use Forms-based content in Release 12, you need to uninstall this version and install the special 1.5.0_10-erdist version included with Release 12.
A Word About Upgrading Your JRE

It's important to remember that JRE 1.5.0_10-erdist is the only version available today that includes this focus fix. If you or your end-users use (or upgrade to) 1.5.0_11, they may encounter issues with accessing Forms-based content in E-Business Suite Release 12.

Later JRE versions that include the focus fix will be certified with Release 12, of course. At present, I don't have any information that I can share about either their release dates or their certification schedules with the E-Business Suite. I'll post updates here as soon as they're available.


Collaborate’07 Day 2 - BI Roadmap Update

I’ve just got out of the Oracle’s BI Roadmap session by Matt Elumba, here’s some notes on what Matt had to say. I was sort of expecting more or less a rerun of the same talk we had at Open World and ODTUG Kaleidoscope, but there was actually quite a lot of new material on the BI EE and BI SE release schedule, plus an update on what’s happening following the Hyperion purchase. Here’s the highlights of what was covered:

Oracle BI Suite still comes in Standard, Enterprise, and Standard Edition One versions. Hyperion Essbase was shown in an architecture diagram at the same level as Answers, Dashboards, Delivers and so on (above the BI server, as the end-user query tools), as “Essbase Analytics”. Oracle Data Integrator was shown in the same line-up, giving Oracle’s enterprise BI toolset as Answers, Delivers, Dashboards, Essbase Analytics and Data Integrator. When we pressed Matt on whether Essbase was being positioned as Oracle’s “enterprise OLAP server”, he said that this had yet to be decided and both Essbase and Oracle OLAP would be developed and sold for the immediate future, but that Essbase had some obvious benefits in that it was cross-platform, drives all of the hyperion planning applications and had a good market share. I guess we’ll hear more on this over the next twelve months or so; I went to a talk recently where I heard a bit about what’s happening with Oracle OLAP 11g - there’s a lot of very interesting new features coming along with this product as well (which I’ll go in to in more detail when they’re officially announced), so I certainly don’t see Oracle OLAP being dropped, but then again I doubt Oracle bought Essbase for no reason.

In terms of the BI Suite Enteprise Edition roadmap, Matt talked about three upcoming releases:

  • The release (we’re currently on, the “Maui Release”). will extend coverage from Windows and Linux 32-bit to the same platforms on 64-bit, plus support for AIX, HP-UX and Solaris. This release will also include general bug fixes for the existing Windows and Linux 32-bit versions, so presumably will be an upgrade all of us will want to make.
  • The release, due out “in the summar or fall”, will primarly bring in new Microsoft Office integration. There’ll be an Excel add-in that allows you to connect to the Common Enterprise Information Model, browse and open Answers requests, drill in to hierarchies and drill back to the original answers report. The plug-in looked quite swish (in screenshots) and will be accompanied by a Powerpoint add-in that again allows you to browse and choose report, insert answers charts and tables into presentations (converting them en-route in to powerpoint-native charts and tables), and will allow you to copy and paste either single answers views or complete dashboards. This release will also feature bookmarkable dashboards and reports, allowing you to share dashboards via URLs and to return to particular reports that you’d like to mark and go back to later.
  • This release will also provide integration between BI Publisher and Discoverer (as covered by Mike Durran at various user group events this year), a web-based metadata dictionary, BI Publisher export to Flash, pass through of database functions (so you can use Oracle-specific functions in your BI Answers requests), XMLA-driven business models (e.g. import of XML/A cubes in to the Common Enterprise Information Model, is this how they’ll integrate Essbase in to BI EE?), and Netezza certification.
  • Matt then went on to talk about Discoverer futures. After the usual slide about upgrade options, Matt talked about Discoverer End User Layers being importable in to the BI EE Common Enterprise Information Model - this was originally given as a development aim by Thomas Kurian at the original BI EE launch last year, was dropped and now appears to be back on the cards. Cool. Matt also then covered Discoverer/BI Publisher integration, use of Delivers for alerting, and surfacing Discoverer worksheets in BI EE Dashboards. I looks likely that this functionality will be out within the next twelve months (i.e. pre-Discoverer 11g) although as usual this is more for information rather than a definate promise.
  • We then asked a number of questions, many of them were around DBI and EPB which of course were outside of Matt’s area, but we asked around OWB vs. DBI and Oracle OLAP vs. Essbase. Matt as you would expect at this early stage had to be fairly non-committal, but to me at least it’s clear that ODI and Essbase are going to have a major part to play in Oracle’s vision of Enterprise business intelligence. To quote Matt, Oracle bought Hyperion “to bring enterprise performance management to the enteprise level” and their aim to to take what Hyperion have done well up to this point, and then apply it across all the areas - supply chain, manufacturing, finance etc etc that Oracle have applications in. Using Oracle’s BI tools, you’ll be able to set goals at the enterprise level and use the new tools from Hyperion to manage performance across all the organization, not just finance. Good stuff indeed.

Finishing off, there was a brief talk about the 11g release of BI Enterprise Edition, where we should see something called the “Action Framework” introduced, along with the next generation of balanced scorecard. Given that the release of BI EE will be out (realistically) for Open World, my guess is that the 11g release of BI EE will be out around the summer to fall of 2008, but that’s all guesswork at the moment based on the usual gaps between releases.

Anyway, it was a useful talk and the new stuff on Hyperion was interesting. Apart from positioning Essbase alongside Answers, Dashboard and so on, it was obviously early days in terms of being more specific but over the next few months (perhaps in time for ODTUG Kaleidoscope in June?) I’d expect more details of the adoption of Hyperion products to be announced, particularly what they plan to do with the planning and budgeting products (and by extension, what’ll happen with EPB) and what they plan to do with Brio.

A First Look at Oracle Real-Time Decisions

I’ve been telling everyone who I got talking to this week at Collaborate, that the future of BI is in it’s integration with business processes. The problem with BI at the moment is that it’s a minority interest; tools such as Discoverer, Business Objects, Cognos and so on are far too complicated for the average person in an organization, where most people don’t have the time or inclination to go on a three or five day course just to learn a query tool. In addition, most people don’t want to keep making context switches between their line-of-business application and a tool such as Discoverer; it interupts their train of thought and makes tasks take twice as long to carry out.

In addition, if you can embed business intelligence “insights” directly in the applications people are using, they’re more likely to understand what BI is saying to them (due to it being in context) and they’re more likely to act on it, as the tools they need to react to the insight are right in front of them. With this in mind, you’ll be amused to know that, instead of gambling on the blackjack tables and staring at the girls in cages, this week I’ve spend most of my spare time in Las Vegas up in my hotel room getting to grips with Oracle Real-Time Decisions, a prime example of adding BI “smarts” to business processes.

Oracle Real-Time Decisions originally came from a company called Sigma Dynamics, who’s real-time Decision engine Siebel used to OEM and include as an option for their CRM line of products. Shortly after the Siebel purchase, Oracle bought Sigma Dynamics themselves and you can now download the Real-Time Decisions platform from OTN.

The principal behind Real-Time Decisions is to provide a self-learning decision server, running on a J2EE platform, that takes as inputs for example a set of customer data, a series of events such as receive a call, add caller and call center employee details, present an offer, receive feedback on the offer, and close the call. The real-time decision engine is a data mining engine (Sigma Dynamics’ own engine, not the Oracle Data Mining engine) that establishes correlations and causality between customer and call inputs, the offers that are made and the response of customers, and over time learns which offers (for example) are most likely to be accepted by a certain type of customer. As such it’s a prime example of BI applied to business processes: you can insert Real-Time Decisions in to, for example, a call center business process, and have it recommend an offer (a new credit card, a savings account, a brokerage account for example) which then gets picked up by the business process and presented to the customer. The best bit though is the self-learning aspect; by using data mining, the process gets more and more accurate over time as it adjusts the offers in line with the ones previously made that have been successful, with feedback either being immediate (whether the customer says “yes” to you sending him details) or staggered over a later time period (whether they then open the account, and even start spending money on the credit card). So how does Real-Time Decisions work?

Well, working with Real-Time Decisions is a bit of a cross between Java development and data mining. You use Eclipse as the development environment, with a Real-Time Decisions plug-in which makes it seem as if it’s a dedicated tool. No doubt in time this will be changed to JDeveloper, but for now, Eclipse is just fine.

Working with Eclipse, you set up the Real-Time Decisions project (called an “Inline Service”) by first defining the input data model, and then setting up the individual choices, decisions, informants (processes that tell the Decision engine something relevant), advisors (processes that pass back insights to the calling application) and models.


Working with the project is largely point-and-click, with Java code used to provide specific bits of logic to assign session variables to parameters, do some conditional stuff and so on. From working through the tutorial, it doesn’t seem that you need to be a Java programmer to put the project together, the code is uses is just basic variable assignments, if-then-else and so on, but (and I’ll come to this later in the posting) most likely you’ll need to be a Java programmer, or at least a SOA “process integrator”, to wire this product into your actual application.

Anyway, once you’ve put the inline service together, there’s a Java load generator program you can use to do some initial training of the model, and to check that it performs under load. Working with this tool was fairly straigtforward, you just tell it the number of steps to iterate over, how to assign parameter values (weighted, in sequence, random and so on) and let it generate a load.


After you’ve run the load test, you can further refine the model until it’s at the point where you can start running it with some real data. There’s a thin-client, web based application also provided with Real-Time Decisions called Decision Center; using this, you can see the decision steps that you’ve defined in the Eclipse tool, like this:


You can also see what decisions the tool has been making, and how much of a “lift” - successes above what you’d have got from random choices against a control group.


So what we’ve got here is a data mining tool built for a specific purpose - to build a model which will for example predict, for a given set of customer attributes, which offer they are most likely to take up; in other words, which is the most effective decision in a given situation. The real-time bit comes from the fact that it deals with streams of data and events, provides immediate feedback and stores feedback you provide to constantly update the model.

Positives from the evaluation process were that the main developer tool, as it was based on Eclipse and a plug-in, was suprisingly nice to work with, although it’s by no means an end-user tool - perhaps a direct marketing power-user or someone who in their other time puts BPEL business processes together, but not something that will sit alongside Answers and Dashboards as an easy-to-use end user query tool. It more sits alongside tools such the ones in Oracle SOA Suite, and of course you’ll need a Java or SOA/Web Services/ESB-style environment in which to plug Real-Time Decisions’ inputs and outputs in to - it’s not a database-centric application, it’s more designed to communicate via messaging and web services.

On the downside, the installation process was extremely painful and harked back to the bad old days of editing web.xml configuration files, setting up jmx remote ports and the like, working with JConsole and so on - it works with either OC4J, Websphere or Weblogic and stores it’s data in either Oracle, SQL Server or DB/2, and it took me around a day’s solid work to get it all up and running. As a hint, it does all work in the end, but you have to follow the instructions to the letter; I had problems in several places with capitals in the wrong places in variable names, etc etc, you just need to make sure you type it all in correctly and check at each stage that everything’s working. Some of the admin was also a bit rough around the edges; JConsole is used quite a bit to set up accounts and permissions, clear down results sets and so on; I guess in reality, the calling Java program would do all the managed bean (MBean) interactions that JConsole does but in the meantime, the server admin stuff is at this stage a bit primitive.

That aside though, it looks like a very promising product. You need to be aware of what it’s there for - for adding dynamic, self-learning decisioning to business processes and applications, with the data mining element being a bit of a “black box” and designed to do a single task - make increasingly accurate decisions. As such, its a good “first taste” of what BI-embedded in applications is going to look like, and one of my next tasks down the line is to put the SOA Suite “Order Booking” demo application together and try and wire Real-Time Decisions in to it.

Thoughts on OBI EE for Discoverer Users

I guess that if we’re looking at a potential upgrade for Discoverer users, it would be useful to take a moment to think about what’s good, and what’s not so good, about Oracle Discoverer.

  • Easy to use, lots of wizards, familiar look-and-feel, high awareness and exposure within the Oracle user community – many people have exposure to Discoverer through its apps integration, bundling with Oracle Application Server and so on – the “comfort” factor if you like. However, at Macerich we really do not use Discoverer with the apps. It is mostly use to present Property Manager data that is stored in our wharehouse.
  • Leveraging of Oracle’s built in calculation, analytic and PL/SQL functions – Discoverer uses the Oracle database as the calculation engine, you get access to all the built-in SQL and PL/SQL features including all the analytic (lag, lead, window, top N etc) functions.
  • Integration with Oracle database security and E-Business Suite responsibilities, and pre-built E-Business Suite reports and BI metadata layer.
  • Integration with Oracle Warehouse Builder (although this requires the Enterprise ETL Option for Warehouse Builder, at $10k a CPU on the ETL database), and integration with Oracle Portal
  • Oracle OLAP access through Discoverer for OLAP
  • Lots of functionality around totals, percentages and other report add-ons

If you were honest, the failings of Discoverer could be summed up as the following:

  • Oracle database-centric; although Discoverer can connect to non-Oracle databases, this is a fairly complicated DBA task and still requires everything to be routed through the Oracle Database, and the End User Layer’s Oracle database dependency still means you need an Oracle database somewhere, even if all your data is in MS SQL Server, for example
  • Although Discoverer integrates with Oracle Portal, in my opinion is not an optimal solution as it’s tricky to get all the report refreshes working properly, the reports in Portal don’t show a real-time view of the data underneath, you can’t drill and analyze in-place, and Portal itself is a bit overkill for just a BI portal
  • It’s very hard, if not impossible, to get Discoverer reports to run lightening-fast; typically Discoverer reports take 10, 20 seconds or more to return data, Discoverer itself adds a significant time overhead to queries, it’s just not a fast, snappy environment to report in.
  • The report authoring part of Discoverer requires a Java applet to be installed and then run in the client PCs Web browser, which can cause security and installation issues for users not running with admin rights, and requires a higher-spec (memory, CPU) PC to run on.
  • Discoverer for OLAP, whilst very similar to regular relational Discoverer in terms of functionality, look and feel, is however still different, has more limited capabilities (no parameters, can’t total by attribute and so on) and has a separate report catalog and security setup to Discoverer relational.
  • There’s (currently) no capability to create alerts, distribute reports, add in-context messages to reports giving advice on how to interpret the report.
  • There’s also (currently) no way of calling Discoverer reports via an API, or adding workflow to Discoverer reports so that a user clicking on a report area or a link displayed along it can trigger, say, a BPEL or Oracle Workflow process to act on insights provided by the report.
  • There is also (currently) no way of displaying Discoverer-generated data in, say, a letter, or printed labels, or in a report that contains more than one dataset.
I say “(currently)” in some of these issues because a few of them are being addressed by planned integration of Discoverer with OBI EE, and I’ll address these future alternatives to a straight upgrade to OBI EE later in the paper. For the time being though, Discoverer’s advantages could be described as its familiarity, leveraging of Oracle database features, support for totaling, percentages and analytic functions and integration with Warehouse Builder and Portal, whilst the drawbacks are this very Oracle database integration, lack of alerting and report distribution features, lack of APIs and interconnectivity with the application development world, limited output options, and performance, which shouldn’t be overlooked as it’s the number one compliant I hear about Discoverer when I visit customer sites

Monday, February 19, 2007

Choosing Between Release 12 or 11i

One of the most frequently asked questions at OpenWorld was, "Should I upgrade to 11.5.10 or Release 12?" Release 12 wasn't available at that time. Now that Release 12 is available, the answer is a bit simpler.

Release 12 website screenshot:

Not About the Technology Stack

First, the answer to this question is not about the relative merits about the technology stack for the respective E-Business Suite releases. At the heart of the choice between Release 11i and 12 is a hierarchy of business decisions, decisions that require broad and deep input from the stakeholders in your end-user community.

Assessing the Business Benefits

Back in the days when I was a management consultant, a system selection project could run for months (if not years). As with all business decisions in large organisations, your costs and benefits will likely be weighted by qualitative and political considerations, too. At minimum, if you're deliberating between a Release 11i (11.5.10) or 12 upgrade, I would recommend checking that your existing system selection framework includes variants of the following questions:
  1. What's the prioritised list of applications that your business users use today? What are the differences in Release 11i and Release 12 functionality for those applications?

  2. What business advantages, process improvements, and new organizational capabilities will be possible with the new Release 12 features?

  3. What are the new architectural or deployment capabilities in Release 12? How will these new capabilities improve system performance, scalability, availability, manageability, and security?

  4. What investments have you made in adapting your organisation to Release 11i, and vice versa? This might include:
    • Employee, partner, vendor, and supplier training
    • Customisations and personalisations, including custom Forms, OA Framework screens, workflows, concurrent programs, and reports
    • Integrations with third-party systems

  5. Which of your customisations, extensions, and personalisations can be replaced with new Release 12 features? What savings will these represent? How much of those investments will carry over to Release 12?

  6. How will Release 12 help reduce your operational costs? What are the incremental costs of Release 12 infrastructure, relative to your current Release 11i infrastructure costs? These costs might include server, storage, and networking hardware and licencing

Sunday, February 04, 2007

Applying O/S Patches to Apps Environments

Operating system (O/S) vendors often recommend applying latest patches or a specific patch to fix a specific issue you are facing, so you may wonder if these O/S patches could possibly have a negative impact on your E-Business Suite environment.

Unfortunately, it is not unknown for an O/S patch to have an impact on Oracle software. For example, see:

So, how do you identify and mitigate potential risks?

E-Business Suite Certified with Top Level O/S Versions

In general, Apps 11i performs certifications with only the top level operating system version (Solaris 9 or AIX 5.3 for example). Specific operating system requirements such as kernel settings or O/S patch requirements are documented in:

  • The platform specific release notes
  • Certify
  • Metalink notes relating to eBiz itself or the technology components
Oracle Support would not normally discourage customers from applying any additional O/S patches recommended by O/S vendors unless specific issues have been found and documented that affects Oracle software.

Test Thoroughly Prior to Production Rollouts

As with any patching activity, Oracle recommends that you perform sufficient testing in a representative TEST system prior to implementing in PRODUCTION, to ensure there are no issues introduced by any such changes.

Minimizing O/S Patching Risks

So, what proactive steps can you take to minimize the risk? Before applying an O/S patch:
  1. Search Metalink for any known issues.
  2. If you have any specific concerns, pose the question in the Oracle Forums to see if your peers have any experiences they can share.
  3. Search your O/S vendor's knowledge base and forums for any reported issues.

It is also prudent to have a tested emergency rollout strategy in place to allow you to recover if an issue is only found once implemented in the PRODUCTION environment.

Getting Help with O/S Patch Problems

If you are unfortunate enough to experience problems after applying an O/S patch (hopefully in your TEST environment), raise a Service Request with the appropriate Oracle Support team to get help with identifying the root cause of your issue. Oracle Support will likely expect you to work primarily with your O/S vendor in the initial stages of such an investigation, so you should certainly be engaging your O/S vendor support team as part of the problem resolution process

In conclusion, any change introduces risks as well as the benefits. Planning, research, a healthy dose of paranoia -- and as much testing as possible -- will allow you to minimize and mitigate the risks involved with applying O/S patches, giving the best chance of a successful implementation.

Transparent Data Encryption Certified for Apps 11i

Stories of lost backup tapes have become embarrassingly common. UPS lost Citigroup backup tapes containing personal information for 3.9 million customers. Bank of America backup tapes containing personal information for 1.2 million federal employees were stolen off a commercial plane. Marriot lost backup tapes with personal information for over 200,000 employees and customers. Iron Mountain lost Time Warner backup tapes containing personal information on 40,000 Time Warner employees. And the list just keeps getting longer...

If one assumes that any small physical object can be lost, then the odds of your losing a backup tape increase with every backup that you make.

Encrypting E-Business Suite Data
An option is to ensure that your backups are encrypted with the 10gR2 Database Transparent Data Encryption feature in the Oracle Advanced Security Option, reducing the risk of security breaches if backup tapes are physically lost or stolen. Transparent Data Encryption (TDE) is now certified with the E-Business Suite, allowing you to encrypt selected columns in the E-Business Suite's database files. This encryption is transparent to the E-Business Suite during runtime and requires no E-Business Suite patches. Backups of E-Business Suite database files are encrypted, requiring an Oracle Wallet for decryption.

For complete details, including a list of recommended columns to encrypt, see:
Using Transparent Data Encryption with the E-Business Suite (Metalink Note 403294.1)

US 2007 Daylight Saving Time Updates

Oracle recently held a webcast on the US 2007 Daylight Saving Time changes and their impacts on E-Business Suite environments. A recorded version of this webcast is available online.

The core E-Business Suite DST documentation has also been updated in a number of areas. The latest version is dated "January 31, 2007" and the updates are summarised in the document's change log. Some important clarifications about patching conditions and impact have been made in these latest revisions

The DST 2007 upgrade process should begin now.

Impact of US Timezone 2007 Changes on E-Business Suite Environments (Metalink Note 403311.1)

Saturday, January 06, 2007

Forms Personalisation

So, it's all about J2EE, right?

Well, it will be - and I am all excited by the move to the Fusion Applications platform, and its early form, Oracle Applications Framework.

But we still live in a world with Oracle Forms, and we will continue to do so for Release 12.

It's a feature that's been out just under 2 years, but this is a great venue to highlight it to make sure you're taking maximum advantage of it.

What now?

Forms Personalisation takes the Custom Library (CUSTOM.PLL) concepts and makes them much easier to implement. It is like going from a VCR to a Tivo.

CUSTOM.PLL coding is all hand-tooled PL/SQL which is controlled in a single source file, by default. It allows implementers to trap various Forms triggers and take actions based on them.

All Forms Personalisations, on the other hand, are stored as metadata, and so they are all seamlessly upgraded without needing to be re-applied or addressed - just like Flexfields or Folder definitions! Forms Personalisation provides tools to perform the same configurations, in the form of a Form. (Say that fast, huh?)

Open any Form in 11i10, and go to Help->Diagnostics->Custom Code-> Personalize. This brings up the Personalisation Form in the context of the Form and Function that you were in. This is where you build the Personalisations specific to that Form or Function.

The page has two major tabs: Conditions and Actions. Forms Personalisation is basically a big set of if-then statements that can execute because of various events that take place on that Form.


Conditions determine IF a personalisation executes after a specific event or Forms trigger (including MENU or SPECIAL triggers). Triggers (WHEN-NEW-ITEM-INSTANCE, WHEN-VALIDATE, etc.) can be attached to objects, such as this example - when the user tabs out of the Purchase Order Type field into the Supplier Name field. Note that Conditions include conditional logic (only if the PO Type is 'Planned Purchase Order', e.g.), and scopes (only for Purchasing Superuser responsibility or Vision Operations organization or Joe the useless intern).



Actions are the list of specific things that you want to have happen. The major actions are:

  • Builtin: Form or PL/SQL built-ins like executing a procedure, mimicking a key stroke, navigating to another function, opening a URL, etc. Very powerful indeed.
  • Property: Set the Forms property value of a form item (If it's a Planned Purchase Order, set the Required property of the Description item in the PO_Header block to TRUE, e.g.)
  • Message: put up a prompt warning like an OK box (cool because you can populate the message with data from screen variables, lookups, or calculations)
  • Menu: Enables a special menu entry, defining its label, icon name and blocks to which it applies.


How now? (.... 'brown cow?')

Those are the basics, and I think you can see how much more accessible this power is now. It's easily managed, as well. For example, there are delivered FNDLOAD scripts for migrating these personalisations between instances (DEV > TEST > PROD), as well as entering them in version control systems.

Also, there is a central form for identifying the personalisations and turning them off! Pretty good if you completely hose up the WHEN-NEW-FORM-INSTANCE event...

Couple of last notes

Forms Personalisation receives events before CUSTOM.PLL does but then passes them normally to CUSTOM.PLL... Your existing CUSTOM.PLL logic will continue to work, but you can introduce these Personalisations first.

Forms Personalisation was tested for performance and has been found to have very low impact.

You need FND 11.5.10 minipack (FND.H), patch 3262159; alternately, it's included in ATG Family Pack H with additional niceties.


How to Customize Oracle iExpenses Workflows

Here is a couple of examples of how to customize Oracle Internet Expenses workflows. You may need to change the seeded expense report notification routing or expense report approval method.

Changing Receivers of Certain Notifications

We wanted to re-route some notifications from the seeded performers (users, responsibilities, people) to a new performer (group of users). We created a new Oracle user with a new email distribution list as follows:

  • Define a new OIEADMIN Role. As System Administrator, complete the following steps, create a new Oracle user
  • Assign desired responsibilities to user OIEADMIN
  • Run the Synchronize Local WF tables process every time you make changes to user setup.

Define Workflow Notification Performers

Perform these steps in Oracle Workflow Builder to set up/change expense report performers. These steps include recommendations for which item attribute to use for each notification.

  • Load OIEADMIN Role. From the Files menu, select Load Roles from Database.
  • In the Role Selection window, query the OIEADMIN role.
  • From the Query Results region, select the required roles and click the Add button to add the role to the Loaded Roles region. Click OK to save the loaded role to the database. Save your work.
  • Assign Role to the attribute: From the Navigator window, open the attribute. In the Navigator Control Properties, under the Attribute tab the Type in the main region should be set to Role. In the Default region, select the proper Value (role) and click Apply. Save your work. Assign a role for each of the attributes listed in the Performer Definitions table below.

Define Notification Performers. For each notification outlined in the Performer Definitions table below:

  • Open the appropriate workflow process.
  • In the workflow process, open the notification.
  • In the Navigator Control Properties window, click the Node tab.
  • Set Performer Type as Constant instead of Attribute.
  • Choose OIEADMIN as Value.
  • Click Apply and save your work.
OIE Workflows - Assigning Performers

Note: To directly link a role to a notification, Set Performer Type as Constant instead of Attribute. Then, select the role OIEADMIN. By using the Constant type, you have more flexibility. The table below lists the notifications, the seeded performer for each workflow process, and new performer

Change the Find Approver Method

Perform these steps in Oracle Workflow Builder to change the Find Approver method.

  • Open the ‘Expenses’ item type from the database
  • In the Navigator window, expend Expenses and Processes folders.
  • Open (double-click) the manager (Spending) Approval Process
  • Open the Find Approver function
  • In the Navigator Control Properties window, click the Node Attributes tab.
  • In the Value field, select your approval method (e.g. One Stop Then Go Directly)
  • Click Apply and save your work. Click OK to save the workflow file to the database.
OIE Workflows - Changing Approval Method

Tuesday, December 12, 2006

Sneak Preview Release 12

Much speculation about the release dates of Oracle Applications next major release which is Release 12 has been around, However there is still no conformation on the official dates for its release to the users. The beta code version though has been out for some time now.

The post takes a sneak preview at Release 12 (Beta).
The post is just meant to share the new look and feel in Release 12.

As expected Release 12 will be real big in terms of disk space.

This is how it ate up disk space on a server being used to set up a demo environment within Oracle.

Application Tier Files - 20GB
Database Binaries - 4.5 GB
Vision Demo Data Files - 81GB

The login screen is the one perhaps that has undergone most of the changes. It comes with a fresh cool blue look. Something which you will have to get used with this Release.

The Self Service Home Page does not seem to have changed much expect for the new color scheme and link to Oracle Diagnostics on it.

The Oracle Application Manager console also looked pretty much similar with almost the same links as with

Invoking the forms based applications, it prompts you to install the Java 2 Standard Edition on your PC. Yes the Jinitiator is now gone. The installation is quick and over in a few clicks.

The forms interface is almost undistinguishable from, maybe just the fonts and color again.

Though the User Interface did not undergo any major changes, the Oracle Applications File system has changed quite a bit.

APPSORA.env -> APPS.env

The APPSORA.env used to setup your E-Business environment has now been replaced by the APPS.env which in trun calls the

Instance Top
A new Instance Top has been introduced
One of the main advantages of having this is to get a clear distinction between the shared file system and the file system unique to an instance.

Other Newly Introduced Variables

- This points to your $COMMON_TOP/java/lib

JAVA_BASE - This points at $COMMON_TOP/java/

Other Environment Variable Changes

- The JAVA_TOP now points to $COMMON_TOP/java/classes instead of $COMMON_TOP/java

OA_HTML - The OA_HTML now points to $COMMOM_TOP/oacore/html instead of $COMMON_TOP/html

FND_SECURE - FND_SECURE now points at $INST_TOP/apps/fnd/12.0.0/secure/ as opposed to $FND_TOP/secure//

Apart from this the machine admin scripts are now located at

Fusion Applications - The More You Know, The Better You'll Feel

Every morning, I check my favorite Oracle-related news sources and blogs for the latest buzz. Although it takes longer these days as my IT colleague has blocked my ability to use Firefox. Today, I stumbled across a great piece of research at The Register. The article, "Oracle's Fusion Applications Strategy: What The Customers Think", is based on 321 responses to a survey of Oracle Applications Users who are members of The Register's Technology Panel. This is pretty similar to the Fusion Applications Customer Profiling initiative recently completed by the International Oracle User Council (IOUC), but The Register's sample size is much larger.

The IOUC survey results were recently presented during Oracle OpenWorld (OOW). You can find the presentation and review the results for yourself at the OOW presentation download site.

The Register survey results indicated that Oracle Application customers were concerned about:

1. Oracle's lack of clarity and consistency in dealing with the future management of its multiple product lines.

2. The possibility that Oracle will delivery an immature and inelegantly integrated set of applications in order to meet self-imposed schedule milestones.

3. Fear about costs, disruption and protection of investments, mostly rooted in a concern that a migration to Oracle Fusion Applications will be forced upon them at some time in the future.

After sharing these concerns and concluding that only 15% of customers were completely sold on the Oracle Fusion Application strategy, The Register survey disclosed another very interesting result: there is a clear correlation between the level of customer confidence and the customer's depth of Fusion knowledge. For example, customers stating that the Fusion story is well understood in their organizations are also very confident of their investment being protected. These same customers are also very confident that they will obtain benefits in application flexibility through Oracle Fusion Applications. In other words, the more customers understand about Fusion Applications, the more confident they become in Oracle's Fusion Applications strategy...the more you know, the better you'll feel.

I share this timely information from The Register survey because the Oracle Applications Users Group (OAUG) is teaming with Solution Beacon to provide Oracle Applications customers with a wonderful opportunity to feel better with The Road To Las Vegas workshops. The overriding theme of the workshops is "Demystifying Fusion - OAUG's Three Step Fusion Program". The presentations will include some recommendations on getting your organization to Fusion Applications, as well as some hands-on workshops (BPEL and RAC are just a few of the workshop subjects). The overall intent of The Road to Las Vegas is to educate Oracle Applications customers about Fusion Applications - including Release 12, which is an interation on the way to Fusion Applications.

The Fusion Applications User Interface = Oracle WebCenter

WebCenter is a combination of JavaServer Faces development, the best features from various portal products, and a collection of horizontal web services. However, one needs to dig a bit deeper to really obtain a feel for the power of WebCenter.

According to Oracle, the WebCenter Suite architecture looks something like the following:

Keep in mind that this could change before the product release, which is scheduled for late 2006. Nevertheless, this should be fairly close to the delivered product.

So...why should we care about WebCenter? First, it is a progressive step in fulfilling the promise of using a single user interface to access business applications, enterprise content, business intelligence, web-centric applications, and your digital pictures of Uncle Fredo's dog. Second, because WebCenter will be the default user environment for Fusion Applications; we now have an idea of how Oracle expects users to interface with the next generation of apps...and it's very different from what any of us are doing today. In fact, if you've seen John Wookey's keynote address from OpenWorld 2006, you have some flavor of WebCenter and the change it will mean to the way we use applications.

You can learn more about the Oracle WebCenter Suite here.

Wednesday, November 29, 2006

Oracle Containers For J2EE (OC4J)

Oracle Containers For J2EE (OC4J)

One of the reasons I am writing today’s post on Oracle Container For J2EE is that apart from being a core component of the 10g Application Server Oracle Containers For J2EE is also an important member of the new Oracle Applications Release 12 Tech Stack.

Oracle Containers For J2EE or commonly referred to as OC4J is the underlying runtime engine for the 10g Application Server infrastructure. It is an extremely lightweight and easy to install component which requires less than 50 MB of disk space and 20 MB of your server memory to be up and running. It also has a support for a wide range of operating systems including NT, Linux, Solaris, HP-UX, IBM-AIX and Compaq True 64 with support for both 32 and 64 bit operating system.

OC4J runs on the Java 1.4 virtual machine and is J2EE 1.3 complaint. You can have multiple OC4J process running each of which is referred to as a OC4J instance. The OC4J configuration is controlled via XML configuration files and OC4J properties file. An OC4J instance is referred to as a container as it provides a web container to support services like Java Server Pages(JSP),Servlets , Enterprise Java Beans(EJB) and Web Services.

The OC4J also implements the following J2EE services.

  • Java Authentication And Authorization Service (JAAS)
  • Java API for XML Parsing (JAXP)
  • J2EE Connector (J2C)
  • Java Mail
  • Java Naming and Directory Interface(JNDI)
  • Java Database Connectivity (JDBC)
  • Java Application Framework(JAF)
  • Java Transaction API (JTA)
  • Java Messaging Service (JMS)

High Availability Single Sign On and SOA

OC4J can also be configured to support High availability architectures with Oracle RDBMS using Real Application Clusters and Oracle Datagaurd Technologies.OC4J also supports the Single Sign On functionality by making use of the JAAS service. OC4J is also out of the box Service Oriented Architecture (SOA) compliant as it supports the underlying feature of persistence.


Though I am mostly talking about OC4J as a component of the Oracle Application Server, its important to note here that it comes as a standalone java component as well in the form a single zip file. Both the standalone distribution and the Application server distribution are developer friendly and deployment friendly. The code deployment in OC4J is done
through a Enterprise Archive File (EAR). The EAR file contains the Web Archive (WAR file) which in turn encapsulates the Java Archive (JAR) files containing the code.

OC4J In Oracle Applications

OC4J replaces the Jserv component which is there in the current release 11i of Oracle Applications. Also as a result the mod_jserv component would be replaced by the mod_oc4j component in release 12 of Oracle Applications. The mod_oc4j is used to communicate between different OC4J instances.

The default installation Release 12 of Oracle Applications will create 3 OC4J instances

  • Oacore: This runs the OA Framework-based applications.
  • Forms: This runs the Forms-based applications.
  • OAFM: This is responsible for running the web services.

The Jserv groups which are there current in Oracle Applications Release 11i are also planned be replaced by OC4J instances.

As mentioned earlier the OC4J properties are controlled using the XML files and file. These files are managed by the standard Oracle Applications Autoconfig.

The Java code deployment in Oracle E-Business suite for OC4J is done at the time of install using rapid install and maintained by ad tools like adadmin and adpatch. New custom code deployment can be done by using the Application Server Control user interface.

The OC4J implementation in Oracle Applications Release 12 will include the following directory structure.

  • applications: Contains applications deployed
  • applications-deployment: Contains configuration settings for the applications deployed
  • config: Contains common configuration setting for the OC4J instance.

Sunday, November 12, 2006

Native Sun Plug-In to Replace Jinitiator in E-Business Suite Release 12

E-Business Suite Release 12 will replace Oracle JInitiator with the native Sun Java2 Standard Edition (J2SE).

[More cheering from Oracle Apps DBAs, Business Analysts and Users]

As most of you know, Oracle JInitiator is an authorised version of Sun Microsystems' Java2 Standard Edition with some specific fixes required to support Oracle Forms. JInitiator is currently required to run Oracle Forms in the E-Business Suite Release 11i, although Oracle is apparently running an Early Adopter Program that's evaluating the feasibility of eliminating this requirement for Release 11i.

Oracle JInitiator will no longer be required to run Oracle Forms in E-Business Suite Release 12. Oracle Forms in Release 12 will run directly in the native Sun Java2 Standard Edition plug-in. This will be the standard configuration for Release 12.

Related Articles:
Replacing Oracle JInitiator with Sun's Native Plug-In

Process Management in Release 12

Oracle executives have been devoting a lot of slides in recent customer briefings to Oracle BPEL Process Manager: it's the cornerstone for our corporate integration strategy. This begs the obvious question: what's going to be included in Release 12?

Workflow in Release 12

The Rapid Install for Release 12 will include Oracle Workflow out-of-the-box. At present, Oracle expect that the version included will be Workflow 2.6, but as always, this is subject to change.

The practical implication of including Workflow in Release 12 is that all of your existing customized workflows will continue to function with minimal disruption and effort if you're upgrading from Release 11i.

Optional R12 Integration with BPEL Process Manager

If you're excited about working with BPEL Process Manager, you'll have the option of doing that, too.

BPEL Logical Architecture:

Given that the E-Business Suite provides standard SOA web services, all that you'll need to do is to install OracleAS 10g and and BPEL Process Manager on a separate instance and point it to business service endpoints available from the E-Business Suite Release 12.

Getting Started with BPEL Process Manager and Release 11i

The BPEL Process Manager is considered a standalone tool outside of the E-Business Suite space, so you don't need to wait until Release 12. You can use BPEL Process Manager and other Oracle Integration connectors with Release 11i today. That's a good way of getting a headstart if you plan to upgrade to the combination of Release 12 and BPEL Process Manager in the future, or if you'd like to kick the tires and take this for a test drive today.

Encrypting Traffic Between 11i Application and Database Tiers

It's now possible to encrypt the SQL*Net traffic that flows between the E-Business Suite Release 11i application and database tier servers.

ASO diagram:

This long-awaited certification is delivered through an Oracle database feature called Oracle Advanced Security Option (ASO). For reasons too arcane to discuss here, this is also referred to as Advanced Networking Option (ANO).

The process involves installing an E-Business Suite Concurrent Manager patch and Oracle Advanced Networking, changing several configuration files, and then relinking your Apps executables.

The minimum prerequisites for this configuration include:
  • Oracle Applications 11.5.10 users with RUP 3 or later (11i.ATG.PF.H RUP3 patch 4334965 or later)
Negligible Impact on Performance

According to the E-Business Suite Performance Group, the overhead is approximately 5%, mainly due to an increase in round-trips and payload size as well as some trivial amount of packet processing when ASO is enabled.

For the security-conscious, this overhead is a small price to pay for the added security for encrypting this sensitive traffic.

Encrypting EBS 11i Network Traffic using Advanced Security Option / Advanced Networking Option (Note 391248.1)

Cloning OracleAS 10g + E-Business Suite Environments

Cloning an E-Business Suite environment is easy. Cloning an E-Business Suite environment that's been integrated with Oracle Application Server 10g is not quite as easy, unfortunately.

What's Cloning?

Cloning is the process of creating an identical copy of an already existing Oracle Applications system, including both the application-tier and database-tier.

Why Clone?

Reasons for cloning E-Business Suite environments include:
  • Creating a copy of the production system for testing updates
  • Migrating an existing system to new hardware
  • Creating a stage area to reduce patching downtime
One of our more risk-averse customers informed me that they may create up to 15 clones of an E-Business Suite environment between the TEST and PRODUCTION rollout phases.

The Easy Part

The E-Business Suite Release 11i was architected to support cloning. Experienced Apps DBAs know that the easiest way to create clones of their environments is to use the Rapid Clone utility introduced in 11.5.8. Creating a n E-Business Suite clone is as simple as copying your application-tier and database-tier files to the new target system and then running the perl-based Rapid Clone ( utility.

The Not-So Easy Part

Oracle Application Server 10g was designed with different goals in mind. Consequently, there are no Oracle tools available today to clone an entire OracleAS 10g environment in a single step. In other words, OracleAS 10g does not have the equivalent of a Rapid Clone utility.

In the absence of a single turnkey tool like Rapid Clone, creating clones of new OracleAS 10g environments is a more involved process. Not impossible, mind you -- but definitely more involved.

Things get even more complicated when an E-Business Suite environment is integrated with Oracle Application Server 10g.

Nothing But Net

There are neither tools nor formal documents available from the Applications Technology Group or from Application Server Development, for cloning E-Business Suite environments that have been integrated with OracleAS 10g.

In short, there are no tools available to meet the comprehensive cloning requirements for combined OracleAS 10g + E-Business Suite environments today.

Warning: Trail Ahead Requires Exploration

If you're willing to experiment a bit, the following are general guidelines to point you in the right direction. Some customers and Oracle Consultants have used the following approaches to get the job done but have reported that there was some trial-and-error involved.

These are neither detailed nor comprehensive instructions. The following should be attempted only by system administrators who have a solid understanding of the principles outlined in Metalink Note 261914.1.

Cloning Scenarios

Assuming that you have an E-Business Suite environment that's been successfully integrated with OracleAS 10g, here are a few cloning scenarios that may apply to you:
  1. Create a clone of your Discoverer environment
  2. Create a clone of your Single Sign-On / Oracle Internet Directory environment
  3. Create a clone of your Portal environment
Creating a Clone of Your Discoverer 10g Environment

If you've integrated Discoverer 10g with your E-Business Suite environment but have not chosen the Single Sign-On option, then the cloning process is relatively painless:
  1. Use Rapid Clone to create a clone of your E-Business Suite, including the application-tier and database-tier. Remember that the E-Business Suite database already contains the Discoverer 10g End-User Layer.
  2. Create a fresh install of Discoverer 10g on your new server and point it to the End-User Layer in the cloned E-Business Suite instance.
Creating a Clone of Your Single Sign-On / Oracle Internet Directory Environment

If you've integrated Single Sign-On and Oracle Internet Directory 10g with your E-Business Suite environment, do the following:
  1. Use Rapid Clone to create a clone of your E-Business Suite, including the application-tier and database-tier.
  2. In your newly-cloned E-Business Suite instance, set the APPS_SSO_LDAP_SYNC profile option to "Disabled" at the site level (since there's no new Oracle Internet Directory instance to synchronize with yet).
  3. In your newly-cloned E-Business Suite instance, unlink all E-Business Suite users that were linked to the original Oracle Internet Directory 10g users (i.e. where FND_USER.USER_GUID is populated), since the those old links are no longer valid. Those E-Business Suite users will need to be linked to their corresponding accounts in the as-yet non-existent new Oracle Internet Directory instance.
  4. Create a fresh install of Single Sign-On and Oracle Internet Directory 10g on your new server.
  5. Assuming that you enabled bidirectional provisioning between the E-Business Suite and Oracle Internet Directory, do one of the following (but not all three):

    a) Redo your bulkload from the E-Business Suite into Oracle Internet Directory, reregister your E-Business Suite environment using the Bidirectional Provisioning Profile, and enable the APPS_SSO_AUTO_LINK_USER profile option, and set the profile option APPS_SSO_LDAP_SYNC back to Enabled at site level.

    b) Export your LDAP namespace from your original Oracle Internet Directory instance into an LDIF file, and then import the LDIF file into the new Oracle Internet Directory instance. Reregister your E-Business Suite environment using the Bidirectional Provisioning Profile, and (assuming that the Oracle Internet Directory accounts are identical to the E-Business Suite accounts) enable the APPS_SSO_AUTO_LINK_USER profile option, and set the profile option APPS_SSO_LDAP_SYNC back to Enabled at site level.

    c) Connect the original Oracle Internet Directory instance to your new Oracle Internet Directory instance via a connector, synchronizing the namespaces. Reregister your E-Business Suite environment using the Bidirectional Provisioning Profile, and (assuming that the Oracle Internet Directory accounts are identical to the E-Business Suite accounts) enable the APPS_SSO_AUTO_LINK_USER profile option, and set the profile option APPS_SSO_LDAP_SYNC back to Enabled at site level.
Creating a Clone of Your Portal Environment
  1. Portal requires a working Single Sign-On setup, so complete the previous section first.
  2. If you haven't already done so, create a fresh install of Portal 10g on your new server.
  3. Use the existing Portal 10g documentation to export your portal content and metadata from the original Portal instance. Import that content into the new Portal 10g instance.
  4. Reregister the OAF Web Provider from your new E-Business Suite instance in your new Portal instance.

Portal 10.1.4 Certified for the E-Business Suite

Oracle Portal 10.1.4 has just been certified with the E-Business Suite Release 11i.

Portal 10g Screenshot:

There are a number of interesting new features in Portal 10.1.4, including the Oracle Portlet Factory, JSR-168 and WSRP support, Struts support, BPEL integration, a new Instant Portal, and others.

The Portal 10.1.4 certification with the E-Business Suite requires the latest Oracle Applications Framework Web Provider, which might lead to other prerequisites such as Applications Technology Group (ATG) Family Pack H Rollup 4 (11i.ATG_PF.H RUP 4, Patch 4676589). Other prerequisites will depend on your existing configuration. I'd recommend reviewing the documentation below carefully.


XML Publisher

Introducing Data Templates

Here is a reproduced article written by Tim Dexter - XML Publisher Development. I have been waiting for this since XML Publisher was first released!

"Another series of articles on the way ... this time concerning the relatively new data extraction engine from XML Publisher that is currently available in the Enterprise and E Business Suite flavors.

First a little history ...

Why build another extraction tool, there are others that can generate XML, Oracle Reports, various solutions from the database folks, the list goes on. To answer why you have to understand the volumes of data we are trying to handle here and the future of reporting for Oracle Applications. For EBS in particular we had multiple reporting solutions, the majority of which were based on Oracle Reports. The plan going forward is to remove Oracle Reports from the techstack in the fusion timeframe. Therefore we needed an extraction engine that offered all that Oracle Reports offers and was just as fast - Oracle Reports is danged fast at generating XML data. On top of that we are not talking about extracting data for a 2 page invoice, the engine needs to extract millions of rows to build tens of thousands of pages for some reports.
We looked at what was out there, SQL XML provided fast extraction for large data sets but we needed among others, event triggers and flexfield user exits, plus users would need to learn the wrapper functions used to generate the hierarchies. After a lot of research we decided to build an engine ourselves with all the bells and whistles needed to cover the Oracle Reports replacement requirements.

Features ... features ... features

To dig in a little to the features the engine provides:

Fast, scalable extractions - its fast, faster than Oracle Reports. We worked closely with the Oracle Performance team and had to re-write it a couple of times to get their approval. It needs to be fast too, those of you that use Oracle Reports EBS know that out of the box we generate flat text character based output. With XMLP we're generating high fidelity output ... that requires more processing time so the more time we save on the extraction the more we have for formatting without slowing the report generation.

Oracle Reports Features - if its going to replace OR in EBS then it has to match OR on features:

  • Multiple Queries/Joins - enabling master/detail extractions
  • Event Triggers - pre- and post- fetch for business rule processing. Currently plsql support but will add java
  • Flexfield Support - gotta get that natural account description with out the select statement - this is an EBS feature.
  • Formula/summary columns - again similar to Oracle Report functionality allowing you to create aggregation values and pl/sql based formula columns in your extraction
  • Data Structure - this allows you to build a hierarchy into your XML data similar to the grouping abilities in Oracle Reports
  • Group filters - a la Oracle Reports
  • etc

on top of that its also has:

  • Rich Java API layer - call a data template from your jsp or java app
  • Distributed Queries - this is neat. You're not tied to a single db nor even to an Oracle db. You can construct a data template that, for example hits an MSSQL instance for customer data and an Oracle db for their invoices. the engine will generate a single result set of hierarchical XML i.e. Customer1
  • Static XML File support - query across a db and an XML file. Text and XLS support coming.
  • Pluggable Data Templates - not here yet but the idea here is that you can build a core data template and then allow a plugin DT to be applied over the top to get more data from other sources.

Some of you will have wondered what the heck a Data Template is? this is the name we give to the extraction definition, its an XML representation of the queries, joins, data structure, etc."

General direction for BI Suite SE and EE

Here are some highlights from the Open World session. I've also linked to photos of the slides if you're interested in how it was all presented:

  • The release schedule for BI Suite EE is firstly to release version, with support for user-defined custom members and new graph styles, and then the 10.2.3 release which has support for enhanced custom members. The 11g release will then feature JSR-168 portal integration, integration with BI Suite EE Answers, Dashboards and Delivers, and will come with migration utilties and methodologies to support moves to BI Suite EE.
  • Discoverer customers will have three options going forward: to stay with Discoverer indefinitely, to stay with Discoverer but take advantage of EE features such as Dashboard and Delivers, or to migrate to EE. Migration is optional though and there's no compulsion.
  • The forthcoming "Maui" release of BI Suite EE has 200 new features including Oracle OLAP integration, RSS feeds, Linux support and 64-bit support.
  • The new Maui release (10gR3 V10.1.3.2)'s 200 new features can be categorised into six areas: firstly Lower cost of setup & administration, analytic server enhancements and dashboard and reports enhancements, and secondly Fusion Middleware integration, Oracle DBMS & OLAP integration and Security enhancements (see slides for more details), and
  • The 11g release ("Negril") will feature enhancements around the Analytic Server, dashboards, better OTLP and BI integration, and support for MS Office 12.

BI Suite EE - Some Key Points

  • The key differentiator for BI Suite EE is it's model-driven approach, which helps minimise requirements suprises as you develop the application
  • BI EE handles large data volumes through function shipping to the back-end DW database or OLAP server, rather than creating it's internal data stores and trying to scale those
  • The model-driven approach makes early prototyping easier - prototyping rather than a long requirements-writing process is the preferred development method, with a fully-functional prototype featuring role-based dashboards being delivered at the end
  • A typical BI EE project would involve the prototyping/requirements gathering phase, a performance tuning phase, regression testing and subsequent projects/iteration
  • When you build the Common Enterprise Information Model, make sure detail-level transaction data is kept in separate subject areas to aggregate, summary data, as mixing the two creates unusable presentation catalogs and bad query performance
  • Although BI EE supports the integration of data across data sources, this shouldn't be used as a way of creating a virtual data warehouse (EII) - this just doesn't work.
  • Understand the semantics of fact-based partitioning and logical table sources - by default every measure is a separate query block, but coalescing measure mappings in a single logical table source allows you to optimize by coalescing measures to reduce the number of queries
  • When implementing BI EE, resist the urge to rebuild the source data warehouse - instead create a handful of aggregates to speed up the slowest report, migrate these eventually to the source warehouses, use the caching and aggregate navigation features of EE to speed up the warehouse in-place.
  • When building analytics catalogs, keep to no more than seven top-level folders and seven columns per folder, minimize detailed columns (use navigation to access these instead), focus on adding measures and cross-fact calculations - this is where the value of EE is achieved, and use consistent order and naming - dimension folders at the top, measures at the bottom, and measure folders are named specifically so that end-users can distinguish between dims and measures.

Oracle BI & SOA - Hype or Here Now?

BI is positioned very much within the Fusion Middleware stack of products, alongside areas such as identity management, as one of the key pillars of the platform, and many of the BI Suite Enterprise Edition talks made reference to how the suite played well with SOA-enabled applications. So what does this mean then, in practical terms, for Discoverer, Warehouse and Oracle OLAP developers? Is it just another architecture, or does this represent a step-change in the way we put BI applications together?

As a basic starter, a Service Orientated Architecture is an application architecture that makes use of loosely-coupled, self-describing web-based components that can be accessed by a calling application without any knowledge needed of the way in which they are implemented. Like previous component architectures used when building VB, C++ or Java applications, you can call published components and work with the results, except in the SOA world there's no need for the calling application and the components being used to be built using the same technology; you just register the components using something called a broker, your calling application then checks in with the broker, establishes what services are available and what parameters they require, then makes use of them as desired.

What we're doing then is building an application architecture at the macro, rather than the micro, level. It's evolutionary, rather than a complete new way of doing things - components and object-orientated programming have been around for a while now, but the difference here is that by integrating at the published, standards-based interface level, you can string applications together that draw on functionality from all sorts of systems, even where you have no idea as to how they were implemented.

Apart from the loosely-coupled integration factor, another key feature is that these services can be "orchestrated" - the analogy here is with Oracle Workflow, but Oracle Workflow generally works with PL/SQL components only whereas SOA orchestration, using BPEL (Business Process Orchestration Language), is implementation-independent and a standard across the industry. As well as BPEL, another acronym is ESB, or "Enterprise Service Bus" - a communications layer that takes messages from one SOA component to another, queues them and ensures their delivery.

So, where's the relevance for business intelligence and data warehousing? Here are some recent articles on the subject:

Reading through these, it seems that the major areas of impact for business intelligence are:

  1. Exposing ETL functionality as a service, having these routines transform data coming into a warehouse in real-time and in such a way that they can be called by any sort of application
  2. Surfacing analytics, reports, dashboards and so on generated by SOA-compliant BI tools within line-of-business applications, and
  3. Using the scalability of these loosely-coupled applications to create bigger and better BI applications that are quicker to respond to new data sources, new business opportunities and new ways of analyzing data.
  4. BI has to become pervasive, user-friendly and as easy to use as Google Search.

So, getting back to the real world, what does this mean for us? Well, my initial thoughts are along these lines:

  • Our ETL tools need to be able to consume, and produce, web services, and work in real-time, so that they can provide the data formatting and transformation facilities required in an SOA environment. This is a step-change beyond the "flat files and database links" that we're currently used to with OWB, and we're going to have to get used to writing ETL routines that are fast, can be run on-demand as opposed to in a batch, and are more about interfaces and standards than automatically assuming we're working with Oracle-only data.
  • The analytics generated by our BI tools need to be made pervasive - it's no longer enough to provide a standalone client-server or web-based query tool; we need this tool to make it's insights available, again through web services, to all sorts of applications, so that for example a real-time prediction, or a visualisation showing a customer opportunity, is as likely to be shown in a call centre application as in a dedicated BI dashboard.
  • We have to build our data architectures in a way that makes them quick to respond to changes in the data landscape; no more three months to load a new data source via OWB into a data warehouse, we need the data in now, integrated and presented in such a way as to immediately be relevant
  • We need to get away from crosstabs, dedicated BI tools that need a week's training to master, and present just the insights people need to do their jobs directly in the applications they work with.

In terms of real-world specifics, my predictions in terms of Oracle BI embracing SOA include:

  1. Much more emphasis on BI's place in Fusion Middleware - more emphasis on identity management, more emphasis on interoperability, such that all major new features in Oracle BI (especially Discoverer, OWB) are centred around SOA-interoperability and enabling their use in this new architecture.
  2. A very strong emphasis on the technologies now available through the Sunopsis purchase. Sunopsis Data Conductor ticks all the right boxes in terms of SOA-enablement, process orchestration, being platform agnostic and so on. OWB will still be important, but in the world of SOA, Sunopsis will be the key ETL technology.
  3. BPEL will be the key workflow technology, replacing Workflow as the way you string together ETL tasks and business processes.
  4. BI Suite Enterprise Edition will be the key BI technology, with analytics then being surfaced through traditional dashboards but more increasingly, directly through the Fusion line of business applications
  5. The new Real-Time Decisions product will be the key to delivering real-time analyics, and automated decisions, through this architecture
  6. OWB will take on more SOA-type features over time; already you can consume a web service through a PL/SQL routine, it's only a small step to publish OWB mappings or processes as web services through a PL/SQL wrapper
  7. Web services will increasingly be used to expose Discoverer functionality to other applications
  8. In the Oracle BI world, it'll increasingly be about working in heterogeneous environments - Oracle will still hopefully be the centre of the BI world, and will individually have the best features, but it'll play well with other applications and BI solutions developed using Oracle tools will be designed as data source and visualisation technology agnostic

So, it looks like interesting times. Going back to my original question - hype or here now? - I'd say I'm coming down on the "here now" camp. Certainly if you're a partner, or a customer, this is the conversation Oracle and it's competitors are having with their customers, so by definition it's here now.

In terms of Oracle's products, SOA is definitely here in terms of the new BI Suite Enterprise Edition, Fusion Middleware and Sunopsis Data Conductor; it's not such an easy fit when you come to the traditional tools - but I guess that's not a bad thing; if you're after a fairly straightforward, tactical solution, and you're primarily working with Oracle technology, then Standard Edition and OWB are the best fit.

If, however, you've seen the possibilities when it comes to Oracle's middleware platform and the new SOA paradigm, well it just so turns out that Oracle may have the products to make it all work. Interesting times indeed.