Skip to main content

OOW2006 - Day 3 (Wednesday) : The Day of the Penguin

Wednesday was Keynote Day. First in line was John Wookey, who emphasized the continuity of the complete Oracle Applications stack and pointed out a couple of new features and enhancements in the future releases of Peoplesoft, JD Edwards, Siebel and the E-Business Suite. In this timeslot Giovanni Contino of Ducati got 15 minutes to present himself as an "happy customer". The two Ducati motorbikes that drove through the hall were rather cool. After this break John continued with the four key values of the new features of the products:
  • Search: A Google look-a-like search engine to search through structured and unstructured enterprise data.
  • XML based reporting: Using XML Publisher to create good looking reports.
  • Role based analytics: Presenting exact the information the user needs given his role.
  • Sustainable Integration: Creating a layer above all the different applications, so the end users doesn't even know what application he's using.

Then he showed a Sneak Preview of Fusion - one of the two buzzwords of OOW2006, with the WebCenter Suite. By combining different kinds of (un)structured enterprise content with the current messaging options, search and "Web 2.0" technology in the WebCenter a total new kind of user interface is created, that hides the base applications completely and relates closely to the desktop applications (like Google, Messenger etc) every uses knows nowadays. Oracle comes to your desktop!
According to the timeframe the Application Suite should be available in 2008.

Then I entered the Exhibit Hall (one of the two) and wandered around for some time. Unfortunately I did not win an iPod (it seems that every exhibitor had been shopping at the Apple Store three blocks away), a PSP or an Harley, but I did manage to fill my bag with a couple of (useful) goodies. They had to scan my badge a lot, so I expect some spamlike mail in the near future.

After lunch back to Hall D for the main keynote: Larry himself would address us, but not until we first went through the NASDAQ Closing Bell Ceremony. For non-Americans a rather strange phenomenon. What's all the excitement about? They close the NASDAQ every day, don't they?
As everybody knows now Larry announced the Oracle support of Red Hat Linux. Obviously Oracle didn't like the take over of JBoss by Red Hat; by that acquisition Red Hat was competing Oracle on the middle tier. And the empire strikes back... After the announcement the stock price of Red Hat lost about 25%. IMHO another reason to support Linux is that the more support on Linux, the more customers will make the switch to Linux from...Microsoft. So this move is a double hit!
To me Larry's quote of the day was (on a question what Red Hat's reaction could be) : Hey man, this is the way capitalism works!
During Larry's speech the transformed the Moscone to a Penguin Palace, with free t-shirts and other penguin goodies everywhere.

Then back to normal, the first real session of the day with the (to me prize winning title): Data Design Reviews: Using Extreme Humiliation to Ensure Quality Data Models by Kent Graziano. He told the audience in what way he managed to enhance the quality of the data models. The "extreme humiliation" part was somewhat exceeded, but he had some good tips. It was quite similar to the (in The Netherlands well known) Headstart Tools, Productivity Boosters and Quality Reports and CDM from Oracle Consulting. Afterwards he atmitted he was "strongly influenced" by Headstart and CDM.

The last session of the day was Dynamic SQL in a Dynamic World by Michael Rosenblum. He stated that a solution to imperfect analysis, specification and hardware is: generic models (don't mention this to Tom Kyte, it's one of his "worst practices"), code generators and repository based systems. You can argue to this statement, but let's move on. To support this solution he uses Dynamic PL/SQL. He showed some really good examples, but nobody did stop him on time. To me it seems that during his project dynamic SQL was more a goal than (part of) a solution. And he didn't mention SQL Injection (finally after a question from the audience) or - even worse - PL/SQL Injection (next to dynamic sql he uses dynamic pl/sql a lot). Also the problem of Dependency Analysis (e.g. if you drop a column, your program still compiles and fails only at runtime) was not covered.

That night we had a dinner with our colleagues from WM Data and the UK. It was really nice meeting these new people, hope we'll meet again somewhere in Europe.
Afterwards we went back to the hotel with a stretched limo (we managed to get 11 people inside).

Comments

Popular posts from this blog

Filtering in the APEX Interactive Grid

Remember Oracle Forms? One of the nice features of Forms was the use of GLOBAL items. More or less comparable to Application Items in APEX. These GLOBALS where often used to pre-query data. For example you queried Employee 200 in Form A, then opened Form B and on opening that Form the Employee field is filled with that (GLOBAL) value of 200 and the query was executed. So without additional keys strokes or entering data, when switching to another Form a user would immediately see the data in the same context. And they loved that. In APEX you can create a similar experience using Application Items (or an Item on the Global Page) for Classic Reports (by setting a Default Value to a Search Item) and Interactive Reports (using the  APEX_IR.ADD_FILTER  procedure). But what about the Interactive Grid? There is no APEX_IG package ... so the first thing we have to figure out is how can we set a filter programmatically? Start with creating an Interactive Grid based upon the good old Employ

apex_application.g_f0x array processing in Oracle 12

If you created your own "updatable reports" or your custom version of tabular forms in Oracle Application Express, you'll end up with a query that looks similar to this one: then you disable the " Escape special characters " property and the result is an updatable multirecord form. That was easy, right? But now we need to process the changes in the Ename column when the form is submitted, but only if the checkbox is checked. All the columns are submitted as separated arrays, named apex_application.g_f0x - where the "x" is the value of the "p_idx" parameter you specified in the apex_item calls. So we have apex_application.g_f01, g_f02 and g_f03. But then you discover APEX has the oddity that the "checkbox" array only contains values for the checked rows. Thus if you just check "Jones", the length of g_f02 is 1 and it contains only the empno of Jones - while the other two arrays will contain all (14) rows. So for

Stop using validations for checking constraints !

 If you run your APEX application - like a Form based on the EMP table - and test if you can change the value of Department to something else then the standard values of 10, 20, 30 or 40, you'll get a nice error message like this: But it isn't really nice, is it? So what do a lot of developers do? They create a validation (just) in order to show a nicer, better worded, error message like "This is not a valid department".  And what you then just did is writing code twice : Once in the database as a (foreign key) check constraint and once as a sql statement in your validation. And we all know : writing code twice is usually not a good idea - and executing the same query twice is not enhancing your performance! So how can we transform that ugly error message into something nice? By combining two APEX features: the Error Handling Function and the Text Messages! Start with copying the example of an Error Handling Function from the APEX documentation. Create this function