Archive for September, 2006
Solving VMware network problems on Linux VMware guests
Sep 29th
When you use VMware Server software to move or clone VMware Linux guest machines, you are asked by the VMware software if it should update the configuration file. When updating the configuration file, as requested by the software, your once working network settings won’t work anymore.
The following will help you to get on your way resolving these network problems, caused by MAC addresses, which are now out of sync.
Free beer and Java talk
Sep 28th
As can be read on the weblog of Alef Arendsen, Interface 21 organizes a Java Meetup in Amsterdam. This meetup will take place on Friday, September 29. Tomorrow at the time of this writing!
Extending the JHeadstart 10.1.3 Application Generator using Custom Templates – Generate Table Overflow Style: Bubble
Sep 23rd
JHeadstart 10.1.3 has several new features, a whole new architecture and support for ADF Faces. One of the most interesting new concepts is the notion of the Custom Templates, that allow us to extend and override the functionality of the Application Generator with our own generation capabilities. Almost any post generation change can now be included in the generator and thus become generatable. In our experience this has proven simple to accomplish and hugely beneficial to the productivity as well as the maintainbility of our project and application.
In this article, I will describe the implementation of a new table overflow style, and how it was incorporated into the JHeadstart Application Generator. The article provides the custom templates for download, so you can benefit from this functionality yourself.
JHeadstart 10.1.3 supports three table overflow styles: when a group has more items than comfortably fit into a table, you use an overflow for items that do not have to be visible as summary items directly in the table rows, but that ideally are close by. The inline overflow allows the user to disclose details – expand a select row to reveal the overflow items. The overflow styles right and below display overflow items for the currently selected record, either next to or below the table. One disadvantage of these last two overflow styles is that they always take up real estate on the screen, even if you have no particular interest in them. Especially for larger numbers of overflow items, this may not be ideal.
During Steven Davelaar’s presentation the other day – see AMIS Query – JHeadstart – Launch of 10.1.3 and 5th Anniversary – I had visions of a new table overflow style, dubbed Bubble, that would allow a user to bring up a popup – not a window but a floating div – with the overflow items, much like an overflow right on demand. It would look something like:

When the mouse is moved over one of the … (detail) icons, the overflow bubbles up:

How does the sequence cache affect performance?
Sep 22nd
When defining sequences, you can choose to set a cache size or disable the sequence cache:
create sequence tst_nc2 start with 1 increment by 1 nocycle nocache;create sequence tst_ch start with 1 increment by 1 nocycle cache 50000;
I wondered, does it make an difference in performance?
Read the rest of this entry »
Integrating ADF Faces and MyFaces Tomahawk – Creating a Popup with ADF Faces Shuttle Component
Sep 22nd
One of the promises of Java Server Faces is the ability for developers to use a rich mix of UI Components from different libraries and vendors. You may pick one JSF implementation as your main library, yet complement it with components from other libraries that may be better suited to specific needs you have or provide functionality not available in your core set. In this article I will discuss the implementation of a popup element – not in a new window, susceptible to popup blockers and far too clumsy at any rate – but as a floating DIV that gets displayed and hidden on request. My main JSF Library is ADF Faces – aka Apache MyFaces Trinidad. However, since the ADF Faces library does not have such a light weight popup feature, I turn to the Apache MyFaces Tomahawk library that offers a popup element. I will show how you can incorporate this Tomahawk popup component in an otherwise ADF Faces page and have it display more ADF Faces components.
Changing the order of columns in a JSF Table Component -in the client, at run-time, by the end user
Sep 20th
The Rich UI components (see ADF Faces Rich Client Components – Marrying JSF and AJAX together) that the ADF Faces library will contain with the JDeveloper 11g release – and hopefully before that moment – will allow end-users to do all sorts of manipulations with Tables. They will be able to resize columns an drag & drop columns to change the order – much like you can do in Spreadsheet applications like Excel. However, those components are not yet available to us. Yesterday my customer asked me if he could have offer the option to re-order columns in a table to his end users. That means that in any table component, the user can decide which column should be displayed first, which one second and which one last. It happened to be the same customer who was after the feature to show/hide columns at run-time, a challenge easily resolved in a previous article: Having the end-user hide and display columns in a JSF Table Component.
In this article, we will see how we can implement this feature: have the end-user specify the order of the columns in the table. I have used ADF Faces for this demonstration, but any JSF implementation will do.

Testing Knowledge of Database Performance – Is this a good Execution Plan?
Sep 20th
Database Performance Analysis and Tuning of queries and Database Design have never been my specialty. As of late, I have been reading a lot in this area, on Wait Statistics and events 10046 and 10053, on different strategies for table design and index design, on partitioning and clustering and many other more or less advanced topics. But the basics are also under construction. What does an execution plan tell me again? How can I interpret the plans of the CBO and how can I recognize a suboptimal plan or a plan based on wrong information. More in general: what does the CBO know and do? What does it mean to execute a query?
Doing database performance tuning is not my daily job. But it is something every self conscious Oracle professional should be well versed in. Besides, I am doing a lot of job interviews with Oracle professional applying for a job at AMIS. It happens quite frequently that they state to know quite a bit about database performance and query tuning. Then of course I try to assess exactly how much they know and have done in this area. Simple questions are whether they use TKPROF and what information they gather from Database Traces (that eliminates most of them by the way, as hardly anyone seems to get beyond a simple Explain Plan and using Trace files and TKPROF is only for the elite). Then I try to spar a little on the CBO, Hints, Execution Plan, Index Design and so on.
As we were recently designing a four week training program for junior Oracle Developers, it struck me that a very simple question could be a good first test as to the awareness with regard to performance related knowledge and experience of people I interview: is this a good execution plan?
Read the rest of this entry »
Many useful sessions on Application Development in the Oracle DEVELOP track at Oracle Open World 2006
Sep 20th
I will go to Oracle Open World this year. The last time I visited the real OOW – not the European or Australian version that I attended in the past – was back in 1998 where I spent most of my time on the Oracle Consulting campground. I do not have too many very fond memories of that conference – apart from being introduced to Austin Powers. Don’t ask. This time I am very much looking forward to it. The main reason for this, is the Oracle DEVELOP mini-conference, a three day program that focuses entirely on developers and development technology. From Steve Muench’s blog on OOW: "a developer-focused learning event during the show called Oracle Develop.
It’s a great chance to catch up on all the latest technologies, tips,
and tricks to head back to the office with a leg up on building
applications with Oracle and Java technologies. It’s a great chance to
network with other developers as well, not to mention checking out the
local San Francisco attractions, OpenWorld parties, and vast Oracle
demo ground to chat with Oracle product managers working on the latest
releases of our products."
Read the rest of this entry »
Having the end-user hide and display columns in a JSF Table Component
Sep 20th
Yesterday I was discussing the migration of a Web PL/SQL based application to the Oracle ADF Technology Stack, most particularly to Java Server Faces. One interesting feature the customer would like to add to the application sometime during the migration was the ability for end-users to turn on and off the columns in a table component. The need for this feature was fairly obvious: some of the records presented in tables had over 30 or more columns and these could clearly not all be shown at the same time. However, the requirements as to which column should be visible were very different for different users at various times. So rather than pre-program the columns to be displayed in the table layout – and presenting the others in a table overflow area or a form layout detail-page, the customer preferred to leave this decision up to the end user, at run time.
My initial thought was: nice challenge, a real nut to crack. However, when I sat down to actually do it, I was a little disappointed: it was very easy! Not something to boast about at the Friday afternoon party at Cafe@AMIS – our company bar. However, since the result is quite nice, I will tell you how to do it anyway. Note: the next challenge would be ‘how to allow the end user to rearrange the columns’. A little tougher but probably not too much of a problem either.

AMIS Query – JHeadstart – Launch of 10.1.3 and celebrating 5 years of JHeadstart
Sep 18th
Last week we hosted the umpthieth AMIS Query – our series of Technical Seminars on Oracle and Java related subjects – with over 60 visitors. We always try to throw a good party – along with excellent speakers, great presentations and a hands-on workshop to give the audience the chance to also try for themselves what is demonstrated – by having drinks, snacks and a hot dinner buffet. We were in luck as the wheather was good and we could have dinner on the terrace.
Were also celebrating JHeadstart (note: this was not an official Oracle JHeadstart celebration): we were doing the semi-official AMIS-launch of the JHeadstart 10.1.3 release for ADF Faces as well commemorating 5 years of JHeadstart. Sprouting from an internal project at Oracle Consulting, the first blossoming of JHeadstart took place in 2001, around by now almost forgotten technology such as UIX and especially the Oracle 9iAS MVC Framework for J2EE. Three members of the original team that produced JHeadstart – Peter Ebell, Steven Davelaar (our main speaker) and Lucas Jellema (that’s me) had gathered for this event.
After the Pagoni Project presentation, Steven dazzled the audience with a vibrant presentation/demonstration that ran from 16.30 to 19.45 – roughly interrupted by the Chinese Buffet – after which over 30 people decided to use the workshop facilities and give JHeadstart 10.1.3 a try.



