Last month, Sun Microsystems released the latest version of their enterprise development platform, Sun Java Studio Enterprise 7. With this new release come several new enhancements. These enhancements are intended to make the platform a complete solution for supporting the full software development lifecycle of J2EE applications.
What is Sun Java Studio Enterprise?
At center stage is an IDE (Integrated Development Environment) used to develop J2EE applications. Supporting this IDE is a number of software components that can be used to create a complete development stack for building applications. These components include:
- Sun Java System Application Server
- Sun Java System Web Server
- Sun Java System Portal Server
- Sun Java System Directory Server
- Sun Java System Access Manager
- Sun Java System Message Queue
The necessary installation files come in two disks. The second disk contains optional components you may or may not need (Web Server, Directory Server, Portal Server, and Access Manager). I had no trouble installing the software. The installation software will perform a series of pre-checks to ensure that your environment will fully support the development stack.
The IDE is based upon Netbeans 3.6 so those familiar with that popular open-source tool will feel right at home. There is integrated support for most standard development tools like JUnit and Ant, as well as good code completion and JavaDoc capabilities. However, there are several additional features provided. For starters, there is full support for developing EJB (Enterprise JavaBean)-based applications. Sun Java Studio Enterprise has a number of templates to choose from when creating new application components, as well as a slick wizard that lets you base new objects on an existing J2EE design pattern. A most welcome new feature is its support for code refactoring. Refactoring allows you to make changes to objects or object properties and have those changes automatically propagated throughout the application. Anyone who has ever worked on a project with numerous Java files will appreciate this capability. Indeed, refactoring has become a must-have for any Java IDE. NetBeans 3.6 does not support refactoring (though NetBeans 4.0 does provide some support for refactoring).
Software development can, at times, be a frustrating experience. Development can become all the more frustrating if the front-end performance of the IDE is unresponsive and slow. Java IDEs built with Java's Swing technology, have, at times in the past, performed poorly so I was keenly interested in this aspect of the tool. All in all, Sun Java Studio Enterprise 7 performed quite well on my 512 MB machine (Sun recommends 1 Gigabyte of memory to fully utilize the development platform), though at times there was still a discernable difference between it and a natively-compiled application.
New Modeling Capabilities
An impressive addition to Java Studio Enterprise 7 is its UML (Unified Modeling Language) support. The IDE comes with a full-featured editor for creating UML 2.0 diagrams. The IDE also supports forward and reverse engineering. Updates made to either code or a diagram is immediately reflected in the other. These feature worked well in my tests. I was able to reverse-engineer a one of the sample applications with a few clicks of the mouse, resulting in diagrams that fully expressed the code. Changes to method names were transferred onto the Class model.
|UML editor. Click for larger image.|
Once your application is modeled, a menu selection allows you to generate an HTML report which includes images of each UML diagram and accompanying documentation.
Profiling your Code
Another addition to this release is an application profiler. Profilers allow developers to deploy their applications and gather performance statistics. Along with testing 'normal' conditions, you can simulate load increases to test performance during peak traffic times. I expirimented a bit with the profiler and examined the various output it produced. It was simple to simulate an above average load on the system to see what would happen. The tool graphically displayed which methods in my Java classes were the most time-expensive. I like having the option to profile during development. The ease with which these statistics can be obtained while coding makes it easier to write performant software from the start.
The most interesting new feature to Java Studio Enterprise 7 is a team collaboration tool. This tool is essentially a code-aware Instant Messaging application within the IDE. After launching Collaboration Server (I used the server bundled with the development platform, but typically this would be a centralized server within an organization), I created a few accounts and practiced trading code and files between two users I created. When its time to share code, you select a button to let the tool know the type of code you are using (Java, XML, JSP), then enter it. The tool color codes and numbers the text according to the specified format, just as if you were using the IDE's main editor (it even completes code and provides JavaDoc links). It is also possible to share a file in which two team members can edit its contents simultaneously.
The collaboration tool worked as promised during my tests. How relevant will this tool really be? For lone developers, the tool won't mean much. But I can certainly see a benefit when a team of developers is actively working with the same code base. I predict there will be many attempts by other vendors to duplicate this concept.
|Developer Collaboration. Click for larger image.|
Costs and Support
Sun Java Developer Studio Enterprise 7 is available under two pricing models. You can purchase a single developer license for $1,895 per year. Alternatively, the platform can be licensed for $5 per developer, per year, with a minimum of 1,000 seats. It is clear that Sun is targeting larger corporate environments with the later model (servers included in Java Developer Studio Enterprise are for development and testing only). The single developer license might be cost-prohibitive for some small shops. However, Sun Java Developer Studio Enterprise could be a very attractive value proposition for larger organizations, especially if they already license the production servers identical to those included with the development platform. An affordable upgrade from the previous release is also available. With the license you get the complete development platform, plus a number of developer services from Sun. These services include email support, technical forums, articles, and code camps. Using my trial license, I accessed many of these resources and found them quite helpful to me as I was learning the tool. The numerous 'code camp' tutorials are especially informative for developers new to the platform.
Overall, I found Sun Java Studio Enterprise a very capable and powerful development tool. A 90-day trial download is available for those interested in digging deeper into Sun Java Studio Enterprise 7.