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!

Related

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.

Related

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.

Related

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 10.1.3.2.1 release (we’re currently on 10.1.3.2, the “Maui Release”). 10.1.3.2.1 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 10.1.3.3. 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 10.1.3.3. 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.

RTDPic1

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.

RTDPic1

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:

RTDPic1

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.

RTDPic1

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