Archive for April, 2005
New Books Shipment in – April 2005
Apr 27th
The April shipment of new books has arrived. Some books are in the library, others immediately went home with some of my esteemed colleagues. Some of the books in this shipment:
- Expert One-on-One J2EE Development without EJB by Rod Johnson, Juergen Hoeller # Publisher: Wrox (June 21, 2004) (two copies)
- Spring in Action Craig Walls and Ryan Breidenbach February 2005, 472 pages (Manning) ISBN 1932394354
- Pro Spring By Rob Harrop, Jan Machacek , Apress ISBN: 1-59059-461-4 832 pp.
- JavaServer Faces in Action (In Action series) by Kito Mann, Kito D. Mann ; Manning Publications (November, 2004) ISBN: 1932394125
- Mastering JavaServer Faces (Java) by Bill Dudney, Jonathan Lehr, Bill Willis, LeRoy Mattingly ; John Wiley & Sons (June 7, 2004) ISBN: 0471462071
- Hibernate : A Developer’s Notebookby James Elliott ; Publisher: O’Reilly; 1 edition (May 14, 2004) ISBN: 0596006969
- Beginning Databases With Postgresql: From Novice To Professional (Beginning from Novice to Professional) by Neil Matthew, Richard Stones ; Apress; 1 edition (April 30, 2005) ISBN: 1590594789
- Effective Oracle by Design, Thomas Kyte, McGraw-Hill, ISBN: 0072230657,688 pages, Pub Date: 2003-08-22 (5 copies)
- Oracle PL/SQL Programming, 3rd Edition, By Steven Feuerstein September 2002 ISBN: 0-596-00381-1 (5 copies)
New tutorial on OTN (by Steve Muench) – Building J2EE Applications with Oracle JHeadstart for ADF
Apr 22nd
Steve Muench, ADF Master from Oracle, created a tutorial for using JHeadstart to jumpstart ADF development. Building J2EE Applications with Oracle JHeadstart for ADF
It is good to see how much he was impressed with JHeadstart 10.1.2 when he attended the JHeadstart workshop several weeks ago. Apparently, he is causing quite a stir within Oracle Product Development (primarily his own ADF team) about all of JHeadstart’s capabilities. We are long term JHeadstart users at AMIS, currently running two ADF and JHeadstart projects and getting very good field experience. We will be posting more on our experiences as well.
Steve’s tutorial is quite interesting, especially where he talks about the shuttle, customzing the generation templates, make field react to live change (by specifying the primaryClientAction) and apply custom skins to achieve your own look and feel. His section on adding a conditionally dependent field, where he shows how you bind UIX properties to DataControls, just by using the IDE, is very instructive – I was not aware of that. Read the rest of this entry »
Right a Wrong in 10g – Undo transactions using FLASHBACK_TRANSACTION_QUERY
Apr 22nd
Among the topics we discuss in the Oracle 7Up Workshop at AMIS is the Flashback functionality in 9i and 10g databases. We look in depth at Flashback Query and Flashback Session (dbms_flashback.enable_at_timestamp or .enable_at_scn), at Flashback Table and Flashback Table to before undrop. And this week we also took a brief look at how you can undo the results of a certain transaction, not just by using something like update table set col = (select col from table as of timestampe sysdate - 10/60/24), which works but can be somewhat elaorate to write in full. In this case, we want to take another step and make use of the view FLASHBACK_TRANSACTION_QUERY that has an UNDO_SQL column! Note that erroneously in some publications based on the 10g Beta release this view is called DBA_TRANSACTION_QUERY (I spent quite some time looking for that darned thing!).
I will show in this article how to undo the following changes:

Read the rest of this entry »
Implementing a Business Process in BPEL using Oracle BPEL 10g (beta 3) – GetSalesQuote leverages PL/SQL and WebServices
Apr 20th
Oracle BPEL PM is a tool that allows us to design and publish WebServices. The design is done in BPEL, the industry standard for specifying Business Processes. BPEL stands for Business Process Execution Language. BPEL is a language that contains variables, calls to external services and an often underestimated set of programmatic logic such as conditional branching, looping and exception handling. In a recent post, I have published a BPEL based WebService that returned a SalesQuote for a certain product: Publishing PL/SQL “Services�? as WebService using Oracle BPEL. This business process was implemented through a PL/SQL package that resides in an Oracle database; the BPEL process was just a thin wrapper for this process. In this post, I will show how a we can reimplement a substantial part of the PL/SQL behind this WebService in BPEL. The BPEL process becomes much more than just a meaningless layer on top of a real process, it defines an important part of the process.
This automatically demonstrates a couple of interesting points: a BPEL process can easily bridge several technologies – in this case PL/SQL and an external WebService that are both invoked as PartnerLink; BPEL supports parallellism in its program flow allowing different program sections to be run simultaneously – in this case this provides a definite improvement over the original PL/SQL based service.
Note: this article is also a continuation of a series on PL/SQL and BPEL and as such it is preceded by:
- Publishing PL/SQL Based WebServices – this post discusses how a Web Service can be published based on a PL/SQL Package inside the Oracle Database using Oracle 10g JDeveloper.
- Consuming Web Services from PL/SQL – Part I: Using Java Stored Procedures
- Consuming Web Services from PL/SQL – Part II: A pure PL/SQL solution using UTL_HTTP (Oracle 9i or 10g).
Much better way of producing CSV (Excel) Files from ADF WebApplications
Apr 17th
A few days ago, I wrote a post on using XML derived from the ADF BC based Model in an XSLT transformation to render comma separated values (csv) files from ADF Web Applications:Example of XSL-transforming in ADF applications – downloading Excel (CSV) files from ADF Web Applications . While everything I wrote in that article is correct, it illustrates most certainly not the optimal way of producing these files. You could view that article as an interesting demonstration of the cooperation between ADF BC, ADF Binding Framework, JSTL XML and XSLT. This post will show a much better method for downloading csv-files that can immediately be opened in MS Excel. This method is easier to implement and will use less resources when executed, which especially for larger data collections will have a noticeable effect.
The trigger for this post and its predecessor is a rather common requirement that we encountered in one of our recent projects based on Oracle ADF (JSP, Struts, ADF BC and ADF Binding Framework on top of an Oracle Database): the ability to download certain sets of data in Excel-file format (basically a Comma Separated Values file). In this post I discuss how we can easily and rapdily JSPs on top of the ADF Binding Framework that produce csv-files that be made downloadable from the application.
Read the rest of this entry »
“Citius, Altius, Fortius� –Java Development met Oracle ADF en JHeadstart
Apr 15th
We just published an article on ADF and JHeadstart 10.1.2 on our website: “Citius, Altius, Fortiusâ€? –Java Development met Oracle ADF en JHeadstart. It is written for and will be published in the June issue of Optimize, a Dutch Oracle Developer’s magazine. Unfortunately for some of you, it is in Dutch. However, there are some pretty pictures in it as well! I hope we will do an English version in the near future.
Java: Is meedoen voldoende of is het doel toch winnen?
Read the rest of this entry »
How to use the BPEL file adapter to load data into Oracle
Apr 15th
This post shows a simple example about how to use Oracle’s BPEL server to load and parse a datafile. The data in the file is then inserted into a database table. We use the file adapter and the database adapter to accomplish this task. The nice thing of this BPEL process is that we don’t have to instantiate the BPEL process ourselves. A BPEL process is started as soon as the file holding the data is detected by the BPEL engine.
The following pictures shows the BPEL process in jDeveloper:

Read the rest of this entry »
Example of XSL-transforming in ADF applications – downloading Excel (CSV) files from ADF Web Applications
Apr 15th
One of our recent projects based on Oracle ADF (JSP, Struts, ADF BC and ADF Binding Framework on top of an Oracle Database) had as one of its requirements the ability to download certain sets of data in Excel-file format (basically a Comma Separated Values file). In this post I discuss how the ADF Binding Framework and the ADF Business Components Model can be used to import model-data as XML into a JSP and more specifically into JSTL-XML tags. It then shows how you can import a simple XSL-T Stylesheet into this JSP to have the XML data from the Model transformed in a CSV format. A sample project can be downloaded.
Note: although this post gives a fine example I believe of how to use the ViewObject writeXML method through the ADF Binding Framework to get hold of data in XML Document in a JSP page and use JSTL XML tags to perform a transformation, it is by no means the best way to render csv-files. Producing csv-files can be done in a much easier way, I will demonstrate in a post soon to be published. So use this post to understand how an XML Document can be retrieved from ADF and transformed in the JSP, but not in order to produce csv-files! In yet another post I will show to use the method demonstrated in this article for rendering SVG objects, a more to the point application of this technique.
Read the rest of this entry »
Anydata and Collections
Apr 14th
Steven Feuerstein has written a PLSQL-utility str2list in which he uses dynamic sql to fill collections of different types.
While I was playing with the “new” Oracle types ANYTYPE, ANYDATA and ANYDATSET I found that the ANYDATA type can be used to do something simular.
So I have written a function which accepts a string and a delimiter, and returns the string split in several parts in an ANYDATA which can be deposited in a collection of different types.
Read the rest of this entry »
Oracle wants more database support in Eclipse
Apr 14th
uk.builder.com reports that Oracle wants more database support in the Eclipse IDE.
Oracle is going to develop database support for Eclipse. This software will be released and donated to the Eclipse project as open source.
The tool will fully support the EJB 3.0 specification. Oracle is hoping that this EJB specification will finally be adopted in next generation J2EE applications.


