Tuesday, September 23, 2008

Oracle OpenWorld, day 2

Monday started kind of funny. On Sunday, Chen pointed out an unconference session to me about the SQL and PL/SQL forum, saying semi-seriously "this one is about you". My first regular session started at 11:30 AM, and this one at 11 AM, so I decided to have a look what Greg Pike had to say about the forum. His point was that he was amazed at the speed and the quality of the answers in the SQL and PL/SQL forum, but there isn't a good way to search or extract the greater threads. And then he went on to discuss several ways to get to the great information. Some of the ideas we discussed were: daily email or a yearly book with just the great threads, or a rating system that actually works by letting the regulars vote or not showing threads without an answer. Anyway, to show why the forum is great, Greg showed a particular thread he participated in about a quite complicated query combining string aggregation and counting. He was impressed by the answers ("these guys are unbelievable"), and went on to show all the given alternatives by Warren Tolentino, Nicolas Gasparotto, Rob van Wijk and michaels, solving the problem with hierarchical queries, model clause and xmldb stuff. He didn't know my name, which was amusing to me. But half way through, Lewis Cunningham exposed me. "That model clause query ... that's (pointing to me) the guy." It was weird for me though to see my name and query being mentioned in a presentation in San Francisco.

Because of this unconference session I arrived too late at Chris Muir's "Back to Basics: Simple Database Web Services Without an Application Server". He was showing several ways to call webservices from within the database, using utl_http and utl_dbws. And he was talking about 11g's native web services. Unfortunately I knew all this stuff already and was hoping to hear more about all the options and parameters that have to be set. But instead he walked through some code that is available, and copied a lot I guess, on the internet. The session would have improved a great deal if he had used a live demo, showing how it works, and showing the differences in the parameters like document_style, soapaction_uri.

Next session was Roel Hartman's "Developing a Real-World Logistic Application with Oracle Application Express". He told us about a Forms application that needed a new frontend and where he got to show an impressive prototype using APEX. When using no custom code, Oracle Forms has a richer user interface than APEX. Roel showed what he had done to have APEX reach that same level using direct validations, a useful calendar, a better LOV and code to automatically show a description when a code is entered. After applying these techniques, the user interface was as good as Forms'. But the best part was about a plan board in APEX. Roel had created a matrix screen, with the trucks and the days on both axis. The planning of the shipments/containers was done by dragging and dropping a square box in a cell. Looked really cool! Roel will post some or all of this code on his blog shortly.

One of the session I definitely didn't want to miss was "Performance Fundamentals for Oracle Database 10g and Oracle Database 11g", by Graham Wood, Uri Shaft and John Beresniewicz. It was on my list primarily because of the speakers, but I should have taken a closer look at the title and especially the word "fundamentals". The session was not as advanced as I had hoped for. Although it was impressive to see how they calmly explained the concept of time in the database and gradually expanded on that theme. When watching Enterprise manager or ASH graphs, you might feel overwhelmed at all the terms, but with these guys explaining db time, actual wait time, recorded wait time and time on runqueue, it seems just SO trivial. As said earlier in this post, 11g has quite a few extra useful columns stored as part of ASH data, like row source, execution_id and operation_type, making the data collection phase of performance tuning even easier.

Then it was time for two Application Express sessions. First was Simon Boorsma's "Application Express Mashup". I had heard of the term mashup before, but I really didn't know what it was. This session did a great job at explaining it. It's about grabbing content on the internet and displaying it on your own page. Categories of mashup's are news, search & shopping, video & photo and mapping. The great benefit of mashup's - according to Simon - is the enhanced user experience. One example was an APEX address form that shows a google map of that address in a separate region. Another one was about adding photo's, which unfortunately didn't work, but you still got the idea. The disadvantages shouldn't be neglected however: you are now dependent on other site's availability, quality of service and performance, and there might be security and legal issues.

Last session of the day was Carl Backstrom's "Web 2.0 Development with Oracle Application Express". He started the session, or in fact any session, with an explanation of "your three best friends": $x, $v and $s for handling DOM tree elements (exists, get value and set value). The coolest thing about the session were the live demos showing how things worked under the covers. I will definitely use the console more for debugging purposes now. At the end Carl pointed out several features that will likely be in 4.0, like jquery, more JSON and namespaced APEX.

Then off to the Hilton Hotel for OTN night, together with Nicolas. We had some food (including dutch "rookworst"!) and drinks and met with John Spencer.

No comments:

Post a Comment