ODTUG: My Non-Apex sessions

The main reason for me to come to the ODTUG conference was — besides presenting our own paper — to see what other Oracle users are doing with the tool. So, most of the sessions I followed were Apex-related. As you can read on different other blogs, it is clear that Apex is hot. So, it is the right momentum to start using the tool, if you not already did.

But I also tried to follow some other sessions. A short impression:

Service-enable Oracle E-Business Suite with Oracle SOA Suite BPEL Process Manager“, by Basheer Khan. Basheer is a very gentle and nice person, especially for newbies. I met him during the “Presenters Drink” where he invited me to his session. During his presentation he showed how to create a BPEL process that integrates with Oracle E-Business Suite using Web Services. When you are used to Apex, is this a totally different world, but a world that sooner or later we will also need to integrate within Apex.

Since I doing also a lot of pre-sales activities and always get some questions on Oracle Forms, I decided to attend a session on this matter: “How to Turn Older Oracle Forms Applications into a SOA Application“. Grant Ronald did the introduction. He emphasized (again) that Oracle Forms is not going away, but that you need start looking at other tools and technologies. His most important message was that — for Oracle customers struggling with the question which Oracle tool they need to choose — it is no longer an OR … OR decision, but rather an AND … AND… solution. An Oracle Forms application can continue existing, aside an ADF application with SOA integration or even an apex development environment for enterprise-alike applications. I have the impression that the ADF-guru’s are not yet convinced by this, but a comment of Tom Kyte on an “Apex versus ADF” post is very enlightening on this matter: “APEX is as capable of building an enterprise-y application as anything else. … APEX can build anything from tiny to huge – you do not need the infrastructure and overheads the java environment would pull along in order to build big. … There are times for Java, there are times for APEX, there are times for each of the tools – they have their strengths and weakness.

Of course, I also wanted to attend a session of Steven Feuerstein, thé PL/SQL Evangelist. This is real entertainment, but with a high level of knowlegde transfer, maybe we should call it “knowledge-tainment”. All his “knowledge” can be found on his site and the presentation on Weird PL/SQL can be downloaded from here.

The most interesting session for me (besides the apex ones) was given by Sue Harper: “Oracle SQL Developer: An Overview and New Feaures“. The most recent version (1.5) confirms the fact that it becomes a valid and mature alternative for the Toads or SQL Navigators … and it is free. This shouldn’t be surprising since the driving force and ‘intellectual father’ of the tool is Mike Hichwa, as for Oracle Application Express.
And SQL Developer becomes even better since they announced that the tool will be extended with Data Modeling capabilities (ERDs, physical schema design, dimensional modeling, reverse engineering and more …). Finally, an alternative for the “data”-part of Oracle Designer. I’am really looking forward to this new extension.

The Apex Development Workplace

We talked about “The Apex Project Workplace” during our presentation at ODTUG Kaleidoscope. This workplace could look like something as presented on the following picture:

The desk, where a developer is working, is like a workbench where all necessary materials are available that can help to efficiently guide and increase the productivity of the development process.

In your development environment, you should always be looking for manners to improve the productivity of your work: do it quicker, but don’t compromise the quality of your work. The latter is one of the reasons why we started our QA-Viewer-for-Apex.

Therefore, my favorite — and in my opinion — the most useful Apex session at the conference was given by Patrick Wolf.

He showed how you can write quicker and better code by extending the “toolset” within your apex development workplace with “open source” tools. On the one hand, Patrick demonstrated a set of tools around Mozilla Firefox which are useful for any webdevelopment (Firebug, WebDeveloper, Yslow and Live HTTP Header). On the other hand, Patrick developed his own extensions on top of the Apex Application Builder: the ApexLib, the Apex Builder plug in and Apex Essentials. Probably you can read more about in on other blogs or on Patrick’s site

Bottom line is, that everybody should consider to add this tools to his Apex development workplace.

Our ODTUG presentation about the QA-tool

Like Nathalie Roman announced in the previous blog I had the honour to give my first presentation abroad last Monday at the Big Easy.

It was Jan Huyzentruyt’s idea to work out an Apex QA-tool for our company. Because we wanted to share our idea with the other Apex-adepts we submitted our abstract “Use the Power of APEX Dictionary Views to Increase the Quality of Your APEX Applications”.

Nathalie was our ambassador. She welcomed the audience and she introduced us. First I explained our Apex Development Approach: the broader context in which our quality system originated. With different steps and life demonstrations in between I then showed how the QA-tool evolved from basic to a customizable QA system.

The audience was very attentive and enthusiastic. More than 50 people attended our session. Everything went well until Murphy dropped in. Because of a broken socket we had problems with the power supply.

At the end of the presentation and also afterwards we got a lot of positive feedback: nice presentation, great idea, you should bring it out, … ! Well, we will make it available as soon as possible.

It really was a great experience to present on ODTUG!

For those who attended our session, we hope you enjoyed the presentation!
People who weren’t at ODTUG can download the paper and the presentation from our company website www.iadvise.be.

CU at OOW!

Tips & Tricks – ODTUG (chapter 2)

Today I had the opportunity to attend loads of interesting sessions as well, the tips & tricks I’ve picked up regarding ADF, SCM, OWB, JDeveloper.

Some of these tips are very obvious, but worth reminding ;o)

Tips & Tricks when building applications (with JDeveloper):

  • Use 1 source control system, preferably Subversion ;o)
  • For Continuous integration you can use maven/ant which is tightly integrated, supported within Jdeveloper
  • Use Unit Testing througout your project phases, you can use our QA-tool for APEX-development and use JUnit, HTTPUnit, … for JEE based web development such as ADF Faces
  • Define a seperate lib-directory to handle the external libraries you’re using within Jdeveloper, so you’re able to version them efficiently and to manage your dependancies
  • Watch out when you’re refactoring BC4J or ADF applications, because configuration files, pageDefinition files aren’t refactored completely

Tips & Tricks on versioning in Jdeveloper 11g:

  • SCM can be any versioning system such as Subversion and CSV (supported by default), clearcase, serena, …
  • You have the possibility to create a repository within Jdeveloper 11g but this is for development purposes only and not well documented either, so no best practice
  • When you check in your project at a certain child-level, say for example the ViewController-project, Jdeveloper will automatically start from the root level (commit the whole working directory) and drill down to only commit those files that have been changed.
  • Version at application level
  • Define files you want to exclude from being versioned
  • The conflict-resolution is xml-aware which is a great future because most of the time you would be changing configuration files that are defined in XML

A term that will pop-up more and more ‘CLOUD Computing’ or ‘CLOUDS’ … another paradigm ;o)

This just means that clouds are up in the sky, floating around and the IT-world these clouds would hold different services made available to the outside world.

The services would be put inside the cloud to open up business, to start integrating … in other words now the sky has definitly become the limit!

Meeting up with Speakers & Ambassadors

Yesterday evening the ODTUG team had arranged a reception for the speakers and ambassadors in the Sheraton hotel where all activity is taking place.

The meet-up was great and I could attend also as being the ambassador for 2 of my colleagues Karen Van Hellemont and Jan Huyzentruyt who gave a presentation regarding the QA-tool our Apex Core Team has build for developing quality-proof Apex Applications.

We had the opportunity to meet up with European Colleagues and ACE Directors whilst having great cocktails, which spiced up the conversations ;o)

Frans Thamura, Mauricio Naranjo, Basheer Khan, Ameed Taylor, … were some of the different ACE’s I was able to meet-up with on the reception, and we had some great discussions ;o) More or less Oracle related, hobby related in some sort, … it was fun and I’m very grateful this reception was organized to be able to meet all presenters and ambassadors.

In the next article you will get to see how an ambassador looks like ;o))

Tips & Tricks from ODTUG

The tips & tricks I’ve learned so far at different ODTUG sessions I’ve attended:

When you’re thinking about moving to fusion middleware:

  • Use a small subset of tools, no big bang approach: ADF + BC + BPEL
  • ADF Faces is still evolving, so you need to consider the rewrite that’s needed when using Faces as your UI
  • Use templates to introduce a common look-and-feel by using af:region-tags which will centralize the layout so you don’t need to go through each page when layout changes
  • Use Enterprise Business Objects, EBO’s, as they are being used in AIA, one common business object that will be the facade-layer between your web layer and model layer
  • Use Grid Control to monitor your fusion-based applications
  • Set up datasources and pooling on the Application Server not on Application Tier
  • Prevent SQL-Injection by using bind variables
  • Use black- and white-lists for defining the security-rules and do’s and donts of your application
  • Don’t define nested roles when defining security in ADF Applications, use flat structures because not all JEE Servers support nested roles

More high-level, pragmatic:

  • Concentrate on business drivers, not on technology: on the ‘what’ not the ‘how’
  • Business Services are your hub, not the database anymore

A great paradigm Basheer Khan uses:

When your moving to a new home you will tap into existing services such as electricity, phone, internet, cable-tv, water, … => this is the same approach that you will be using when moving to SOA. You will tap into existing services.