JDeveloper 10gR3 and Web Services

If you are planing on developing Web Services on the Oracle stack, using the latest 10.1.3 preview available, I have a couple of tips for you:
  1. Once you are done with the HelloWorld sample service, consider moving from the wizard-based development model to the ant-based scripting on top of WSA - the underlying Web Service Assembler utility.
  2. If you have decided to use the CLI [Command Line Interface] mode to build your simple services, just because an IDE is not for you, I have the same recomendation to make: consider moving from the CLI base model to the ANT base development environment.

Here are my main reasons for that:

  1. JDeveloper's support for annotation (JSR-181) is not intuitive as you have to joggle between code changes and re-enter the wizard while WSA does give you a more predictible development process. Note that you need JDK 1.5.x in order to leveareage annotations - It's the only way to handle SOAP header in bottom-up scenario, if you need to have a rational for using annotation.
  2. WSA's CLI does not support all the complex scenario that can be handled using ANT script - Search for 'oracle:port' in the user's guide to see for yourself.

For these two reasons, switching to ant-based development as soon as possible in your development cycles will be a lifesaver, once you are under presure to deliver this last-minute features that cannot be handled with JDev or the CLI modes.

That said, you can still run your ant target from within JDeveloper - it works great. Remember to run ant in a separate process, and that the setup of JDeveloper process -like HTTP proxy setting- are not propagated automatically to the ant process.


The only time where I find the CLI still valuable is to rapidely test and develop client-side artifacts. There, the mode I used most are: genProxy, analyze, fetchWsdl and genInterface. Those commands are only usefull once, and you are not likely to re-run them as part of your automated build process. If you are, ant is your prefered mode, again.

Happy Coding !!!



Popular posts from this blog

Changing the version of JDK used by JDeveloper

Connection reset from a WCF Web Service

Why ws-rx ?