Monthly Archives: July 2006

Application Express 2.2 in Production

Application Express version 2.2 is now in production!

You can download it from from Application Express OTN website

There are a huge number of great new features, some of them that look immediately useful are –

  • Copy a Page from Another Application You can now copy a page from one application into another. During the copy process, you can also copy referenced shared components or change the mappings to shared components in the target application.

  • Timestamp datatype support In release 2.2, you can build forms and calendars on tables that have columns of type TIMESTAMP.

  • Component-level Export You can now export shared components or components of a page. You can use this new feature to backup a component before editing or to create an export that functions as a patch to another Oracle Application Express instance.

These features alone are going to save lots of time and increase productivity in a tool that already has amazing productivity returns.

I’m already downloading and installing it on my laptop……

Oracle XE, Application Express and the great divide…

 I quite often get asked three questions

  1. What is Oracle XE?
  2. What is Application Express
  3. Which one should I use?

I usually give a standard response to the first two questions of –

XE = Free edition of the Oracle database + Preinstalled copy of Application Express

There seems to be quite a bit of confusion about what exactly XE is, how it relates to Application Express (if at all) and “which one should I use?”.

It’s perhaps easier to start with a description of Application Express. Application Express is the new product name for HTMLDB, it is a browser based rapid development enviroment that consists of two parts –

  • A set of packages, procedures and functions that are installed into a database instance
  • The Oracle HTTP server (OHS), which is essentially an Apache webserver with the mod_plsql module loaded, together with some other custom changes.

The mod_plsql module enables web requests to be processed directly by the database, via the webserver. With application express you can create an ‘application’ (essentially a website) which can contain pages which are generated dynamically by the database at runtime. Because application express runs ‘inside’ the database it makes creating a database driven website extremely fast and simple. If you already have data residing in a schema in your database, you can create a simple Application Express ‘front-end’ to that data within minutes.

One of the huge benefits of using Application Express over some other development technologies is that it completely removes the need for you to worry about things like database connections, since you are already connected to the database. For example you don’t need to implement your own connection pools, or abstraction layers as you would in other technologies since you can enter your SQL queries and PL/SQL code directly into your application without having to worry about how the database connection is going to be established, or whether you have the same session as your last connection. All of these ‘peripheral’ things are taken care of for you by the Application Express engine.

The other huge benefit of the Application Express development environment is that it is browser based, which means that all the developers need is a browser. You can develop and test your application without having to install any client libraries or software.

It is impossible to sum up the abilities of Application Express in a few paragraphs, so I won’t even try, all I will say is that I haven’t yet seen a website on the internet that could not have been written (or rewritten) in Application Express (since the end result of the Application Express engine is to produce HTML that is sent to the users browser).

So, where does Oracle XE fit into this?

Well, Oracle XE is a 100% free edition of the Oracle database. It is free to use and to deploy. It has many of the features available in the other editions of the database (such as Standard Edition One, Standard Edition and Enterprise Edition).

Many people in the past have been put off using Oracle as a solution due to it’s ‘perceived’ high licensing costs. I say perceived, since many people look at the price of an Enterprise Edition licence without considering that they may not have required all of the functionality available with the Enterprise Edition and therefore could have purchased a licence for one of the other (cheaper) editions, such as Standard Edition One.

Oracle XE however is 100% free, which means that where people may have chosen MySQL since it was free, they can now choose to use XE.

Oracle XE does have some limitations, which is to be expected when you consider that there is a clear upgrade path from XE to the other editions of the database. The limitations are as follows:

  • Supports up to 4GB of user data (in addition to Oracle system data).
  • Single instance only of Oracle Database XE on any server.
  • May be installed on a multiple CPU server, but only executes on one processor in any server.
  • May be installed on a server with any amount of memory, but will only use up to 1GB RAM of available memory

Those limits will actually still be within lots of peoples requirements, for example a huge number of websites that are currently running and using MySQL won’t need anywhere near 4Gb of data storage. Also given the speed of current processors, the fact that XE will only execute on a single processor is not a great cause for concern. Also the limit of using up to 1Gb of RAM will not affect the vast majority of people likely to be using XE.

XE is also extremely simple to install and is currently available for the Windows and Linux operating systems (which obviously covers a huge potential customer base).

As I mentioned before, XE also come with a version of Application Express preinstalled. So you get the same (with a few slight differences) Application Express development environment under XE as you would with Application Express installed into an Enterprise Edition of the database.

All of this means that XE gives you a superb, zero cost way of designing and building dynamic database driven websites. You can download today, for free an edition of the database that is simple to install and gives you all you need to produce websites ranging from a simple home page through to a full eCommerce solution (or anything else you care to think of).

If you then find that you outgrow the limitations in XE, such as needing more than 4Gb of data, or you want to make use of more processors you have two choices –

  1. Upgrade the XE database to one of the other editions, such as Standard One, Standard Edition or Enterprise Edition
  2. Export your application and the corresponding data and install it into an edition of the database (SE One, SE, EE etc) that has Application Express installed into it.

This sort of migration can literally take minutes (assuming you don’t have GB’s of data to migrate). It also means that your application can then take advantage of features that aren’t available in XE, such as Virtual Private Database or XQuery.

It also means that you can easily take advantage of hosting companies such as Shellprompt.net that host production Application Express applications. You can develop your website on your home PC in XE for no cost, once you are happy that your application is ready to be deployed you can export it and upload it to the Shellprompt.net Application Express server with a few clicks of your mouse.

There is also a bit of a ‘myth’ that Application Express is only really useful for replacing Excel spreadsheets or Access databases. I would disagree with that completely, what you can do with Application Express is only limited by your imagination (within reason!).

If you’re currently thinking of using Java, or Ruby on Rails, or any one of those other web development technologies I would seriously suggest taking a look at Application Express, or even better have someone who is already familiar with it show you exactly what  it can do. You may just be surprised at how much time and money it could save you.

If you’re wondering why I put “and the great divide” in the Title of this post, it’s because I think a lot of people who are using XE are unaware that their applications are compatible with a database instance that has Application Express installed on it. There are two different Oracle forums, one specifically for XE (note you will need to register to be able to access it) and one for Application Express and many people tend to only look at one forum or the other, without realising that posts in the other forum may be helpful to them.

I think there’s a great future for Oracle XE and Application Express just so long as people continue to find inventive and new ways to use them.

Guerilla Marketing?

Someone asked me the other day if I would be providing cheaper hosting now that I’m an Oracle ACE (I didn’t quite grasp why how the two things were related!).

So, as a sneaky piece of Guerilla marketing, for the next 14 days (until the 8th of August 2006) I will give a 25% discount (to new customers for the first 6 months) when they sign up to Shellprompt.net for hosting so long as they mention the word “ACE” in their application.

I’m not going to advertise this anywhere else, so it will be interesting to see if anyone actually takes advantage of it.

Oracle ACE

Well, I’m humbled, seriously I am….

I’ve just been made an Oracle ACE for my involvement with Oracle Application Express. It’s a huge honour to have my name listed alongside the other ACEs on that page, I’m still at the ‘bewildered’ stage and it hasn’t quite sunk in yet.

Andrew Clarke (another ACE) wrote a good piece about becoming an ACE, some of his comments definitely struck a chord with me, for example

In the end, you can’t set out to become an ACE. It’s something that happens to you along the way, a sign that somebody else has spotted your efforts and deemed them worthy of merit.

Radio Free Tooting: On becoming an ACE

I definitely didn’t set out to become an ACE, and certainly never expected that I would become one. I looked back at my first post on the OTN Application Express forum (spookily posted almost 2 years ago to the day) and it was a question (rather than an answer!), as time went by (and I began to learn more about the product and how it could be used) I started to answer some of the questions that other people posted. I have definitely found that helping other people also helps my own understanding, since often I might *think* I know the answer but when researching it I might find something that I didn’t previously know.

I cannot thank Mark A Williams enough for nominating me as an ACE, it is an absolute honour and I am definitely going to keep on contributing to the future of Application Express in every way I can.

We have a winner….

The World Cup is over, but I’ll resist the urge to comment on England’s performance…

However, even more importantly (!), it means that the WC2006 Application which was implemented by Dimitri Gielis has now concluded, and we have our winners –

  1. 1st – Damir Vadas (Wins a Years Free hosting with Shellprompt
  2. 2nd – Brian Doyle (Wins an Oracle T-Shirt)
  3. 3rd – Sandor Szabo (Wins an Oracle Pen)

The competition was definitely fun and I’d say it was also extremely successful with over 400 people registering and taking part, it was also a great advert for just how good a development tool Application Express is, since Dimitri often made seamless improvements to the application as the competition progressed.

Well done to the winners, and thank you to all those who took part. Special thanks also to Dimitri implementing and maintaining the application itself (which I’m sure we’ll be seeing more of!).

Oracle OpenWorld 2006

Well I’ve decided to take the plunge and sign up for the Oracle OpenWorld 2006 event in San Francisco from the 22nd-26th of October. It will be the first OOW I’ve attended, so I’m definitely looking forward to it.

There are lots of special programs that you can sign up for, such as –

I have (of course!) signed up for the Oracle Develop program, since I spotted there would be a section on “Oracle Application Express Advanced Techniques”, the section on “PL/SQL Performance: Debunking the Myths Uptime Application Patching” also looks very interesting.

I also signed up for “XQuery, Oracle XML DB and Web Services” since it’s something I’ve been meaning to investigate for some time. So not only will it be a good chance to learn about the technologies from the experts, but also a great opportunity to see in what ways it can be applied to day-to-day business problems. I’m a big fan of trying to learn new things (my bookshelf is littered with books I’ve bought on the spur of the moment), but the important thing is not only to learn something, but to also know how to apply and adapt it. So I’ll definitely be looking for ideas that I can take away with me to ‘tinker’ with.

There’s always the temptation with this sort of thing to ‘stay within your comfort zone’, so I’m also definitely going to look into things that I wouldn’t normally get exposure to, since you never know if it might prove useful to you in the future.

It will also be great to meet up with some of the people involved in Application Express, so if you see a slightly ‘lost’ looking Englishman walking around, don’t hesitate to say ‘Hello’.