APEX, More APEX, a bit of PL/SQL, ACEs and Babbage

One of the worst times to get an ear infection, I learnt, is the night before you present at a conference. I hardly got any sleep and I’m deaf in one ear, making my voice echo in my head.

I survived relatively unscathed and there seemed to be a good level of interest in the room so that was encouraging. I knew that I had a lot more material than I had time to present, so I went pretty quickly, and in the end managed to get through about 80% of the slides and the bulk of what I felt was important.

If you would like a copy of the presentation you can download it from here [JeffKemp_Apex_Social_Networking.pdf]. You can also download an export of the sample application “Zample” [f100_zample.zip] if you want to play with it yourself.

After that I stayed to hear Scott Wesley talk about some creative uses for conditional compilation, and heard David Peake talk about the imminent Forms Conversion process in APEX 3.2. Personally I don’t see much potential for actual forms conversion projects, but that’s because every Forms application I’ve worked on has a lot of business logic in the triggers, and “creative” uses for all the features of Forms which will never translate into APEX. I can, however, see a use for this tool to take all the forms from a legacy app and expose all that logic in APEX for analysis. It could be used to document an existing system which may save some time when designing a replacement system in APEX/JDev/whatever.

It wasn’t just David who spoke on APEX, I enjoyed Penny Cookson/Eddie Harris’s talk “How Ugly is that APEX Report?” in which she gave a few options for making reports out of APEX page regions, and more options for those who are lucky enough to have BI Publisher. They also demonstrated what you can do with Cocoon. I haven’t dabbled in APEX reports at all (most of the time I’ve made APEX applications to avoid the need for printed reports) and hadn’t heard of Cocoon.

Tim Hall spoke on PL/SQL best practices for performance, which was pitched more at a mid-level PL/SQL programmer but good none-the-less. After that, another David Peake presentation revealed the roadmap for the future of APEX. I like what I’m hearing – version 4 will enable a number of Ajax-powered features declaratively, something I’ve been looking forward to. The standout, of course, is the enhancements to the Interactive Reports which allow users to edit the data in-place. His final presentation on UI presentation techniques focused primarily on the new Interactive Reports feature that is available now in 3.1.

I decided to end the day at Scott Hollow’s talk “Babbage vs Oracle” in which he compared/contrasted the lives and times of Charles Babbage (arguably the father of computers) and Larry Ellison. Scott has a passion for computer history and it showed.

There was a session mysteriously entitled “ACEbook” which wasn’t well attended, probably because it wasn’t clear what it was about. Turns out they got together a panel of Oracle ACEs and ACE Directors and discussed being an ACE, what the difference was between ACEs and ACE Directors, and advice on contributing to the Oracle community. I had a few questions but they ran out of time so I’ll ask them here:

  1. What killer new feature would you like to see in Oracle 12g? and
  2. What super power did you gain when you became an ACE/ACE Director?

AUSOUG Perth Conference

I’ve been in bed the last few days with a virus, but I should be ok in time for Monday. Had a look through the programme, and again it’s chocablock with very interesting titles. Quite a bit of Development Blue, but not so much DBA Cyan this time (unfortunately, in my opinion). There’s a lot of Apex sessions which I’m guessing reflects the growth of interest in Apex development here in Perth.

2008_Program_perth.pdf via www.ausoug.org.au/2020

Highlights for me include:

  • 11g New Features for PL/SQL developers – Dr Timothy S Hall
  • Creative Conditional Compilation – Scott Wesley
  • What is coming in Oracle Application Express and SQL Developer – David Peake
  • How Ugly is that Apex Report? – Penny Cookson
  • Back to basics: Simple database web services without the need for SOA – Chris Muir
  • 11g features for developers – Connor McDonald
  • Boost performance with PL/SQL programming best practices – Dr Timothy S Hall
  • The SQL and PL/SQL Results Cache – Penny Cookson
  • Converting from Oracle Forms to Oracle Application Express – David Peake
  • Advanced UI Presentation Techniques – David Peake
  • Babbage vs Oracle – Scott Hollows

Unfortunately, I won’t be able to attend all the above sessions so I’ll have to make some hard decisions 🙂

I’m talking about APEX…

at the AUSOUG conference this year. First time for me, so please be gentle 🙂
The draft programme is out now.

Looks like a great line up again this year, with a mix of local and international speakers. Some highlights that jumped out at me include:
Timothy Hall – 11g New Features for PL/SQL developers
Chris Muir – Simple database web services without an application server
Penny Cookson – How Ugly is that APEX Report?
… and that’s just the first day.

There’s also a mysterious session on the second day entitled “What do you want from your local User Group?” on the second day. Well, it looks mysterious because of the green tinge.

Asia Down Under

Um, could someone either
(a) tell me when Australia became part of Asia? or
(b) send Oracle University to Geography 101… 🙂

“First Time in Asia! … Melbourne… Sydney… Brisbane”

AUSOUG Conference 2007 Day 2

I enjoyed today’s programme very much. John Garmany gave a very easy-to-understand intro to the world of Regular Expressions. Luie Matthee spoke about virtualised Oracle 10g instances on Red Hat Enterprise Linux 5, most of which went over my head but I’m learning.

Apparently my red Red Hat hat is in the mail, but I did get a Toad toad.

It croaks when it is dropped or bashed on something. It amused my 2.5 and 0.5 year olds for hours, which is something I can’t say for all the $50+ toys they’ve gotten over the years.

Unfortunately I missed Chris’ talk on load testing web applications, I’ll have to ask my colleagues who attended about that one. I was particularly interested to hear Duncan Mills talk about how to move Oracle to SOA, and I wasn’t disappointed. The surprise is how easy it is to consume web services even with Forms 6i, and the new event triggers in Forms 11 sound very exciting (i.e. no more polling the database to simulate asynchronous processing) – there’ll probably be some new triggers like when-event-raised and when-custom-event which can be used similarly to when-timer-expired, but perhaps without so much network overhead.

The day ended with a rather friendly debate over development tools. Chris Muir started well with good-natured jabs at Forms (hasn’t that gone the way of Cobol? and why are there hardly any talks on Forms anymore?), Apex (voted “Best Toy of 2007”), and .Net (who cares about MS at an Oracle conference anyway?). Scott Wesley pointed out the large installed base of Forms, it’s a mature product, no-one needs to talk about it because there aren’t any problems with it anymore. Penny Cookson extolled the simple power that is available to the Apex developer. David Shields made a valiant attempt to influence a roomful of Oracle developers to give MS a chance, but I think the odds were stacked against him 🙂 Some probing questions from the audience prompted discussion of the various tools’ virtues for newbie developers, for integration with SOA, and for maintaining legacy apps. In the end I think it was decided that the winner is the “best tool for the job at hand”, in other words, everyone won (except perhaps for .Net 😉

My thanks to the AUSOUG committee for their hard work and dedication to bring off another excellent conference, and good luck in Melbourne!

Not an OpenWorld post: AUSOUG Conference Day 1

A great start to the Perth conference, great to catch up with old and not-so-old friends.

Listened to Tim Armitage from Oracle talk about database independence and why it’s just not needed due to the range of features Oracle provides for no extra cost.

Snuck into Penny Cookson’s demo of an Apex application she’s been working on for UWA. Quite a few tricks I hadn’t heard of, some of which will solve some niggling issues I’ve had on my applications. One simple one is the use of an application item to hold the previous page, to support reverse navigation from a page which has multiple entry points.

This afternoon will be time to stretch my knowledge a bit: Collin Klepfer on “Database Growth: Problems and Solutions”, and Gilbert Standen on “JVM Cutover for Oracle Forms” which I’m sure will mostly go over my head but I’ll pick up something about the replacement for JInitiator.

I suspect there’s a bit of “OpenWorld Envy” going on. It seems Penny wasn’t able to make it to SF and in her talk pointed out the fact that most blog references to Chris Muir at OW were about beer, specifically the consumption of it at various pubs.

I’m sure this tension will make for a spectacular show tomorrow evening with “The Great Oracle Development Tools Debate” featuring Penny and Chris, as well as David Shields, Vinod Patel (a current colleague of mine) and Scott Wesley (a former colleague of mine).

The State Of My Blog

I’ve had a few blogs in my head the last few months but haven’t had a chance to write them up. This is partly affected by the release cycle at work, and some extra-curricular volunteer work, but mostly by the birth of our second child.

[Warning: the next paragraph is not Oracle-related – skip ahead to the following paragraph if you like…]

Daniel’s arrival (photo) has probably affected our home routine more than Chloe’s did; at least with Chloe there was only one child requiring attention at any given moment; now there’s two kids screaming and during the week Daddy’s away at work for 10+ hours a day, so Rosalie’s got to handle it all by herself. The pressure isn’t helped much when one or more of us falls sick; last week Chloe and I were beset with headaches and fever, and while we’re almost recovered now, Daniel has started getting blocked up and having trouble sleeping. To top it all off Rosalie’s a bit under the weather as well. The cold and wet weather here in Perth has probably been a contributor – we’ve had temperature ranges as low as 8-17 degrees (Celsius)!

Yet another contributor to my lack of blogging activity was a fair amount of involvement in the State Youth Games earlier this month; this took a lot of my time, especially throughout May. Soon, I’ll blog about the Oracle Apex-driven web site I created for our team, partly on my non-Oracle blog and on this blog. The most interesting part of that was learning how to allow connections directly to my http server at home.

With all that excitement, I’ve managed to mostly keep up with all the blogging out there, which was massively helped with my home-grown RSS reader. It is also an Oracle Apex-driven web site for my private use, it regularly polls all my RSS feeds, downloads them to my computer, and keeps track of which ones I’ve read yet. RSS items that have enclosures (e.g. Rocketboom) are downloaded as well, so when I’m ready to watch or listen to them there’s less delay. At the moment I’ve got some hard-coded rules that automatically mark some items as “not interesting”, but eventually I hope to implement some kind of guided learning so that it will be able to mark new items as “probably interesting” or “probably not interesting” based on my feedback on prior items. Even with the hard coded rules, however, it cut down my reading time by about 50% which is nice. A few months ago the database had over 1,000 unread items; over the last few weeks I’ve managed to whittle that down quite a bit, and when I was sick I read the last few so now I’m fully up to date – e.g. Oracle 11g is on its way! 🙂 I can barely wait to get that installed.

That’s the State Of My Blog(s). I hope you enjoyed that because I normally avoid blogging-about-blogging like the /*TODO: insert cliche*/.

“Applications Developer: Soccer or Tetrinet skills desirable”

“Applications Developer – desirable skills: Soccer or Tetrinet”

Job: Applications Developer
Location: Perth – South
Advertiser: Kwinana Software Company
Classification: I.T. & T > Analyst/Programmer
Description: Highly-regarded development house. Build broad & deep skills in Microsoft, Oracle and industrial technologies. Soccer or Tetrinet skills wouldn’t hurt
Link: http://it.seek.com.au/users/apply/index.ascx?Sequence=13&PageNumber=1&JobID=9618584&cid=jobmail

“We have comfy chairs, grunty machines and twin 22” wide-screens on every desk (with webcams, for Skyping between offices).”


Mood Swings

An interesting column comment encountered:

MOOD_SWINGS_IND VARCHAR2(1) (Y/N) “indicates that the person was in a swinging mood at the time of the episode”

AUSOUG Conference 2006 over

Another enjoyable conference. I’ve attended it every year since 2000 and this year’s was packed with presentations. Over 300 attendees spread over up to six presentations meant less crowding, I think; although as always there were a few packed sessions.

Highlights for me were:

  • Connor’s “live demo” of 11g in Being a successful developer with Oracle
  • Learning that cancelling a cursor is a good thing, but finding it can’t be done in PL/SQL – Anjo Kolk, The life of a cursor and its impact on the shared pool
  • Trace Analysis on Steroids – Dave Moore’s talk was an eye-opener, not about performance-enhancing drugs (caffeine’s usually enough for me), but about Trace Analyzer. I thought this would be just another “if you’re not buying our product you’re wasting your time” talk, but in fact this is a totally free, open-source (PL/SQL!) tool that not only collates all the data from a trace file (as tkprof does), but also digs into your database to correlate the trace info with the data dictionary and present it all beautifully in HTML. Downloading and trying out this tool is definitely on my to-do list.
  • Connor again, Odds and ends – an odd but arguably the best session to end the conference with. A number of tricks I’ll want to experiment with once I get a copy of the powerpoints (e.g. I wasn’t aware that contexts can be made “globally accessible”).

Thanks to the AUSOUG committee for another well-organised event.