Tip

IDEs for Web Services - NetBeans

It turns out that this is a great time to get updated on the NetBeans Integrated Development Environment (IDE). The latest version 5.5 was released in October and it is being promoted with the just released version of the Java Standard Edition

    Requires Free Membership to View

(called Java SE 6 or Java 1.6 depending on where you look.) Development of the NetBeans IDE is a free open-source project heavily promoted and supported by Sun. Although NetBeans is primarily a Java IDE, it is a development framework that can also be used with Fortran or C/C++ using add-on modules. First lets look at what's new in Java 6 that is related to XML and Web services.

New XML tools in Java 6

Sun puts most XML tools in two groups, the Java API for XML Processing, or JAXP, and the Java Architecture for XML Binding, or JAXB. The Java 6 Standard Edition brings us version 1.4 of JAXP with major new capability. It supports the W3C's level 3 version of the Document Object Model (DOM) by adding new methods to the existing DOM classes. The SAX (Simple API for XML) parser classes also have new methods to support level 3 concepts. These additions should not cause any problems for legacy Java code.

This new version also supports the Streaming API for XML or StAX. This API will be most useful when extracting data from large XML documents because it minimizes memory use and only parses as needed. Programmers who find the SAX approach to parsing large documents difficult will probably find StAX more intuitive.

Web service tools in Java SE 6

Many Web-service-related packages which were add-ons or separate downloads are now part of the Java Standard Edition. Sun calls this collection of functions JAX-WS (Java API for XML Web Services) version 2.0. It includes JAXB, which lets you map a Java class to SOAP messages and SAAJ (SOAP with Attachments API for Java) version 1.3, which provides for efficient transmission of large blocks of data as attachments to SOAP messages.

Command line tools in Java 6 support creation of a WSDL file from an existing Java class or the reverse creation of Java classes from a WSDL description. The SDK makes extensive use of the ANT utility to automate these functions.

Potential version problems

Inevitable side effects of the decision to move JAX-WS tools into the Java Standard Edition are potential incompatibility with existing projects that used Java SE 5 with separate JAX-WS libraries and future version conflict. The Project Glassfish version of JAX-WS will inevitably move ahead faster than update releases of Java 6. At this time a JAX-WS 2.1 version is close to release, you can track further JAX-WS developments at the project Glassfish site.

NetBeans IDE functions

NetBeans has all of the capabilities a developer would expect in a modern IDE. Since the code is all in Java, it runs the same way on many operating systems. Project management functions let you configure each project separately, so the Java 6 version can still be used with projects that were developed with Java 5. Each Web-related project can be configured to deploy to its own Web server for testing, with the default being Tomcat 5.5.17 as supplied in the NetBeans download.

CVS version control is built in or you can connect to existing systems. Code editing is supported with color coding, code completion and automatic documentation lookup. Graphic user interfaces are easily constructed with the GUI builder that easily switches between code and GUI views.

Naturally you can execute your applications under NetBeans control. A code profiler and debugger are built in and add-on modules are available for specialized monitoring, such as watching the garbage collection process.

NetBeans Web services samples

Several document-oriented Web services samples are provided with the standard NetBeans distribution. However, the code for these samples has not been updated for the Java 6 libraries. In general, most code samples are oriented to Enterprise JavaBean (EJB) technology.

Adding Web services modules to NetBeans

The great virtue of a "plug-in" architecture in an IDE like NetBeans is that useful toolkits can be built by independent projects and you can select the ones that meet your needs. One form that add-ons take is the NetBeans "module," a specially packaged JAR file format with the ".nbm" file type.

Here is an example of the steps it takes to add functionality:

1. I downloaded the Web Services Interoprability Technology (WSIT) module file from the URL given in the resources.

2. In NetBeans I opened the Update Center Wizard dialog and navigated to my downloaded file.

3. NetBeans checked the digital signature on the file and displayed the signing certificate information.

4. On accepting the signature, the module was installed.

Incidently, the Update Center Wizard will also let you check the NetBeans update center for online updates. When I checked my brand new install I found lots of goodies such as modules for importing Eclipse and JBuilder projects, and libraries for creating instant messaging chat channels.

The NetBeans enterprise pack

One of the many add-ons for NetBeans is the Enterprise Pack. This package includes modules for support of BPEL (Business Process Execution Language), an XML Schema editor and Web services security additions. Visual design tools let you work with an overview of BPEL orchestrated Web services. UML modeling of applications is currently in beta testing and should eventually be added to the Enterprise Pack.

Next month I will take a look at Eclipse, the other major free IDE used by Web services developers.

Resources

My article discussing SAX and StAX processing of XML. http://searchwebservices.techtarget.com/tip/1,289483,sid26_gci1145337,00.html

Download combined Java JDK 6 and NetBeans 5.5 package from this site. http://java.sun.com/javase/downloads/index.jsp

Discussion of JAX-WS tools in Java 6 with web service tutorial examples. http://java.sun.com/developer/technicalArticles/J2SE/jax_ws_2/

The core features of the W3C level 3 DOM recommendation can be found here.

Java Enterprise Pack for NetBeans http://www.netbeans.org/products/enterprise/

Web Services Interoperability Technology (WSIT) open source project. http://wsit.dev.java.net/

Java API for XML Web Services - part of project Glassfish. https://jax-ws.dev.java.net/


This was first published in December 2006

There are Comments. Add yours.

 
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.