Sei sulla pagina 1di 41

Eclipse: Java EE

Applications Made Easy

sponsored by

an Developer eBook
contents
[ ]
Eclipse: Java EE Applications Made Easy

With the latest release of Eclipse, you can get the most up-to-date components of the
Eclipse framework which will speed your development of Java EE applications. Discover
why Eclipse is the best framework for developing Java EE applications and why with the
addition of Rational tools built on top of Eclipse, you can build the best quality enterprise
applications in the shortest amount of time.

2 Letter from the Editor


Bob Kane

3 Get Started with the Eclipse Platform


Chris Aniszczyk and David Gallardo

10 A Whirlwind Tour of Eclipse Europa


Chris Aniszczyk

18 Installing and Using Eclipse-based IBM Rational Products


Khawar Z. Ahmed

26 An Introduction to Eclipse for Visual Studio Users


Genady Beryozkin

33 Taking a Lifecycle Approach to Software Quality Testing and Management


Rikki Kirzner

37 Rational Application Developer for WebSphere Outshines Eclipse


Rikki Kirzner

© 2008, Jupitermedia Corp.

1 Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by


[ Eclipse: Java EE Applications Made Easy]

Eclipse: Java EE
Applications Made Easy
By Bob Kane

extend the functionality of the Eclipse environment.

S
upported by a cross-section of the software industry
including individuals and corporations, the Eclipse This means that as an enterprise Eclipse developer,
Foundation is dedicated to providing enterprise appli- your investment in the Eclipse IDE can be easily lever-
cation developers the latest tools, platforms and frameworks aged when looking for additional functionality with
to support the software development lifecycle. Since 2004, Rational products. And because they are built with
the Eclipse Foundation has worked to provide a standard- Eclipse, you don't have to worry about integrating
ized framework that developers are able to extend to suit Rational products within the Eclipse environment.
their needs. For some, Eclipse is all a developer may need,
but for others, it may only be a starting point. Fortunately, This ebook talks about the benefits of Eclipse for the
that's the power of Eclipse--it can be modified with other enterprise developer, as well as those Rational tools
products to meet almost any development requirement. that extend Eclipse to better support the software
development lifecycle. If you develop Java EE applica-
Fortunately, as the Eclipse pioneer, IBM has chosen not tions, the combination of Eclipse and Rational is proba-
only to support the Eclipse Foundation, and the many bly all you'll need to get the job done. So read on to
developers who rely upon it, the company also builds find out how Eclipse and Rational help make the devel-
its own tools with Eclipse as well. Many IBM Rational opment of Java EE applications easy.
software products are not only built on Eclipse, but also

2 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]

Get Started with the Eclipse Platform


Use Eclipse plug-ins to edit, compile, debug, and act as a
foundation for your applications

By Chris Aniszczyk (zx@us.ibm.com), Software Engineer, IBM


and David Gallardo (David@Gallardo.org), Software Consultant.

First published by IBM developerWorks Open Source at http://www.ibm.com/developerworks/OpenSource/.


All rights retained by IBM and the author.

in Eclipse is a plug-in, all tool developers have a level

F
ind out about the Eclipse Platform, including its origin
and architecture. Starting with a brief discussion about playing field for offering extensions to Eclipse and pro-
the open source nature of Eclipse and its support for viding a consistent, unified IDE for users.
multiple programming languages, we demonstrate the
Java™ development environment with a simple program- This parity and consistency isn't limited to Java devel-
ming example. We also survey some of the software devel- opment tools. Although Eclipse is written in the Java
opment tools available as plug-in extensions. programming language, its use isn't limited to the Java
language. For example, plug-ins are available or
This follow-up to David Gallardo's "Getting started with planned that include support for programming lan-
the Eclipse Platform" offers new information relevant guages like C/C++ and COBOL. The Eclipse frame-
for Eclipse V3.3. work can also be used as the basis for other types of
applications unrelated to software development, such
What Is Eclipse? as content management systems.

Eclipse is a Java-based, extensible open source devel- A great example of an Eclipse-based application is the
opment platform. By itself, it is simply a framework and IBM® Rational® Software Architect (see Resources),
a set of services for building applications from plug-in which forms the basis of IBM's family of Java develop-
components. Fortunately, Eclipse comes with a stan- ment tools.
dard set of plug-ins, including the well-known Java
Development Tools (JDT).
Eclipse Is Open Source
While most users are quite happy to use Eclipse as a Open source software is software released with a
Java integrated development environment (IDE), its license intended to ensure that certain rights are grant-
ambitions do not stop there. Eclipse also includes the ed to users. The most obvious right, of course, is that
Plug-in Development Environment (PDE), which is the source code must be made available so users are
mainly of interest to those who want to extend Eclipse, free to modify and redistribute the software. This pro-
since it allows you to build tools that integrate seam- tection of users' rights is accomplished with a device
lessly with the Eclipse environment. Because everything called a copyleft: The software license claims copyright

3 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
protection and prohibits distribution unless the user is code back to the common open source-code base.
granted these rights. The copyleft also requires that There are a number of reasons for this, but perhaps the
any redistributed software be covered by the same most essential is that the more developers contribute
license. Since this, in effect, stands the purpose of to the project, the more valuable the project becomes
copyright on its head--using the copyright to grant for everyone. As the project becomes more useful,
rights to the user, rather than reserve them for the more developers will use it and create a community
developer of the software--copyleft is often described around it, like those that have formed around Apache
as "all rights reversed." and Linux. (See Resources for more information about
licenses.)
Much of the fear, uncertainty, and doubt that has been
spread about regarding open source software involves What Is Eclipse?
the so-called viral nature of some copyleft licenses--the
idea that if you use open source software as part of a Eclipse is an open source community whose projects
program you develop, you will lose your intellectual are focused on building an open development platform
property because the license will "infect" the propri- comprised of extensible frameworks, tools, and run-
etary parts you develop. In other words, the license times for building, deploying, and managing software
may require that all software bundled with the open across the life cycle. The Eclipse Foundation is a not-
source software, including any newly developed soft- for-profit member-supported corporation that hosts the
ware, must be released under the same license. While Eclipse projects and helps cultivate an open source
this may be true of the most well-known copyleft community and an ecosystem of complementary prod-
license, the GNU General Public License (under which ucts and services.
Linux®, for example, is released), there are other licens-
es that provide a different balance between commercial The Eclipse Project was originally created by IBM in
and community concerns. November 2001 and supported by a consortium of
software vendors. The Eclipse Foundation was created
The Open Software Initiative is a nonprofit organization in January 2004 as an independent not-for-profit organ-
that defines what open source means explicitly and cer- ization to act as the steward of the Eclipse community.
tifies licenses that meet its criteria. Eclipse is licensed It was created to allow a vendor-neutral, open, and
under the OSI-approved Eclipse Public License (EPL) transparent community to flourish around Eclipse.
V1.0, which is intended to facilitate the commercial Today, the Eclipse community consists of individuals
adoption of Eclipse while being fair to the open source and organizations from a cross-section of the software
authors. industry.

Those who create plug-ins for Eclipse or who use The Eclipse Foundation manages and directs Eclipse's
Eclipse as the basis for a software development appli- ongoing development. The foundation provides servic-
cation are required to release any Eclipse code they es to the community, but does not employ the open
use or modify under the EPL, but are free to license source developers (called committers), who actually
their own additions in any way they like. Proprietary work on the Eclipse projects. Eclipse committers are
code bundled with software from Eclipse does not typically employed by organizations or are independent
need to be licensed as open source, and the source developers that volunteer their time to work on an
code does not need to be made available. open source project.

Although most will not use Eclipse to develop plug-ins Now that we've looked at some of the theory, history,
or to create new products based on Eclipse, the open and politics behind Eclipse, let's take a look at the
source nature of Eclipse is important beyond the mere product itself.
fact that it makes Eclipse available for no cost (and
despite the fact that a commercial-friendly license The Eclipse Workbench
means that plug-ins can cost money). Open source The first time you open Eclipse, you see the welcome
encourages innovation and provides incentives for page, which exists inside the workbench (see Figure 1).
developers, even commercial developers, to contribute As an Eclipse user, you'll be given a few options of

4 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]

Figure 1. Eclipse Welcome Page

Figure 2. Eclipse Overview Page

going to an overview page, which I recommend (see how they interact. Spend a few minutes reading the
Figure 2). See what's new, explore some samples, or go material, then let's dive directly into the Java
through some tutorials. Development Tools (JDT) in Eclipse. There's no better
way to learn than doing it hands-on.
The Eclipse workbench consists of several panels
known as views, such as the navigator or outline views. To continue this short tour of Eclipse, we'll create a new
A collection of these views is called a perspective. One Java project. Select File > New > Java Project and
of the most common perspectives is the Resource per- enter Hello when prompted for the project name, then
spective, which is a basic set of views for managing click Finish.
projects and viewing and editing files in a project.
Next, we'll take a look at the Java perspective (if you
I recommend most novice users start with the Overview aren't already there). Depending on how you like to
page featured in Figure 2 and learn about Eclipse. The manage your screen, you can change the perspective
workbench basics section contains a lot of good starter in the current window by selecting Window > Open
information about the various pieces of Eclipse and Perspective > Java or you can open a new window by

5 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]

Figure 4. The Hello class in the Java editor

that the declaration for i has been omitted deliberately).

You'll notice some of the Eclipse editor's features as


you type, including syntax checking and code comple-
tion. Also, when you type an open parenthesis or dou-
ble quote, Eclipse will provide its partner automatically
and place the cursor inside the pair.

In other cases, you can invoke code completion by


Figure 3. Creating a new class in the Java perspective using Ctrl+1. Code completion provides a context-sen-
sitive list of suggestions selectable by keyboard or
selecting Window > New Window and selecting the mouse. The suggestions can be a list of methods spe-
new perspective. cific to a particular object or a code snippet to expand,
based on various keywords such as for or while.
The Java perspective, as you might expect, has a set of
views that are better suited for Java development. One Syntax checking depends on incremental compilation.
of these includes, as the top-left view, a hierarchy con- As you save your code, it is compiled in the back-
taining various Java packages, classes, JARs, and mis- ground and checked for syntax errors. By default, syn-
cellaneous files. This view is the called the Package tax errors are underlined in red, and a red dot with a
Explorer. Also notice that the main menu has expanded white X appears in the left margin. Other errors are
to include two new menu items: Source and Refactor. indicated with a light bulb in the editor's left margin;
these are problems that the editor might be able to fix
The Java Development Tools (JDT) for you (a feature called Quick Fix).

To try out the Java development environment, we'll The code above has a light bulb next to the for state-
create and run a Hello World application. Using the ment because the declaration for i has been omitted.
Java perspective, right-click on the Hello project's Double-clicking on the light bulb will bring up a list of
source folder (src) and select New > Class, as shown in suggested fixes. In this case, it will offer to create a
Figure 3. In the dialog box that appears, type Hello as class field i, a local variable i, or a method parameter i;
the class name. Under Which method stubs would you clicking each of these suggestions will display the code
like to create? check public static void main(String[] that would be generated. Figure 5 shows the list of
args), then Finish. suggestions and the code it suggests for a local vari-
able.
This will create a .java file with a Hello class and an
empty main() method in the editor area, as shown in Double-clicking on the suggestion inserts the code in
Figure 4. Add the following code to the method (note the proper location in the code.

6 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
Once the code compiles without error, you can exe-
cute the program by selecting Run from the Eclipse
menu. (Note that there is no separate compilation
step because compilation takes place as you save the
code. If your code has no syntax errors, it's ready to
run.) A Launch Configurations dialog box appears,
with appropriate defaults; click Run at the bottom
right. A new tabbed panel appears in the lower panel
(the Console), displaying the program's output, as
shown below.

Figure 5. Quick Fix suggestions You can also run the program in the Java debugger.
First, set a breakpoint in main() System.out.println() by
double-clicking in the gray margin on the left side of
the editor view, next to the call to System.out.println().
A blue dot will appear. From the Run menu, select
Debug. As described, a Launch Configurations dialog
will appear. Select Run. The perspective will change to
the Debug perspective automatically, with a number
of interesting new views, as shown below.

Notice the Debug view at the top left of the perspec-


tive. This view shows the call stack and has a toolbar
in the title bar that allows you to control the execution
of the program, including buttons to resume, sus-
pend, or terminate the program, step into the next
Figure 6. Output from the program statement, step over the next statement or return
from a method. The panel at the top right contains a
number of tabbed views, including Variables,
Breakpoints, Expressions, and
Display. I've clicked Variables so
we can see the current value of i.

You can obtain more information


about any of the views with the
context-sensitive help; click on
the title of the view and press F1.

Additional Plug-ins
In addition to plug-ins like the
JDT for editing, compiling, and
debugging applications, plug-ins
are available that support the
complete development process
from modeling, build automa-
tion, unit testing, performance
testing, version control, and con-
Figure 7. The Debug perspective figuration management.

7 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
of extensions and extension points. The runtime also
provides additional services like logging and concur-
rency.

JFace/SWT
The Standard Widget Toolkit (SWT) is the widget set
that gives Eclipse its look and feel. JFace is simply a
layer on top of SWT that provides some Model-View-
Controller (MVC) classes to make it easier to develop
graphical applications.

Figure 8. Simplified Eclipse Platform architecture Workbench


The workbench gives Eclipse its personality. The con-
Eclipse comes with a plug-in for working with the cept of views, perspectives, and things like editors
open source Concurrent Versions System (CVS) for are defined at this level.
source control. The Team plug-in connects to a CVS
server, allowing the members of a development team Help (User Assistance)
to work on a set of source-code files without stepping The Eclipse component allows you to provide assis-
on each other's changes. Source control from within tance to your users. This can be done via the help
Eclipse won't be explored here further because it system, which allows users to search for help docu-
requires setting up a CVS server, but the capability for mentation or through cheatsheets, which can be
supporting a development team, not just stand-alone thought of interactive task lists for end users.
development, is an important and integral feature of
Eclipse. Update
The update component of Eclipse provides the facili-
Plug-ins supported and hosted by the Eclipse ties to allow you to update your applications from
Foundation are found on the Eclipse Web site. For a version to version.
more complete list of available plug-ins, go to Eclipse
Plug-in Central, which acts as an index for plug-ins. Team
The team component consists of a framework to
allow vendors to plug in their own version-control
Eclipse Platform Architecture systems. An exemplary implementation of a provider
The Eclipse Platform comes with a powerful set of is the CVS plug-in provided out of the box in Eclipse.
plug-ins (see Figure 8) that support projects, such as
JDT and the PDE. Conclusion
The dark blue pieces signify components that are the From an initial contribution of code from IBM, Eclipse
core part of Eclipse's Rich Client Platform (RCP). The has grown into a full-fledged open source ecosystem in
concept of RCP itself is outside the scope of the article, which more than 100 companies participate. A
but think of RCP as just a set of plug-ins from Eclipse portable, extensible open source framework isn't a new
people can use to develop applications, such as Lotus idea, but because of its mature, robust, and elegant
Notes® 8. The light blue pieces are optional (but rec- design, Eclipse brings a whole new dynamic into play.
ommended) pieces to be included in RCP-based appli-
cations. And the gray pieces are completely optional. Welcome to the Eclipse ecosystem. Our goal was to
The platform consists of several components, of which get you started with the Eclipse platform quickly. We
I'll cover several: accomplished this with some introductory text accom-
panied with a simple hands-on exercise. Take the
Runtime knowledge gained from reading this article and
The runtime is the code that defines Eclipse's plug-in become an active member of the Eclipse ecosystem.
model, based on the OSGi specification, and notion

8 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
Resources IBM alphaWorks.
• Download Eclipse Platform and other projects from
Learn the Eclipse Foundation.
• Interested in what's happening inside the Eclipse • Download IBM product evaluation versions, and get
community? Check out PlanetEclipse. your hands on application development tools and mid-
• Read the Eclipse Public License V1.0 to learn more dleware products from DB2®, Lotus®, Rational®,
about its terms and conditions. Tivoli®, and WebSphere®.
• Check out the available Eclipse plug-ins at Eclipse • Innovate your next open source development project
Plug-in Central. with IBM trial software, available for download or on
• Information about open source software, including DVD.
certified open source licenses, such as the Eclipse
Public License, is available at OpenSource.org. Discuss
• Check out EclipseLive for webinars featuring various • The Eclipse Platform newsgroups should be your first
Eclipse technologies. stop to discuss questions regarding Eclipse. (Selecting
• Learn more about Rational Software Architect. this will launch your default Usenet news reader appli-
• Eclipse is available under the Eclipse Public License cation and open eclipse.platform.)
(EPL) V1.0. • The Eclipse newsgroups has many resources for peo-
• "Open source licensing, Part 1: The intent" describes ple interested in using and extending Eclipse.
the tenets of copyright and explains the intents of an • Participate in developerWorks blogs and get involved
open source license. Part 2 explores individual licenses, in the developerWorks community.
such as the GNU Public License and the Apache License.
• Eclipse Plug-in Central is an index for plug-ins. You
can get an RSS feed of the latest plug-ins.
About the Authors
• The Rich Client Platform (RCP) provides a foundation Chris Aniszczyk is an Eclipse committer at IBM Lotus
for building cross-platform applications. who works on OSGi-related development. His primary
• Lotus Notes 8 is built using Eclipse RCP technology. focus these days is improving Eclipse's Plug-in
• Check out the "Recommended Eclipse reading list." Development Environment (PDE) and spreading the
• Browse all the Eclipse content on developerWorks. Eclipse love inside of IBM's Lotus organization. He is an
• Users new to Eclipse should check out Eclipse project open source enthusiast at heart, specializing in open
resources' Start Here. source evangelism. He evangelizes about Eclipse in his
• Expand your Eclipse skills by checking out IBM blog, and he's honored to represent the Eclipse com-
developerWorks' Eclipse project resources. mitters on the Eclipse Foundation's board of directors.
• To listen to interesting interviews and discussions for He's always available to discuss open source and
software developers, check out check out Eclipse over a frosty beverage.
developerWorks podcasts.
• Stay current with developerWorks' Technical events David Gallardo is an independent software consultant
and webcasts. and author specializing in software internationalization,
• Watch and learn about IBM and open source tech- Java Web applications and database development. He
nologies and product functions with the no-cost has been a professional software engineer for over 15
developerWorks On demand demos. years and has experience with many operating systems,
• Check out upcoming conferences, trade shows, web- programming languages and network protocols. His
casts, and other Events around the world that are of recent experience includes leading database and inter-
interest to IBM open source developers. nationalization development at a business-to-business
• Visit the developerWorks Open source zone for e-commerce company, TradeAccess, Inc. Prior to that,
extensive how-to information, tools, and project he was a senior engineer in the International Product
updates to help you develop with open source tech- Development group at Lotus Development Corporation
nologies and use them with IBM's products. where he contributed to the development of a cross-
platform library providing Unicode and international lan-
Get Products and Technologies guage support for Lotus products including Domino.
• Check out the latest Eclipse technology downloads at

9 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]

A Whirlwind Tour of Eclipse Europa


Eclipse V3.3 contains significant changes to 21 projects; learn how
Europa will boost your productivity

By Chris Aniszczyk (zx@us.ibm.com), Software Engineer, IBM

First published by IBM developerWorks Open Source at http://www.ibm.com/developerworks/OpenSource/.


All rights retained by IBM and the author.

W
ith the simultaneous release of 21 projects this
year, the Eclipse Europa release marks a significant
improvement over last year's release train of 10
projects. Get a brief overview of each of the projects associ-
ated with the Europa release.

Simply put, Europa is the simultaneous release of 21


major Eclipse projects.

The important thing to note about Europa and Eclipse


release trains is that even though it's a simultaneous
release, it doesn't mean these projects are unified at
all. Each project remains a separate open source proj-
ect, operating with its own project leadership, its own
committers, and its own development plan. In the end,
Europa is about improving the productivity of develop-
ers working on top of Eclipse projects by providing a
more transparent and predictable development cycle.
It's easier to ship software when you know it will always Figure 1. Update site configuration
be available on a certain date.
able at the Europa discovery site by the time you read
Getting Europa this.
Before we get into the details about each of the 21
Once you are connected to the Europa update site,
projects, let's complete a quick, hands-on exercise that
you should see the list of available features that are
will result in the installation of Europa on your machine.
part of the Europa release train (see Figure 2). It's as
The first step in acquiring Europa is to download the
simple as that. Once connected to the update site, you
Eclipse V3.3 SDK. Next, launch Eclipse and access the
simply choose the features you want to install into your
update manager via Help > Software Updates > Find
copy of Eclipse and start using them. In these two sim-
and Install (see Figure 1). Enter the proper Europa
ple steps, you are primed to take advantage of the
update site information for your locale if it isn't avail-
Europa release.

10 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
Core
The core of the Eclipse Platform mostly comes from
the Equinox project. Equinox serves as the reference
implementation for OSGi, which can be considered
as forming the building blocks of Eclipse. Eclipse's
plug-in model and notions of extensions are housed
within Equinox, along with a few other technologies.

User interface (UI)


All things related to the workbench live here.

Java™ Development Tools (JDT)


This is the first component most developers come
across when they initially use Eclipse. Eclipse ships
with a world-class Java development environment,
known as the JDT.

Figure 2. Europa update site Aspect Java Development Tools


(AJDT)
The AJDT project provides Eclipse Platform-based tool
The release train support for aspect-oriented software development with
A brief overview of each project will be given, followed AspectJ. The AJDT makes the life of an aspect devel-
by a quote from an Eclipse committer about what's oper easier, similar to the way the JDT made the life of
exciting about the project in the Europa release. The a Java developer easier.
quotes are from e-mail conversations I had with each
project committer. Consider this a dialog between "The AspectJ Development Tools project (AJDT) joins
developers--no fluff or marketing hand-waving was the Eclipse release train for the first time this year. Last
expected or allowed. year, the project moved from being a technology proj-
ect to become a tools project, reflecting the project's
Eclipse Platform level of maturity and widespread usage. The project
The Eclipse Platform project is the heart of Eclipse. The provides everything required for aspect-oriented pro-
project actually consists of many "subprojects," but in gramming: the AspectJ compiler and weaver, an editor
my view, the platform project consists of four main for AspectJ source code, and additional views and
pieces: other functionality designed to allow developers to get
the maximum benefit from AOP," said Matt Chapman,
Plug-in Development Environment (PDE) AJDT lead and IBM employee. "Since last year's 1.4
"In what has been described in the Planet Eclipse release, there have been a number of improvements,
blog as a 'Plug-in Developer's Christmas,' the Plug-in including:
Development Environment (PDE) brings to Europa a
major plug-in manifest editor facelift, complete with • "Refactoring participant to update aspects when
rich-source editing features that include the highly Java types are renamed
anticipated content assist," said Wassim Melhem, • "Better support for binary weaving across projects
Eclipse PDE lead and IBM® employee. "Other using the aspect-path setting
notable features include cheatsheet authoring, target • "Making the aspect-path and in-path settings more
provisioning, and enhanced RCP and OSGi tooling, consistent with the regular Java classpath setting
Last but not least, with nearly 800 enhancement and • "Improvements to the Crosscutting Comparison
bug reports fixed this past year, robustness is certain- view
ly a key highlight of the PDE 3.3 release." • "New functionality to highlight changes to the
crosscutting relationships in a project"

11 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
Business Intelligence and Reporting artifacts, and usability is enhanced with an initial set of
graphical editors," said Thomas Hallgren, Buckminster
Tools (BIRT) committer and Cloudsmith employee.
The BIRT project strives to bring an Eclipse-based
reporting system that integrates with your application C/C++ Development Tooling (CDT)
to produce compelling reports for Web and PDF. BIRT
provides core reporting features such as a graphical The CDT project aims to bring a fully functional C and
report designer, data access, and scripting support. C++ development environment to the Eclipse Platform,
similar to what JDT did for Java development.
"BIRT 2.2, which is part of the Europa release, offers
many new features to assist in report development, "The CDT is becoming the de-facto standard C/C++
ease of framework integration, and exporting of con- IDE among commercial vendors targeting Linux® and
tent. These include a new dynamic cross-tab element, embedded. The CDT enjoys a large community of
which supports hierarchal reporting complete with level users working with the Windows® GNU compilers, as
aggregation, filtering and sorting, new emitters for XLS, well. The breadth of the CDTs user base--from tiny
Doc, PPT, and postscript formats, a new Web service barebones embedded systems to high-performance
data access driver, and many improvements to existing computing applications running on massive clusters--
features," said Jason Weathersby, BIRT evangelist and really highlights the flexibility of the frameworks and
Actuate employee. "Additionally, BIRT provides several features that it provides," said Doug Schaefer, CDT
new project types, such as the Web project, which lead and QNX Software Systems employee.
allows the BIRT Viewer and new tag libraries to be
deployed using WTP mechanisms and new ODA proj- "CDT 4.0 is our largest release, with over 20 contribu-
ects that facilitate building your own data drivers." tors working in it and one we hope will bring the CDT
to the next level of adoption. The user experience,
especially when creating new projects has been greatly
Buckminster simplified with a streamlined New Project wizard that
The Buckminster project consists of frameworks and hides some of the details of the underlying build sys-
tools for automating build, assemble, and deploy devel- tems. It also offers the ability to create new projects
opment processes in complex or distributed component- based on templates that provide skeletal code and proj-
based development. Buckminster allows development ect settings," Schaefer said. "A lot of work has gone
organizations to define fine-grain "production lines" for into the CDT editor, which offers many more identifier
the various stages in software production and to auto- coloring options and a faster content assist. Three new
mate the execution of corresponding processes. A com- views give users greater insight into the structure of
mon example of such a process is a developer joining a their code, including an Includes Browser, Call Hierarchy
new team and being expected to set up the develop- View, and a new Type Hierarchy View. The set of build
ment environment from scratch. Buckminster allows new and debug tool chain integrations grows with a cleaner
developers to materialize their development workspaces MinGW integration, a GDB hardware debugging inte-
and quickly become productive team members. gration, and a new integration for IBM's xlC compiler.
And, finally, the path to CDT's future is laid out with the
"Europa will be the first formal release of Buckminster, introduction of new mechanisms for handling additional
which has been expanded significantly in scope and programming languages that includes a new experi-
production quality. Buckminster now supports fine-grain mental C parser and a parser for UPC, Unified Parallel
control and greater variability in the configuration reso- C, using the LPG parser generator."
lution process through dynamic component queries
and a two-phase resolution model. We have also intro- Dynamic Languages Toolkit (DLTK)
duced an action framework, which supports orchestra-
tion of assembly processes involving native Eclipse The DLTK is a tool for vendors, researchers, and end
(PDE) and external build mechanisms. Headless execu- users who rely on dynamic languages. DLTK comprises
tion capabilities have also been expanded. Extensibility a set of extensible frameworks designed to reduce the
is greatly improved through formal XML schemas for all complexity of building full-featured development envi-

12 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
ronments for dynamic languages, such as PHP and Perl. geared toward commercial-embedded debug engine
Furthermore, besides a set of frameworks, DLTK pro- implementations in Eclipse. DD 0.9 also provides a
vides exemplary TCL, Ruby, and Python development memory rendering for the platform memory view that
environments ready to use out of the box. mimics the traditional memory view found in embed-
ded debuggers. Finally, DD 0.9 provides a preview
"For the Europa release, the DLTK provides TCL and release of an XML editor that implements the SPIRIT
Ruby components with a set of features you may find in consortium's IP-XACT V1.3 standard for System On
Java Development Tools. Starting from code editor Chip (SoC) hardware description. Other DSDP subpro-
with code assistance and code outline, code navigation jects will also be releasing off-train this year," Gaff said.
features like Open Type and Go to declaration, power-
ful search features like find references up to interactive DataTools Platform (DTP)
console and integrated debugger, these features bring
Europa a powerful development environment for Ruby The DTP project aims to bring frameworks and tools to
and TCL programming languages," said Andrei the domain of data management. Examples of frame-
Sobolev, DLTK project co-lead and XORED employee. works include location and management of data source
drivers, and configurations for access to particular data
source instances. Once a connection is successfully
DSDP Device Debugging (DSDP-DD) made, the next task often is to explore the data source
and Target Management (DSDP-TM) with tools. Some of these operations might be carried
The DSDP-DD project creates new frameworks and out by GUI actions, others directly through commands.
extensions to the existing platform debug framework to For example, users--both developers and administra-
support the three phases of device software develop- tors--typically will create, edit, and test SQL for these
ment: hardware bring-up, platform software develop- commands. Assistance with editing SQL through code
ment, and application software development. The completion, formatting, and dialect specialization
Device Debugging project will build enhanced debug greatly enhances productivity. Further, the ability to
models, APIs, and views to provide greater visibility execute or debug commands--both SQL and stored
into and control over device software targets. The procedures--rounds out the rapid development process
DSDP-TM project creates data models and frameworks that Eclipse supports so well.
to configure and manage remote systems, their con-
nections, and their services. "DTP 1.5 builds on the foundation of the DTP 1.0
release last December to provide specialized database
"With the Europa release, DSDP introduces V2.0 of the support for Sybase SQL Anywhere and HSQLDB, as
Target Management project and V0.9 of the Device well as an ODA Web service driver. NEC Soft, Japan,
Debugging project. TM 2.0 focuses on several architec- has also joined the DTP team in this release and has
tural improvements, including better separation provided a wizard for creating database tables for DTP
between UI and non-UI components, cleanup of APIs, 1.5. As demonstrated by a strong showing at
improved flexibility for system type and action contribu- EclipseCon, including a sponsored talk about DTP inte-
tions, and better usage of jobs. TM 2.0 also adds a shell gration by Ingres, the DTP ecosystem continues to
processes subsystem, a Telnet subsystem and associat- expand at a healthy rate," said John Graham, DTP
ed view, DNS-SD discovery, an FTP listing parser exten- PMC chairman and Sybase employee.
sion point, and an improved EFS provider. TM continues
to experience excellent growth in its user community, Eclipse Communication Framework
with several new commercial products planning adop- (ECF)
tion. DD 0.9 is the DD project's first public release,"
said Doug Gaff, DSDP PMC and WindRiver employee. The ECF project consists of a framework for supporting
the development of distributed Eclipse-based tools and
"DD 0.9 introduces the Debugger Services Framework applications. It can be used to create other plug-ins,
(DSF)--an extensible framework that leverages the new tools, or full Eclipse RCP applications that require asyn-
adaptable debug APIs introduced in Eclipse 3.2. DSF is chronous point-to-point or publish-and-subscribe mes-
saging.

13 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
"ECF brings communication capabilities to the Europa a structured model. EMF lets you build models quickly
release with a uniform set of APIs to be consumed by by taking advantage of EMF facilities. For example, one
developers. Support for transferring files through HTTP, feature EMF provides is support for persisting models
BitTorrent, and messaging protocols like XMPP and IRC to XML and other formats.
is provided by ECF out of the box. ISVs that wish to
add their own protocols and communications layers can "The Eclipse Modeling Framework provides powerful
contribute them directly through the framework. The generative and runtime capabilities for applications
framework itself is stripped-down enough that it can based on structured data models. From a simple class
even be used on embedded devices, allowing devel- diagram, XML Schema, or even Java interfaces, you can
opers to easily write applications that require having generate a complete Java implementation of the
Pocket PCs and notebooks talk to each other," said model, along with an editor for it, and take advantage
Remy Chi Jian Suen, ECF committer, and Scott Lewis, of EMF's facilities for persistence, notification, validation,
ECF committer. and change recording in your application," Marcelo
Paternostro, EMF Committer and IBM employee.
Project Dash (Eclipse Monkey)
"Europa includes EMF 2.3, which, for the first time,
Project Dash (also known as Eclipse Monkey) makes it allows developers to exploit Java 5 concepts and fea-
possible to script Eclipse similar to what BeanShell tures in their models. Generics are now fully supported
does for Java. in EMF's metamodel, Ecore, and in the EMF code gen-
erator," Paternostro said. "Other important Java 5 lan-
"Simply put, the Eclipse Monkey project 'script- guage features are also supported, including enumerat-
enables' Eclipse. It enables developers to use ed types, annotations, and the enhanced for loop.
JavaScript (extensibility points are provided to support Developers still have the option to generate 1.4-com-
other scripting languages, such as Ruby) to control any patible code, which can be run on the EMF 2.2 runtime.
aspect of their Eclipse environment. Examples of what
could be done include scripts to configure Eclipse con- "Other important and long-awaited features include
sistently across installations, macros for performing a Ecore model validation, Ant support for code genera-
set of actions (including inserting/modifying code), and tion based on annotated Java interfaces, and reference
inserting code snippets," said Paul Colton, Eclipse keys, which provide a more robust alternative to the
Monkey lead and Aptana employee. default index-based reference serialization. Finally, EMF
2.3 will be delivered in fine-grain features, allowing for
"The DOM available to the scripter can be fully extend- more flexible use in projects and products, without
ed to add support for any capability that is not already introducing unwanted code, user interface, or depend-
included. Another powerful feature of Eclipse Monkey encies."
is the ability to create new Eclipse views that contain
Web content. That is, full HTML/CSS/JavaScript views
can be created with two-way communications with
Eclipse Modeling Framework
Eclipse. For example, a view that displays real-time Technology (EMFT)
Google searches based on the keyword your cursor is The EMFT project was initiated to incubate new tech-
on. Another example could be an RSS reader of code nologies that extend or complement EMF. These tech-
snippets: If a link is clicked, the snippet can be inserted nologies over time--if found useful--eventually graduate
from the RSS feed into your working document. Aptana into EMF. Some example technologies found in EMFT
(an open source, Eclipse-based Ajax development envi- include the ability to generically search, compare, and
ronment) fully leverages Eclipse Monkey in many of the persist EMF models to a database.
ways described here," Colton said.
Graphical Editing Framework (GEF)
Eclipse Modeling Framework (EMF)
The GEF project allows developers to take an existing
EMF is a modeling framework and code-generation application model and create a rich graphical editor
tool for building tools and other applications based on quickly. GEF also contains a lightweight visualization

14 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
layer, known as Draw2D, which is similar to Java2D. For Europa, the M2T project will release a small com-
ponent called JET.
"For the Europa release, GEF 3.3 is essentially a main-
tenance release in terms of the delivery of several small "Java Emitter Templates (JET) is an JSP-inspired code
features and bug fixes. The GEF team did spend con- generator designed to work in the Eclipse workspace
siderable effort making sure GEF aligned with the capa- environment. Instead of producing HTML Web pages
bilities of Eclipse 3.3, such as testing on the new plat- in response to an HTTP request, JET produces Eclipse
forms like Microsoft® Vista, adopting new Eclipse 3.3 resources (files, folders, projects) when given an input
release engineering tools, and so on," said Anthony model. JET can read a number of input model types,
Hunter, GEF/GMF committer and IBM employee. including simple XML documents and any Eclipse
Modeling Framework (EMF) based document," said
Graphical Modeling Framework Paul Edler, JET lead and IBM employee.
(GMF) "In the Europa release, JET has moved from the
The GMF project provides a generative component Eclipse Modeling Framework Technologies (EMFT) proj-
and runtime infrastructure for developing graphical edi- ect into the new Model to Text (M2T) Project. JET and
tors based on EMF and GEF. The project aims to pro- M2T remain in the incubation phase as the M2T project
vide these components, in addition to exemplary tools continues to ramp up. Ultimately, M2T will include
for select domain models that illustrate its capabilities. other Eclipse-based template languages (xPand from
openArchitectureWare and MTL--an implementation of
"GMF remains an active and popular project within the the OMG's MOF Model to Text specification), as well
Eclipse Modeling Project, and provides several as common infrastructure to support both the imple-
enhancements with the 2.0 release to its runtime and mentation and consumption of model-to-text lan-
tooling components to further simplify the task of guages."
building diagram-based editors for EMF models," said
Richard Gronback, GMF lead and Borland employee. Eclipse Mylyn (formerly known
"GMF has also found two clients within the Eclipse
ecosystem, with the introduction of the UML2 Tools
as Mylar)
component in MDT and the BPMN modeler within the "Mylyn is a task-focused UI that reduces information
SOA Tools project." overload and makes multitasking easy. It does this by
making tasks a first-class part of Eclipse, and integrat-
Model Development Tools (MDT) ing rich and offline editing for repositories, such as
Bugzilla, Trac, and JIRA. Once your tasks are integrat-
The MDT project focuses on "big M" modeling within ed, Mylar monitors your work activity to identify infor-
the Eclipse Modeling project. The project has two main mation relevant to the task at hand, and uses this task
purposes: Provide an implementation of industry stan- context to focus the Eclipse UI on the interesting infor-
dard metamodels; and provide exemplary tools for mation, hide the uninteresting, and automatically find
developing models based on those metamodels. For what's related," said Mik Kersten, Mylar lead and
example, the MDT project contains implementations Tasktop employee.
(as metamodels) of UML2, XSD, and OCL.
"Mylyn 2.0 makes tasks as easy to browse and navigate
Model To Text (M2T) as files and Java elements," Kersten said. "Tasks can be
The M2T project focuses on the generation of textual viewed with flexible presentations, focused to show the
artifacts from models. Its purpose is threefold: most relevant ones and organized with working sets.
• To provide implementations of industry standard Just as the Eclipse JDT makes Java references easy to
and de-facto Eclipse standard model-to-text engines navigate, with Mylyn 2.0, pervasive hyperlinking tasks
• To provide exemplary development tools for these are only a click away whether referenced in source
languages code or revision histories.
• To provide common infrastructure for this languages

15 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
"Mylyn provides a Rich Internet Application (RIA) infra- supports a broad spectrum of computing systems,
structure and UI for working with task repositories. This including embedded, stand-alone, enterprise, and
means that issue tracking and project management high-performance, and will continue to expand support
tools, including Bugzilla, JIRA, Trac, Rally, CollabNet to encompass the widest possible range of systems.
Enterprise Edition, and XPlanner, can all be used with
Mylyn's rich editor, opened instantly with no roundtrips "TPTP provides a rich set of test, profiling, and moni-
to the server, and accessed easily when offline. Mylyn's toring tools. However its true value can only be realized
Task List can now be used as a single in-box for all your by being part of a core typical user use case," said
tasks, allowing you to unclutter your e-mail inbox by Harm Sluiman, TPTP committer, IBM employee. "The
turning off e-mail notifications," Kersten said. main new feature of TPTP (besides the normal main-
tainer and bug fixing) is that we have moved to JVMTI
"The fundamental productivity benefits of Mylyn come from JVMPI, which has given us better and more stable
from the Task-Focused UI, which reduces information heap and thread analysis support, along with the ability
overload and makes multitasking easy. Mylyn 2.0 facili- to support Java 6 going forward."
tates working in a task-focused way by making recalling
a task context almost instant. Additional features such Web Tools Platform (WTP)
as the task context pop-up dialog and task activation
dialog it easier to adopt the Task-Focused UI without The WTP project extends the Eclipse Platform with
changing existing work practice," Kersten said. "In tools for developing J2EE Web applications. The WTP
addition, context sharing has been streamlined and a project includes source editors for HTML, JavaScript,
context editor provided to better support teams." CSS, JSP, SQL, XML, DTD, XSD, and WSDL; graphical
editors for XSD and WSDL; J2EE project natures,
builders, and models, and a J2EE navigator; and a Web
SOA Tools Platform (STP) service wizard and explorer. Generally speaking, if the
There's no such thing as a single kind of SOA develop- task you need to complete is related to Web develop-
er, so the STP project's goal is to bring together quality ment, you will usually find the right tool in the WTP.
frameworks and tools to aid developers in constructing
and deploying services using popular SOA solution "I'm excited about this Europa release of WTP 2.0. This
technologies. is partially because we have better componetization, so
users can install just our XML tools, from Europa's
"SOA Tools is new addition to the mid-year big-bang Discovery Site, or just the non-Java related Web tools
Eclipse release train this year, and as part of it, we will (HTML, CSS, etc). And, for these smaller components,
be shipping new frameworks for Java Annotation-driv- JDT is no longer even dragged in! These smaller
en service development approaches, such as JAX-WS installs have been much requested by the community
and SCA/Java, a BPMN Modeler framework, and a and I am hoping they will attract a whole new set of
BPEL compiler," said Oisin Hurley, STP lead and IONA users and integration with other Eclipse-based proj-
employee. "To help package and deliver your services, ects," said David Williams, WTP project management
we've constructed a sophisticated deployment frame- committee co-lead, and IBM employee.
work that enables the construction of multiple deploy-
ment profiles and multipackage deploy. This is integrat- "Additionally, the Java-related tools, for JEE Web
ed with the WTP Server framework to make sure that Development, have gotten much richer this release. We
you can reuse any code you already have for deploying are happy that the sub-projects for JSF and Dali (for
to single servers." Java Persistence Tooling) have graduated from incuba-
tion and provide some great tools for using these stan-
Eclipse Test & Performance Tools Platform (TPTP) dards in JEE applications," Williams said. "With this
TPTP provides an open platform supplying powerful release, we provide basic support for JEE 5 applica-
frameworks and services that allow software developers tions and servers, and have gained contributions for
to build unique test and performance tools--both open new standards, such as Axis2."
source and commercial--that can be easily integrated
with the platform and with other tools. The platform "While we have more to do, we have made progress in

16 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
improving usability and 'out of the box' experience. • Stay current with developerWorks' Technical
One example is we have gotten a contribution for a events and webcasts.
much requested visual editor for editing HTML, JSP, • Watch and learn about IBM and open source
and JSF, which should improve productivity while technologies and product functions with the no-cost
developers create Web pages," Williams said. developerWorks On demand demos.
"Additionally, we have a built-in "preview" server for • Check out upcoming conferences, trade shows,
users' first, simple applications, as well as new webcasts, and other Events around the world that are
'discovery' mechanisms for finding server adapters that of interest to IBM open source developers.
are available to be installed after users get more • Visit the developerWorks Open source zone for
advanced." extensive how-to information, tools, and project
updates to help you develop with open source tech-
Go try Europa--It's free nologies and use them with IBM's products.

I have explained the Europa release train as efficiently Get products and technologies
as possible while remaining relevant technically. This • Check out the latest Eclipse technology down-
was accomplished by giving a unique developer-to- loads at IBM alphaWorks.
developer perspective on each of the projects by gath- • Download IBM product evaluation versions, and
ering a relevant quote from project developers. From get your hands on application development tools
my perspective, the differences between the Callisto and middleware products from DB2®, Lotus®,
and Europa releases are validation that Eclipse is grow- Rational®, Tivoli®, and WebSphere®.
ing and will continue to be a relevant and viable plat- • Innovate your next open source development
form for software development and deployment. So
what are you waiting for? Give Europa a try. I
project with IBM trial software, available for down-
load or on DVD.

Resources Discuss
• Chat with other Eclipse developers and commit-
Learn
• Read "Europa Simultaneous Release project." ters on IRC.
• Home of the Europa release train. • The Eclipse Platform newsgroups should be your
• Documentation, articles, and downloads of Eclipse first stop to discuss questions regarding Eclipse.
are available from the Eclipse Foundation. (Selecting this will launch your default Usenet news
• Interested in what's happening in the Eclipse com- reader application and open eclipse.platform.)
munity? Check out PlanetEclipse. • The Eclipse newsgroups has many resources for
• Check out the available Eclipse plug-ins at Eclipse people interested in using and extending Eclipse.
Plug-in Central. • Participate in developerWorks blogs and get
• Check out EclipseLive for webinars featuring vari- involved in the developerWorks community.
ous Eclipse technologies.
• Check out the "Recommended Eclipse reading About the author
list." Chris Aniszczyk is an Eclipse committer at IBM Lotus
• Browse all the Eclipse content on who works on OSGi-related development. His primary
developerWorks. focus these days is improving Eclipse's Plug-in
• Users new to Eclipse should check out Eclipse Development Environment (PDE) and spreading the
project resources' Start Here. Eclipse love inside of IBM's Lotus organization. He is an
• Expand your Eclipse skills by checking out IBM open source enthusiast at heart, specializing in open
developerWorks' Eclipse project resources. source evangelism. He evangelizes about Eclipse in his
• To listen to interesting interviews and discussions blog, and he's honored to represent the Eclipse com-
for software developers, check out check out mitters on the Eclipse Foundation's board of directors.
developerWorks podcasts. He's always available to discuss open
• For an introduction to the Eclipse platform, see
"Getting started with the Eclipse Platform."

17 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]

Installing and Using Eclipse-based IBM


Rational Products

By Khawar Z. Ahmed (kzahmed@us.ibm.com), Technical Marketing, IBM

First published by IBM developerWorks Rational at http://www.ibm.com/developerworks/Rational/.


All rights retained by IBM and the author.

Eclipse Overview
T
his article is for anyone who wants to install
Eclipse-based IBM® Rational® software prod-
Eclipse is an open platform for building software
ucts, especially if you're going to install several
development tools. It operates under the open source
on the same machine. Conveniently distilling informa-
model, which provides a common public license and
tion from the technical reference material for a num-
royalty-free worldwide distribution. Written in the Java
ber of IBM Rational Software Development Platform
language, the Eclipse platform provides a plug-in
products (including Rational Web Developer, Rational
architecture that simplifies the development of soft-
Application Developer, Rational Software Modeler,
ware products based on it.
Rational Software Architect, Rational Systems
Developer, Rational Functional Tester, and Rational
Eclipse has been designed from the ground up to
Performance Tester), this article discusses the implica-
help you build integrated web and application devel-
tions of the product packaging architecture for your
opment tooling. By design, the platform does not
installation.
itself provide a great deal of end-user functionality.
Instead, the value of the platform is what it encour-
Introduction ages: rapid development of integrated features based
This article provides an overview of the Eclipse-based on a plug-in model.
IBM Rational products and their high level product
packaging architecture. The IBM Rational product Eclipse provides a common user interface (UI) model
packaging architecture has certain implications on the for working with tools. It is designed to run on multi-
installation, especially where multiple product installa- ple operating systems while providing robust integra-
tion on the same physical machine is desirable. This tion with each underlying OS. Plug-ins can program to
article provides a detailed overview of such issues and the Eclipse portable APIs (application programming
offers guidance on the best approach to achieving interfaces) and run unchanged on any of the support-
such co-existence installs and specific considerations ed operating systems.
in such a setup.
The platform UI provides you with a standard user
Details of this nature are already provided in the tech- navigation model. This helps you create plug-ins that
nical reference material accompanying IBM Rational are focused on doing a small number of tasks well (for
products. This article is merely intended to capture example, testing, animating, publishing, compiling,
such information in a single end-user document, sup- debugging, diagramming, and so on).
plementing the information that is already available.

18 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
Today, numerous commercial and open-source prod-
ucts use the Eclipse platform as their tooling founda-
tion.

Eclipse and the IBM Rational


Software Development Platform
The IBM Rational Software Development Platform is
an Eclipse-based common development environment
that is shared by the following products:
• IBM® Rational® Web Developer
• IBM® Rational® Application Developer
• IBM® Rational® Software Modeler
• IBM® Rational® Software Architect
• IBM® Rational® Systems Developer
• IBM® Rational® Functional Tester
• IBM® Rational® Performance Tester
Figure 1. Simplified view of the Eclipse platform
If you install any of these products, the IBM Rational
Software Development Platform is automatically
The Eclipse platform uses the model of a common installed as part of the product. Even if you have more
workbench to integrate the tools from the end user's than one of these products installed, the development
point of view. The platform itself is built in layers of platform is installed only once. All of these products
plug-ins, each one defining extensions to lower-level have the same UI, called a workbench, and each
plug-ins, and so on. This extension model allows you product adds functionality to the workbench by con-
to develop plug-ins that add a variety of function to tributing plug-ins. Another way to think of this is that
the basic tooling platform. The artifacts for each tool products installed in this manner share the same
(such as files and other data) are coordinated by a Eclipse ecosystem.
common platform resource model.
Figure 2 depicts the nested structure of the products
The platform gives you a common way to work with listed previously:
the tools, and provides integrated management of the
resources they create with plug-ins. Figure 1 shows a Overview of IBM Rational Products
simplified view of the Eclipse platform and the subsys- The following provides a basic overview of the differ-
tems within it: ent products in the IBM Rational portfolio. For more

Figure 2. Eclipse-based IBM Rational product packaging

19 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
information about any of these products, please refer Rational Systems Developer
to the Resources section at the end of this article. Rational Systems Developer is a design and construc-
tion tool that takes advantage of the full power of
Rational Web Developer Eclipse and includes plug-ins that enable software
for IBM WebSphere Software architects and model-driven developers to create
Rational Web Developer for WebSphere Software is well-architected C/C++, Java, J2SE and CORBA-
an easy-to-learn IDE (integrated development envi- based applications leveraging the Unified Modeling
ronment) that helps you build, test, and deploy Web, Language (UML 2).
Web services, and Java applications. It helps you
develop drag-and-drop applications with JavaServer Rational Functional Tester
Faces (JSF) and Service Data Objects. Rational Web Rational Functional Tester is an advanced, automated
Developer is capable of supporting multi-vendor run- functional and regression testing tool for testers and
time environments, and is optimized for IBM® GUI developers who need superior control when test-
WebSphere® software. ing Java, VS.NET, and Web-based applications. It pro-
vides novice testers with automated capabilities for
Rational Application Developer activities such as data-driven testing, while offering
for WebSphere Software advanced testers a choice of scripting language and
Rational Application Developer is a comprehensive ScriptAssure technology to improve script resiliency.
IDE that enables you to quickly design, develop, ana-
lyze, test, profile, and deploy Web, Web services, por- Rational Functional Tester also supports testing of
tal, Java, and Java2 Platform, Enterprise Edition 3270 (zSeries) and 5250 (iSeries) applications using
(J2EE) applications. It provides you with sophisticated the IBM Rational Functional Tester Extension for
static code visualization tools. Like Rational Web Terminal-based Applications.
Developer, Rational Application Developer is capable
of supporting multi-vendor runtime environments, and Rational Performance Tester
is optimized for WebSphere Software. Rational Performance Tester is a performance test cre-
ation, execution, and analysis tool for teams validating
Rational Software Modeler the scalability and reliability of complex e-business
Rational Software Modeler is a Unified Modeling applications before deployment. Its multiple, low-
Language (UML)-based visual modeling and design intrusion recording techniques capture client-server
tool for architects, systems analysts, and designers communication involving either HTTP/HTTPS or SQL-
who need to ensure that their specifications, architec- based protocols. In addition, its built-in data correla-
ture, and designs are clearly defined and communicat- tion filters detect variable data, as well as preparing
ed to their stakeholders. tests for data-driven load test generation.

Rational Software Modeler is a customizable tool that Rational Performance Tester's fully customizable test
enables you to clearly document and communicate workload scheduler permits highly accurate models of
these system views. Rational Software Modeler also true user profiles. Finally, its real-time reports show
supports team development by integrating with other up-to-the second response times across users and
tools in your environment. user groups, exposing system bottlenecks as soon as
they occur.
Rational Software Architect
Rational Software Architect is a design and construc- Note: as of March 1, 2005, the above is pre-release
tion tool for software architects and senior developers information on Rational Performance Tester and is
creating applications in either the Java platform or subject to change. Please consult the Rational
C++. It leverages model-driven development with Performance Tester link in the Resources section for
UML, and unifies all aspects of software application scheduled release date and details.
architecture. It is intended to help you create well-
architected applications and services.

20 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
Co-existence Scenarios For instance, if you have Rational Software Architect
installed, and you try to install Rational Application
When you try to install multiple Eclipse-based Rational Developer, your installation request will be blocked.
products (described in the prior sections), you may This is because the Rational Software Architect product
encounter one of the following three coexistence situ- already contains all the functionality offered by Rational
ations (depending on the specific combination): Application Developer, so you would be losing func-
tionality if the second product install were to go ahead.
1. Shared Eclipse ecosystem If you really want to install the second product, then
2. Blocked install you must uninstall the first product before installing
3. Upgrade the second.
4. Co-exist
Upgrade
The exact action you take depends on the specific Some product combinations lead to a situation where
combination of products you are trying to install. The the existing product must be upgraded to the product
following sections elaborate on each of the above that offers more functionality. When a product is
coexistence situations, and the rationale for the upgraded, the existing product is removed and
actions you should take. The section following this replaced. However, your workspace associated with
one provides a matrix of product installs and associat- the first product is not removed. Typically, this hap-
ed actions. pens when you install a product that contains all the
functionality of the existing product and some addi-
Shared Eclipse Ecosystem tional functionality beyond that (in other words, the
Shared Eclipse ecosystem refers to a situation where product being installed is a superset of the product
an Eclipse platform-based product uses the compo- that is already installed).
nents installed by another Eclipse platform-based
product. For example, when you install Eclipse-based For example, if you have Rational Web Developer
products A and B, product B relies on components installed, and you try to install Rational Application
installed by product A. In this situation, A and B are Developer, you will be upgraded to the Rational
considered to be sharing the same Eclipse ecosystem. Application Developer product because it is a superset
of Rational Web Developer. The first product, Rational
In this situation, the second product typically extends Web Developer, will be uninstalled, but both the user
the capabilities of an existing product without interface and the workspace that contain your work for
installing another copy of components such as the UI. Rational Web Developer will remain in the same loca-
For example, if you install Rational Performance tion. Note also that the installed product is re-branded
Tester, and then you install Rational Application to reflect the name of the recently installed product.
Developer, they will both share the same Eclipse
ecosystem. They will share a single UI, and the user Co-exist
interface will contain all the functionality that both Co-existence refers to a situation where an Eclipse
products offer. platform-based product does not share the compo-
nents installed by another Eclipse platform-based
Blocked Install product, but installs its own components. In this situa-
Some product combinations are blocked from installa- tion, A and B are considered to be co-existing on the
tion on the same machine. This typically happens same machine. Keep in mind that while such co-
when an installed product offers more functionality installs are possible, running the products simultane-
than the one that you are trying to install (in other ously may not be practical due to the higher memory
words, the installed product is a superset of the prod- requirements.
uct you are trying to install). In such a situation,
installing the second product could lead to your los- For example, if you have Rational Software Architect
ing some functionality available in the first product, installed, and you want to install Rational Systems
and so it is blocked. Developer, you will be allowed to do so. Both applica-
tions will be installed separately, and they will not

21 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
share any common Eclipse components. installed, and you want to install Rational Software
Modeler
Product installation matrix
Rational Application Developer does not contain
Table 1 illustrates what happens when you attempt to the Rational Software Modeler functionality. Nor is
install more than one product, common to the there an upgrade path from Rational Application
Rational Software Development Platform, on the same Developer to Rational Software Modeler, or vice
machine. versa.

The vertical axis represents products already installed, In this situation, then, the install will go ahead and
while the horizontal axis represents products that you lead to Rational Software Modeler in a shared
are attempting to install. Eclipse ecosystem with Rational Application
Developer. Rational Software Modeler menus and
Example Scenarios options will appear alongside Rational Application
• Rational Application Developer is already Developer, and they will share the Eclipse ecosys-

Table 1. IBM Rational product installation matrix

Attempt to Rational Rational Rational Rational Rational Rational Rational


install Software Web Application Software Systems Functional Performance
Modeler Developer Developer Architect Developer Tester Tester

Rational N/A Share Share Upgrade Co-exist Share Share


Software
Modeler

Rational Share N/A Upgrade Upgrade Co-exist Share Share


Web
Developer

Rational Share Block N/A Upgrade Co-exist Share Share


Application
Developer

Rational Block Block Block N/A Co-exist Share Share


Software
Architect

Rational Co-exist Co-exist Co-exist Co-exist N/A Co-exist Co-exist


Systems
Developer

Rational Share Share Share Share Co-exist N/A Share


Functional
Tester

Rational Share Share Share Share Co-exist Share N/A


Performance
Tester

22 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
tem resources. uct would be re-branded Rational Software
Architect. That is, you will not have side-by-side
A shared situation would also arise if you had installations of Rational Web Developer and
Rational Functional Tester and installed it on a Rational Software Architect. Instead, a single install
machine that had Rational Application Developer. of Rational Software Architect will give you all the
Note that in such installations, the system maintains Rational Software Architect functionality as well as
internal details of resources being used, so if you the Rational Web Developer functionality.
uninstall a shared product it does not negatively
affect the operations for the other installed prod- Doing so will result in Rational Software Architect
ucts. reusing all the common content from Rational Web
Developer. It would also install Rational Application
As a general rule, Rational Software Modeler exists Developer content, because Rational Software
in a shared Eclipse ecosystem when installed with Architect includes all of the functionality of Rational
any of the following products: Application Developer. Furthermore, additional
Rational Software Architect-specific content would
o Rational Functional Tester be installed to complete the installation. At the end
o Rational Performance Tester of installation, everything would be branded
o Rational Web Developer Rational Software Architect.
o Rational Application Developer
• Rational Web Developer is already installed, and
Similarly, Rational Functional Tester and Rational you want to install Rational Application Developer
Performance Tester can exist in a shared Eclipse
ecosystem with any of the following products: This is similar to the situation described in the previ-
ous section. Since Rational Application Developer is
o Rational Web Developer a superset of Rational Web Developer, the Rational
o Rational Application Developer Web Developer install would be upgraded to
o Rational Software Modeler Rational Application Developer, and the install re-
o Rational Software Architect branded to Rational Application Developer.

• Rational Software Architect is already installed, • Rational Web Developer is already installed and
and you want to install Rational Software Modeler you want to install Rational Systems Developer

This install attempt will be blocked. This is because Rational Web Developer does not contain the
Rational Software Architect is a superset of the Rational Systems Developer functionality. Nor is
Rational Software Modeler product and includes all there an upgrade path from Rational Web
of its functionality. Therefore, permitting you to Developer to Rational Systems Developer, or vice
install Rational Software Modeler in this situation versa.
would lead to a degradation of the Rational
Software Architect installation's capabilities. So, in this situation, the install will go ahead and
lead to Rational Systems Developer co-existing on
• Rational Web Developer is already installed, and the same machine with Rational Web Developer.
you want to install Rational Software Architect Rational Systems Developer menus and options are
not available from Rational Web Developer, and
Rational Software Architect is a superset of Rational they do not share common Eclipse resources.
Web Developer. So if Rational Web Developer is
already installed, and you want to install Rational Common Questions and
Software Architect, then your Rational Web
Developer installation would be upgraded to
Considerations
Rational Software Architect, and the installed prod- Some questions routinely come up in connection with

23 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
using and deploying Eclipse-based IBM Rational prod- new Eclipse 3 installation.
ucts. This section answers the most commonly asked
ones: • Can I install third-party Eclipse 3 add-ins?
You can install other non-IBM Eclipse plug-ins into
• Can I co-install Eclipse 2- and Eclipse 3-based Eclipse based Rational products. However, keep in
IBM products? mind that if you encounter any problems while
You can install and run Eclipse 2-based Rational using IBM Rational products after such plug-ins
products and Eclipse 3-based Rational products side have been installed, any problems with IBM Rational
by side. products must be reproducible in an unmodified
shell for support purposes.
For example, you can run IBM® WebSphere®
Studio Application Developer 5.x and Rational Summary
Application Developer 6 on the same machine.
Since IBM® Rational Rose® XDE installs and runs IBM offers several Rational software products based
inside WebSphere Studio, you can also run Rational on the Eclipse platform. These products provide vital
Rose XDE with Rational Software Architect. Similarly, functionality for the software development lifecycle,
you can install and run Rational Functional Tester 5.x including modeling and architecture, design and con-
with Rational Functional Tester 6 on the same struction, and testing.
machine.
You can take advantage of these products via multiple
When running WebSphere Studio Application installation configurations. Depending on what is
Developer 5.x and Rational Application Developer already installed on your machine, you may encounter
6.x, you do need to ensure that the application different responses to new installation attempts. In all
servers for the test environments are set up to use situations, the action you need to take is well-thought
different ports for the two products; otherwise you out, and results in a final installation that offers the
most functionality for a given combination of selected
products. I
will run into conflicts.

Keep in mind that while such co-installs are possi-


ble, running the products simultaneous may not be Resources
practical due to higher memory requirements. Learn
• The IBM Software Developer Platform home-
While direct sharing of project artifacts between page provides detailed information on the overall
Eclipse 2 and Eclipse 3 side-by-side installations IBM Software Development platform, of which
(that is, locating your project roots outside of the IRAD, IRSA, IRSM, and the other products listed in
workspaces of either installation, and pointing both this article, are a part.
workspaces at the same projects) may work to some • For technical resources about Rational's prod-
degree, this approach has not been officially tested ucts, visit the developerWorks Rational content area.
and is therefore not supported. You'll find technical documentation, how-to articles,
education, downloads, product information, and
• Can I install IBM Rational products on an exist- more.
ing Eclipse 3 installation? • Find more product related information by visit-
It is currently not possible to install IBM Rational ing the IBM Rational marketing pages. You can find
products on top of an existing Eclipse install. For more information about Rational Performance Tester
example, if you already have Eclipse 3 installed on and all other IBM Rational products by viewing
your system, it is not possible to install Rational these pages.
Application Developer on top of it. When you install
Rational Application Developer, it will install a new Get products and technologies
version of Eclipse 3 and install the Rational • Get the evaluation version of Rational
Application Developer components on top of the Application Developer, Rational Software Architect

24 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
and the other products listed in this article from the • Ask questions about IBM Rational testing prod-
Trials and betas page. ucts in the developerWorks product forums.
• Purchase Rational books at discounted prices in
the Rational section of the Developer Bookstore. About the author
Discuss Khawar Z. Ahmed is a member of the IBM Rational
• Get involved in the developerWorks community XDE technical marketing team, where he focuses on
by participating in developerWorksblogs. the Java Platform Edition, and is co-author of the
• Ask questions about Rational Application book Developing Enterprise Java Applications with
Developer and Rational Software Architect in the J2EE and UML. He can be reached via e-mail.
Rational Software Architect, Software Modeler,
Application Developer and Web Developer forum.

25 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]

An Introduction to Eclipse for


Visual Studio Users

By Genady Beryozkin (mail@genady.org), Software Developer, Content Developer.

First published by IBM developerWorks Open Source at http://www.ibm.com/developerworks/opensource/.


All rights retained by IBM and the author.

good tutorial is listed in Resources). Rather, it discusses

E
clipse is a new world for Microsoft® Visual Studio®
developers, and getting started with Eclipse can be the differences in general.
confusing. New concepts, such as plug-in architecture,
workspace-centric project structure, and automatic build can The Eclipse Workspace
seem counterintuitive at first. Learn about these and other
The workspace directory
differences between the two environments, so that you can
The Eclipse workspace is a directory in the
begin to feel at home with Eclipse.
filesystem that contains a special .metadata
subdirectory. The .metadata directory con-
All integrated development environments (IDEs) share
tains all the workspace's private information,
similarities because they're all built for the same pur-
such as settings, caches, etc. Normally, you
pose. But they have differences, too. Some of these
shouldn't modify any files in the .metadata
can be attributed to application domains, but others
directory. The workspace directory is also the
result from the IDE design.
default location for new projects in Eclipse.
Obviously, Microsoft Visual Studio and Eclipse differ:
Generally speaking, the Eclipse workspace serves the
The Java™ programming language is different from
same purpose as a Visual Studio solution: It organizes
C/C++/.NET, and Java was the first language support-
top-level projects, folders, and files in a hierarchical
ed by Eclipse. The two are also different because
structure. However, there are some major differences. A
Eclipse aims to be an IDE for "everything and nothing
Visual Studio solution merely lists the projects it con-
in particular," introducing more generic and customiz-
tains with their interdependencies, configurations, ver-
able features. Eclipse is also available on more oper-
sion-control information, etc.
ating systems. However, our intent is not to enumer-
ate all the differences between Eclipse and Visual
The Eclipse workspace does much more than that. It
Studio.
manages most of the nonproject information, such as
global preferences, windows layout, and search and
Without being too philosophic about IDE design, this
navigation history. Eclipse can't start without a work-
article presents the main differences between these
space, and you can't close a workspace the same way
IDEs. It's intended for anybody who has been using
you can close a Visual Studio solution. Although it is
Visual Studio for a while and is beginning to use
possible to switch workspaces in Eclipse, many users
Eclipse. This article doesn't teach Java programming in
use a single workspace that contains all their projects.
Eclipse and doesn't focus on Java-specific features (a

26 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
Project Structure Eclipse also wants to be in sync with the files under the
project directory. If you delete a file or a folder in
Origins of the Eclipse project structure Eclipse, it disappears from the filesystem. However,
The strict correspondence between a pro- when you add or delete the same file using Windows®
ject's structure and its filesystem layout was Explorer, the related resource in Eclipse becomes out
probably influenced by the mandatory corre- of sync, which may upset Eclipse during some opera-
spondence between Java packages and their tions. In such a case, you should manually refresh the
layout on the filesystem. In the Java lan- project by choosing Refresh from the project's right-
guage, the class p1.p2.p3.Class1 must reside click menu. You can tell Eclipse to automatically syn-
in the directory p1/p2/p3. chronize with the filesystem by selecting Refresh auto-
Visual Studio languages (C/C++/C#, and matically option in the Eclipse preferences.
even J#) don't mandate such a directory
structure. Consequently, the correspondence
between the project's structure and its Linking Resources into Eclipse
filesystem layout isn't that strict in Visual The strict workspace structure was how things began.
Studio. Although projects could be stored outside the work-
space directory, early Eclipse versions couldn't even
Eclipse projects differ from Visual Studio projects in the open an external file (today, you choose File > Open
way they interact with the underlying filesystem. In File). UNIX® users were lucky because they could emu-
Visual Studio, a project isn't strongly connected to its late a flexible project structure using symbolic links, but
layout on the filesystem: You can add a file from Windows users didn't have such privileges. Today,
c:\temp\ to a project located in d:\work, and Visual Eclipse supports linked resources at the IDE level.
Studio records the reference to a new file and opens it
like any other file. Folders (like "header files") don't Linked resources in Eclipse behave much like UNIX
correspond to filesystem folders (internally, such folders symbolic links. For example, to add a large test input
are called filters). file to the project without copying it from its original
location, choose File > New > File, and, in the window
In Eclipse, the structure of a project's elements must that opens, click Advanced (see Figure 2). After they're
correspond to their layout in the underlying filesystem. added, linked resources are decorated with a small
For example, if the Eclipse project HelloWorld (see arrow over their icons (see Figure 3).
Figure 1) is located at c:\eclipse\workspace\HelloWorld,
then README.TXT is located at
c:\eclipse\workspace\HelloWorld\src\README.TXT.

Figure 1. A simple HelloWorld project Figure 2. Adding a linked file

27 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
gets, such as using a temporary directory at /tmp on
UNIX and at c:\temp on Windows.

Reducing Clutter with Working Sets


As mentioned, many developers load all their projects
into a single Eclipse workspace. It's convenient, but it
can sometimes create too much clutter. In addition to
closing unnecessary projects, you can define working
sets: groups of elements (projects, folders, classes,
etc.). Eclipse can use working sets in different views
(such as Package Explorer) and operations (like search-
ing). See Resources for additional information.

The Local History


Figure 3. Linked file in the HelloWorld project
One of Eclipse's coolest features--and one that Visual
Tip: Using Linked Resources to Improve Performance Studio doesn't have--is the local history. Each time you
change a file, class, or method, Eclipse records the
Using a linked folder as a Java output folder change in its local history. Then, you can compare a file
To use a linked folder as a Java output folder to what it was a few minutes, hours, or days ago. If a
for an existing project, you first need to make file is deleted, invoking Restore from Local History from
sure your project uses separate folders for its parent's context menu can bring it back.
source and .class files (if it doesn't, you need
to move the source files to a separate folder). The local history isn't a version-control replacement. It's
Then, open the Navigator view, turn off the more like a super-undo engine with configurable limits
automatic build, delete the old output folder, for the number of history days and the allotted storage
create a new linked folder with the same capacity.
name, turn the automatic build back on, and
rebuild the project with Project > Clean. Building Projects
Contrary to the Visual Studio approach, in which a proj-
Linked folders can be useful when you're dealing with
ect has a single project type (C++/C#/J#), Eclipse proj-
large projects that reside on remote locations, such as
ects can have zero, one, or multiple natures. For exam-
file servers or ClearCase dynamic views. Although
ple, Java projects in Eclipse have a Java nature, and
source files can benefit from being properly backed up
Dynamic Web projects (created using Eclipse WTP; see
and otherwise managed, there are few reasons to store
Resources) have a Java and a (metaphoric) Web nature.
the generated .class files on such remote storage. In
A project nature defines a list of builders that run when
projects with more than a few hundred source files, you
the project is being built. For example, the Java nature
can dramatically improve the performance of many
adds a builder that compiles Java source files into
operations if you store the generated files on the local
.class files, and the Web nature adds a builder that vali-
machine.
dates the XML and HTML files.
In Visual Studio C++ projects, you can improve build
performance by setting the intermediate directory to a Building Projects Automatically
local location. In Eclipse, you can achieve the same Building non-Java projects
effect by using a linked output folder that points to a Automatic build is perfect for Java projects
directory on the local machine. because the internal incremental compiler
(Eclipse doesn't use javac) can handle small
See Resources for additional information, including how code changes quickly. Although builds run in
to use variables to define platform-dependent link tar- the background, for project types (such as

28 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
CDT projects), in which a small update can rations. Managing multiple configurations just for the
trigger lengthy compilation, you may prefer sake of having different command-line arguments is a
to turn off automatic build (Project > Build bad idea in most situations.
Automatically). You can then run the build
manually (Project > Build All) or let Eclipse Eclipse uses launch configurations to collect the param-
do the build before running an application. eters used to launch an application. For Java programs,
the main class name and the command-line arguments
At their first encounter with Eclipse, many look for the are such parameters. You can have separate launch
Build command. But to their surprise, either they can't configurations for any class with a main() method in the
find it or they find it's disabled. That's because unlike project. A new configuration is automatically created
Visual Studio and some other IDEs, Eclipse has an when you launch an application with a new main class
automatic build feature. In Java projects, every time a using the Run > Run As command. You can also use
Java file is modified, Eclipse compiles the relevant files, the Run window (Run > Run) to create and delete
including files indirectly affected by the change. launch configurations.
Automatic build is a great way to quickly discover com-
pilation errors that affect other files. Many operations, By default, launch configurations are local to the work-
such as Java search, rely on these build results. space and aren't part of the project, which means they
aren't shared with other team members. To save the
Customized Builds launch configuration in the project, use the Common
tab of the Run window, as shown below.
Often--mainly for C++ projects--Visual Studio projects
use custom build steps to perform nonstandard build
tasks. Custom build commands are plain command-line
The Debug Perspective
instructions in Visual Studio projects. Eclipse, on the Eclipse has no debug mode--just the Debug perspec-
other hand, can run stand-alone programs and Ant tive you can switch to and from. The main Debug view
build scripts. For example, you can use an Ant script to lists all the programs being run or debugged and lets
build and deploy a Java Archive (JAR) file containing
the project's classes whenever a project is rebuilt. An
editor for Ant's build.xml files is included.
You can configure custom project builders on the
Builders page in the project's properties window, and
you can define and run global scripts by choosing Run
> External Tools.

Run and Debug


Languages and entry points
Visual Studio languages (C++/C#) can have
only one entry point per executable, which is
determined at link time. The Java program-
ming language allows multiple entry points
(main methods) at compile time. The entry
point is determined on the command line
when the program is launched.

Eclipse doesn't have the notion of startup projects, as


does Visual Studio. The difference can be attributed to
language differences, but Visual Studio further restricts
its users by generating a single executable per project
and allowing different launch parameters, such as com- Figure 4. Changing the location of
mand-line arguments, only for different project configu- launch configuration

29 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
you debug several programs at the same time, which is (Help > Software Updates), which manages both instal-
a little more difficult to do in Visual Studio. Read lations and updates. It can also enable and disable
"Debugging with the Eclipse Platform" (see Resources) plug-ins, similar to what the Add-in Manager does in
to learn more about the debugging features Eclipse Visual Studio.
has to offer.
The Update Manager installs or updates plug-ins from
Eclipse Plug-ins update sites (either local or on the Web). To install new
plug-ins, you must find the update site URL on the ven-
In addition to being a great free open source Java IDE, dor's Web site and manually enter it in the Update
the most important feature of Eclipse--which accounts Manager window. (Some vendors have built full-fea-
for much of its success--is its open extensibility architec- tured installers that interact with the update manager
ture. Most Eclipse features can be extended or are behind the scenes.)
accepting contributions from plug-ins. In fact, many
Eclipse features use the same extensibility architecture To a lesser extent, Eclipse supports installing plug-ins
that is available for the general public. by manually copying them into the appropriate directo-
ries. This method isn't recommended, and it can cause
The business-friendly open source license Eclipse uses inconsistency in the Eclipse configuration. See "Basic
encourages the development of commercial and open troubleshooting" for more information.
source plug-ins. No wonder more than 800 plug-ins are
listed on the official plug-in marketplace at Eclipse
Plugin Central.
When You Need Help
If you're new to Eclipse, you'll probably have some
In addition to plug-ins, which integrate into an existing questions. And after using it for a while, you may dis-
Eclipse installation, some companies have built full-fea- cover a couple of bugs or may wish to suggest new
tured IDEs on top of Eclipse, including all IBM® features. This section surveys the different support
Rational® tools, CodeGear JBuilder 2007, and options.
Genuitec MyEclipse. Typically, these products offer
tools for modeling, Web development, and visual Basic Troubleshooting
design. See Resources for products and plug-in directo-
ries. Everybody knows that sometimes, the IDE can misbe-
have. With Visual Studio, you can reset everything to
the factory state by typing devenv /setup at the com-
Additional Eclipse Projects mand prompt. Eclipse provides a similar command-line
The basic Eclipse software development kit (SDK) con- switch. Running eclipse.exe -clean at the command line
tains only the Java IDE. Toolkits for other languages rebuilds most information about the installed plug-ins.
(C/C++, PHP), modeling tools, and additional exten- The -clean option may be useful if you've installed a
sions are being developed under the Eclipse umbrella new plug-in and it refuses to show up.
and can be installed as Eclipse plug-ins. See Resources
for more information about Europa, the latest simulta- When Eclipse misbehaves, you may also want to check
neous release of the top 21 Eclipse projects in 2007, the error log. To open the Error Log view, choose
and Callisto, the previous release of top 10 projects in Window > Show View > Error Log. The raw log is locat-
June 2006. ed in the <workspace dir>/.metadata/.log file.

The Update Manager Newsgroups


Whenever you download Eclipse for the first time or as If you've been working with Microsoft products, you
an upgrade, you get a plain compressed file you know that you can get help on the Microsoft Developer
extract into an empty directory, with no installer to per- Network (MSDN) forums and newsgroups. The Eclipse
form any configuration or to create a desktop shortcut. community has its own newsgroups (see Resources),
However, for plug-ins, Eclipse has the Update Manager and many Eclipse regulars are there to help you out.

30 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
Report Bugs and Ask for New ect development.
• The tutorial "Eclipse for Visual Studio developers"
Features is a general introduction to Eclipse and a tutorial
Unlike the Microsoft feedback feature on the Microsoft about creating your first Java program in Eclipse
Connect Web site, which is aimed at providing cus- • "Migrate Visual Studio C and C++ projects to
tomer support, Eclipse Bugs is the actual bug-tracking Eclipse CDT" discusses C/C++ with Eclipse.
system used by Eclipse developers. With Eclipse Bugs, • The Eclipse Foundation's most recent changes to
you can not only search, report and vote on bugs but Eclipse have been in the form of "release trains,"
also add yourself as a CC on somebody else's bug, see which are simultaneous releases of updates to the
who is assigned to fix it, learn the version in which it Eclipse Platform and key projects. Learn more about
should be fixed, and much more. You can post feature the October 2006 release in "What's hot in Eclipse
requests using the same interface (see Resources). V3.2 Callisto" and the June 2007 release in "A
Whirlwind Tour of Eclipse Europa."
Premium Support • Learn more about "Debugging with the Eclipse
Platform."
In addition to the open source spirit of Eclipse Bugs • Creating linked resources explains how to use vari-
and community help, some companies need a com- ables to create platform-independent target loca-
mercial level of support for their development teams. If tions.
you purchase a product that is built on top of Eclipse, • Visit the Eclipse.org documentation to learn about
its vendor should provide support for the product, using working sets.
including the underlying Eclipse components. If you • Check out the "Recommended Eclipse reading
use the basic Eclipse SDK, you can check the IBM list."
Rational Elite Support for Eclipse program with a world- • Browse all the Eclipse content on
wide 24x7x365 support plan. developerWorks.
• New to Eclipse? Read the developerWorks article
Conclusion "Get started with Eclipse Platform" to learn its origin
We have discussed how Eclipse approaches some com- and architecture, and how to extend Eclipse with
mon IDE principles and tasks. The workspace-centric plug-ins.
approach and project structure on one hand and the • Expand your Eclipse skills by checking out IBM
great flexibility of the UI design and launch configura- developerWorks' Eclipse project resources.
tions on the other make Eclipse unique in its IDE • To listen to interesting interviews and discussions
design. And the open-extensibility architecture makes for software developers, check out check out
Eclipse a platform for a great variety of third-party developerWorks podcasts.
plug-ins and products. • Stay current with developerWorks' Technical
events and webcasts.
If you haven't done so yet, read the "Eclipse for Visual • Watch and learn about IBM and open source
Studio developers" tutorial (see Resources), which gives technologies and product functions with the no-cost
a good introduction to Java development in Eclipse. developerWorks On demand demos.
However, Eclipse isn't all about the Java programming • Check out upcoming conferences, trade shows,
language. Check the Callisto and Europa releases for webcasts, and other Events around the world that are
additional Eclipse projects, such as the C++ IDE. Then of interest to IBM open source developers.
visit Eclipse Plugin Central and download some popular • Visit the developerWorks Open source zone for
Eclipse plug-ins. I extensive how-to information, tools, and project
updates to help you develop with open source tech-
nologies and use them with IBM's products.
Resources
Learn Get products and technologies
• Eclipse.org is the home of the Eclipse project. You • Eclipse Plugin Central (EPIC) is the official source
can use direct links to Eclipse Bugs and Eclipse proj- for Eclipse plug-ins, but more plug-in directories are

31 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
also available through the Eclipse Portals. Eclipse users.
• Get Rational Application Developer for • Visit Planet Eclipse, a collection of Eclipse blogs.
WebSphere Software. • The Eclipse Platform newsgroups should be your
• Get CodeGear JBuilder 2007. first stop to discuss questions regarding Eclipse.
• Download the MyEclipse IDE from Genuitec. • The Eclipse newsgroups has many resources for
• Check out the Eclipse Web Tools Platform (WTP) people interested in using and extending Eclipse.
Project. • Participate in developerWorks blogs and get
• Visit IBM Rational Elite Support for Eclipse. involved in the developerWorks community.
• Check out some useful tools by Instantiations.
• Check out the latest Eclipse technology down- About the author
loads at IBM alphaWorks.
• Download Eclipse Platform and other projects Genady Beryozkin is a software developer with more
from the Eclipse Foundation. than nine years of experience. He used Visual Studio
• Download IBM product evaluation versions, and for various C++ and C# projects, and has been using
get your hands on application development tools Eclipse for Java development since even before its ini-
and middleware products from DB2®, Lotus®, tial 1.0 release in 2001. In 2002, he created the RMI
Rational®, Tivoli®, and WebSphere®. plug-in for Eclipse, which helps developers to effective-
• Innovate your next open source development ly develop, debug, and run applications that use the
project with IBM trial software, available for down- Java Remote Method Invocation (RMI) technology. He
load or on DVD. holds a bachelor's (summa cum laude) and a master's
degree in computer science from Technion, Haifa,
Discuss Israel.
• Visit EclipseZone, an online community by and for

32 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]

Taking a Lifecycle Approach to Software


Quality Testing and Management
With Eclipse-based testing tools from Rational, your organization can easily
manage software quality across the entire application lifecycle. See how this family of
integrated tools can help in meeting your organization's quality goals while ensuring
project and business success

By By Rikki Kirzner

How IBM Rational Facilitates Lifecycle


N
o matter how innovative or strategic your organization's
SOA or business strategy; or how much time and effort
goes into software design and development; or how
Quality Management
much money is spent on sales and marketing campaigns, the IBM Rational has created a holistic approach to quality
ultimate outcome of any software project, in terms of increased management with a comprehensive suite of
sales, customer satisfaction, and customer retention is only as Java/Eclipse-based collaborative and integrated tools
good as the quality of the software produced. Software quality incorporating automated workflow processes all
management is important, but it entails far more than merely throughout various phases of software development.
testing software code at the end of the software development IBM Rational products are tightly integrated with one
cycle. It necessitates an organizational transition from the prac- another, facilitating your development efforts. Using
tices of correcting software defects and problems at the end of these tools to implement consistent, predictable, and
each phase of the development cycle to analyzing and testing repeatable software quality management processes
outcomes at the start and throughout each phase of the soft- throughout the software development lifecycle ensures
ware project. Moreover, each decision--beginning with the projects come in on time and on budget. It helps com-
requirements definition and model creation--all the way through panies leverage their software teams, assets, resources
the application's interface and usability, choice of platforms, and and meet the organizational objectives for the project.
other factors need to be carefully considered, analyzed, man- It also ensures that companies can meet time-to-market
aged, and communicated to the entire development, deploy- objectives, as well as customer expectations.
ment, and testing teams to avoid conflicting goals and efforts
further into the development or deployment cycles. Quality and Testing Capabilities of
Increasingly, more of the world's most business-savvy
IBM Rational Application Developer
organizations understand these principles. They are Quality management of code is an integrated function
using a combination of well designed and integrated when you develop your code using IBM Rational
tools with automation capabilities throughout the soft- Application Developer. Your code is automatically
ware lifecycle that can prevent or minimize defects, checked against more than 200 J2EE coding standards
control and/or reduce development and deployment and either out-of-the-box or customized best practices
costs, and optimize team efficiency throughout the to ensure your code adheres to general good coding
organization. practices as well as your own corporate policies. Any
violations are flagged and repairs are often automati-
cally suggested. Automatic fixes can be achieved by

33 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
using the tool's one-click quick fix capability. Rational improving efficiency. More importantly, it bridges the
Application Developer also includes tools to eliminate quality gap between development and testing activi-
tedious code quality reviews. Its automated code ties, shortening delivery time and reducing the cost
review feature applies existing rule categories for Java and time required for developing and deploying high-
SE/J2EE best practices, globalization, and accessibility. quality software applications.
New rules can be imported with an Interactive Rules
editor. IBM Rational ClearQuest captures, efficiently tracks,
and manages all types of change requests and defect
IBM Rational Application Developer is shipped with information throughout the development lifecycle. It
recent versions of IBM WebSphere Application Server, gives you greater flexibility to quickly respond to
and IBM WebSphere Portal Server to help you test and change with better visibility into your software develop-
debug applications that are deployed on these two ment processes. It can manage a change from the
platforms. The test servers are automatically configured inception of the change request through implementa-
for the application under test. Automated support for tion of that change in the production environment. It
creating and debugging the application's WebSphere also ensures seamless hand-off to other teams working
administration and configuration files also expedite around the clock or in offices around the world.
your testing and deployment processes. Moreover, since it is deeply integrated with leading
IDEs, you have instant access to change information
From within IBM Rational Application Developer, you from within your preferred development environment.
can access requirements that have been stored and
managed in IBM Rational RequisitePro and link them to IBM Rational ClearQuest promotes team collaboration
corresponding modeling elements and code. Since the and thereby improves team productivity, through fea-
quality management lifecycle relies on linking require- tures that deliver better administration and communica-
ments to test cases, you can create a system of soft- tion processes. Better visibility across the software proj-
ware defect checks and balances throughout the deliv- ect helps you track people and resources--ensuring that
ery phases. This includes defect tracking, test manage- the right people are working on the right change at the
ment capabilities, and automated builds to make sure right time. Secure access guarantees only those people
you create a defect-free deliverable that is ready for who are authorized to view or change project assets
deployment into production and capable of meeting all can do so.
exit criteria. To easily find where problems have
occurred traceability reports can be generated from Frequent Changes Are No Problem
requirements to test cases, requirements to defects,
and requirements to design.
with IBM Rational Testing Tools
Testing web services is easier than ever with IBM
IBM Rational ClearQuest Integration Rational Tester for SOA Quality. Designed specifically
for Web Services testing it's the tool most likely to be
Further Improves Testing Efficiencies used by both developers and testers since it eliminates
Let's not forget, Rational Application Developer is the need for manual coding with automated data corre-
tightly integrated with IBM Rational ClearCase and IBM lation and data driven testing through its code free test
Rational ClearQuest change management tools, letting environment. IBM Rational Tester for SOA Quality offers
you easily perform a multitude of configuration and all the power and flexibility you require to test web
change management operations. Since IBM Rational services, with a simple wizard driven approach that QA
ClearQuest manages the full range of testing activities, teams can easily follow to test web services and sup-
including test planning, test execution, and capture and ports a wide variety of users on a broad range of plat-
analysis of test results, you can easily create and associ- forms. Development teams frequently use the tool to
ate more accurate test cases with specific test plans. create some basic web service tests during develop-
ClearQuest helps automate and manage many of the ment. Then they hand those tests off to QA teams who
manual steps you worry about today so you and your expand and use them as part of their larger QA regres-
team can spend your time on other tasks thereby sion suite.

34 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
IBM Rational Tester for SOA Quality is both a functional observe how the software responds under precisely
and performance testing tool. You can use it to func- duplicated execution conditions. With one click,
tionally validate web service calls (i.e.: validating that a Rational Functional Tester can run upwards of hundreds
web service returns consistent and correct responses to thousands of scripts to verify that the latest version
for a given set of inputs) as you send those calls in par- of your software still behaves as expected. The scripts
allel to the server and measure their response time. can run unattended overnight, letting you review the
Effectively, during a performance test you are doing a logged results the following morning.
functional test validation.
Since it is built on Eclipse, both testers and developers
When you are ready to transition to more traditional can leverage a common development IDE for better
types of testing, consider using Rational Functional team collaboration and testers only need to learn one
Tester for automated and manual functional testing and tool to support various types of application testing.
regression testing of a wide array of applications includ- Rational Functional Tester can be used as a stand-alone
ing Java, .Net, SAP, and Siebel. IBM Rational Functional tool, to record, play back, and analyze the result of
Tester is designed to support the type of frequent tests, or it can be used in conjunction with Rational Test
changes that occur to services or dynamic applications. Manager for enhanced test execution capabilities and
It uses fuzzy matching algorithms to locate objects dur- results logging.
ing test execution, even if the objects have changed
since the test was first created. The tool can accommo- Rational Functional Tester is also well integrated with
date a dynamic environment by automatically detecting several other products. When used in conjunction with
data entered during test recording. It lets you create IBM Rational Performance Tester, you have the neces-
customized data sets to be used by the test during sary tools to quickly validate the quality of your soft-
playback, so you can re-use scripts without resorting to ware and confidently deliver expected functionality, reli-
manual coding and it allows testers to define support ability, and performance to meet your business goals
for custom controls. You can also set sensitivity levels and customers' expectations.
on object recognition, making test scripts more resilient
to application changes. Performance Testing is a Crucial
Rational Functional Tester employs a common scripting
Component of the Quality Equation
language that enhances communication and code No test process is complete until your applications can
reuse opportunities between developers and testers. run reliably with the requisite levels of performance.
Reusable test scripts are automatically generated by Once you are satisfied that your new code (or any
recording user interactions with the application. The changes or upgrades to your software) has not pro-
executable test scripts accurately reproduce users' duced any quality, system, or functional defects, you
actions and display the system's responses to those need to make sure that no residual performance and
interactions. During the recording you can insert verifi- scalability glitches were created in the process of gen-
cation points to extract data from the application that is erating your latest version of software. Performance
under test, which can be compared with live informa- and scalability issues are critical factors when it comes
tion or previous data to be certain that everything is to keeping customers satisfied and coming back, so it
functioning correctly. Custom code can be added to is essential that you capture and correct performance
the test scripts to perform whatever additional tests problems before your software is ever deployed.
you require to ascertain the application's performance
is consistent with expectations and business require- Rational Performance Tester enables testers to find sys-
ments. Individual tests can be compiled into a suite of tem bottlenecks before deployment by simplifying the
tests to exercise all of its features and functions. creation, execution and results analysis of multi-user
performance tests. Testers are not required to have any
Since Rational Functional Tester is automated, the tests programming knowledge since tests are automatically
perform precisely the same operations each time they generated by recording a user's activity within a Web
are run, thereby eliminating human error. It lets you browser. It accurately measures and tests the ability of

35 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
your software to support the number of multiple con- accomplish by using manual methods. They let you find
current users it was designed to handle. It simplifies the and correct defects, as well as performance and scala-
process of creating, executing, predicting, and analyz- bility problems--even in large, complex applications--
ing what will happen when a specified number of users before you deploy any new release. Whether used
access the application. alone or together, these products reduce your testing
time and costs associated with regression and perform-
IBM Rational Performance Tester uses an intuitive visual ance testing. They increase the efficiency of your entire
test editor to create each multi-user test, so you don't team, giving you more time to analyze existing defects
have to write any code to successfully load test your and to respond faster to urgent problems as they arise.
application. Actual recordings of an individual user's
activity are used ensuring your performance testing IBM Rational supports your testing and quality manage-
accurately mirrors your user base. Using an intuitive ment tasks from first line of code to your deployed sys-
graphical test scheduler, you can consolidate these tem running on a distributed network. The numerous
tests into a suite and subsequently group and organize benefits of these tools go far beyond allowing develop-
them to simulate multiple users performing the types of ers and testers to share scripts and testing tools to
activities your software is designed to support. deliver defect free software. Using IBM Rational's holis-
tic approach to quality management testing lets you
Rational Performance Tester generates performance accelerate problem detection and resolution and quick-
and throughput reports in real time, enabling you to ly pinpoint and identify the root cause of a failure
detect performance problems throughout a test run. before it impacts your bottom line. And that keeps your
Multiple filtering and configuration options can be set business running smoothly and your customers coming
before, during, and after a test run to identify perform- back for more. I
ance degradation, transactional bottlenecks, poorly
performing Web pages, and other problems that More Resources
impact overall performance or scalability.
• Try the Rational Application Developer (RAD)
One of the most important reports you can run after a v7.5 Open Beta Code Today
test is the "Response Time Breakdown" report which • Rational Testing eKits
breaks down the response time for a given web page • Software Quality e-Kit
by application tier and type of code executed. For a • Trial Download: IBM Rational Functional
given web page response time you can see how much Tester V7.0.1
of that time was actually spent on each physical tier (or • IBM Rational Performance Tester
machine) used in your architecture. On each of those • IBM Software Quality eKit for Siebel and SAP
machines you can also see how much time was spent Packaged Applications
executing different types of code (such as executing • Trial Download: IBM Rational Software for Testing
Web Services, doing database calls, or running servlets SOA Applications
and JSPs). • IBM Rational RequisitePro V7.0
• Evaluate IBM Rational ClearCase
Additional reports are available at the end of the test • Evaluate IBM Rational ClearQuest
run to perform deeper analysis on items such as
response time percentile distributions and standard Rikki Kirzner is a freelance writer and veteran computer
response time deviations. This capability lets you find industry professional with experience as an analyst and
and correct these types of problems before you deploy former Research Director for IDC, Gartner Group, and
the new version. Meta Group and as a Senior Editor. Rikki writes about
software, development tools, open source, SOA,
IBM Rational Functional Tester and IBM Rational domaining, and Web-based computing.
Performance Tester go beyond simply supporting your
testing efforts--they increase your accuracy, productivity,
and ability to test more of your software than you can

36 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]

Rational Application Developer for


WebSphere Outshines Eclipse
Have you stopped to consider that productivity from Eclipse is not enough when it
comes to quickly designing, developing, and deploying high-quality Web, Web2.0,
SOA, Java EE and portal applications? Even though Rational Application Developer for
WebSphere is based on Eclipse, learn why Rational Application Developer for
WebSphere is a better value proposition for your next project

By By Rikki Kirzner

productivity with improved support for iterative devel-

S
ometimes good is just not "good enough". This is cer-
tainly true for avowed Eclipse users who haven't tried opment for Java Platform, Enterprise Edition version 5
IBM Rational Application Developer for WebSphere. (JEE5) applications. Built on the Eclipse version 3.4
Eclipse is a great platform that lets you accomplish much of open source software development framework, it
what you need to do using plug-ins and the Eclipse frame- extends Eclipse with best of breed, visual construction,
work. Nevertheless the numerous new features in the latest graphical development tools to improve Java develop-
version of Rational Application Developer for WebSphere er productivity in numerous and important ways with a
are too important to ignore any longer if you want to far more sophisticated set of features that are easy to
increase productivity and performance, reduce your cost of install, customize, and use. It has full support for
ownership, and improve quality management across the life- WebSphere Application Server and improves productiv-
cycle of your project. ity with Local Test Environment, automation and simpli-
fication of deployment
IBM has once again expanded its industry-leading
robust, powerful, and full-featured Integrated Rational Application Developer for WebSphere con-
Development Environment, so it literally and figurative- tains integrated UML code visualization, visual editing,
ly pays for you to consider many of Rational code analysis, and automated test and deployment
Application Developer for WebSphere's new capabili- tools. It incorporates features for visualizing Java code
ties for your next software development project. in class diagrams, topic diagrams, and browse dia-
Rational Application Developer for WebSphere grams, as well as visualizing methods in static sequence
empowers you and your team with features needed to diagrams. Rational Application Developer for
rapidly develop, assemble, test, profile and deploy WebSphere also offers visualization of database
high quality Java/J2EE, Portal, Web, Web services and schemas in UML notation, as well as visualization of
SOA applications with strong support for IBM XML Schemas. Developers can visualize Java, EJB,
WebSphere Application Server. XSD, WSDL and database objects so they can review
their code or share designs with other team members
Improved Productivity improving team communication regarding new and
existing applications
Rational Application Developer for WebSphere version
7.5 beta facilitates both team and individual developer IBM has simplified and shortened the code develop-

37 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
ment cycle with new wizards and adapters. The code, support for multiple Faces-config files, as well as
Discovery Wizard will support generic, EMD and J2C, better support for third party components. Further
including support for the new metadata import/export details about these and other additions and enhance-
framework. The adapters have enterprise metadata dis- ments are too numerous to list here but are certainly
covery componentized for consumption by a rich client. worth exploring on your own

Another and arguably more significant productivity Rational Application Developer for WebSphere has
advantage Rational Application Developer for many features that support Web 2.0 development.
WebSphere offers over Eclipse is that it facilitates the Function-rich JSF library (JWL) with JSF components
creation of complex Web applications including SOA introduce important common AJAX behaviors including
services without requiring you to write a single line of scrolling data tables with no page refresh, tab panels
code. Using and creating Web services are easier than that populate when the page is displayed, dynamic
ever with Rational Application Developer for menus, and a host of others will help you build and
WebSphere's new Web Services Wizard. Drag-and- evolve your Web 2.0 solutions. Rational Application
drop and WYSIWYG features make developing Web Developer for WebSphere is built on the Eclipse AJAX
pages easier and much simpler to use. The wizards Tools Framework (ATF).
walk you through the process of building a Web serv-
ice, including generating all the infrastructure code for New Web 2.0 tools and support for AJAX / Dojo and
you. All that is required is for you to design the busi- REST style services with the WAS Web 2.0 feature pack
ness logic and add any additional content to the Web will enhance your development efforts along with
pages. improved source-level editing for JavaScript and Dojo
with code assist and validation of tags.
Rational Application Developer for WebSphere's sup-
port of WSDL and XSD modeling, XSD refactoring, There are far more productivity features than we have
intuitive skeleton merge for creating top down Web space to list here, but we would be remiss not to men-
services, support for complex schemas with server data tion that Rational Application Developer for
objects (SDO), and many other features will speed up WebSphere also supports the following standards and
the development process and increase the quality of all technologies:
your SOA projects. Significant enhancements for Web, • JSF 1.2
portal, and Java application development also makes • JSP 2.1
SOA development easier, and helps you better under- • Servlet 2.5
stand and manage your architecture as it evolves. • JEE5
• WS-Policy Assertions for Web Services
Rational Application Developer for WebSphere sup- • WS-Reliable Messaging
ports the annotation based programming model and • WS-Addressing
provides tools for enhancing productivity with code • MTOM
assist, annotations view, Quickfixes, validation and • SOAP 1.2
refactoring. Rational Application Developer for • WS-Secure Conversation
WebSphere has enhanced support for creation, valida- • SIP (JSR 289)
tion, refactoring, and deletion of artifacts. Rational
Application Developer for WebSphere also will include Rational Application Developer for WebSphere lets you
enhanced capabilities to develop and deploy complex consume as many or as few of the tools functions as
applications using the latest programming models and you require saving valuable resources and the cost
standards including EJB 3.0, JPA, Web Services with associated with them. The Installation Manager facili-
JAX-WS 2.0/JAX-B 2.0 and many more. tates flexibility of your installation letting you select
only those tools you want to have on your desktop
Improvements in JavaServer Faces (JSF) tooling pro- without having to install software components you
duces code generation, support for managed beans in don't want or will never use. This gives you greater
the page data view, better options to suppress page control over the size footprint and specific product fea-

38 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
tures you want to have on your own or your organiza- which lets you instrument your Java code and then run
tion's desktops. All the product assets and components it and have it track usage data on execution of lines of
you require can be pre-defined and placed into a code so that you can more easily diagnose problems
repository you set up for your organization's desktop and optimize your code.
systems.
IBM also understands that organizations have invested
The Rational Application Developer for WebSphere in mission critical, enterprise systems that need to be
Process Advisor guides developers, who are new to the supported or with which your development project
technology or the tool itself, step by step helping them must interoperate. Therefore development time sup-
to quickly become proficient and productive using the port to access data and operations on these systems is
rich feature set built into the tool. Developers also have provided for Enterprise Information System (EIS)
several options for learning how Rational Application Adapters, tooling for JD Edwards, Oracle, SAP, Siebel
Developer for WebSphere works before they start using and PeopleSoft.
it. A robust tutorial environment along with lots of sam-
ple code and demos are built right into the tool. IBM Since it is well integrated with the rest of the IBM
has created videos of the demos, and developers can development and testing suite of tools, you can easily
install a sample application and step through the code, access and use a broad range of testing as well as
or access a number of current tutorials posted on the requirements, workflow, and change management func-
IBM developerWorks site from links within the product. tions in what effectively appears to be the same envi-
IBM also includes code samples to jumpstart your ronment. When you’re ready to do defect tracking,
development efforts. testing, or a host of other development and deploy-
ment tasks to ensure quality you can surface any one of
An easy to use graphical interface of the Web Diagram the other well integrated IBM Rational Quality manage-
Editor lets you access technical features in a way that ment tools as other perspectives. If you are working in
makes it easier for you to understand your environment the Web perspective developing a SOA component
and get more information about software artifacts. You and need to do some functional testing, you can popu-
can customize your environment any way you prefer by late the "testing perspective" with IBM Rational
building a perspective comprised of different views that Functional Tester and switch between each of the dif-
reflect only those artifacts or screens (e.g. browser, ferent perspectives depending on the tools you require
debugging window, editor, etc.) you want to see on for each stage of your project. Another perspective
your desktop. could contain IBM Rational ClearQuest for defect track-
ing or workflow management, IBM Rational PurifyPlus
Improves Overall Quality from for code coverage and identifying memory leaks, or
any of the other IBM Rational tools you need to man-
Design to Deployment age your quality across the lifecycle from design to
Why do you care about quality? By catching and elimi- deployment.
nating bugs as early in the process as possible, you can
avoid having to stay late (or have your team stay late) Support for Enterprise Systems
to fix problems that show up. You can improve the
quality of the software you develop and deploy
and Your Project
through Rational Application Developer for And finally, IBM is there whenever you need help or
WebSphere's comprehensive code review and debug advice because Rational Application Developer for
capabilities. To improve code quality assurance, WebSphere includes 24x7 IBM support as well as
Rational Application Developer for WebSphere con- patches and bug fixes--so your project always runs
tains Code Review tools that are rule-based static smoother. IBM even offers training to accelerate time
analysis tools for automatic validation of Java code. It to market and reduce the learning curve; even for
checks for correctness and compliance with coding novice developers.
standards and best practices. Rational Application
Developer for WebSphere 7.5 has line level coverage With all these improvements and ways to make your

39 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by
[ Eclipse: Java EE Applications Made Easy]
software project faster, smarter, and better, you need to
consider Rational Application Developer for
WebSphere for your next project Why continue using
good tools if they are not good enough to save you
time and money on your next project? I

More information is available at the Rational


Application Developer for WebSphere v7.5 Open Beta
Website where you can try it out for free:
http://www.devx.com/ibm/Link/36481.

Rikki Kirzner is a freelance writer and veteran computer


industry professional with experience as an analyst and
former Research Director for IDC, Gartner Group, and
Meta Group and as a Senior Editor with Open
Computing Magazine. Rikki covers software, develop-
ment, open source, SOA, domaining, and mobile com-
puting.

40 © 2008, Jupitermedia Corp. Eclipse: Java EE Applications Made Easy, an Internet.com Developer eBook sponsored by

Potrebbero piacerti anche