Archive for December, 2007
Year 2007 Round-Up and Picture Galore
Dec 31st
It has been a very interesting year for me. I met a lot of people of whom I only had the pleasure to mail with. Some of them are known people from the Oracle blogosphere, others, known people in our field (eg. "The Oakies"). The / my train ride started in 2006 when I had to chance to meet people like Mr. Ken Jacobs and Mark Drake in San Francisco during Oracle Open World 2006, they showed me a little of the work done while delivering the next stage of an Oracle database (past and present).
The year 2006 was the year that AMIS had his 15th anniversary. The year 2007 was the one that Oracle celebrated his 30th. In that light, it was funny that we helped with the Oracle 11gR1 beta testing phase and while doing this, marched into the new year of 2007. I mainly focused on testing (DBA) XMLDB technology in Oracle 11gR1 and doing this, I guess, my enthusiasm got a little bit out of hand, but at the end of this 2007 year, this also brought me to new (presenting) horizons. Thanks to Doug, Kurt and Alex (on site in Birmingham), this "small" hurdle (seen afterwards, but what a adrenaline rush before hand), I was able to mastered it with a lot of their humor supporting me.
Thanks to the support at AMIS, I was able to meet and attend some great presentations and presenters at 2007 as well. Working for AMIS, I know I am spoiled with great presenters like Lucas Jellama, Alex Nuijten or, among others, Peter Ebel, so during my last days of Oracle Open World 2006 (and the one that made my day, that closing day), I was able to see Cary Millsap (and lots of other great presentations) and to go for a reprise during HOTSOS 2007 in Dallas. Despite my adventures at UKOUG 2007, I guess I learned most during HOTSOS 2007. It gave me lots of new insights and refocused me on stuff that I knew, but had taken it for granted, like design issues described during Toon Koppelaars presentation at HOTSOS 2007.
APEX and/or ADF – demonstrating two similar yet different applications – part 3 – the implementation in ADF
Dec 24th
In a previous article, I showed two versions of more or less the same application. One created in APEX by Dimitri Gielis, the other built using ADF and JHeadstart by me (see: APEX and/or ADF – demonstrating two similar yet different applications – part 2). In that article I mention several slightly more complex features and functions. In this article, I will briefly describe the implementation of these little extras. Note that the core of the application was created using JHeadstart that generated ADF artefacts based on a meta-definition of the application and the ADF BC package.
Implementation of several special features and functions
- AJAX-style disabling of Year of Birth when Gender set to Female
- Validation on valid value for Year of Birth
- AJAX-style hide and display of Answer Options for Question Style Multiple Choice (or Open)
- Displaying the answer with the proper display type (radio or drop down for multiple choice, single line or text area for open)
- The ViewObject for Survey Answers that shows records that do not yet exist in the database
- Progress Indicator for responding to a survey
- Embedding the Rich HTML editor and the unescaped (rich) output text
- Deep Link navigation from New Person Wizard to Respond to Survey
- Assign Primary Key (id) value from sequence
- ViewObjects for the Survey Summary and Survey Questions Summary
APEX and/or ADF – demonstrating two similar yet different applications – part 2
Dec 24th
Showing both APEX and ADF and giving the audience some inkling as to there similarities and their differences – what is the best way of doing that? Well, one way Dimitri, Michiel and I devised for our AMIS Query last Monday was: we (Dimitri as APEX expert and I as ADF developer) both develop an application based on the same database design. We take the same set of tables and a shared (though extremely brief) functional description as well as the same amount of time – say six hours – as a starting point. Then, during the session, we demonstrate two similar yet quite distinct applications and see how they compare.
Well, that is exactly what we did. Starting from a simple – and as it turned out somewhat flawed – database design, we both created an application that supports both the creation and management of surveys or on-line polls with different types (open and multiple choice) of questions, some basic reporting on the outcome of surveys that have been run, the creation of person-records for people responding to the surveys and finally the actual process of responding to a survey by answering the questions in that survey.
Read the rest of this entry »
The Christmas Present has arrived: the Oracle 11g Fusion Middleware technology preview
Dec 23rd
It was promised at Oracle Open World by Thomas Kurian, just over a month ago. And now Oracle delivers on that promise: the Fusion Middleware 11g Technology Preview at http://www.oracle.com/technology/software/products/jdev/htdocs/11techpreview.html .
Read the rest of this entry »
APEX and/or ADF – demonstrating two similar yet different applications
Dec 23rd
Last Monday, we organized an AMIS Query on APEX and ADF. Dimitri Gielis, APEX specialist, joined us and presented his ideas on APEX. I took on the role as ADF champion and introduced ADF to the audience. We explicitly did not have the intention to make it a competition, a shoot-out or even a head to head comparison. We wanted to show APEX as well as ADF, discuss some their respective strong points and relative weaknesses and then have the audience decide for themselves what tool they would use in which circumstances. Also see APEX and/or ADF – demonstrating two similar yet different applications – part 2 for an illustration of the demo applications Dimitri and I had created in APEX and ADF respectively.
There was huge interest in this session – for the first time since we started organizing AMIS Queries we actually had to disappoint people: we were completely booked!
The session was great fun! As you can read on several reports in the blog’o’sphere:
Read the rest of this entry »
Where is my WHERE?
Dec 21st
Sometimes I encounter query which have a WHERE clause that starts with:
select ... from ... where 1=1 and ...
When asked the reason for this predicate, most of the time (if not all) "Because it’s easy if you want to comment out some of the conditions". Say you have a query that looks like this:
select t.* from t where col1 = 'value' and id = 3;
And you want to comment out the first condition (col1 = ‘value’), you would have to rearrange the whole query. Simply commenting out the WHERE condition would lead to this statement and this is not valid syntax:
SQL> select t.* 2 from t 3 and t.id = 3 4 / and t.id = 3 *ERROR at line 3:ORA-00933: SQL command not properly ended
Agile software development, the principles. Principle 4: Business people and developers must work together daily throughout the project.
Dec 19th
This is the fourth of 12 posts about the principles of agile software development. Purpose is to go back to the start of the agile manifesto (http://agilemanifesto.org/principles.html) and discuss the implementation of the 12 principles in real life software engineering. Goals of agility are to go deliver software of higher quality, faster, with a higher acceptance to end-users and able to follow the changing business requirements to strive for competitive advantage.
The question is: is this going to work in practice or is this only based on a nice marketing and sales story.
Principle 4: Business people and developers must work together daily throughout the project.
Strange, shouldn’t this be common practice? In my daily work I meet lots of developers that have never had any contact with business people. The only notice of the business they get is the constant feed of PowerPoint presentations. When they are lucky the presentations contain hard to understand schemas, “roadmaps” and high level (or extremely detailed) business requirements.
This 4th principle tries to overcome the communication and cultural differences between ICT and business. It recognizes that there are significant differences in culture and jargon between these two groups. By putting them together on a daily basis they get used to each other and they develop a common understanding of the goal of the project.
Working together on a daily basis must actually mean working together! So this does not mean a daily short meeting after witch the two teams retreat to their own project room.
APEX contra ADF?
Dec 19th
Pushing to the bank holidays, trying to get rid of the piles of work before I / we start a new year, I would almost forget to thank Dimitri and Lucas for the great session / AMIS Query (the one with the very long title: "AMIS Query – on developing Web Applications with Oracle development technology: ADF and Application Express side by side (with Dimitri Gielis and Lucas Jellema)" in which two technology platforms were explained and cross referenced regarding the "how, what, where" and the "when to use it and when not". It was also a small "clash" between two evangelistic technology enthusiasts that, despite that this wasn’t the purpose of the evening, but also probably couldn’t be avoided, was tried to decide on humoristic merits.
To make it more interesting, a goal was defined before this evening: "Try to create a survey application in less than 6 hours using a defined small database model". Both "worlds" encountered the same problems (for instance, imperfect physical design) and, to their surprise, also mastered it (more or less) via the same methods. This made it actually even more interesting and a better re-presentation off handling overall day to day programmer problems in a ADF or APEX fashion.
In my view, APEX "won" pointers in respect of being a "fast", database / repository driven framework. ADF "won" pointers, on the other hand, especially combined with JHeadstart (to increase productivity), as being very powerful, more flexible framework to create more enterprise driven software that can be more easily integrated with , for instance, BPEL driven processes or SOA architectures. To be honest, I started off with being very pro-APEX, but I was impressed with the ease of building certain components, like a master-detail window in ADF, and not being as complex or cumbersome as I thought.
If it was a realistic comparison? I don’t know. It was a clashing of worlds; a Java (with its methods) driven world against a database, PL/SQL driven world. That fact alone was already very insightful displaying and demonstrating the pro’s and con’s of those technology stacks and solutions. So thank you very much Dimitri and Lucas; Michiel Jonkers starting it all up; and of course all the people that made the event possible!.
For more information and the presentations see also:
Read the rest of this entry »
Report from Oracle Open World 2007 – Slides from our Knowledge session
Dec 19th
Last month we organized a Knowledge Center session on Oracle Open World 2007. AMIS consultants Peter, Sjoerd, Harm and Lucas were joined by Lonneke from Approach Alliance to present their findings on the main trends and hottest development during the largest Oracle show on earth. The slides they presented contain most of the information they conveyed – though the verbal explanations and anecdotal illustrations spiced the session. You can now download those slides from: http://www.amis.nl/tech_artikelen.php?id=567.
The session discussed the overall trends for Application Development, Oracle’s SOA infrastructure now and in the near future, Oracle BPA and Oracle Data Integrator, SCA (Service Component Architecture), Oracle Coherence, ADF and WebCenter, Oracle 11g Database, the Event Driven Architecture and Complex Event Processing and finally the MDS (Meta Data Services).
Generating graphs with JHeadstart
Dec 14th
One of our recent buisiness cases required the availability of graph representations of data in an application generated with JHeadstart. At first I started out with JFreeChart and ChartCreator, until my colleague and former JHeadstart team memeber Peter Ebell advised me to use the graph generation capabilities of JHeadstart. The charts are based on Oracle BI Beans technology. This article summarizes my successful attempts to generated graphs with JHeadstart.



