Archive for August, 2005
On Line Documentation for Oracle 10gAS 10.1.2 – including ADF Documentation
Aug 31st
For the on-line documentation for release 10.1.2 of the Oracle Application Server, see http://download-uk.oracle.com/docs/cd/B14099_10/web.htm.
It contains besides others links to documentation on the ADF (Application Development Framework), such as Development Guidelines Manual and the Case Manual – a tutorial based on the ToyStore demo application – next to the JavaDoc.
Also in this documentation library: MapViewer, OC4J, XDK (XML Developer’s Kit), MOD_PLSQL (!) and Web Toolkit reference.
At http://download-uk.oracle.com/docs/cd/B14099_10/bi.htm you also find the Business Intelligence documentation on Discoverer, Oracle Reports and Oracle Personalization (a tool that I thought had been discontinued).
The integration section http://download-uk.oracle.com/docs/cd/B14099_10/integrate.htm provides documentation on InterConnect, BPEL, Oracle Workflow and the Oracle Application Server Adapters.
Building Custom JSF UI Components – Article Chris Schalk TheServerSide.com
Aug 31st
Today I read this very interesting article by Chris Schalk – responsible for the Web application development features within Oracle JDeveloper- TheServerSide.com – Building Custom JSF UI Components. Chris explains in a step by step overview how you can develop your own JSF UI Components, how you can register them with JSF and as JSP TagLibrary. He starts out with a very simple example of a read-only UI widget but moves on to a widget with a lot more functonality – button, input field, display-field on the client side and interaction with a WebService on the server side. I have not actually tried it out myself, but this seems like an ideal starting point for building your own UI components. I am wondering whether it is easy/supported/useful to extend UI Components built by others. Anyway, this article strongly suggests to me that there will be a thriving market of JSF UI Components, many open source components. The threshold for creating JSF UI Components is very low and it is rather easy to incorporate such components from external sources. That sounds like ideal for open source reusable component development. Besides, JSF Components will probably be more en vogue or classy or J2EE-ish than the Custom Tag Libraries are – although the concepts are pretty closely related.
Chris also suggests introductory articles for people entirely new to JSF:
For those who are still new to JSF development, readers are highly recommended to first consult JSF application tutorials such as Rick Hightower’s article on basic JSF development:http://www-106.ibm.com/developerworks/library/j-jsf1/
Or my earlier JavaPro article, which also introduces JSF:
http://www.fawcette.com/javapro/2004_01/magazine/features/cschalk/
Integration between Repository Object Browser and Headstart Utilities Quality Reports
Aug 31st
The Repository Object Browser is a valuable web-based interface to the Oracle Designer and SCM Repository, as I discussed in a recent post: Installing the Oracle Designer Web Interface – Repository Object Browser (dig up that little nugget). Another valuable tool that adds functionality to Oracle Designer is the Headstart Utilities. This component of the iDevelopment Accelerator’s Suite provides the backbone for CDM RuleFrame as well as a number of general Productivity Boosters. In addition, the Headstart Utilities contain a set of Quality Reports.
These Quality Reports perform an audit of elements in Oracle Designer, such as Modules, Table Definitions or Entities. This audit is performed against the CDM (Custom Development Method) standards. However, if you want to, you can implement your own quality checks in addition to or instead of the CDM based checks. The user interface to the Headstart Utilities is a WebForm. Needless to say that using the Headstart Utilities requires a WebForm Server installation. This can be somewhat of a obstacle. This post discusses how – with minor changes – you can integrate the Headstart Utilities Quality Reports with the ROB. This integration means that you invoke the Headstart Quality Reports from the ROB report. The Quality Report is displayed in the browser window. No Form Server is required any longer, the server side installation of Headstart Utilities – just a number of database packages and tables – suffices!
When the changes described in this post have been applied, every ROB Report will have an icon added to the menubar

The last icon in the bar is the new icon for the Headstart Utilities Quality Report. This icon provides access to the quality report belonging to the element shown in the normal ROB Report. Below we see a Table Definition Report for table HSD_EMPLOYEES. Read the rest of this entry »
Installing the Oracle Designer Web Interface – Repository Object Browser (dig up that little nugget)
Aug 29th
One frequently overlooked component of Oracle Designer is its Web Interface: the Repository Object Browser. Added in 2003 to Designer 6i and 9i as well as in 2004 to 10g, the Repository Object Browser (or ROB for short, apparently after Rob Gauf, Oracle Expert in Edmonton, Canada) offers a read-only interface to anyone with a web browser – Internet Explorer 5.0+ or Netscape 4.7+/Mozilla, FireFox – on the contents of the Oracle Designer repository.

This means that without installing a Designer Client – and paying licenses for the Designer product – and without lengthy and expensive training, project leaders, analists and even end-users can browse through whatever is in Designer. Even for Developers and other experienced Designer users does the ROB offer neat functionality, such as a very powerful search tool. More detailed overview of the ROB can be found in a white paper I wrote for ODTUG several years ago: Soul Searching – Browsing and Extending Oracle Designer, Repository Object Browser and Oracle SCM.
Through this post I hope to entice all of you Designer users that have not yet configured the ROB to do that shortly. Getting the ROB up and running takes about 10 minutes, and there are few ten-minute-periods better spent. Read the rest of this entry »
Some small improvements for CDM RuleFrame (including code)
Aug 27th
After a year full of stuff like Spring, UIX and ADF, JHeadstart, Struts and JSF, XSL-T and the likes, PL/SQL and SQL, I had a bout of nostalgia this week as I participated in a more ‘traditional’ project, although with the very latest versions of the ‘traditional tools’. Designer 10g, WebForms 10g, Headstart 9i-certified-for-10g, Repository Object Browser and CDM RuleFrame. In a way a trip down memory-lane, although I have not done a lot of work with WebForms 10g and I am looking forward to an opportunity to work with JDAPI and WebUtil in practice. And it is nice to have a little family reunion as I still consider both the ROB and CDM RuleFrame as my babies.
There are some things I have always found annoying while working with CDM RuleFrame – apart from the fact that I would like to give the whole framework a major overhaul, see for example my post The future of CDM RuleFrame – the Oracle framework for server-side business rules. I have made some changes to the Utilities underlying CDM RuleFrame to make life more comfortable:
- Show list of all available parameters – In the PL/SQL Block where I have to actually code the business rule, I would like to see a list of the parameters that RuleFrame will make available to me at runtime – I don’t like checking the list of Arguments, it is far easier to directly see and copy/paste the parameter names
- Overwrite Business Rule Design Definitions – I do not like the fact that the Business Rule Design Transformer cannot overwrite or replace existing Business Rule Design Definitions, if I were to tell it do do that; now I have to manually remove the Business Rule Design Definition (both Trigger and Trigger Module) before I can run the Business Rule Design Transformer on changed Business Rules.
- Create Arguments for Primary Key columns – I am most annoyed by the fact that if I want my business rule validation code to make use of the Primary Key of the current record, I have to manually create a Program Argument. Normally, the BRDT takes Function Attribute Usages and creates Arguments from them. However, my Primary Keys are ID columns that I have had the Designer Database Transformer create as Surrogate Primary Keys. Therefore, these columns are not based on Attributes and hence I cannot create Function Attribute usages for them and therefore the BRDT cannot create Arguments
Book Review: Beginning Oracle Programming
Aug 26th

Title: Beginning Oracle Programming
Authors: Sean Dillon, Christopher Beck, Thomas Kyte with Joel Kallman and Howard Rogers
Publisher: Apress
ISBN: 1-59059-286-7
Publication Date: Sep 2003
Website: http://www.apress.com/book/bookDisplay.html?bID=253
Enhancing Web Applications with AJAX, XMLHttpRequest, UIX – Report from An AMIS Ten Minute TechTalk
Aug 24th
I was kindly requested recently to do a brief – and it was stressed several times that it really had to be brief, not something I am particularly well-known for – presentation on any topic that I considered interesting, relevant and stimulating for our Knowledge Center on Web and Java. My talk was to be the first of many, where all 20 odd members of this Knowlegede Center will do such Ten Minute Talks over the coming months’ meetings. The real challenge for me, apart from that absurd 10 minute limit of course, was not to find a subject – I had dozens. I toyed for example with topics such as: Byte Code generation/manipulation, Oracle Rules, JavaScript and DHTML, ADF Faces/ Java Server Faces, Hibernate, AspectJ and Aspect Oriented Programming, JFreeChart, “XUL, HTC, Flash, XForms and other Client Side technology”, Google Maps, J2EE Design Patterns. I found it very hard to pick just one, primarily because selecting one means de-selecting many others. In the end I decided to demonstrate and discuss the concept of AJAX (Asynchronous JavaScript and XML). Or rather, I discussed a slightly broader definition:
Any method for partially updating the web page displayed in the Browser based on server-interaction without the browser losing focus
I was more concerned with the concepts and potential functionality than the specific technology used. Within this self-defined scope, I discussed three approaches:
- Frame refresh – Based on multiple frames where one frame is reloaded (and potentially updates the other frames using JavaScript and Client Side DOM Manipulation
- Oracle UIX – Partial Page Rendering – Based on (hidden) IFRAME and DOM Manipulation (this discusses the built-in features of Oracle UIX and presumably ADF Faces)
- “regular AJAX”- Based on (hidden) XmlHttpRequestObject and DOM Manipulation
OERR – In search of Error Messages/Events
Aug 23rd
Sometimes you want to search for Oracle database messages, their meaning or you are in search of specific database event settings.
For instance, a long time ago i was searching for an event that would trace when an datafile would expand / autoextend. I encountered latching problems on a Siebel system based on an new Oracle Failsafe environment (Windows 2000 cluster). I wanted to be sure that these latching problems weren’t introduced by the newly introduced datafile AUTOEXTEND feature. So i put in a TAR on metalink with the request if there was a way to trace, eq. an event setting, when a datafile extended. This way i could cross-reference this timestamp to the timestamps i was registering my latch problems. The reponse took a long time. I was in need for an answer, so i created a workaround via a PL/SQL procedure. This procedure was executed via the database job scheduler. Every time a datafile extended, the timestamp, SCN, extend growth etc. was picked up by this procedure, and the data was stored in a table.
Lately i am in search of XML DB knowledge, more specific, DBA/database specific XML DB knowledge (object performance/sizing/XML Schema tuning, etc. stuff). In the new Oracle 10g Release 2 manuals, i came across the event setting 31098: “Internal event to turn on XDB tracing”. So i wondered if there were more of these settings. Apparently this setting was already applicable in Oracle 10g Release 1.
I have a small script called OERR, like the Oracle message utility under UNIX. It does the following:
SQL> @oerr 31098
Error 31098 is: ORA-31098: Internal event to turn on XDB tracing
The SQL code for this script:
Read the rest of this entry »
Powercharging FireFox using GreaseMonkey
Aug 21st
Today I discovered GreaseMonkey mozdev.org – greasemonkey: home. Greasemonkey is a Firefox extension which lets you to add bits of DHTML (“user scripts”) to any web page to change its behavior. In much the same way that user CSS lets you take control of a web page’s style, user scripts let you easily control any aspect of a web page’s design or interaction.
Installation takes all of 3 minutes and you can then start adding (or writing) GreaseMonkey scripts, I have started with a few scripts that do the following:
- Create a Table of Contents for any WebPage – it displays a select-list at the bottom of your webpage; the list contains all header elements (h1..h#) in the page. By selecting an element in the list, the browser scrolls to that position in the webpage. This is really useful!
- Add zooming to images – a nice but not as useful script that adds a zoom menu to any image displayed in webpages I visit; with this zoom-menu I can zoom in or out on these images (usually not resulting in a very sharp images by the way)
- Debuggin XmlHttpRequest (when doing AJAX) – What it shows is the XMLHttpRequest debugging console, a floating div embedded in the page being debugged. This replaces the javascript console, which the previous script used for tracing. Each individual XMLHttpRequest invocation will get listed there, with all the details on the request and the response, as well as options to edit and replay the request or replay the response callback.
- Check Range. It lets you check or uncheck a range of checkboxes by clicking the first checkbox and then Shift+clicking the last checkbox.
There is a long list of GreaseMonkey scripts at http://dunck.us/collab/GreaseMonkeyUserScripts. Other examples include: Exchequer: Convert prices to your own currency by hovering over them. Handles multiple currencies with the same symbol., Expand TextArea: allows you to resize textareas., Expand TextArea: allows you to resize textareas., Expand TextArea: allows you to resize textareas., PostInterceptor: Intercept POST requests and let user modify before submit.
My challenge now of course is to write my own user scripts…
IBM Open Sources WebFountain (UIMA) – Unstructured Text Analysis software
Aug 21st
It sounds intriguing. If only I could really get it. IBM has developed software, called UIMA for Unstructured Information Management Architecture, that can be used for analysis of unstructured information. It can perhaps help perform trend analysis across documents, determine the theme and gist of documents, allow fuzzy searches on unstructured documents.
UIMA stands for the Unstructured Information Management Architecture: It is an open, industrial-strength, scaleable and extensible platform for creating, integrating and deploying unstructured information management solutions from combinations of semantic analysis and search components.
IBM is making UIMA available as free, open source software to provide a common foundation for industry and academia to collaborate and accelerate the world-wide development of technologies critical for discovering the vital knowledge present in the fastest growing sources of information today. IBM has empowered its products and services with UIMA creating a channel for third-party vendors to deploy their text and multi-modal analytics in larger integrated solutions.
The premier product platform that exposes the UIMA interfaces to the customer is WebSphere Information Integrator OmniFind Edition. To try out the UIMA software framework download the free UIMA Software Development Kit (SDK) from IBM’s alphaWorks Site: http://www.alphaworks.ibm.com/tech/uima.
The UIMA homepage is here: http://www.research.ibm.com/UIMA/ Read the rest of this entry »


