Tag Archives: JDeveloper

Development Platform Disconnect

Each year at the annual Oracle ACE Director briefing, I look around at the laptops my fellow ACE Directors are carrying. More and more of them are MacBooks – I think we were up to around 50% last year.

That makes it all the more puzzling that the installation guide for the latest version of Oracle JDeveloper (12.1.3) does not mention OS X installs at all. The 12.1.2 version had sections on how to install JDeveloper on Windows, Linux and OS X, but the 12.1.3 version only talks about Windows and Linux.

Seems like an area where Oracle isn’t noticing what’s happening in the world outside Redwood Shores.

Fewer crashes with JDeveloper 12c (12.1.2)

If you are working with JDeveloper 12c (12.1.2), you will probably have experienced quite a few crashes – I had several during my the live demos in my presentations at the UKOUG Tech 2013 conference in Manchester this week.

A few things that help:

  • Increase memory (google “JDeveloper memory”, lots of instructions on various blogs)
  • Don’t work in Design mode when building pages. I’ve had much fewer crashes when adding components on the Source tab
  • Whenever JDeveloper crashes, take the “Save and exit” option. Sometimes this does not lead JDeveloper to shut down – in that case, manually save all files and restart JDeveloper. If you just take the “I don’t care, keep running” option, your crashes will become more and more frequent.


Is it just me, or doesn’t anything work in JDeveloper 12c?

Preparing for OpenWorld, I’m updating all my demos to 12c. Unfortunately, my conclusion so far is that nothing works.

The BC tester (now renamed ADF Model Tester) crashes JDeveloper and doesn’t take bind variables. A simple ExecuteWithParams example ignores my parameter value. The list goes on…

Oracle tries to imply some maturity by calling the new JDeveloper, but it feels more like Am I the only one with this experience?

Please comment below or on the 12c thread in the ADF EMG forum.

Is JDeveloper 11.1.2 a Dead End?

Oracle recently came out with JDeveloper 11gR2 (11.1.2.x), and not everyone was impressed. See for example the discussion “Performance and stability of JDeveloper 11gR2 vs. 11gR1” in the ADF Enterprise Methodology Group.

If you look up JDeveloper 11gR2 in the Oracle Lifetime Support Policy document, on page 9 you will find that 11gR2 does not get the normal 5 years of premier support and 3 years of extended support. Instead, you have only 3 years of premier support, ending June 2014. In effect, Oracle does not consider JDeveloper 11gR2 a real release and will only support it as long as they support 11gR1.

Finally, if you look at the section “Bugs Fixed in” in “Oracle JDeveloper and Oracle ADF 11g Release 2 (11.1.2.x) New Features”, you see a lot of bugs where the subject start with “backport”. Backporting means to take a bug fix from a newer release and apply it to an older one. So the fact that the very latest JDeveloper release comes with backports right from the start indicates that Oracle is considering 11gR2 the “old” release.

JDeveloper 11gR2 looks like a dead end in ADF development [tweet this]

Would you consider using it? Please comment below.

Oracle Team Productivity Center: Shows Promise, Must Try Harder

For my upcoming book (“Enterprise Applications with Oracle ADF”), I am currently writing a chapter on productive teamwork with ADF. This was a good reason to have another look at Oracle Team Productivity Center (OTPC), which is Oracle’s Application Lifecycle Management (ALM) tool.OTPC offers integration to Bugzilla, Jira, Rally and Microsoft Project Server, as well as an undocumented chat client. Since I use Jira and other Atlassian products, that’s the integration I tested.What I like:

  • Ability to acces my Jira items from within JDeveloper
  • Google Talk client within JDeveloper
  • Ability to link code checkins to issues
  • Ability to save and restore context (open files)

What I don’t like:

  • Whole product has an unfinished, v0.9 feel. Usability leaves quite a bit to be desired
  • Auto-update can’t install OTPC – you need to jump through some hoops to perform a manual install
  • Jira integration is still rudimentary and slightly flaky; you need to switch to regular Jira too often
  • No ability to connect a document repository
  • Link between issue and checkin can only be seen in JDeveloper. If Jira Issue ID was automatically put in SVN commit comments, I could match code with issue in Jira/Fisheye as well

Should you use it? If you wish to map issues to source commits, you should use it. If you are running Jira and Fisheye for better issue-to-source mapping, you must manually add Jira issue ID to comment to establish the mapping. If you don’t need this mapping, you are just as well off staying with stand-alone Jira in a browser.I haven’t tested the Rally integration – but it is promising that the Rally extension is developed by Rally Software themselves. So if you’re into Agile and running Rally software, I encourage you to look at OTPC.Oracle Team Productivity Center definitely looks promising – now Oracle just needs to finish the tool…

Being unreasonable (Bug in PL/SQL Web Services)

If you have a lot of PL/SQL packages, it should be real easy to publish them as Web Services – after all, JDeveloper contains a nice wizard for exactly this purpose.

I expected that a lot of people were already using this functionality, so I was very surprised to find a fairly trivial bug in the code built by JDeveloper. I found it reasonable enough to have a stored procedure taking a PL/SQL VARCHAR2 collection as input and calling it with non-ascii characters in the collection elements, but my application server disagreed. The message was ORA-01460: unimplemented or unreasonable conversion requested.

After some investigation, we found that this is caused by defective code built by the JDeveloper wizard. It builds a call to OracleCallableStatement.setPlsqlIndexTable() where the last parameter (elemMaxLen) is set to zero. This is a request for the JDBC driver to automatically figure out the max length – but it doesn’t work. You can fix it by manually changing the zero to a large value like 4000.

Oracle has registered this issue as bug 7503269.

ODTUG Conference, Tuesday

Preparing for my own presentation, I missed Grant Ronalds presentation on declarative development with JDeveloper. But he showed that it’s possible to build a complete ADF Faces application without writing a single line of code.

I saw Scott Spendolini give a very good presentation on some relatively cheap 3rd party components that you could integrate into you APEX application. At the PL/SQL expert panel they gave out a quiz to all developers. Steven Feuerstein had found a lot of interesting corners – it seems I don’t know PL/SQL as well as I thought…

At the Oracle ACE Directors briefing, Duncan Mills and Clemens Utschig told us about Oracles strategy, new releases etc., Unfortunately, we are not allowed to talk about much of it until July 1st… The focus was on the BEA aquisition, which seems to be progressing nicely with some interesting parts being integrated into the Oracle product palette. After the Oracle presentations, Oracle ACE Directors Eric Marcoux, Andrejus Baranovskis and Lucas Jellema presented some of the things whey are working on, including a big WebCenter-based application and a Forms to ADF Faces migration.

After the briefing, I gave my own presentation “What’s Hot and What’s Not”, trying to explain all the choices available to Oracle developers today. I’ve been talking to a lot of people at this conference and have had to conclude that ADF Swing is simply not being used much. So ADF Swing has been downgraded from dark green green to a yellow (see my Oracle Tools page).

Then it was off to first the Oracle ACE panel moderated by Justin Kestelyn of OTN for an interesting discussion about the role of the ACEs, followed by the Meet the ACEs reception. After reception, I headed to Arnaud’s for the Oracle ACE dinner. Amazingly, among the eight people at our table, we had Europe, Africa, Asia, North and South America and Australia represented – only Antarctica was missing. The Oracle ACE program is truly global!