Archive for September, 2004

Performance guide-lines for XSL-T development

XSL-T transformation for Oracle developers.

When transforming XML with XSL-T stylesheets you should consider the performance of your transformation. Analog to tuning the Oracle database, XSL-T transformations can and should also be tuned to boost up the performance in both speed and memory. Read the rest of this entry »

Analytical SQL Functions – theory and examples – Part 1 on the Partition Clause

To understand how Analytical Functions are used in SQL statements, you really have to look at the four different parts of an Analytical ‘clause’:

  • the analytical function, for example AVG, LEAD, PERCENTILE_RANK
  • the partitioning clause, for example PARTITION BY job or PARTITION BY dept, job
  • the order by clause, for example order by job nulls last
  • the windowing clause, for example RANGE UNBOUNDED PRECEDING or ROWS UNBOUNDED FOLLOWING

Note that typically only the Analytical Function is required and the other clauses are optional. However, for certain functions, an Order By clause may be required.

This post will focus on the Partition Clause. This next post talks about the ORDER BY and WINDOWING clauses. This post is in a way a successor to this one on Analytical Functions used for complex aggregation issues.
Read the rest of this entry »

Using Struts’ nested indexed properties in a form with table-layout

It looks like trying to use Struts’ nested indexed properties in a form with table-layout, with every line (a few formfields) as an editable separate entity, has driven a lot of people (including me) nuts.
With nothing about it in the manual, and no answers to be found on the web, here’s finally a solution. Read the rest of this entry »

Introduction to Analytical Functions – Use of Analytics as alternative for Simple Aggregations

I will attempt to introduce analytical functions in a step-by-step manner. A first step into Analytical country could be the following, starting from a very simple aggregation query, exploring several types of aggregations that are increasingly complex and increasingly impossible to implement without analytics (at least in a efficient, performant way):

select  d.dname
,       avg(e.sal)
from    dept d
        natural join
        emp  e
group
by      d.dname

The following two queries give the same result, without using the group by. They can therefore more easily be extended to return other information as well, such as an aggegation at a different grouping level. Read the rest of this entry »

Trick for multiple and flexible parameter passing with MOD_PLSQL and Web PL/SQL toolkit

This tip comes from a very interesting paper by John Flack. It is titled MVC Development in PL/SQL and appeared in the August issue of the ODTUG Technical Journal Online. However, it is unfortunately only accessible to ODTUG members. I write his tip down because two months ago, I was doing some extensions on top of the Repository Object Browser (ROB), part of Oracle Designer, and I was looking for exactly this. Erwin Groenendal could vaguely remember that such a thing was possible but he had no details right then and there (although later he sent me an email on it). I also browsed through some of the Web related books in the Oracle Bookstore at ODTUG but to no avail. So to make sure, I never forget again – and others who may be looking for the same information – here it is, courtesy of John: Read the rest of this entry »

Struts, JDBC and Data Guard – Oracle Open World Amsterdam – Friday 24th September – Impressions

In this post I will tell you about some of the sessions – notably on Struts support in JDeveloper, Java/JDBC support with Oracle 10g and the Data Guard option of the Oracle RDBMS.

I must confess that I enjoyed the two days I spent at this conference much more than I had expected. To some extent this is thanks to a couple of very good or at least very useful sessions I attended. It is also because of the large number of people I ran into that I know from my early or later days at Oracle or have met during presentations, assignments and so on. I enjoyed talking to so many interesting and friendly people.

The one thing I wanted to see most of all – the Paris release of Oracle Warehouse Builder – I only had a glimpse of at the demo-grounds, just before I ran into David Keene and started another conversation about the here and now and also the then and there. The glimpse was enticing really; the bird’s eye view of the diagram and the ability to create Data Mining models were all I saw, but those alone are pretty cool. Apparently OWB Paris should be generally available at the end of this year. I am really looking forward to it. See also this presentation.
Read the rest of this entry »

Eating your own dogfood – use of Oracle Development tools within the Oracle Applications development group

During the Amsterdam stage of the Oracle Open World Tour, I had a great opportunity to interview John Wookey Senior Vice President, Applications Development at Oracle Corporation. John is very high up in one of the largest if not the largest application development shop based on Oracle technology in the world. As such, he represents the biggest customer of Oracle’s Tools division as well as one of the most important customers of the Application Servers and Database product development teams. He is ‘topdog’- to speak with Oracle terminology – a major consumer of Oracle’s dogfood.John Wookey

During this interview, we focused on the technology that John’s teams currently use of will be using in the foreseeable future for development of the many modules of the Oracle E-Business Suite. This post will be a somewhat unstructured summary of a one hour long conversation that was very, very interesting. The more refined article is to appear in OGH Visie, the magazine of the Dutch Oracle User Group (OGH). Read the rest of this entry »

ADF documentation

In between sessions on Oracle Open World I visited the demogrounds. In one of the booths Duncan Mills was demonstrating Oracles ADF framework in JDeveloper 10g. IMHO the documentation on ADF is rather fragmented. There are some how-to’s, there is the excellent Data Binding Primer article by Steve Muench. But still I have the feeling I’m missing something to start building real life production applications. I talked to Duncan Mills on this topic and he agreed to some degree. He mentioned Steve Muench’s toy store demo as a good starting point. Furthermore he indicated that he is working on a “real life” demo application himself. After finishing the documentation he is going to put it on OTN or his own personal weblog.
He also hinted that there may be a book on ADF somewhere in the future. Hopefully he or someone else will find the time…

Oracle Open World

Today I visited Oracle Open World in Amsterdam, here are some of the points I picked up.

In the “Oracle Application Server 10g Technical Overview” session David Keene gave an insight into the driving forces behind the AS 10g.
Surprisingly this session was not so technical after all, but a rather highlevel overview. Buzzwords were simplicity, Open Source, Service Oriented Architecture , Event Driven, loosely coupled, composite business solutions and compliance to Open Sandards.
In line with this view he expressed to commitment of Oracle to Linux. Although operating on any platform Oracle Corporation internally now uses Linux.
He quite proudly positioned the recently acquired BPEL process manager as Oracle’s implementation of BPEL. He also announced the release of a Business Activity Monitor in the early part of 2005. This new tool should provide us with end-to-end Business Intelligence during process flows.

Erwin Groenendal of Cumquat technology presented their custom Content Management modules voor Oracle Portal, demonstrating both the extendability of Oracle portal but also that the default content management part of Oracle portal is still not up to par. Presentation

Last but not least I visited Duncan Mills’ presentation on Oracle Forms 10g. The main themes in his story were Forms is not dead and Application Integration. After the leap Oracle Forms took to the web, it will now move towards integration on several levels, Forms with other (J2ee) Applications, Forms with the browser and Forms with the client Machine.
All in all Duncan painted a picture of Oracle Forms and J2ee applications running side by side in a heterogenous environment, leveraging their individual strengths to create a better overall result. Presentation

BPEL is great – and so is Oracle BPEL

Probably many of you have at least a vague notion of what BPEL (Business Process Execution Language) is all about. Now, thanks to a very good presentation by Oracle’s Sandor Nieuwenhuijs at Oracle Open World today in Amsterdam. I will try to summarize what I learned today, and perhaps it can prove beneficial to some of you as well. The presentation is on the Oracle Open World Amsterdam website, and here is the link to the powerpoint for the presentation at the UK Oracle Open World For more information on Oracle BPEL Process Manager, see its homepage on OTN. An introductory document is found here. BPEL is a standard published by OASIS and backed by major vendors such as IBM, Microsoft, BEA, SAP and of course Oracle. BPEL describes an XML syntax to use for describing a Business Process through a ‘composition of invocations of (other) Business Processes – typically WebServices’. A BPEL process definition therefore is an XML document composed according an XSD (XML Schema Definition) that is maintained by OASIS. Creating Business Process definitions in the form of BPEL XML Documents can be done manually, since XML documents are just somewhat structured text-files. Oracle BPEL – a plugin for Eclipse – allows us to graphically create and edit this XML Document. That is a rather lame way of saying that BPEL Design Time offers a visually attractive and pretty productive UI for developing business process definitions. The UI is a little reminiscent of Oracle Designer’s Business Process Modeling tool – but then with a vertical layout – and also looks a little like UML’s Activity Modeling. But then again, they are all about Business Process modeling.

Read the rest of this entry »