The Blog

Jul 28, 2005

Opinions on JDeveloper, Oracle's J2EE Strategy 

by Maxim Porges @ 11:28 PM | Link | Feedback (7)

We hosted Oracle's technical sales team this week for a demo of their JDeveloper tool, a tour of the capabilities of their J2EE application server, and an overview of their long term J2EE strategy.

To be honest, the meeting was somewhat of a wash. We're so heavily invested in Oracle that the likelihood of us not using their J2EE server moving forward is pretty remote, especially when we're already running an earlier version of the same application server to host our Oracle Forms apps. However, I wanted to see what their strategy was, and better understand some of the more proprietary solutions that they offered, so that I could make intelligent decisions as we flesh out our own J2EE strategy.

JDeveloper was more impressive than I had expected. I'll summarize my thoughts below.

  • Integration with TopLink (Oracle's object-relational mapping solution) looked good. We're probably going to go with TopLink instead of Hibernate, because (a) it comes bundled with the app server, (b) it's one of the oldest and most mature ORM solutions on the market, and (c) it has dedicated support.

  • TopLink works with databases other than Oracle - very surprising (to me). I was expecting vendor lock-in.

  • JDeveloper had a Java editor that looked like it was trying to catch up with Eclipse. Eclipse has the best Java editor I've ever used, and the refactoring tools are superb, so Oracle still has lost of work to do.

  • There was an XML editor in JDeveloper that I liked a lot. Based upon what I saw, it allowed you to create graphical representations of your XSDs, and extract XSDs from raw XML documents.

  • There's a database querying tool built in to JDeveloper, which makes me happy since there aren't many good, free database manipulation tools for the Mac (from what I have seen).

  • If you're supporting Java and stored procs in your environment, JDeveloper has a PL/SQL editor, which makes it a decent all-in-one solution for Java and PL/SQL editing.

  • UML and round-trip engineering support looked decent. Not as solid as that available in Rational, but decent. One thing I did like in particular is that your UML diagrams are exported in to your JavaDocs from JDeveloper automatically.

  • Sequence diagrams are not supported in JDeveloper, which is a shame (considering that they are so important to the design phase).

  • Oracle plans on creating Eclipse plug-ins for a number of JDeveloper's features. If Oracle is smart, they'll just move JDeveloper to the Eclipse platform altogether. It's time for the straggling tool vendors/developers to get with the program and jump on the Eclipse band wagon 100%.

  • The JSP/HTML editor did what it was supposed to, but I can't say I'd ever plan on using those features. The base looks and feels for the JSP apps were uninspiring to say the least.

  • JDeveloper is now free, which makes it hard to argue against (regardless of your opinion of the tool).

Oracle's J2EE server was also quite rich in features and capabilities.

  • The server itself is small and light enough to be embedded in JDeveloper for running test apps. I was expecting the server to be a huge beast, so this was a pleasant surprise.

  • Oracle's J2EE strategy seems to be quite open, especially when compared with their traditional approach to technology offerings (which tie you to their platform). ADF (Oracle's data binding framework and JSF component library) and TopLink are both available as stand alone products if you need them - for a fee, of course, but at least you aren't trapped with Oracle's platform forever if you build something using those technologies.

  • Oracle has a Business Process Execution Language (BPEL) offering that looks quite interesting. Essentially, BPEL allows you to construct applications declaratively using service components from a service-oriented architecture. BPEL is an open standard, but it was nice to see Oracle offering it with tight integration to visual editing of BPEL processes in JDeveloper. The BPEL engine must be purchased as an add on to the server; this was the only item that fell in to this category (everything else came bundled with the app server).

All in all, I was relieved at the outcome of the meeting. I had expected to see Oracle present a strategy along the lines of "here's how we intend to force our customers to migrate to J2EE using our proprietary solutions". Instead, what I saw looked like a solid tool/server offering with plenty of flexibility, along with implementation choices for the customer baked in. To be honest, that sort of approach is much more likely to result in me purchasing a vendor's products than the traditional strong-arm tactics so favored in the days of yore by the blue chip tech firms.

I'm looking forward to Monday, when I'm meeting with our Director to discuss our options. We've seen tools and products from Oracle and Rational, have invested some time learning about Flex, and have set our sites on a long term layered development strategy using J2EE. I know exactly which offerings I'd like to see implemented, but I won't know the realistic possibilities until after we meet.

Either way, the future's bright, and I've got my shades on.