Tuesday, May 05, 2009

Collaborate 09 - Tuesday

It looks like my jetlag is not over yet as I woke up at 4 am again.

It's a habit to get at least once Egg Benedict as a breakfast while I'm in the States, so that is what I took today. It was not bad, but I think the Eggs Benedict in San Francisco was a bit better.

My first session of the day was "Introducing SQL Developer Data Modeling" by Sue Harper.
She gave a nice overview and demo of the possibilities of this Data Modeling tool. I believe this product is worth your try. You can both create a logical, relational and physical diagram or you can reverse engineer an existing database. The product is currently in beta, but it shouldn't take long anymore before it hits production. She also mentioned SQL Developer Data Modeling will be available as a stand-alone product and as an extension for SQL Developer. The first production release will be without a repository, instead it uses XML files.

The next presentation on my list was one of my favorite presenters Steven Feuerstein. Steven talked about "Coding Therapy for Software Developers".
You can actually download this presentation (and all his others) on Steven's ToadWorld website.
I liked his presentation a lot and he hit the nail on the head in a lot of his quotes. One I really liked was: "The fastest way to get the job done is to take your time." For ex. in APEX you can quickly create applications, but if you didn't think about the data model or anticipated the project and the customers future requests that might cause you problems in the future. Of course this counts for every development language, it's just so that with APEX you happen to see it quicker ;-) But that quote counts in real life too. We have some builders building our new house and I found their way of working very different than mine... I want things to be perfect, but for them good is good enough. The problem is their good is even not good enough for me, so they ended up redoing a wall three times! Hopefully it reminded them to the saying "more haste less speed".

In the afternoon we had the "APEX - Ask the Experts Panel". The panel existed out of Tony Jedlenski, David Peake, John Scott and myself. As we were with a small group (around 20 people) it was a very interactive meeting with lots of good questions.
Here are some of the questions with a brief answer.

"Dr. Paul Dorsey mentioned in his presentation he had questions (doubts) about the Security and Dynamic SQL in APEX."

As with any other development language you can also develop insecure APEX applications. But APEX helps you with making your application more secure. APEX already gives you some out-of-the box security options like Authentication, Authorization and SSP (session state protection). But you can leverage all the security options of the Oracle database as well for ex. if you don't want to allow certain rows or columns to be visible you can use VPD (virtual private database). Paul also said there is no development tool secure enough for him, but APEX will be one of the most secure once around.
Concerning the Dynamic SQL, John Scott has a nice presentation about Dispelling Myths about Oracle Application Express where he shows some statistics about APEX apps... at the moment the use of Dynamic SQL is no issue. But it's recommended to use a PL/SQL package in the database than to put all the PL/SQL code inside an APEX process. In that case it can be pinned by the database etc. It also makes debugging easier.

"When I've issues with APEX where do I go?"

The APEX Forum on OTN is a great place to ask you question first. A lot of smart people are in the forum to help you and it's rarely you are the first to come across a problem. If it tends out you are hitting a bug it's good to also log it in Metalink (create a TAR). If you want a new feature in APEX, there will be an application to log these in the next weeks.

"How do you do configuration management for your APEX apps?"

If you define some working practices that should help you a lot. For ex. you can always use the same directory structure for your javascript files, css files etc. You can also use developer comments in APEX to help you document your application. If you are with a larger team of developers naming conventions and an agreed why of working is a good idea.

"In an Interactive Report I've problems with large datasets"

We would need to have a reproducible case, so the person of that question will create an example. John tried an Interactive Report with 1 million records and that worked without a problem, so we'll see about that... If you have found this too, please put a comment on this blog.

David also talked a bit about APEX 4.0. One of the things I heard for the first time was that they are looking to make multiple Interactive Reports available on the same page (out-of-the-box). You find more about 4.0 in the Statement of Direction.

Later that afternoon John Scott had a book signing session and he sold 100% of his books (Pro Application Express) and signed every single one!

At night John, Tony and I had diner at Maggiano's Little Italy. It was a nice and relaxing evening and I enjoyed being outside (we had a table on the patio).
When walking there I saw a very strange building! You see what is wrong with it?

No comments: