Tuesday, March 31, 2009

Interesting sessions @ IOUG Collaborate 09

This year IOUG Collaborate 09 will be held in Orlando, Florida. This conference is one of the three conferences I go to in the States. ODTUG Kaleidoscope is more towards developers, Oracle Open World is more about the latest and greatest of Oracle, where IOUG Collaborate is a bit a mixture of all Oracle technolgies and applications.

There are about 10 APEX Sessions, which allows me to watch some other things as well.
Below you find the sessions I'll probably going to look at. There were some interesting sessions overlapping, which is a pity. There is also Tom Kyte on Sunday, but I'll just have arrived then.

Session NumberTitleSpeakersTrackCategoryPresentation PreferenceEvent DayPresentation Start Time
Q309Oracle in the CloudBill Hodak (Oracle)DatabaseVirtualizationQuick Tip (30 minutes)Monday, May 4, 200912:00 PM-12:30 PM
106Running Oracle in the Amazon EC2 CloudTony Jedlinski (Konoso LLC)Architecture and InfrastructureDesign/Configuration (hardware, storage, network)Technical Session (1 hour)Monday, May 4, 200901:15 PM-02:15 PM
558Oracle Application Express 3.2 Forms ConversionDavid Peake (Oracle)DeveloperApplication Express (i.e. ApEx)Technical Session (1 hour)Monday, May 4, 200902:30 PM-03:30 PM
516An Architectural Review of Application ExpressPaul Dorsey (Dulcian, Inc.)Developer
Technical Session (1 hour)Monday, May 4, 200903:45 PM-04:45 PM
520Managing User Preferences in Application ExpressDavid Scott (Intec Billing)DeveloperApplication Express (i.e. ApEx)Technical Session (1 hour)Tuesday, May 5, 200909:45 AM-10:45 AM
136Introducing Oracle SQL Developer Data ModelingSue Harper (Oracle)Architecture and InfrastructureData Modeling (e.g. Normal Form, Designer, CAD, UML)Technical Session (1 hour)Tuesday, May 5, 200909:45 AM-09:45 AM
370Coding Therapy for Software DevelopersSteven Feuerstein (Quest Software)DatabaseBest PracticesTechnical Session (1 hour)Tuesday, May 5, 200911:00 AM-12:00 PM
Q342A Free Stress Testing Tool From Oracle!Debra Scarpelli (The Cornflower Group)DatabaseTool Evaluations (Oracle and Third Party)Quick Tip (30 minutes)Tuesday, May 5, 200912:15 PM-12:45 PM
343APEX - Ask the Experts PanelDimitri Gielis & John Scott (Apex Evangelists)APEX SIGAPEX SIGTechnical Session (1 hour)Tuesday, May 5, 200901:30 PM-02:30 PM
528Developing secure mashup's with ApEx.Marinus Kuivenhoven (Sogeti)Simon Boorsma (Sogeti)DeveloperApplication Express (i.e. ApEx)Technical Session (1 hour)Tuesday, May 5, 200903:15 PM-03:45 PM
531SQL/XML For DevelopersLewis Cunningham (TUSC)DeveloperDatabase Programming (e.g. SQL, PL/SQL, SQLPlus)Technical Session (1 hour)Tuesday, May 5, 200904:30 PM-05:30 PM
534Oracle11g New Features for DevelopersDan Hotka (www.DanHotka.com, LLC)Developer11g Features (for Developer)Technical Session (1 hour)Wednesday, May 6, 200908:30 AM-09:30 AM
523(No?) Visible Means of Support(ing Objects?) in ApEx?David Scott (Intec Billing)DeveloperApplication Express (i.e. ApEx)Technical Session (1 hour)Wednesday, May 6, 200909:45 AM-09:45 AM
539PL/SQL Collections: Processing Datasets Your WayMichael Rosenblum (Dulcian, Inc.)DeveloperDatabase Programming (e.g. SQL, PL/SQL, SQLPlus)Technical Session (1 hour)Wednesday, May 6, 200911:00 AM-12:00 PM
Q540Debugging in SQL DeveloperLewis Cunningham (TUSC)DeveloperDatabase Programming (e.g. SQL, PL/SQL, SQLPlus)Quick Tip (30 minutes)Wednesday, May 6, 200912:15 PM-12:45 PM
546Dispelling Myths About Oracle Application ExpressJohn Scott (APEX Evangelists Ltd)DeveloperApplication Express (i.e. ApEx)Technical Session (1 hour)Wednesday, May 6, 200903:15 PM-04:15 PM
545APEX Interactive Reports: The Good, The Bad and The UglyKaren Cannell (Integra Technology Consulting)DeveloperApplication Express (i.e. ApEx)Technical Session (1 hour)Wednesday, May 6, 200901:30 PM-02:30 PM
549How to Build a multi-tenant SAAS application with Oracle Application ExpressFrancis Mignault (Insum Solutions)DeveloperApplication Express (i.e. ApEx)Technical Session (1 hour)Thursday, May 7, 200908:30 AM-09:30 AM
552What happens on an APEX Page?Dimitri Gielis (Apex Evangelists Ltd)DeveloperApplication Express (i.e. ApEx)Technical Session (1 hour)Thursday, May 7, 200909:45 AM-10:45 AM

On Sunday there is a Welcome Event and IOUG created some tables around certain technologies. I know some people (John Scott, Tony Jedlinski, myself, ...) will be standing at the Oracle Application Express (APEX) table! It's a great time to meet other APEX minded people then and have some drinks and informal talks together...

I look forward to meet you in Florida!

Friday, March 27, 2009

APEX Column in OGh Visie

OGh Visie is a Dutch magazine of the Oracle Benelux User Group. They publish their magazine three times a year and it contains articles about Oracle products... and it's free.

In their last magazine "OGh OBUG Visie 2009 Voorjaar" they asked me to write a column about APEX. I wrote about the use of APEX and what's coming in the future. If you understand Dutch feel free to read the online version.

Roel Hartman also wrote an article about APEX 3.2 in that magazine.

Monday, March 23, 2009

CASE in Interactive Report (APEX)

In APEX 3.1.2 there is a problem with the CASE statement when you use it in the Compute function of an Interactive Report. You might see following error:

The above issue got fixed in APEX 3.2, as you can see here. So if you want that functionality, it's worth upgrading to APEX 3.2. There are more smaller fixes in like these and a number of security enhancements, so I recommend to use APEX 3.2 if you can.

But... when you try this CASE statement (use of smaller than, larger than or BETWEEN) you get an Invalid computation expression message.

Joel Kallman told me this is a bug (Bug 8347332) and it will be fixed in the APEX 3.2.1 patch set. The Apex development team was too restrictive in the operators they allow inside this type of expression.

If I can ask for one more enhancement: let us also be able to use Enters, because if I type some more when clauses it becomes a very long string. It would be nice if I could structure it like in the next screenshot. It would also nice if we could make that Computation field resizeable. As Patrick is now in the team, he already did that in his ApexLib and as JQuery will be in APEX, I hope to see it in 4.0 ;-) Thanks so much!

A workaround at the moment is to include the case statement directly in your SQL statement.
If you can't do that (like our client wanted to specify the above dynamic), you need to build it yourself or search for an alternative function that does work.

Tuesday, March 17, 2009

Marketing video of Oracle Application Express

Jeff Erickson of Oracle create a "one minute video" to promote APEX 3.2.

I expected to see 1 minute of video, but it was 2 minutes 22 seconds long ;-)

There is not that much technical info in, but if you have only 3 minutes to convince your customer or manager about APEX, you can quickly show that video.

Hopefully he wants to see more, so he makes some time for you to do a real demo. For me that is still the way to convince people about APEX... show it to them!

Monday, March 16, 2009

Worse things happen, but you have options

One day you find yourself in a situation you have to change something in an application and the worst happens... after the change the application doesn't work anymore.

It happened to me... it was a very small APEX application I created for my wife a long time ago. The application allows her to give points on the work of her students. At that time I created a tabular form on top of a view. The underlying tables get updated by an instead of trigger, like I describe here. Of course I forgot about the trigger, so when she asked me to add a field to the view, I did a replace of the view with the new definition.

I guess you know what happened? My wife wasn't able to update the points anymore because with the replace of the view the trigger got deleted. Nothing to worry I thought, I'll use a script to recreate the trigger. If I could find the script now! I created that app very quick and on the side and didn't treat it as a real project, so my source was not in source control.

Then you are happy you are inside the database with APEX as you can use all the features to recover from "disaster" or better human errors. So I thought to use flashback... but how does that work with a view and a trigger linked to that? I then thought I would find my object in the recyclebin of the Oracle database, but nothing there either...

What else can I try... in APEX you have the SQL Workshop and I sometimes use that to do some quick things and I know there is a history in there. The history is really handy in cases like this, but I was unlucky, the code was not there...

Next to try on the list... in SQL Developer there is also a history of the commands you do. I could go back in the SQL history till January, but that was not far enough. I guess there is a preference in SQL Developer to say how much it needs to remember, but I never touched that. Or it must have been with an upgrade of SQL Developer that I lost some history?
Nevertheless I'm so happy you can use F8 or go to View - SQL History and see all your statements.

The only thing left on my list was to restore a backup or a dump. In my case I kindly asked John to get a copy of my scheme like it was the day before.

But then you see the trigger was not there either ;-)

My wife only uses the application a few times a year, so I probably did another change on that view which had caused the trigger to disappear earlier. Finally John found a backup of a few months ago where the trigger still existed, so I could use that. Thanks again my friend!

So lessons learned:
-) Always treat your project as a real project, even if it's very small
-) Save your scripts, if it's not in source control, at least make a backup when you finish development (or even during development)
-) Use the features of the database if things go wrong
-) SQL Developer and APEX have a SQL history, which can save you hours
-) Get a good hosting provider in case all of the above goes wrong. Make sure backups are taken and kept (for a long time) and keep friendly with them
-) and if all that doesn't help, make sure you have a good memory so you can recreate it, because it seems that will be your only option

Thursday, March 12, 2009

Free APEX Training

John already blogged about it, but I thought to remind you about it again.

During days of economic crisis people told us their managers are not keen to spend money on trainings, so we are looking for ways to make everybody happy. The person who wants to come, can come and the manager who doesn't want to pay, only pays the absolute minimum.

We have been shuffling with ideas about discounts for 2 or more persons of the same company (we still might do that later) and about some free places for our training.

So the idea we had, was to give a free place on our upcoming APEX Training course to the person who can give us the best reason why they deserve the place.

There are very few rules, only -

  1. Your reason must be 50 words or less
  2. You must be able to attend the course
  3. Our decision is final and will be based purely on the one that makes us laugh the most
  4. The winning entry (and any other notable ones) will be displayed on our site/blogs
Email your submissions to training@apex-evangelists.com with a subject line of ‘Free Place Submission’ (or click here to have it auto-filled for you). I don’t mind you also post it as a comment of this entry, but then also send it via mail as that is where we will base the final decision on.

Monday, March 09, 2009

Is APEX still worth looking at?

A while back I got following question:

I am a Oracle Developer and wanted to ask you what is the scope of APEX in the near future. Forms and Reports are still very much alive and APEX jobs are not that much I have seen in the US market. APEX is quite old now (about 3 to 4 years old). What is your view on it?

I would appreciate your input. I have invested huge amount of time in APEX as I was excited as you are with APEX technology and now I feel was it really worth it? Is the future of Forms and Reports -> APEX or is it J2EE. I mean Forms/Reports -> to -> APEX or Forms/Reports -> to -> Jdeveloper (J2EE). I personally like APEX much better.

Apparently still a lot of people are struggling with this question, so I decided to do a post about it, but I'll break down the question in different parts.

Is Oracle Application Express (APEX) old?

It's not "new" anymore, the first public release was in 2004. But is it bad that APEX is getting older? With every new release we got a lot of nice features which made APEX more mature and worth looking at. The Oracle database is very old too, but with every release new features got introduced. The database is also doing a lot of things for you now, which in the past cost you a lot more effort. I see APEX like that, with every new release the development of an application is made easier for you and you get more possibilities to make your application even nicer.

Are there jobs for APEX developers?

I guess we, APEX Evangelists, a company 100% dedicated to APEX, proves you can make a living out of it. Day in day out we work with APEX with many different customers. Development, support, training and consultancy are our main activities. So I can definitely see a job for you in this domain. Sure .NET and Java are asked very much and the APEX market is smaller, but it's growing every day...

What is the future of APEX?

APEX 3.2 got released a couple of weeks ago, which includes a Forms to APEX conversion tool. The next major release of APEX is 4.0 which will include some very nice web 2.0 features. Some of the highlights of that release will be Updateable Interactive Reports (improved tabular forms), Websheets, an APEX listener and Dynamic Actions. A full list can be found in the SOD.

Forms to J2EE or Forms to APEX?

It depends... What is your infrastructure? What knowledge do you have in house? What are your requirements? Why do you want to change?

You have three options, really:

1) Stay with Forms and Reports. You really need to ask yourself why you want to change. Is it because of license costs? Or do you need to web enable and extend your application? Only you know the answer, but going to another technology is not something you do in 1..2..3, so think about it before you start. Both J2EE as APEX provide you with tools to make the migration as painless as possible, but you still need to do some things yourself.

2) Go to J2EE. Already a lot of people went into that direction as Oracle itself is following that strategy for the Applications Suite. I'm not specialized in that area but if you look at the blogs of Grant Ronald or Duncan Mills they have all that information. The ADF development team is doing some really nice work and have some really cool features available.

3) Last but not least you could also chose to convert your Forms to APEX. One of the biggest advantages for me, especially in times of economic crisis, you avoid paying a license for the Oracle Application Server (OAS). APEX doesn't require the full Oracle Application Server, but can run on Apache or directly from the database (later, in APEX 4.0, with the APEX listener it can also run on a java environment like for ex. Tomcat or OC4J). Of course the full Oracle Application Server has some nice features which you won't have, but typically APEX doesn't need the OAS. Next to that most likely you can reuse your existing knowledge...
Especially with APEX 3.2, which includes a Forms to APEX conversion tool, it's worthwhile investigating this option. If you already have a lot of people knowing SQL, PL/SQL and HTML, APEX might be a good fit for you, as these are the main building blocks. But remember this conversions tool is not a silver bullet, you still need to do a lot of work to get your Forms conversion completely finished, so please, see it as a real project and treat it like that.

So to conclude, I'm still happy I chose APEX as my preferred technology. I still don't know that many tools that can create data centric applications at the speed of APEX. More and more people are starting to use it. APEX let you extend your application easily... To make web 2.0 (or 3.0/4.0) applications we intensively use JQuery and other 3rd party components (for ex. Anychart) with APEX too. I really look forward to the APEX 4.0 release as that will already have some of these enhancements out-of-the-box. So we still have things to look forward to and stay passionate about it...

Friday, March 06, 2009

Anychart Integration Kit 5.1.2 for APEX

For the people who didn't see it yet, we put a new download on http://anychart.apex-evangelists.com which let you use the integration kit for Anychart 5.1.2 (and above).

People using Anychart 5 should still use the Anychart 5 integration kit which you find on the same site.

We are currently working on a new site (see image) that shows some of the new features and will also includes the Maps, Gauges and Gantt charts. Something to look forward to!

The integration kit is still free, but includes a Trial version of Anychart. You would need to buy the full version of Anychart to remove the Trial watermark. To make things more clear you can now buy Anychart 5, Anymap and Gantt charts together with the integration kit directly on the site of Anychart.

You can still use the APEX15 promotion code to get a 15% discount on all the products of Anychart which includes the APEX integration kit.

We are happy to help you with any installation issues if you buy Anychart with the APEX integration kit. Next to that we also offer consultancy to help you with creating your charts, dashboards, maps, gauges and gantts or any other question you have about Anychart or APEX.