Archive for June, 2009

Faster development of ADF applications – When to simply refresh the browser and when to redeploy the web application

ADF developers frequently are not exactly sure which changes they have applied to the application can be picked up in the running application, without redeploying the application, and which changes absolutely require a redeploy as they can not be added to a running application. Knowing when redeploy is not necessary – and increasing the number of times that a simple save, (compile,) and browser refresh suffices will streamline development enormously. Redeploying the web application usually is a lengthy affair, from 10 seconds to much longer.

There are actually only a few file types whose change cannot be hot-redeployed and require full restart of the application. This primarily concerns XML files that are loaded by the JSF/ADF framework at runtime when the application starts and not reloaded at any later point in time, such as faces-config.xml and the ADFm Page Definition files.

Read the rest of this entry »

The ADF 11g Area Template – for micro level layout design patterns

 

ADF 11g offers various facilities for reusables. To name a few:

Task Flows provide packaged, self contained functionality that consists of both User Interface and Data Bindings and potentially even some process logic and multi step navigation. Task flows can expose parameters that accept values used to dynamically influence the task flow’s behavior. Task flows do not expose facets (which could be an interesting extension of the task flow mechanism). Task flows can publish events that ADF can propagate to consumers outside the region that consumes the task flow.

Declarative components provide a way of packaging reusable clusters of ADF Faces components – usually a fairly small number – that may define parameters and facets through which a usage of the component can be configured and injected with additional content.

Page Templates are a third reusable – typically used to provide a page with one or more containers to hold the page’s content in combination with a frame that has some boilerplate elements – for example titles, menu-items etc. Page templates expose one or more facets into which the contents from the consuming page is injected. Page templates can also publish attributes through which the consumer can pass information used to influence the templates look & feel. Page templates can use data bound components and will then have their own Page Definition.

This article will focus on the Page Template and will explain why this component is somewhat oddly named.

Read the rest of this entry »

Reaching Milestones – some Analytical SQL-etics

 

Last week, this weblog hit the 9M post reads mark. Since we started technology.amis.nl/blog in July 2004, it took us some 5 years to get to that point. And I started to wonder when we reached earlier milestones, like 100k, 1M and 5M. This took me to some SQL puzzles that before I started in anger might have been difficult to solve, but turned out to be rather straightforward – thanks to Analytical functions.

In this article a brief report on how to reconstruct history using Running Sums and a bit of LAG/LEAD analysis.

Read the rest of this entry »

Oracle Enhances XBRL Reporting Capabilities with UBmatrix, Inc.

Oracle posted a press release about their involvement and commitment for UBMatrix XBRL technologies last Wednesday saying (among others):

"To help publicly held companies facilitate the preparation, publishing and automatic exchange of financial statements in XBRL (eXtensible Business Reporting Language), Oracle will embed UBmatrix, Inc.’s leading XBRL technology into Oracle’s Enterprise Performance Management (EPM) System, Oracle announced today."

"Oracle and UBmatrix are also working together to provide enterprise class storage and management for XBRL-based information in Oracle® Database 11g. Using Oracle Database’s XML DB feature, organizations can easily and quickly store, access and query their XBRL data."

A lot of you might ask themselves: "Who are or what is UBMatrix?" and "How does it all fit in…?"

UBMatrix is one of those small but cool companies that have an idea and drive that idea to bigger heights. Their ideas about how to deal with XBRL and how to make it more succes full are very innovative. XBRL is an open standard to exchange and/or embed business and financial related data via XML. "Nothing more and nothing less…", but applying it has a great impact to other systems, sometimes called "the ripple effect". 

XBRL is becoming the standard for financial information exchange and reporting demonstrated by the XBRL programs being driven by the SEC, FDIC, and the European Central Bank Supervisors. My Dutch Tax Office has embraced it and among others setup a taxonomy for XBRL (The Dutch Taxonomy Project). This "central hub" (the Dutch Tax Office) will eventually cause more and more organizations to exchange their data via XBRL (therefore the "ripple effect").

The setup for the Dutch Taxonomy project background is simple…

Read the rest of this entry »

Fast Swap in WebLogic 10.3 (and JDeveloper 11g) – redeploy after compile in running application

 

One of the cool new things I learned about here at the ODTUG 2009 conference is the fast swap feature in WebLogic Server 10.3 and above. So far, Application Server features have had limit use in my little development world, but this is one that may have quite some value for me, as I am developing my web applications in JDeveloper and constantly deploying, running and testing them. This feature will considerably shorten those development cycles!

The fast swap feature makes it possible to have classes that are changed and recompiled in JDeveloper immediately redeployed on WLS, without actually redeploying the entire application. By setting a single configuration option in a configuration file and configuring the output path for the compiler in JDeveloper I can shorten most of the development-compile-deploy-test cycles by eliminating the deploy (and application restart) step.

Read the rest of this entry »

Report from JavaOne 2009 – the presentation

 

JavaOne 2009 took over parts of San Francisco – primarily the Moscone Center and all surrounding bars – in the first week of June. For five long days (that is counting Community One as well) some 10k developers and other Java lovers exchanged ideas and inspiration. Wouter and Lucas attended JavaOne, presented at it and also reported back their main findings in a session early last week at the AMIS office in Nieuwegein. For those of you who could not attend (or did attend but would like to browse through the slides again) we have made the presentations from this session available on line. Please go to
http://www.amis.nl/tech_artikelen.php?id=750 to find the presentations from this rather interesting night.

You may also be interested in knowing that on July 7th, we organize a special event around JPA 2.0 ( the next release of the Java Persistence API) where you will not only hear about the new and improved features in JPA 2.0,  but will also be able to do hands-on sessions with the the latest nightly build of the reference implementation for JPA 2.0  (EclipseLink). If you want to attend this (free) session, please go to http://www.amis.nl/open-source-java to register.

Oracle WebCenter 11g – Foundation for Oracle Fusion Applications and possibly your ADF applications or Enterprise 2.0 Portal as well

 

I have had a sweet spot for Oracle WebCenter for quite some time now. As early as 2007 I already did a presentation at ODTUG on WebCenter (10g). One of my main conclusion at the time was that while the product showed a lot of potential, it was certainly not ready for prime time. After that presentation, a guy came up to me, thanked me for the presentation then told me he was a product manager for WebCenter – and agreed with most of the things I had said. That was my first encounter with Peter Moskovits. Today, two years later, the situation has changed quite dramatically. WebCenter has evolved, as had ADF which is the foundation for WebCenter, and WC is now one of the cornerstones for Oracle Fusion Applications. WebCenter 11g is like the swan that started out as the ugly duckling. Well worth a look.

 

I was in a presentation today by Peter Moskovits and Christina Kolotouros, titled: A Marriage Made in Heaven – Enterprise 2.0 and ADF. They touted it as Part 2 of Steve Miranda’s talk on how Fusion Applications were built (see: http://technology.amis.nl/blog/5645/oracle-fusion-applications-it-is-for-real-and-impressive-too ). In this presentation, they explained the architecture of WebCenter, demonstrated the use of some of the essential facilities and clarified how the product can be incorporated in your own ADF development efforts.

 

WebCenter implements the (runtime) customization & personalization requirements, allows consumption of 3rd party external portlets (that also bridge technologies), provides many Web 2.0/E2.0 Services (Blog, Wiki, Content Integration, Tagging, Linking, Email/VOIP/IM integration, …) and Community Workspaces; Search and Recent Activities.

 

WebCenter lives on top of ADF which in turn adds productivity to ‘plain’ JSF – through rich components, declarative and visual development and especially the data controls and complex databindings they provide to tie business services based on various technologies to the rich components. It adds functionality in a number of steps to the ADF foundation.

Read the rest of this entry »

Oracle Fusion Applications – it is for real! (and impressive too)

 

When Oracle started acquiring companies in the ERP space, they unfolded (the outline of) the Fusion strategy. With three aspects to it as I understood it: the Fusion Middleware stack, the integration of the acquired companies into the Oracle fold and the development of the next generation of Enterprise applications, duped Fusion Applications.

 

After some intial excitement and quite high expectations, the buzz subsided and Oracle became somewhat quiet. They did embed PeopleSoft, Siebel, Retek, JDEdwards and many others. They also went on developing and releasing Fusion Middleware. But the Fusion Applications were never heard about again. Or so it seemed. People even started to wonder whether they were for real. With the Applications Unlimited program – that guarantuess virtual everlasting support on all of the Oracle Apps products – and the AIA (Application Integration Architecture) that makes all Oracle Apps products work together, the necessity for Fusion Applications seemed somewhat less urgent. And indeed, no serious progress (or anything at all really) was visible at Oracle Open World 2008, even though in 2007 Larry had announced the first modules shipping in the Spring of 2008.

 

Here at the ODTUG 2009 conference, I have learned that Fusion Applications are for real. And I have seen them as well. And I was impressed. After several years of hearing, interpreting and to some extent telling the Fusion stories, now it all seems to come together. Next week (July 1st) we will have the big launch of Oracle Fusion Middleware 11g – with among other things the SOA Suite 11g, WebCenter 11g (Spaces, Framework, Services, Composer), WebLogic Server 10.3.1 and the next level of ADF 11g – and the Fusion Applications products are coming together rapidly as well. Oracle also has started to expose the Fusion Apps, recently at the Collaborate conference and this week also at ODTUG.

Read the rest of this entry »

That’s Rich! Putting a smile on ADF Faces (presenting at ODTUG Kaleidoscope 2009)

 

The ODTUG Kaleidoscope 2009 conference started on Sunday with four parallel symposia followed by a stunning demonstration of the upcoming Fusion Applications product based on Oracle Fusion Middleware 11g (including the most visible parts: WebCenter and ADF) – more on that presentation in a later blog. On Monday I did my two presentations – the first of which was titled:"That’s Rich! Putting a smile on ADF Faces". In this presentation I tried to explain what support ADF Faces (11g Rich Client) provides for creating really rich User Interfaces. Duncan Mills graciously had allowed me to present using the upcoming JDeveloper 11.1.1.1.0 release (internal code name Bulldog) that is part of the 1st July launch of Oracle Fusion Middleware, and it allowed me to show off some of the new stuff.

ADF web applications have been hailed as productive to develop and functionally complete. However, ADF 11g RichFaces makes them visually attractive, rich and really Web 2.0 too. This presentation is about enriching ADF Web applications with 11g RichFaces. It discusses features, components, containers, events and behaviors that ADF developers now have at their disposal and how to best use them. Key topics: panelsplitter, accordion, popup, menu, skinning, charts, Server-Push, AJAX-PPR-client-server-interaction, client events API, customization. 

Read the rest of this entry »

Introducing Joda Time: The smart date API

Recently I did a short presentation on Joda Time. Yesterday, on our yearly ODTUG preview, I was surpised that Joda Time is not known very well by ADF developers. To convince you of the power of this library I will give you a few examples of how and why I use it. It’s up to you if, after reading this post, you are going to use it in the future as well.

Lets start by asking a simple question. If you use the JDK date API what would you do to create a Date object with the value 18 februari 2009 ? Read the rest of this entry »