Welcome!

Java Authors: Maureen O'Gara, Bruce Armstrong, Liz McMillan, Walter H. Pinson, III, Yakov Werde

Related Topics: Java

Java: Article

Rational XDE by Rational Software Corporation

Rational XDE by Rational Software Corporation

Over the past few years the integrated development environment has raged on. For years I've used a text editor and a build tool to create my Java software; I used no set processes or design methods. The integration of UML modeling and Java coding makes obvious sense to a software designer, but a programmer like me has to ask, can XDE mentor me and make me think differently about the way I design software?

XDE stands for extended development environment; installation is a straightforward matter, as is installation of software on most Windows systems, but it only runs on Windows 2000/NT/ XP and you'll also need Service Pack 2 installed. The entire suite is based on IBM's Eclipse Platform but with added functionality in the UML modeling department. The distribution comes with two CDs - one that installs XDE in IBM's WebSphere Application Developer (WSAD) and one that installs XDE "standalone" with its own copy of WebSphere Workbench (WSW), which is based on Eclipse. For this review I just installed the stand-alone workbench.

Getting Started
Before I could get any coding done I had to create a project; the Java Modeling Project has the full features of UML modeling and round-trip engineering support. There are other project types you can use, including a Java Project (no modeling support) and a Web Modeling Project (for JSP or HTML Web applications).

Using XDE
The bulk of the modeling and coding goes on within the modeling perspectives. Rational has provided a lot of information for the help perspective covering Java and UML basics, deploying applications, and using patterns. One of the joys of XDE is that you can let it do as little or as much as you like. The level of code assistance is controlled from the preferences, and there are various options that can be generated such as constructors, finalizers, and bean properties. With synchronization enabled you can alter the source code and the UML diagram will update; if you make changes to the diagram the code will update accordingly (see Figure 1).

A very handy feature is the task list where you can add items for anything that you need to complete. This is also the place where any compilation errors are listed; clicking on an error will take you to the corresponding line of code where the error is. Once corrected, XDE will automatically update the task list and delete the corrected errors from it.

You can create and place new classes on the main model diagram either by using the right-click menus or by dragging and dropping from the Toolbox. The Toolbox is home to the different UML types (class, component, deployment, use case, collaboration, and sequence diagrams) plus Java elements (class, methods, interfaces, etc.), EJB elements (session, entity, and message-driven beans), and JSP elements (servlet, jsp server page, html forms, etc.). Features on the modeling side include Gang-of-Four patterns, J2EE patterns, and the ability to create your own patterns and code templates so you can reuse your core code over a number of projects.

Developing for the Server Side
As I mentioned previously, you can develop JSP/servlet applications with XDE. With a mixture of drag-and-drop elements you can quickly create a basic Web application and deploy it to your application server. Deployment is achieved with the help of a wizard that guides you through the process (see Figure 2). XDE has a number of server brands that you can deploy to, including WebSphere and WebLogic. If your server is not listed you can deploy to a .war file and change the descriptors within XDE. This is a handy route if you want to deploy to servers such as Tomcat or Orion.

Handy Features
Where do I start? I'm a big fan of code formatting, and XDE has the ability to do this with its menu within the edit window. All you have to do is right click, click on "Format", and it's done. There are various styles of code layout that you can configure within the preferences. Another handy feature is assisted coding, in which XDE inspects the signature of a class that you're working on and lists its different types. I found this handy, mainly because while I was working I didn't have to stop, open up Java in a Nutshell, and then continue where I left off (see Figure 3).

In the main preferences you can specify which JDK version you want to work with. I found this very helpful, as I was writing and testing between JDK 1.3 and 1.4. I could switch mid coding and see if there were going to be any issues or conflicts between different Java versions.

Code Refactoring
Have you ever developed code and then changed the name of something and then systematically had to revisit every file to make the changes? There are numerous ways of making the change (mine was always using Perl on the command line). With XDE you can refactor code and it will make the changes across the project. XDE will let you preview the code results it is going to refactor, which gives you a fighting chance if you disagree.

One thing about Rational tools is that they are designed to work with other Rational tools. XDE links into ClearCase so you can have proper version control, but it gives no ability to use any other version-control software, such as SourceSafe or CVS.

Debugging
There are extensive debugging options, with the usual breakpoints, that keep an eye on variables. XDE will scan the packages open and give you the option of executing any class that it can. In addition to debugging on your local machine you can debug a class remotely on another machine or server - as long as it has the relevant profile set up so it can be debugged by XDE.

Summary
I've only scratched the surface of what XDE is capable of, but I have definitely increased my knowledge of software development through using this product. It's now part of my main development arsenal, and I'm finding myself actually thinking differently about software design and logically modeling objects before I do any coding. I know it sounds like a cliché, but I really don't know how I got on without it.

SIDEBAR
Rational Software Corporation
18880 Homestead Rd.
Cupertino, CA 95014
Phone: 800 728-1212
E-mail: info@rational.com
Web: www.rational.com\tryit\xde\javaed.jsp#dl#dlwsw

Specs
Price: $3,595
Platforms:
Windows NT (Service Pack 6a)
Windows 2000 (Service Pack 2)
Windows XP Professional

Test Platform
Computer: Dell Optiplex GX240,
Processor: P4 1.8GHz
Hard Drive: 40GH
Memory: 256MB RAM
OS: Windows 2000 (Service Pack 3)

SIDEBAR
JDJ Product Snapshot
Target Audience: Java programmers, software designers, and analysts
Level: Intermediate to professional
Pros: Code/model synchronization
Ability to select different JDK during development for testing. Extensive coverage of patterns and software design practices.

Cons: Help system can be confusing at times; price may put some users off

More Stories By Jason Bell

Jason Bell is founder of Aerleasing, a B2B auction site for the airline industry. He has been involved in numerous business intelligence companies and start ups and is based in Northern Ireland. Jason can be contacted at jasonbell@sys-con.com.

Comments (12) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
KASHIF ALI SOOMRO 02/11/03 02:10:00 AM EST

HONOURABLE SIR,
HOPE YOU WILL I AM STUDENT OF COLLEGE IN (COMPUTER SCIENCE) AND I HAVE MUCH INTREST TO COLLECT THE MUCH MORE KNOWLEDGE ABOUT COMPUTER
SCIENCE AND ALSO DIFFERENT APPLICATIONS AND SOFTWARES OF COMPUTER.
FOR THIS PURPOSE I HAVE VERY NEED INFORMATIVE MATERIAL AND SOFTWARES
CDs ABOUT COMPUTER.
THEREFOR I REQUEST TO YOU THAT KINDLY SEND ME SOFTWARE CDs ABOUT
COMPUTER.
I SHALL REMAIN THANKFUL OF YOUR BETTER CO-OPERATION.
HOPE YOU WILL NOT DISPPOINT ME.

MAILING ADDRESS
KASHIF ALI SOOMRO
H:NO=6/708-1, PRIME STREET
SIDDIQUE MARI, SHIKARPUR,
SINDH, PAKISTAN

Anu Gupta 02/05/03 01:19:00 PM EST
Edmundo Christian Villavicencio Velasquez 02/03/03 03:39:00 PM EST

i am student of the university national of engineer learning the java so I request you to plz send some material of basic java concept if plz possible send me any CD of java Beginner

Patel kets 01/18/03 03:33:00 AM EST

i am student of MCA and i currently learning the java so i request u to plz send some material of basic java concept if plz possible send me any CD of java Beginner

Patel kets 01/18/03 03:28:00 AM EST

i am student of MCA and i currently learning the java so i request u to plz send some material of basic java concept if plz possible send me any CD of java Beginner

BERK 01/14/03 06:53:00 AM EST

The good article, how much to you has paid Rational, for "unbiassed" judgement? ;-)

HARIHAR MISHRA 01/10/03 11:40:00 AM EST

i am soft .engg in wipro .i am intrested to know abt some java frequently ask questions
i f possible than send me the free web side
yrs faithfully
harihar mishra

Minkyu Lee 12/31/02 10:50:00 AM EST

XDE is focusing on Round-Trip Engineering such as syncronization between Java sources and UML diagrams.

However, people are missing the real objectives of UML. The first is communication purpose. In that case, UML is used as just a graphical notation. The second is formal modeling language to model software strictly.

If you want to use as the first purpose, I recommend to use papers and pencils. If you want to use as second purpose, I recommend to use formal UML modeling tools that compliants UML standard metamodel.

The OMG is now discussing and realizing the second purpose that is known as MDA(Model Driven Architecture).

Remember!, UML is to model human concepts not to assist just coding.

Tharaka Deshapriya 12/27/02 12:59:00 PM EST

I am a student and i want your help for my studey

killer net 12/26/02 09:58:00 PM EST

hi;
iam the killer net , i want to help me to get knowleg about rational database.
so plz if u can help me send me to my e-mail

i want evry thing relate in the rational database and how i can use it for engneering applecation

thnx

manoj 12/17/02 04:18:00 AM EST
Hugues 12/15/02 04:33:00 PM EST

This XDE preview focuses on Java programming. All the features mentioned by Jason (formatting, assisted coding, refactoring, ...) are available in Eclipse (on which XDE is based)... but Eclipse is for free (www.eclipse.org)!
If you use XDE just to make some pretty UML class diagrams, it is rather expensive. And if you buy it only to code, then send me the money and download Eclipse ;-). The value of XDE lies (IMHO) in the very powerful patterns and code templates engine, which is something you won't find at this level in other tools. This would be worth another preview focusing more on UML and "model-to-code" aspects.