First impressions of WebSphere Studio Application Developer

Regular readers will know that I like IntelliJ and it's the tool that I use whenever possible at work and for my open source development. As I mentioned in a previous blog entry, my current project is making heavy use of the IBM toolset. You name it, we're using it - WebSphere MQ, MQ Integrator, DB2, WebSphere 5.0 and WebSphere Studio Application Developer which is the WebSphere version of the Eclipse platform.

I have tried Eclipse before and it wasn't something that I found easy and intuitive to use. Looking back, I didn't really give Eclipse much of a chance because I found that IntelliJ more closely fitted in with the way that I like to work. So, since we're using WebSphere on the new project, I figured that we may as well take advantage of the tooling that IBM provides to make our lives easier. So, what are my first impressions?

Well, IBM has done a fantastic job of integrating the Eclipse platform with WebSphere. For example, you can create a new J2EE project containing an EJB in an amazingly short amount of time. All you need is a few mouse clicks and you can deploy your application into the embedded WebSphere 5.0 instance. I like this a lot because it just makes building J2EE apps easy. Click click click deployed. Nice. The other really great feature that I like is the way that WSAD gives you a really simple way of editing the WAS configuration and deployment descriptors for components such as EJBs. By following a simple form-based approach, there's no messing around with raw XML files and this can only be a good thing.

However, all is not great in the world of WSAD because there are a whole host of things that I really don't like. Perspectives - what are they all about? Why do I have to switch perspectives to see common Java code in my J2EE project? Also, why do I have to create so many individual projects? Why can't I just create a single project in which to hold all of my J2EE code? I really like the way that WSAD can drop a project into WAS with a single action, but automating a (nightly) build/test process with Ant is becoming more and more complex.

Then there's the actual editor itself. The format code feature is hilarious when you have an import statement longer than 80 characters! I'll post a screenshot next week, but essentially each sub-package will appear on a separate line. Talking of import statements, IntelliJ makes suggestions as to when a class should be imported and typing Crtl-Enter automatically inserts the appropriate import statement. With WSAD, I have to find the mouse and click on the lightbulb icon in the left gutter. Does anybody know if there is a keyboard shortcut for this? In fact, WSAD is very light on keyboard shortcuts for a whole host of refactoring features. Incidently, I think the IntelliJ refactor (and the preview) is much more powerful.

Developing J2EE Applications with WSADWSAD and IntelliJ are cleary very different tools aimed at different types of developers. WSAD is much richer in terms of the number of features and app server integration, but IntelliJ is much more of a coder's development environment. I think that adopting WSAD for this project is the right decision because ultimately it will save the less experienced developers a great deal of time. The thing that I'm stuggling with is that WSAD seems to be a tool that you adopt fully or don't adopt at all. Personally, based upon my current experience with WSAD and given the choice I'd pick IntelliJ. Thankfully I'm reviewing Developing J2EE Applications with WebSphere Studio for JavaRanch and it's proving to be a very useful and timely book.

Tags :


Re: First impressions of WebSphere Studio Application Developer

Perspective is a way to group your views. If you don't like the Default Perspective in question, you could use only one perspective and slap all the views you need

Re: First impressions of WebSphere Studio Application Developer

Instead of clicking the lightbulb, the key strokes for "quick fix" are "control-1"

Re: First impressions of WebSphere Studio Application Developer

control-O will organize your imports, sorting them and adding and removing as needed. Also, in the the WSAD preferences there is a place to map keys to many functions. This is a good place to see the default mappings.

Re: First impressions of WebSphere Studio Application Developer

Also, if you want to add an import statement for a specific class - in the editor, make sure that the cursor is located within the class name in your code and press ctl-shift-m... a box should pop up allowing you to select the corresponding import statement for that class (assuming it is on the classpath). Note this works for me with Eclipse 3.0 ... not sure about WSAD.

Re: First impressions of WebSphere Studio Application Developer

Also note that keystrokes are completely re-configurable. See Window->Preferences->Workspace for the key assignment editor. WSADly, the UI for keystroke assignments in greatly improved in the 3.0 line. Indeed, if you want to grok Eclipse, you should try the 3.0M5 build (as of this writing).

Re: First impressions of WebSphere Studio Application Developer

I totally agree on perspectives! Way too many perspectives and the darn thing can be confused for someone new to Eclipse. Theres a lot more issues that I dont like with Eclipse. Talking about short cuts, IMHO eclipse also does not do a good job of right click menu(Not too contextual).. May its time for my review

Re: First impressions of WebSphere Studio Application Developer

All shortcuts are confugrable. Here ar some of the default keystrokes I use a lot: Ctrl+Space: code-completion and insert necessary imports. Ctrl+1: Quick Fix (Does what the light bulb does) F3: When a class or method is highlighted it will take you to it's definition Ctrl+O: Organize imports Ctrl+F: auto-format code

Re: First impressions of WebSphere Studio Application Developer

Thanks for the clues about the shortcuts - it's still annoying that you have to explicity place the cursor on something that's underlined before the shortcut works though!

I must say that the refactoring support in WSAD is awful. There must be a way to get WSAD to change references to renamed classes in the deployment descriptors. Also, I made the mistake of renaming a WSAD project through the tool. Sure, it moved all the directories and stuff, but the rest of the projects in the workspace still refer to the old project! Not great when that code is shared between a handful of J2EE components. I like what WSAD tries to do, but it doesn't do it very well, IMHO.

Re: First impressions of WebSphere Studio Application Developer

I think Eclipse/WSAD is certainly one of the best IDEs around. The perspectives are in my opinion quite intuitive and are just a part of Eclipse because Eclipse is much more powerful than IntelliJ, meaning that Eclipse is not limited to be just a "java editor". Eclipse can be as well a Perl editor, a C/C++ editor, a JSP/HTML/CSS editor or a UML/Modelling Tool (Rational XDE) etc. Perspectives allow you to switch between these different "modes" (which are perfectly configurable as well).

The EJB refactoring capabilities of WSAD are certainly not that brilliant, but I think it has better tool support for (visual) JSP,HTML,Struts etc. editing.

I think the main thing is that the horrible Jbuilder is slowly loosing the IDE battle ;-)

Re: First impressions of WebSphere Studio Application Developer

You can change the number of imports that "Format" will do before it chooses the whole package. It´s under

Preferences->JAVA->Organize Imports

Default is 99 (as of Eclipse 3.0M4), which is too much.

Re: First impressions of WebSphere Studio Application Developer

Hey does any one know short cut key to find out ending brasis for a for loop or while loop etc.In Eclipse it was ctrl+shift+M.

 

Re: First impressions of WebSphere Studio Application Developer

I see one problem which has made us move away from WSAD and thats the strong binding with the appserver. You mention it as a good thing, but I see it the other way around... After a time of use people do not know what is happening anymore. The "nice" aggregation of information with the beans and the deployment descriptor is pain. Why? Because you never know what file you are actually editing! It even allows editing of the ejb-jar.xml with non-ejb-standard queries. They work in WS, but not in other appservers. This should really have been in another file as an extension. It really suck on these issues. So we are changing our WS to Jboss and WSAD to IntelliJ.

Price / performance at what cost?

Whenever I find myself participating in the "I love IntelliJ" versus "I love Eclipse" debate, the old "Ya can't beat price/performance" argument is rolled out faster than you can say "perspectives? what the...?". So let's do the math: price / p

Add a comment Send a TrackBack