Archive for January, 2009
Multi select in RichFaces trees
Jan 29th
In the past few months I have been involved in a development project where we are using Hibernate, Seam and RichFaces. One of the requirements of our customer is to have a hierarchical data structure represented in a tree structure. We found that the RichFaces rich:tree component meets all the requirements we have. Well, all but one: rich:tree is single select only, not multi select. Or is it?
SOA Suite 11g (TP4) – Create Mediator based SCA Composite Application from XSD – write to output file using File Adapter
Jan 22nd
A quick overview of you can create an SCA Composite Application that publishes a WebService interface, accepts SOAP Messages and write their contents to a file, appending a new record to the current contents. In the center of the composite sits a Mediator. Its interface is based on a WSDL that is created directly from an XSD document that describes the XML messages that have to be processed. The Mediator is then exposed as Service through a simple drag & drop operation. An outgoing file adapter service is created that writes its input in a comma separated record format to an existing file. Finally with another drag and drop, the Meditor is wired to this File Adapter Service and – with more dragging & dropping – the mapping between the incoming XML message and the outgoing CSV record is created.
This is all done using Oracle 11g SOA Suite, Technology Preview 4.
Reverting tagged version back to trunk in subversion using Eclipse (Subclipse)
Jan 21st
Yesterday I was given a new assignment. Of a certain system all development was stopped a month ago. The latest version, deployed and tested on the test environment, will not continue to be deployed on the production environment. The current version running on production is almost a year old. All new functionality developed after this version will be withdrawn, except for two changes. The assignment is to implement only these two changes on the version current running in production.
All the Java code is nicely stored subversion. There is a tag of the version current running in production, as well as several tags of later versions which has not been deployed to production, only to the test environment. How are we going to this? Read the rest of this entry »
Oracle Database Cross Session Data Cache – Introducing the Globally Accessible Database Context
Jan 21st
An Application Context in the Oracle Database is a name in-memory collection of key-value pairs. Applications can store values in an Application Context – using a package associated with the context – and retrieve values from them using sys_context( name of context, key for value). Sys_context can be used in PL/SQL as well as in SQL. Note that references to context values using sys_context are treated as bind-variables by the SQL engine – and evaluated only once at the start of the query.
An application context is usually associated with a session, its data stored in the UGA and the values only accessible within the session itself. There is however a second type of application context, that is accessible from all sessions in the database instance. The data in such a global application context lives in the SGA and survives the end of the session that stored the data in the context – as well as other session until the database shuts down.
This type of context can be used to exchange and share data between sessions. In particular it can be used as a global cache for global settings and values that are used frequently but may be somewhat expensive to retrieve. This article shows how to create a globally accessible application context and how to use it.
(Dutch) Dinsdag 20 januari 2009: PL/SQL Potpourri
Jan 16th
Aanstaande dinsdag 20 januari 2009 van 16:30 tot 20:30 ben je van harte uitgenodigd bij de PL/SQL Potpourri. Een kennissessie waarbij acht AMIS-consultants in negen korte presentaties iets zullen vertellen over interessante toepassingen van SQL en PL/SQL. In een paar uur wordt je meegenomen in de toepassing van aspecten van PL/SQL, waar je niet iedere dag mee in aanraking komt en waarvan je misschien niet eens wist dat ze bestonden.
Inmiddels zijn de sprekers en onderwerpen bekend. Het programma ziet er als volgt uit:
- Aino Andriessen – Character sets
- Alex Nuijten – Virtual Private Databases
- Anton Scheffer – De wondere wereld van call by reference en call by value
- Lucas Jellema – Application context
- Matthieu de Graaf – Business rules implementeren m.b.v. materialized views
- Matthieu de Graaf – Het gebruik van ref cursoren in combinatie met XML
- Patrick Barel – SQL on Steroids: Bulk operations
- Peter Ebell – Resource plans
- Peter Kerkhof – Mailen vanuit de database
Wil je aanwezig zijn? Meld je dan aan via deze link.
ADF 11g – persisted run time user UI personalization or: Impatient man’s MDS
Jan 9th
One of the rather cool pieces of functionality that did not make it into the JDeveloper 11g Boxer release of early October 2008 is the Meta Data Service or MDS and especially its capability to store and reapply user created personalizations of the User Interface across sessions. Some simple examples of what this means: ADF 11g Rich Client Components allow users to manipulate the state of components – such as the position of the separator in the PanelSplitter, the ordering and width of Table Columns, the initially visible tab or accordion child etc.. Through MDS, these changes are captured and stored for th duration of the session (if so desired), which means that when the user returns to a page thus ‘personalized’, the component will not assume their default state as specified in the JSF page at design time by the developer, but rather the state that user specified. Eventually MDS will persist these component personalizations across sessions – but not right now. That means that at the present when a user starts a new session, all components are presented in their default state.
In this article I will describe two things: Change Persistency for all attributes – not just the built-in settings that can be manipulated through the components and Persisting the changes across sessions, even with the current release of JDeveloper, ADF and MDS.
ADF 11g – reducing the price of richness or how to streamline downloading Javascript Resources for ADF 11g Rich Client components
Jan 7th
When you run a ADF Faces 11g Rich Client components application, you (or rather your users) are hit with a substantial JavaScript download overhead. It is not surprising, given the richness of the component library. However, especially for internet applications targeted at external users – consumers, customers – it may be very undesirable to have them wait up to several seconds for this download to complete.
The default splash-page that displays during the load of the Javascript surely looks familiar. (note: the resources section of this article has a reference to an article by Frank Nimphius that explains how to get rid of the splash-page -or modify it-; however, that does not take away the download overhead itself unfortunately).
Especially if the first page in the web application does not really use all that much richness to begin with. It is not uncommon to have a homepage that is largely static, pretty and heavily styled through CSS with perhaps a global search item, a couple of navigation links or buttons and maybe some newsfeeds or special offers. Or to start the application with a fairly simple login page.
This article describes how to reduce the (initial) download size to have the first page in an ADF 11g Rich Client Faces application display much more rapidly.



