The
polygamist pauses, his hand hovered above the doorknob. He looks back down the
hallway, blinking in the harsh light of the naked bulb he has just flipped on
to do war with the shapeless darkness of the night. A few paces away - no
further away than a firm decision - stands another
door: silent, inviting. His gaze returns to the door in front of him; also as
silent as the entrance to Aladdin's cave. Which door should he open? Which of
his beloved wives should he visit?
Okay,
I admit it, I know nothing about polygamy. I once caught an episode of Big Love on telly, and I enjoyed reading
Lola Shoneyin's The Secret Lives Of Baba
Segi's Wives, but that's about it.
I do,
however, know a bit about Oracle Forms and Oracle Application Express. Which is
kinda fortunate since I'm guessing you're not here for marital advice. A
question I do get asked from time to time - most recently on LinkedIn - is
this: What technology should I choose for my new project - Oracle Forms or
Oracle Application Express?
At
the risk of sounding like a guru sat atop a Himalayan rock, there is only one
real answer to this question: look within your heart, the answer floats like an asteroid in the
galaxy of your inner space. Or something. Personally, if I was making the
decision a year ago I'd have said Apex cos it was new and exciting; today, I'd
probably say Forms, cos it's old and I better understand its foibles: the
polygamist's dilemma - the new, nubile wife, or the old wife who he fully
understands?
You
will probably want to base your decision on factors more concrete and
quantifiable than imaginary asteroids, so here are some things to consider.
Skills: What skills do you have? What skills are
you willing to invest in? What skills are you capable of acquiring? I would
imagine that you have a greater wealth of Forms experience. This need not be
the deciding factor, but it should definitely count as a tick in that box. I
was able to retrain my team of Forms developers in Apex, but it took some time
and some expense. And, crucially, it was a challenge they were happy to face: I
still have nightmares about The Big Oracle ADF Disaster of 2008. My therapist
says I'll get over it one day, but I doubt it.
Platform: A huge part of your choice must depend
on the demands of the project itself. For instance, what platform are you
hoping to run it on? If you are planning to take advantage of the current boom
in mobile computing, then Apex should be your choice. I must admit that I have
not yet tried to run a Forms application on a phone or a tablet, but I do not
suspect that that is an experiment that would end happily.
If,
on the other hand, you expect your application to be run only from PCs and laptops
using a myriad of browsers, with or without javascript enabled, then possibly
Forms with its browser-agnostic java applet might be worth a look-in.
Cost: If you are a millionaire Saudi Arabian
prince who has only got to this page cos you googled "I am looking for the
oracle on polygamy", you can skip this bit. The rest of you, pay
attention. With its middleware costs,
Forms is undeniably the more expensive option. I am not allowed anywhere
near the money at my company, but I am assured that the difference in cost can
be considerable.
Audience: Who is your application aimed at? If it
is to be published on the open Internet, then you only really have one choice -
Apex. I am not denying the work Oracle's Forms team has done to modernise the
old girl, but I doubt that it will ever be truly suitable for the world-wide
web.
However,
if you are building an enterprise application, then there is definitely
something to be said for the solidity and gravitas that Forms still exudes. And
if your application will be used mostly for data-entry, then Forms provides
speed that Apex, even with its clever javascript and ajax hooks, cannot match.
Extendability: The answer to the question of
which is the more extendable technology may not be as obvious as it may first
seem. Being a web technology, Apex can more easily sup at the banquet of ajax
and javascript, can more easily flirt with jQuery and whatever the next big
thing will be. But with each iteration of Forms, its door is opened wider, with
Java pluggable components and javascript and CSS support. However, I believe
that Apex will always outpace Forms in this respect; the story of the tortoise
and the hare was only a fairy tale.
Speed: I cannot get my hands on the exact figures now, but I have read that for every tenth of a second that Amazon manages to shave off their website's response time, sales increase by many millions of dollars. Google experienced a similar increase in the stickiness of their site when they introduced Google Instant. If response times are as crucial to your project, then perhaps you should be leaning towards lightweight Apex. But do not dismiss Forms out of hand; from 11g, it is possible to slash load times by pre-starting runtime engines. The tortoise may have bought itself some roller skates.
Deployability: Our IT team are forever
engaged in a battle with Oracle Application Server. One of them - OAS or the IT
guys - isn't very good at their job. Since no one at Oracle has ever bought me
a drink at the pub, I'll assume it's their fault. Apex is easier to deploy than
Forms; indeed there is a growing number of companies that will host your Apex
application for you.
The Big Picture: You have to consider the wider context. In my case, the option of
building Forms applications is a receding one, since my company has taken the
decision to move towards Apex. We now have a cohort of new, young developers to
who Forms is Betamax.
Conclusion: The polygamist makes his decision and
quietly opens a door. He enters the room and closes the door behind him. Are you awake? he whispers into the
darkness. There is a crack in the curtains, and a shaft of milky moonlight is
lying across the bed like an abandoned sword. Yes, a voice whispers from beneath the covers. He walks towards
the sound, his pace quickens with excitement.
There
is no universally right or wrong answer; it depends on your project and the
factors I have named above (and the many I have not thought of - which is why
there is a comments section below).
PS: I'd like to thank Steve Cairns for
his help with this post. He is one of the country's leading experts on
polygamy. Or Oracle technologies. I forget which.
2 comments:
Forms is a solid technology, but finding people who specialize in it is going to be more difficult and more expensive as time goes on. I used to do Forms when I worked with EBS, but haven't touched it in 4 years and would only go back kicking and screaming. I think you hit the nail when you said the kids out of college relate it to betamax.
LOL...polygamy..
Had a great laugh.
Post a Comment