I still remember deploying my first Microsoft Access application 10 years ago for a head hunting agency.
They had a user base of about 200 users (I can already hear some of you groan) and they needed a
system to manage job applicants and the companies that want to hire them. And they tossed my meager
development team of two an "uncompromisable" deadline of one month in which to conceptualize,
develop, and test the system—and have it go live right after that.
Any self-respecting enterprise development team would have laughed off the ridiculous timeline,
but for reasons unknown to ourselves (though I think the obscene amount of money offered for the job
had something to do with our decision), we decided to have a go at it. We turned to the distant faraway
lands of rapid application development (RAD). We found a match in Microsoft Access, and after
confirming that the actual user concurrency rate would be low enough to squirm past Access's
concurrency restrictions, we took the job.
Our two man team successfully developed and deployed the application within the one month
timeframe, and the agency used it for at least five years before upgrading their systems. The point of the
story is that were it not for the RAD tool, some projects would never see the light of day. Stories such as
mine still echo in many corners of the Internet to this day.
RAD tools have come a long way since then. Now that most enterprise solutions are deployed
entirely on the Web, it would only make sense for RAD tools to catch up, and they have. From simpler
app creation tools such as the cloud-based Zoho App Creator and Google Apps to the more "serious"
ones like APEX and Ruby on Rails, they've all made their debut on the Web; it is now easy as ever for
anyone to set up their own sales force app or online bookstore app and have them all hosted on the
Internet with a (metaphorical) click of a button.
RAD tools work exceptionally well in business scenarios; firstly because business apps are usually
web-based, and secondly, because they consist mostly of CRUD (Create, Read, Update, and Delete)
operations, the atomic operations at the heart of every database-centric application. For this same
reason, APEX takes the cake; it integrates tightly with the Oracle database and handles CRUD very well
through PL/SQL. APEX sits as a platform on top of the database, and in doing so, the applications you
churn from APEX enjoy all the benefits available to the database (such as clustering support, for one).
In this chapter, you will learn about APEX through a few recipes that will help you get up and
running with APEX in no time. These recipes will also provide a primer of sorts to familiarize you with
basic APEX concepts. You will also learn how to use some of the team development tools available in