Archive for November, 2009
Versioning an Oracle ESB service
Nov 26th
We recently had a case that required a new version of an Oracle ESB service alongside the old version to provide backwards compatibility. Unfortunately, this is not supported for 10g (10.1.3.4.0) ESB service; it will be with composite services in the 11g SOA suite. One way to accomplish this is to include both service interfaces, but that'was not possible in our case. Another, more rigorously, is to create a new service.
Fortunately, there is another way…
Figure 1 : Both versions of the HelloWorldService next to each other
ADF 11g: contextInfo to implement a common Fusion Applications pattern
Nov 26th
Oracle Fusion Applications are on the move. They were demonstrated at Oracle Open World 2009, they are current being tested with dozens if not hundreds of organizations and they have been promised for general availability later in 2010. Screenshots of selected modules are available on the internet, for example at: http://www.flickr.com/photos/oracleopenworld09/sets/72157622462805751/.
Fusion Applications are of interest to any ADF developer, as Oracle teams have worked hard – in close collaboration with the ADF development teams – to come up with UI patterns, ways of leading the end user through the application, presenting data and currently available actions in intuitive or at least consistent ways that would most likely work for most of our applications as well. And since we have the same technology stack at our disposal as the Fusion Apps teams have, we can see whether their best practices work for us too.
A recent addition to the catalog of ADF Faces components was the contextInfo component. It is quite heavily used in Fusion Apps for one such consistent pattern. The next screenshot illustrates this component:

The little orange markers in the upper lefthand corner of the Project Name fields – that is the manifestation of the contextInfo component. The popup you see for Stark Industries BI Rollout is the effect of activating the component. And it demonstrates its purposed rather nicely and effectively: whenever the user sees a contextInfo marker (the little oracle square) she knows that additional information associated with that field is available. The user can click on the marker and the context information is presented in whatever way the developer feels is most appropriate, though usually a popup will be used.
ADF 11g – the native AutoSuggest behavior
Nov 25th
The recent ADF 11gR1 PS1 release introduced a component we have been waiting for: the inputText with AutoSuggest. An inputText component that will present suggested values to the user depending on whatever text the user has already entered. The implementation in ADF of the functionality that got AJAX started, based on the original Google Suggest feature:

The auto suggest mechanism in ADF is not so much a new input component as it is a behavior (component) that can be added to inputText components. By adding the properly configured autoSuggest to an inputText, it is turned into an inputText with autoSuggest:
<af:inputText label="Country" value="#{item.country}"
columns="20" id="it5">
<af:autoSuggestBehavior suggestedItems="#{countrySuggester.getCountries}"/>
</af:inputText>
Here we have added the autoSuggestBehavior to an inputText that is used for entering a country. Of course we could have used a dropdown component, combobox or list of values. However, the auto suggest is somewhat more light weight and elegant especially when our collection of countries is far from complete, and we only have a limited number of suggestions to offer – and we certainly would not want to suggest that the user can only choose from the values we are proposing.

ADF 11g: Carousel is not just for images – on carousels with panelbox, tabs, panelform and input components
Nov 24th
Following on the heels of Luc's excellent post on the new ADF 11g carousel component – http://technology.amis.nl/blog/6514/jdeveloper-11112-carousel-component-as-master-and-detail – is another article that shows off this visually attractive component, using it in a slightly different way.
Even though the most logical application of the ADF 11gR1 PS1 carousel component is to use for displaying images, the component does not mandate that approach. We can create carousel-items that contain whatever we like – including forms with enterable items. The carousel can be used for example as an alternative way of presenting, browsing through and editing detail records.

As you can see in this screenshot, a carousel item can hold various nested components, such as PanelBox, PanelTabbed, PanelFormLayout and all kinds of input components.
JDeveloper 11.1.1.2: Carousel component as Master and Detail
Nov 23rd
In this post I introduce to you one of the new ADF Rich Client components and one way to use it: The Carousel. You can display a set of images through a carousel, an animation effect that switches the emphasis successively between images as the user moves the mouse across them.
.jpg)
You can also have the carousel invoke and respond to partial triggers and display data in master detail relationships. Read the rest of this entry »
Migrating your web applications from JEE5 to JEE6
Nov 15th
On Wednesday, November 11, the Netherlands Java Users Group (NL-JUG) organized the JFall 2009 Java conference. At the conference I had the pleasure of doing a presentation with a live demo about what steps can be taken to migrate an existing JEE5 web application to JEE6. The application ran on GlassFish v2 and I migrated it to GlassFish v3 using NetBeans 6.8 Beta. This article describes my experiences with GlassFish v3 and NetBeans 6.8 Beta and it explains what steps I took to migrate from JEE5 to JEE6.
JDeveloper 11g PS 1 has been released – cool stuff!
Nov 14th
Last month during Oracle Open World I wrote an article on the upcoming features of PatchSet 1 for JDeveloper 11g: . Now this release has been published and is delivering on those promises. For an overview of all (?) new features, take a look at What's New. It is a fairly dry, emotionless, factual list of features small, large and enormous new features. With brief descriptions and screen shots for many of them, it gives you a quick overview of what might be useful to you. Note however that some gems are hidden away in this list for which the meaning and importance is not fully captured I believe in this summary. And of course the relevance of any new feature depends on your specific situation.

Oracle 11gR2 – alternative for CONNECT_BY_ISLEAF function for Recursive Subquery Factoring (dedicated to Anton)
Nov 14th
On our blog, we have been discussing the new hierarchical query functionality in Oracle Database 11g Release 2, using Recursive Suquery Factoring. Instead of using CONNECT BY and its close associates such as START WITH, PRIOR, LEVEL and more exotic comrades like SYS_CONNECT_BY_PATH, CONNECT_BY_ROOT and NOCYCLE this release gave us a new, less proprietary and eventually probably more intuitive and functionally rich approach. We have also written how though we have no straightforward alternatives for LEVEL, SYS_CONNECT_BY_PATH and CONNECT_BY_ROOT – in the new recursive approach they are fantastically easy to emulate.
Until recently I have been quite happy with the new hierarchical querying and telling the world how I felt. Then an esteemed colleague – a far more experienced SQL programmer than I am – came up to me and remined me how the recursive sub query syntax at the present does not have a replacement for the CONNECT_BY_ISLEAF function – the SQL function that tells us whether a node produced in an hierarchical query has any children or is at the bottom of the chain – i.e. a leaf node. For leaf nodes (child-less), the function returns a value of one and for parent nodes the value is zero.
Anton (my colleague) was right and unfortunately I did not have a quick retort. However, after giving it some thought I believe I have found a way of emulating the CONNECT_BY_ISLEAF as well, using the new DEPTH FIRST ordering capabilities of the recursive subquery. I hope this will satisfy Anton as well.
XFiles – An APEX Community Effort
Nov 9th
Just so you know, there is an APEX demo app. out there that never has seen the light. The demo application based on Mark Drake’s (Sr. Product Manager Oracle XMLDB) XFiles xmldb demo application build with Javascript, Java & PL/SQL. Carl Backstrom helpt Mark in 2008 to rebuild the same demo app. into an APEX look and feel demo application. Carl wanted to clean up the code but never came around to it… I recieved the code from Mark, after a year has passed after Carl’s tragic death, and I am trying to get it out there (if applicable on http://apex.oracle.com). The XFiles demo application is a lightweight Content Management System that demonstrates all the things possible with Oracle XMLDB functionality.
The installation dependancies have been almost now figured out by me and I have finally something to show.




