Archive for August, 2008

Recovering Very Large Databases in the Least Amount of Time

Sometimes you come across beautiful things in your life, you wish you had known before, because they were there all the time, waiting for that moment to be discovered – by you.

Recently I discovered one of these things. Shamefully I confess, this brilliant feature of RMAN is around for some time – since 10g already – but I have never been lucky enough to explore it, until recently..... Read the rest of this entry »

On Project Success Factors: Take time for research

In your project, allocate time (and budget!) for research. I used to think that all activities should contribute directly and specifically to the end goal. I now tend more towards the view that you should plan for research. Of course the research should be targeted, but usually a project has a few subjects that will cause you and your team a headache. And generally you can name these areas in advance! Specific problems, let alone solutions, are unclear at the outset. In order to avoid problems down the line it is wise to start your project with research, proofs of concept, name it what you will, to clarify major stumbling blocks.

The most inspiring example of this approach I have been privy to, has been the implementation of Oracle Spatial at a Dutch government agency. A few years back they wanted to consolidate all geographical data from a dozen regional databases to one Oracle Spatial database, covering the Netherlands. This database was needed to allow the introduction of online services to the public. The database had to be completely refreshed every 24 hours, after which the new database would be put online. The most important questions put to this research project were: is it at all possible to load and index all data within 24 hours and what are the response times of typical queries on the consolidated database.

I had the honour to be responsible for shaping this research project into a fixed price project, with a budget that would have been respectable for any “normal” project. In any normal sense though, the project would have failed. It was impossible to achieve the project goals with the then current Oracle release. Of course the next release, due for shipping six months later, made it possible. For any regular project this would have spelled failure. For a research project of this kind: no worries! We simply put the project on hold for six months and implemented our architectural choices on the new version.

The resulting database has been the crucial and stable foundation of the information flows to all clients and continues to do so. An excellent approach.

ADF 11g: how events in one region cause other regions to refresh

One of the challenges in building Portal pages is to have events from one Portlet have the desired effect on other Portlets. For example when I select a location on a Map in one Portlet, other Portlets may need to be synchronized to show the weather, the best restaurants and the driving instructions for actually going there. The JSR-168 specification does not address this issue; the upcoming JSR-286 ("Portal 2.0") specs do. Working with ADF 11g, we have some fairly new mechanisms at our disposal, such as Task Flows and Regions, that allow us to construct pages (and applications) that are somewhat reminiscent of Portlets – or at least some of the interesting sides of Portlets in terms of creating relatively simple pieces of (stand-alone) functionality that can be wired together in a larger mashup – where ideally the mashup framework can provide event propagation between the stand alone pieces. In this article, I want to investigate how for example an event occuring in region A – based on a bounded taskflow – can be passed on to region B that is based on another bounded taskflow..... Read the rest of this entry »

Running a BPEL process created with Netbeans in Apache ODE

A BPEL process without using vendor specific extensions should run everywhere without much hassle. But unfortunately it doesn’t. In this article I will show you how to create a BPEL process with Netbeans and what changes you have to make to make it run on Apache ODE.

.... Read the rest of this entry »

AMIS Query – Preview Session Oracle Open World 2008

We try to do our best, so some extra practice never hurts. If we think such an event or session can be interesting for our Dutch peers, we call it an AMIS Query. An AMIS Query is an in house event; one or more presentations from our AMIS colleagues or outside specialists from other companies. Everyone can attend and AMIS Query, at least, as long as we can logistically can manage it. Drinks and a dinner are provided during these sessions.

We asked the other Dutch Oracle Open World presenters if they also were interested in such an event and this resulted in the following impressive list:

  • Steven Davelaar, Oracle Consulting, Nederland – Oracle JHeadstart R11: Unprecedented Productivity in Developing Best-Practice Fusion Web Applications
  • Douwe Pieter van den Bos, Caesar Groep B.V., Technology Manager -  Designer2APEX: Migrate Your Forms UIs to Oracle Application Express
  • Roel Hartman, Logica – Developing a Real-World Logistic Application with Oracle Application Express
  • Ronald van Luttikhuizen en Lonneke Dikmans, Approach Alliance - BEA AquaLogic Versus Oracle Fusion Middleware Shootout
  • John Copier, IT-Eye – ESB Central: Applying SOA to Master Data Management in the Dutch Public Sector
  • Lucas Jellema, AMIS – Optimal Use of Oracle Database 10g and Oracle Database 11g for Modern Application Development
  • Peter Ebell & Lucas Jellema, AMIS – Did We Spoil the End User? Building Personalization into JavaServer Faces Technology-Based Applications
  • Gerwin Hendriksen, AMIS – Jumping The GAPP
  • Marco Gralike, AMIS – Real World Experience with Oracle XML Database 11g: An Oracle ACE’s Perspective
  • Marco Gralike, AMIS – XMLDB: Building Blocks and Best Practices
  • Frits Hoogland, Interaccess – Automatic Storage Management

We are still hoping for some extra presentations / presenters to be added on the list. Not everyone from the Dutch presenters could be reached yet, because of the holiday season. So expect one or two presentations to be added on this list. The presentations will be given in multiple session tracks, this because of the amount of participants and time restraints. If needed, we will cut down the AMIS presentations to a total of 3 sessions.

Interested in this all OOW 2K8 Dutch preview event?

We hope to see you there and / or during Oracle Open World.

 

Marco

Remote printing to Windows printservers from Solaris

Recently I found myself in the situation that we had gotten an incident about some application that couldn’t print anymore to the printers it was printing before. This was a big issue and we had to work on it immediately, since it had to be fixed yesterday. 

Sounds familiar?.... Read the rest of this entry »

On Project Success Factors: Communicate!

A few weeks ago I received a Request for Information for a substantial project. There was one question that struck me: “Describe on which moments your organization communicates with the client organisation.” My first reaction was: when don’t we!

To ensure that you deliver what your client expects, communication is an essential! So, describing when you communicate is easy: whenever it is needed :-) . You need to communicate when:
- You have a question you can’t answer.
- You make an assumption.
- You acquire a new insight.
- You got a nagging feeling that something is not right.
- …

Communication is not just meant to transfer information. Communication helps foster understanding, commitment and trust.

This all is of course easier said than done. You can increase the chance of effective communication by having a Project Kick-Off with all stakeholders (yes, that’s right, also including the Business Sponsor who does not have the time). Make sure you have regular personal contact on all levels (Director, Manager, Workforce) both formal and informal. And last but not least: give and ask for regular feedback. You never know what you might learn!

Forcing refresh of an ADF Faces component with EVERY Partial Page Request

Even when JSF was not around and ADF Faces was still called UIX, Oracle already had the cool "Partial Page Request" (PPR) feature. What this boils down to is that when a certain component in the page issues a "partial event" , an (AJAX-like) request will be sent to the server that (by default) only refreshes the component itself based on the server response, rather than refreshing the entire page. What makes this feature really useful, however, is that you can also specify that other components in the same page can be refreshed along with the component issuing the "partial event". Take the classic "dependent poplists" case, for example a poplist with "Car Manufacturer" and a second poplist "Car Model" that only shows the cars made by the selected manufacturer. When that first "manufacturer" poplist changes, we need to refresh the values in the "model" poplist as well (while the rest of the page remains in place and unchanged). .... Read the rest of this entry »

JDeveloper 10.1.3.4 Patch Release available on OTN

I almost forgot that there was life before JDeveloper and ADF 11g……

As of last week, the JDeveloper 10.1.3.4 release is available for download on OTN: http://www.oracle.com/technology/software/products/jdev/htdocs/soft10134.html. Apparently, this release is only a patch release with bugfixes (see http://www.oracle.com/technology/products/jdev/htdocs/10.1.3.4/10134fixlist.html for an overview of the fixes in this release) and no new functionality. There is no new documentation set (http://www.oracle.com/technology/documentation/jdev.html ).

On Project Success Factors – Heading straight towards the goal II

“To follow, without halt, one aim: There’s the secret of success.” (Anna Pavlova, a famous ballerina). To repeat the quote from my last blog.
The goal must be worth it, of course. What are the benefits, what are the costs. Right…the Business Case. For this you should not hesitate to thing big and look far. The worst thing would be if your Business Case is invalidated in a year.

The first project I managed (from bid to production) was a substantial redesign and refactoring of an existing administrative system for a directorate of a ministry. We won the project, because (as I learned later) we had bid substantially lower than our competitor. They had built the initial system. During the project I soon found out why we had bid lower: I had omitted half the essential work from my estimates. In my defence I must say that this essential work was specified nowhere and could only be fathomed if…you had built the original system!

What also became apparant at the start of the project was that new requirements were emerging from National and European legislation. These requirements were at odds with the system structure: it would be cheaper to do a complete redesign and build a new system from scratch. The client did not want to hear this advice: he had just started this project, with the current business case and these new requirements were going to be the next project.

During the project I reminded the client twice of the folly of their ways: the timelines lenghtened (as usually happens in projects) and the new requirements got more and more urgent. Eventually the client listened. When the refactoring was complete and the six external contractors were ready to start the acceptance test they killed the project. A very late and very courageous decision. We got the contract for the new project by the way. The new system still functions smoothly and on the whole it was indeed a lot cheaper!