The following are six key factors upon which you should base your RIGHT path to learn WebSphere.
- What are your goals for WebSphere?
Are you running WebSphere in addition to Domino for some new applications or are you migrating Domino applications to WebSphere?
- Your company's current Domino skills
The right plan begins by matching your current skill sets in Domino to WebSphere skills to see where you need to focus most. General roadmaps are not worth much here. If you have built Java servlets in Domino and are moving to WebSphere, the programming learning curve may be minimal, for example. You'll need good advice on the specifics for your roadmap.
- You are learning a new application server environment, not just a language.
If you new Visual Basic and then wanted to learn Domino, you could understand some of the code in an agent right away. However, MOST of what happened in a Domino application is specific to the server architecture: events for agents that depend on the runtime environment -- Web client or fat client. Therefore, unlike IBM's approach, I emphasize learning Java as secondary in importance to learning the application server platform. That's really step 2, not 1. Taught correctly, that approach pays off in shorter learning curves.
- Learning WebSphere is learning J2EE.
Unlike Domino, WebSphere is primarily designed as an application server implementing three standard application architectures: J2EE -- Java 2 Enterprise Edition, XML and Web Services, with J2EE being the most important. While Domino certainly supported standards, one of WebSphere's strengths is that it IS a standards-based platform. As a result, you want to learn the standards and build to those. If you do build to standards, your applications are portable to ANY J2EE application server, they are not built just for WebSphere! This is a huge advantage over Windows and Domino servers. One problem is a lot of the IBM training and documentation on WebSphere doesn't clearly identify which features of WebSphere are UNIQUE (aka proprietary) versus based on open standards. That makes it a little harder to know how to build standards-based applications without good third-party assistance.
- WebSphere IS platform-specific.
I know from comparing customer experiences, good and bad, that WebSphere IS SPECIFIC TO OPERATING SYSTEM PLATFORMS. Although IBM wants to push WebSphere as universal (IT DOES run on every operating system), it is NOT THE SAME on every operating system. A large number of iSeries customers have discovered they overpaid to develop a WebSphere application by using the WebSphere tools and methods for the more common Windows platform than using iSeries specific tools and methods. For instance, an iSeries shop would NEVER use the standard WebSphere tools for the Windows platform to build an application (WebSphere Studio Application Developer or Site Developer). They would ONLY use WebSphere Development Studio Client for iSeries Base or Advanced editions. I've found many companies using the wrong version of the tools for starters. And the bad news is they relied on outside experts, IBM included, for this advice.
- WebSphere has multiple editions on every platform.
WebSphere now comes in three flavors: Express, Base and Network Deployment editions. You'll need REAL guidance on which is correct for your specific environment. In many cases, we've seen customers paying for a Base or Network Deployment license relying on outside expertise from a partner or IBM when they could have just purchased an Express license that would have been a better fit for their needs. It increased development costs, not just the license fees. There are MANY options to build and run J2EE applications well that aren't well documented by IBM Redbooks. They only choose a few WebSphere specific ones with their own ideas of which version is correct.
- This is a critical decision to make.
- Any business partner expert isn't always correct on this if they don't know EVERYTHING: your current Domino skills and implementation, the target WebSphere server tools, platform and edition that are correct, the other J2EE implementation options to integrate and scale WebSphere servers that don't involve network deployment and your specific goals for WebSphere.
So who should you look for to do this work? I'd look for an IBM business partner that has real Domino skills, is an expert in your target WebSphere platform, knows J2EE OUTSIDE of WebSphere (another server like Tomcat, Jboss, WebLogic) and has a track record on training.
Hope this helps in some way.
P.S. -- Learning Java at your local college is NOT the way to get started.
See also SearchDomino.com's Domino and WebSphere Integration Learning Guide.