The main reason my Learning Oracle ADF series —Creating Java objects from database tables, Simple JSF data view/entry form, and Master-detail forms — was so late is because I spent most of the month struggling with Oracle Portal, leaving me very little time to work on the series. If your boss ever brings up the subject of Oracle Portal, you should run screaming from the building. It is easily one of the buggiest pieces of software I have ever encountered.
Oracle Portal is a product for building corporate portals. It is a JSR-168 container, which means you can write little portlets that can then be assembled into pages through the portal. Even though it's a Java standard, the portlets don't actually have to be written in Java. It's really an XML-based protocol, and, in fact, several of the built-in portlets in Oracle Portal are actually written in PL/SQL.
The idea behind the product is seductive. Programmers can build little portlets to display content, query databases, display graphs, etc. Then a designer or even a sophisticated business user can use Oracle Portal to assemble these portlets into dashboards and pages that display information pertinent to specific target audiences. Conceptually they're trying to give you a way to build something similar to, say, My Yahoo. A place where users can assemble a collection of portlets into pages that deliver the business intelligence tailored for individual needs.
So, what's the problem with Oracle's Portal? The big one for me is all the bugs in the content transport mechanism. This is the tool for moving content from, say, your Development portal up into the QA and then Production portals. Now you would think that kind of feature would be rock solid. I mean that's the raison d'etre for a portal, right? To display custom content to users.
Alas, every time Oracle has patched the Portal (and in a year of running the Portal, I recall at least two major patches we had to apply) it seems they introduce bugs into the transport system. And so inevitably there are additional mandatory patches you have to apply a couple months after the main patch, to patch the new problems in the content transport system.
The latest mandatory transport patch has somehow left our portal incapable of transporting certain types of content between our portals. The frustrating thing is that the content passes all the pre-flight checks built into Portal. In other words, the Portal's own analysis tools claim the content is perfectly ready and valid for transport. But when you attempt the transport, it always fails.
Amazingly, Oracle's own support organization knows that content transport is a problem. Whenever you talk to them, they acknowledge that this is one of the buggiest areas in a product rife with bugs. I have no idea if they'll actually be able to fix this problem for us. In the end, we may have to reconstruct these pages manually in the target portal instead of trying to transport what we built from the Development portal up into the target.
The icing on the cake is that Oracle is abandoning the Portal product. Instead they're promoting a new portal-like product called WebCenter. At least they recognize there's no way to make Portal work, so chuck it and start fresh. Given their past performance with Portal though, I'd be cautious about WebCenter as well.
Unfortunately, I don't have experience with any other JSR-168 product, like Sun's Java System Portal. I can't tell you if that would be a better alternative. All I can tell you is to avoid Oracle's implementation. Save yourself the grief.