Sun Inner Circle: For Business & Technology Leaders Sun Inner Circle: For Business & Technology Leaders

Meet the New NetBeans


Cross-platform application development with NetBeans IDE

One would think that the concept of integrating standards, protocol, and best practices should pervade every aspect of an integrated development environment (IDE), but application developers frequently discover critical pieces missing from these so-called comprehensive toolsets.

Some development environments require developers to search out plug-ins and specific features, while other IDEs lack professional support options. And many others leave absent crucial features — making software creation difficult, particularly in the development of cross-platform applications. Perhaps most notably, the lack of support for industry standards often slows development and later creates legions of frustrated end-users once a new application built with less-than-integrated toolsets is made available.

With the release of version 5.5, NetBeans IDE overcomes the shortcomings associated with other development platforms and opens up new possibilities for rapid and efficient cross-platform application development. At its core, the NetBeans IDE is a Java development tool written in pure Java technology, so it runs anywhere that runs Java — which, of course, is just about everywhere.

 

NetBeans is an open source product with all the benefits of freely available software scrutinized by a community of developers. This creative commons approach has led to greater usability with each new release and given developers more flexibility in modifying the IDE if they so desire. For most application developers, the netbeans.org development portal is the one-stop location for downloads of the environment, along with special feature packs and information about the IDE.

Open Source, Sponsored by Sun
NetBeans also comes with the advantages of being created, backed, and open-sourced by Sun Microsystems. The involvement of Sun with the NetBeans code base stretches back almost eight years, and since the IDE was open-sourced in 2000, the company has continued to play a sponsorship role that ensures that NetBeans is a fully supported and enterprise-class development environment.

Outside of the distribution and development philosophy behind NetBeans, the IDE offers developers numerous advantages in creating new cross-platform applications. In an era in which the service-oriented architecture (SOA) demands loosely-coupled services that address specific business processes, NetBeans fits the bill with platform-independent, modular, and object-oriented toolsets.

The NetBeans approach incorporates best-of-breed features to ensure that applications created with the IDE adhere to industry standards. For example, rather than creating an entirely new build system, the developers of NetBeans use the Apache Ant tool for automating builds. Similarly, NetBeans also incorporates other industry standards and de facto protocols to ensure that each module within the IDE has a well-defined function and is part of a truly integrated development environment.

Multiple Tool and Protocol Integration Provides Reasons for Migration
Not surprisingly, the comprehensive cross-platform development possibilities of NetBeans are attracting numerous developers who had worked with other tools. Developers accustomed to working with Java technology-based tools, such as the Borland JBuilder toolset, are discovering that migrating to NetBeans can significantly speed development efforts.

 

For example, the NetBeans project importer allows users to save work developed with JBuilder, and continue with these projects in NetBeans. Sun helps to make it easy for developers to migrate from JBuilder to NetBeans while protecting their JBuilder investments.

In addition to a soft landing for former JBuilder developers, NetBeans has numerous features that make the IDE attractive for any developer, such as the thorough integration of Java technology-specific features not available in other cross-platform application toolsets. In late 2006, the release of NetBeans 5.5 added support for Java Enterprise Edition 5 and Enterprise Java Beans 3. Downloads of the IDE also include the open source GlassFish application server, which helps ensure a comprehensive platform for enterprise-class applications.

Developers are also finding the NetBeans IDE attractive because of its support for Java Enterprise Edition, ease of use, standards compliance, performance profiling, and extensibility across platforms. Support of Java Enterprise Edition is of particular importance, especially for JBuilder developers. With the best support for Java technology standards in the industry, the NetBeans project has made developing enterprise-class Java applications easy and rapid.

Ease of Use Across the Development Lifecycle
Ease of use with NetBeans also proves alluring because there is no need to search beyond the netbeans.org portal for additional features and plug-ins found in feature packs covering a range of requirements — from C/C++ to mobility to the Web. Once downloaded, NetBeans is easy to use, thanks to its user interface and features such as the recently announced Visual Web Pack (VWP). With VWP, JavaServer Faces components can be dragged and dropped to set properties and create code for server-side event handlers.

And with the NetBeans Swing GUI builder, both end-users and developers gain additional ease of use. Swing dramatically simplifies graphical user interface creation for rich client and Internet applications and allows developers to handle different style guidelines across various platforms and ensure the localization of applications into a wide range of human languages.

The ability to efficiently develop Java applications for a wide range of platforms also stems from supporting non-proprietary specification languages for object modeling. This allows for two-way editing — source code to automatically changes alongside model changes — and eliminates the need for developers to constantly refer to source code comments.

Plus, in NetBeans 5.5, performance profiling helps make software better during the application development process. The NetBeans Profiler is tightly integrated into the IDE, so when developers decide to profile a particular project for performance problems, additional configuration of NetBeans is not required. Instead, choosing among a variety of profiling attributes provided by NetBeans is as simple as point-and-click. Immediate access to profiling allows development teams to understand how well a piece of software will work for end-users.

NetBeans also proofs the development cycle itself, and this process helps extend the reach of applications created with the IDE. This extensibility can be found, for example, for intranet applications, which can be easily migrated to mobile devices with the NetBeans Mobility Pack. Like the other modules in NetBeans, the Mobility Pack provides drag-and-drop development tools, and this results in the creation of screen-based mobile applications designed with little additional logic.

NetBeans Manages SOA Complexity
Automating design requirements proves particularly important in designing applications for a SOA, when developers typically work with multiple technologies and protocols. For instance, support for a SOA approach to application development reduces much of the complexity in developing Java-based services that require numerous XML languages, such as Web Services Description Language (WSDL), Business Process Execution Language (BPEL), and Security Assertion Markup Language (SAML).

Each of these languages typically creates an analysis and debugging overhead, which can slow production when performed manually. By contrast, NetBeans reduces the time spent working with these protocols by automatically generating associated code.

The WSDL Editor included with the NetBeans Enterprise Pack allows developers to more easily tackle XML-based Web services. By providing a design-time view of the WSDL, the editor allows easy analysis, creation and augmentation of Web services. Developers can use either tree views or the new visualization technique of sliding column views to closely examine aspects of large XML documents.

The related XML Schema Editor allows developers to refine the parameters of XML documents in the same way that the WSDL Editor reviews Web services. This significantly reduces the complexity of what is otherwise a time-consuming task.

 
A built-in designer helps synchronize services created in an SOA framework

To synchronize services created in the SOA framework, the Enterprise Pack includes a built-in designer for visual orchestration of the services. BPEL constructs can then be dragged and dropped into the built-in designer, while property editors allow these constructs to be refined quickly. As with the WSDL Editor, switching between views of design and source can be performed with the click of a button for debugging, tracking, and analysis.

Security is a critical area in most application development projects, and can be one of the most complex facets of SOA strategy. To address this critical aspect of development, the NetBeans Enterprise Pack comes bundled with the Sun Java System Access Manager, which provides all the necessary run times needed to start developing secure and identity-enabled Web services. Simple wizards enable the design of security configurations to allow developers to concentrate on the business logic of applications under development.

Modeling Support Improves Developer Productivity
While developers are discovering how the rich set of tools included in NetBeans makes application development easier, corporate decision-makers have learned that the IDE improves productivity through built-in efficiency features. For example, the latest version of NetBeans allows cross-platform application development to include the productivity features once only available in Sun Studio Enterprise.

Additionally, beta Unified Modeling Language (UML) support is another aspect of NetBeans that makes developing Java applications for numerous platforms fast and efficient. By supporting the non-proprietary specification language for object modeling, NetBeans provides two-way editing — allowing source code to automatically change alongside model changes and eliminating the need for developers to constantly refer to source code comments.

Beta UML support goes a long way toward ensuring that intuitive modeling capabilities make application development as efficient as possible. The latest release of the NetBeans Enterprise Pack now supports most of the diagram types pertinent to application development in Java. This includes diagrams that cover activities such as class, behavior, interaction, and sequences. Using these diagrams allows developers to create and develop models that generate code for numerous aspects of application creation.

Bi-directional support allows developers to quickly implement and synchronize models with code changes as an application evolves during development cycles. Furthermore, the code generation is also provided for sequence diagrams, so different parts of an entire application march in lock-step during the development process.

Promoting Best Practices for Group Productivity
NetBeans also eliminates the need for development teams to spend too much time keeping models updated with exhaustive reviews that ensure markers and annotation codes are up to date. Together, these features can save hundreds of hours of developer time and increase the speed in which a new program is made available.

 
NetBeans features can save hundreds of hours of developer time and accelerate application availability

Diagramming support includes contact-sensitive tallying so diagrams can be constructed and edited in a drag-and-drop fashion. A collection of components that represent UML elements associated with particular diagrams also increase development efficiency, as do features such as in-place editing and multiple layout and zoom capabilities for easy navigation through particular aspects on an application under development.

NetBeans also helps development teams use other best practices and industry standards for overall group productivity. A collection of these best practices includes solutions to common programming problems found in the popular Design Patterns guide. These include widely accepted industry-standard design patterns for Enterprise Java Beans and other patterns, each of which can be reused throughout a development team to increase organizational efficiency.

Easy document generation of these modeling projects also makes development more efficient. Reports can be generated in either HTML or Map, and user-friendly reports include diagrams and can be easily placed on intranets or printed out for review.

Built for the Speed of Development
Allowing developers to concentrate on business logic throughout the application development cycle is also a reflection of how software now must meet market requirements. In areas such as SOA, where constantly changing business processes define application use and design, developers must be increasingly nimble.

NetBeans features from extensibility across platforms, UML compliance, and the ability to manage complexity helps ensure that applications meet specific business challenges.

The new speed of development also requires open source visibility and reliability, along with the Java capabilities that only Sun can provide. With NetBeans, developers can be assured of a development platform that integrates all the critical pieces needed for every level of application creation.