Vgo Software


Things I learned at UKOUG 2010

This year's UKOUG was a really interesting event.  There was a stream dedicated to development and most of the presentations were pretty good.  What I liked most about it was that even in the sessions I sat through that covered subjects I was already familiar with, I found I learned a new tidbit here or there.

In the Dynamic Forms and Tables in ADF presentation I learned that you can create a basically empty ViewObject (by basing in on something as inane as "select 1 from dual", and then in your Application Module you can create whatever query you want by using the createViewObjectFromSQLStatement method and passing in your SQL.  This is a clever idea and I can see some use for it, especially in reporting type screens, but currently the implementation is a little limited.  You can create a Dynamic Table to display the results, but the table cannot have sorting or filtering enabled, which, for a lot of the ADF applications we build, would make those screen noticeably different than other screens.

In a presentation about developing products I learned that Oracle MDS can be used to hold customized information for a specific implementation of an application.  That is a very useful feature for ISVs.

A presentation about Javascript in ADF taught me that if you want to use it, you should manipulate the UI Component Model and not the DOM or the "Peer Objects" that would also be available but may not staty consistent.

Finally, in addition to learning that a new utility for creating custom skins is being developed, I learned that if I put a parameter called "DISABLE_CONTENT_COMPRESSION" in my web.xml and set it's value to "true", Firebug would be much more useful in helping to create skins.

One of the most important things I learned is that some things you just don't find out unless you attend these conferences.  You could spend your entire career with a product like JDeveloper and not know all the tricks, especially the undocumented ones, but one trip to a conference like UKOUG and you could at least pick up a few of them.



ADF Patterns for Forms Conversions

My presentation:  ADF Patterns for Forms Conversions got accepted at UKOUG for this year.  I will presenting there on that topic on November 30th at 12:00. Here is the abstract.  I hope to see you there!

In the past I have done presentations on why converting to ADF is a good idea.  This time I will be focusing less on the why and more on the how so it is bound to be a more interesting presentation for those who are actual Forms or even ADF developers.



Welcome to the new Java Hair site!

We have had our share of technical difficulties in running the blog site, espcially without resources solely devoted to the the updating and running of the server.  To deal with that and to be able to post some new content, we have moved the Java-Hair blog to Squarespace.

One of our staffers will be re-posting the content from the old blog up here on the new site, so you will be sure to see a lot of recycled content in the coming weeks, but after that, we'll be on to the new stuff.

So with our technical issues now behind us, we will continue to delight and enlighten you with our vast knowledge of Java, ADF, XML and other enterprise technologies!  Be sure to visit frequently and comment often!



Generate an Java-based Ajax-enabled Web App in 5 Minutes

Over the last couple of years there has been a lot of talk about Ruby on Rails and Grails and how easy it is to use them to quickly build an application. How would you like to be able to have all of that speed of development, but have it in a technology that you already know? If you are familiar with Struts or JSF, you can use Rev to quickly build an application for you. 

Rev is a code generation tool developed by Vgo Software, and it gives you the power to do that. All you need is a database, a JDBC driver (most of the common ones are provided with Rev out of the box), a JDK of version 1.5 or better and Rev. Using Rev you’ll be able to generate a completely functional CRUD application based on the tables that you select. The output can be in a variety of different flavors: JSF, Struts, JSF with AJAX, JDBC, EJB, Hibernate, etc. Rev also generates ANT build scripts for a variety of popular application servers so you can build and deploy your application directly from the tool. 

What good is a CRUD application? It all depends on what type of application you are building. For adding testing data or building some Administration screens for a system, the Rev output may be all you need. If you are building a more complicated system, then maybe the persistence layer is all you need and you can rework most of the UI layer. All of the source code is available for you to modify as you see fit, so whether it is the final application itself or the basis for something bigger you will always have something to start with.

One of the unique features of Rev is the ability to customize the generation. Not only can you easily customize the stylesheet from within Rev, but if you want to go deeper you can customize the templates that Rev uses to generate virtually whatever you’d like. From modifying the JSP pages that get generated to creating a whole new set of templates for a completely different language, you can do it all! In fact, included with Rev is a set of templates for generating a PHP-based application. 

You can download your free trial of Rev at the Vgo Software site. Also, be sure to sign up for the webinar I will be presenting on June 30th at 11:00 a.m. EST. During that webinar I will demonstrate how to use Rev and talk about the various output options.

Book Review: Processing XML documents with Oracle JDeveloper 11g

This is a new feature here on Java Hair, a book review. I was recently approached by the publisher of this book who asked if I would be interested in doing a review. The request was quite timely, I thought, since I have recently been working with XML Schema design (check out the XML category). 

“Processing XML documents with Oracle JDeveloper 11g” seems more like the title to a whitepaper than a full-fledged book, but I found that the book actually covers a lot of topics that fall under the XML Processing umbrella. That, and the fact that JDeveloper documentation can be difficult to come by makes this book a pretty handy addition to your library if you develop with JDeveloper 11g and you are working with XML. 

Starting out, the book covers the parsing of XML documents using both the SAX API and the DOM API. Information that you could get elsewhere, but as the book is JDeveloper 11g specific, it also includes information on how to set up your projects and which libraries you need to include that may or may not be included with your JDeveloper distribution. Very handy information for someone using JDeveloper. 

There is a chapter on using JDeveloper to design an XML Schema, something I could have used a few months ago, actually. JDeveloper’s visual design feature for XML Schema’s is a great tool and comparable to anything I’ve used with Eclipse and NetBeans. Following that is a chapter on validating your schema 3 different ways and how to create these projects in JDeveloper. 

There are some chapters that I didn’t expect to see in this book, but were quite welcome. A chapter devoted to transforming XML to PDF, another on transforming XML to MS Excel, storing XML in Oracle Berkeley DB XML, and even a chapter on Oracle XML Publisher. 

So all in all, despite the self-imposed limitation of XML and JDeveloper, the author, Deepak Vohra, has managed to cram in some very useful topics into his book. Though some of it isn’t really JDeveloper specific, he does makes it relevant by walking thru setting up each project in JDeveloper as well as building and running the subsequent applications in JDeveloper. 

The writing style is very dry, much like you’d probably expect from a reference book, and it should be treated as such, it isn’t something that you are going to want to sit down and read in one sitting. However, if you have work to do in XML and you are considering using or already using JDeveloper as your IDE, I would definitely recommend picking it up. 

You can find the book on virtually any online bookstore or on the publisher’s website: Packt Publishing.